From 4b8da62624930e9178a6c15174d481ed87c5720f Mon Sep 17 00:00:00 2001 From: MaxGraey Date: Sun, 28 Aug 2022 06:56:47 +0300 Subject: [PATCH 1/5] update --- package-lock.json | 14 +++++++------- package.json | 2 +- tests/compiler/features/gc.debug.wat | 2 +- 3 files changed, 9 insertions(+), 9 deletions(-) diff --git a/package-lock.json b/package-lock.json index 9851af04d7..26c78a2fc2 100644 --- a/package-lock.json +++ b/package-lock.json @@ -9,7 +9,7 @@ "version": "0.0.0", "license": "Apache-2.0", "dependencies": { - "binaryen": "109.0.0-nightly.20220826", + "binaryen": "109.0.0-nightly.20220828", "long": "^5.2.0" }, "bin": { @@ -398,9 +398,9 @@ "dev": true }, "node_modules/binaryen": { - "version": "109.0.0-nightly.20220826", - "resolved": "https://registry.npmjs.org/binaryen/-/binaryen-109.0.0-nightly.20220826.tgz", - "integrity": "sha512-c4I7HTm0yn+CO54Imt2sRHct2bEwlTDRGtIAJCwFyLssfUvb4FH3DaaRHNrcB8T1llvw1oWfYzBhO6tgIo2Grg==", + "version": "109.0.0-nightly.20220828", + "resolved": "https://registry.npmjs.org/binaryen/-/binaryen-109.0.0-nightly.20220828.tgz", + "integrity": "sha512-Wu9y435yExDxWxZBSigMDBIC1NOckxxoOdMqKh5DISj2y1gMiM2VOk0XfFC6CEXJq39JglraJW9ZYvYButKTUQ==", "bin": { "wasm-opt": "bin/wasm-opt", "wasm2js": "bin/wasm2js" @@ -2117,9 +2117,9 @@ "dev": true }, "binaryen": { - "version": "109.0.0-nightly.20220826", - "resolved": "https://registry.npmjs.org/binaryen/-/binaryen-109.0.0-nightly.20220826.tgz", - "integrity": "sha512-c4I7HTm0yn+CO54Imt2sRHct2bEwlTDRGtIAJCwFyLssfUvb4FH3DaaRHNrcB8T1llvw1oWfYzBhO6tgIo2Grg==" + "version": "109.0.0-nightly.20220828", + "resolved": "https://registry.npmjs.org/binaryen/-/binaryen-109.0.0-nightly.20220828.tgz", + "integrity": "sha512-Wu9y435yExDxWxZBSigMDBIC1NOckxxoOdMqKh5DISj2y1gMiM2VOk0XfFC6CEXJq39JglraJW9ZYvYButKTUQ==" }, "brace-expansion": { "version": "1.1.11", diff --git a/package.json b/package.json index 0ab6dbf13f..e953582ab6 100644 --- a/package.json +++ b/package.json @@ -25,7 +25,7 @@ }, "engineStrict": true, "dependencies": { - "binaryen": "109.0.0-nightly.20220826", + "binaryen": "109.0.0-nightly.20220828", "long": "^5.2.0" }, "devDependencies": { diff --git a/tests/compiler/features/gc.debug.wat b/tests/compiler/features/gc.debug.wat index 6638263b7a..00ca2b1702 100644 --- a/tests/compiler/features/gc.debug.wat +++ b/tests/compiler/features/gc.debug.wat @@ -15,7 +15,7 @@ (export "memory" (memory $0)) (export "_start" (func $~start)) (func $features/gc/test_i31 - (local $ref i31ref) + (local $ref (ref i31)) (local $val i32) (local $uval i32) i32.const 123 From 28ba37450d9c613ecb461eca7e9c068704d39a84 Mon Sep 17 00:00:00 2001 From: MaxGraey Date: Mon, 29 Aug 2022 19:39:34 +0300 Subject: [PATCH 2/5] wip --- src/compiler.ts | 2 +- tests/compiler/import-memory.debug.wat | 9 +++++++++ tests/compiler/import-memory.json | 5 +++++ tests/compiler/import-memory.release.wat | 4 ++++ tests/compiler/import-memory.ts | 1 + 5 files changed, 20 insertions(+), 1 deletion(-) create mode 100644 tests/compiler/import-memory.debug.wat create mode 100644 tests/compiler/import-memory.json create mode 100644 tests/compiler/import-memory.release.wat create mode 100644 tests/compiler/import-memory.ts diff --git a/src/compiler.ts b/src/compiler.ts index e937313480..ada299256e 100644 --- a/src/compiler.ts +++ b/src/compiler.ts @@ -781,7 +781,7 @@ export class Compiler extends DiagnosticEmitter { } } - // Just stubbed memory. Will update later in finalizeMemory + // Setup internal memory with default name "0" module.setMemory( initialPages, maximumPages, diff --git a/tests/compiler/import-memory.debug.wat b/tests/compiler/import-memory.debug.wat new file mode 100644 index 0000000000..f779262355 --- /dev/null +++ b/tests/compiler/import-memory.debug.wat @@ -0,0 +1,9 @@ +(module + (global $~lib/memory/__data_end i32 (i32.const 8)) + (global $~lib/memory/__stack_pointer (mut i32) (i32.const 16392)) + (global $~lib/memory/__heap_base i32 (i32.const 16392)) + (memory $0 0) + (table $0 1 1 funcref) + (elem $0 (i32.const 1)) + (export "memory" (memory $0)) +) diff --git a/tests/compiler/import-memory.json b/tests/compiler/import-memory.json new file mode 100644 index 0000000000..fe1be1e041 --- /dev/null +++ b/tests/compiler/import-memory.json @@ -0,0 +1,5 @@ +{ + "todo_asc_flags": [ + "--importMemory" + ] +} diff --git a/tests/compiler/import-memory.release.wat b/tests/compiler/import-memory.release.wat new file mode 100644 index 0000000000..23da3862e2 --- /dev/null +++ b/tests/compiler/import-memory.release.wat @@ -0,0 +1,4 @@ +(module + (memory $0 0) + (export "memory" (memory $0)) +) diff --git a/tests/compiler/import-memory.ts b/tests/compiler/import-memory.ts new file mode 100644 index 0000000000..6803b04bf0 --- /dev/null +++ b/tests/compiler/import-memory.ts @@ -0,0 +1 @@ +// assert(memory.size() == 0); From c944157d76b95ce8929515c50590dcc7f622267c Mon Sep 17 00:00:00 2001 From: MaxGraey Date: Tue, 30 Aug 2022 07:57:46 +0300 Subject: [PATCH 3/5] update binaryen --- package-lock.json | 14 +- package.json | 2 +- tests/compiler/NonNullable.release.wat | 4 +- tests/compiler/bindings/esm.release.wat | 8 +- .../bindings/noExportRuntime.release.wat | 8 +- tests/compiler/bindings/raw.release.wat | 8 +- tests/compiler/builtins.release.wat | 4 +- tests/compiler/call-super.release.wat | 8 +- tests/compiler/class-implements.release.wat | 8 +- .../class-overloading-cast.release.wat | 12 +- tests/compiler/class-overloading.release.wat | 12 +- tests/compiler/class.release.wat | 8 +- tests/compiler/constructor.release.wat | 8 +- tests/compiler/do.release.wat | 8 +- tests/compiler/duplicate-fields.release.wat | 8 +- .../compiler/empty-exportruntime.release.wat | 8 +- tests/compiler/empty-new.release.wat | 8 +- .../exportstar-rereexport.release.wat | 8 +- .../extends-baseaggregate.release.wat | 8 +- tests/compiler/extends-recursive.release.wat | 8 +- .../compiler/field-initialization.release.wat | 12 +- tests/compiler/field.release.wat | 8 +- tests/compiler/for.release.wat | 8 +- tests/compiler/function-call.release.wat | 8 +- .../compiler/function-expression.release.wat | 8 +- tests/compiler/getter-call.release.wat | 8 +- tests/compiler/infer-array.release.wat | 8 +- tests/compiler/infer-generic.release.wat | 8 +- tests/compiler/inlining.release.wat | 8 +- tests/compiler/instanceof-class.release.wat | 8 +- tests/compiler/issues/1095.release.wat | 8 +- tests/compiler/issues/1225.release.wat | 8 +- tests/compiler/issues/1699.release.wat | 8 +- tests/compiler/issues/2166.release.wat | 12 +- tests/compiler/issues/2322/index.release.wat | 8 +- tests/compiler/logical.release.wat | 8 +- tests/compiler/managed-cast.release.wat | 8 +- tests/compiler/new.release.wat | 8 +- tests/compiler/number.release.wat | 12 +- tests/compiler/object-literal.release.wat | 18 +- .../optional-typeparameters.release.wat | 8 +- tests/compiler/reexport.release.wat | 8 +- tests/compiler/rereexport.release.wat | 8 +- tests/compiler/resolve-access.release.wat | 8 +- tests/compiler/resolve-binary.release.wat | 12 +- .../resolve-elementaccess.release.wat | 12 +- .../resolve-function-expression.release.wat | 11 +- tests/compiler/resolve-new.release.wat | 8 +- .../resolve-propertyaccess.release.wat | 12 +- tests/compiler/resolve-ternary.release.wat | 12 +- tests/compiler/resolve-unary.release.wat | 12 +- tests/compiler/return-unreachable.release.wat | 8 +- tests/compiler/rt/finalize.release.wat | 8 +- tests/compiler/rt/instanceof.release.wat | 8 +- .../rt/runtime-incremental-export.release.wat | 8 +- .../rt/runtime-minimal-export.release.wat | 8 +- tests/compiler/simd.release.wat | 8 +- tests/compiler/std/array-literal.release.wat | 8 +- tests/compiler/std/array.release.wat | 162 +-- tests/compiler/std/arraybuffer.release.wat | 8 +- tests/compiler/std/dataview.release.wat | 8 +- tests/compiler/std/date.release.wat | 18 +- tests/compiler/std/map.release.wat | 8 +- tests/compiler/std/math.release.wat | 52 +- tests/compiler/std/mod.release.wat | 19 +- tests/compiler/std/new.release.wat | 8 +- tests/compiler/std/object.release.wat | 4 +- .../std/operator-overloading.release.wat | 8 +- tests/compiler/std/set.release.wat | 8 +- tests/compiler/std/static-array.release.wat | 8 +- tests/compiler/std/staticarray.release.wat | 698 ++++----- .../std/string-casemapping.release.wat | 12 +- .../compiler/std/string-encoding.release.wat | 12 +- tests/compiler/std/string.release.wat | 43 +- tests/compiler/std/symbol.release.wat | 12 +- tests/compiler/std/typedarray.release.wat | 1270 +++++++++-------- tests/compiler/std/uri.release.wat | 12 +- tests/compiler/super-inline.release.wat | 8 +- tests/compiler/templateliteral.release.wat | 12 +- tests/compiler/throw.release.wat | 8 +- tests/compiler/typeof.release.wat | 12 +- tests/compiler/while.release.wat | 8 +- 82 files changed, 1534 insertions(+), 1393 deletions(-) diff --git a/package-lock.json b/package-lock.json index 26c78a2fc2..ff50d48d06 100644 --- a/package-lock.json +++ b/package-lock.json @@ -9,7 +9,7 @@ "version": "0.0.0", "license": "Apache-2.0", "dependencies": { - "binaryen": "109.0.0-nightly.20220828", + "binaryen": "109.0.0-nightly.20220830", "long": "^5.2.0" }, "bin": { @@ -398,9 +398,9 @@ "dev": true }, "node_modules/binaryen": { - "version": "109.0.0-nightly.20220828", - "resolved": "https://registry.npmjs.org/binaryen/-/binaryen-109.0.0-nightly.20220828.tgz", - "integrity": "sha512-Wu9y435yExDxWxZBSigMDBIC1NOckxxoOdMqKh5DISj2y1gMiM2VOk0XfFC6CEXJq39JglraJW9ZYvYButKTUQ==", + "version": "109.0.0-nightly.20220830", + "resolved": "https://registry.npmjs.org/binaryen/-/binaryen-109.0.0-nightly.20220830.tgz", + "integrity": "sha512-eP3FuC9iFJmbK2QdAV0vsDU3VTjd67FxiUn8/Z99CvQRDvkNhH4J9fSVs8RAkfyeDuDvgaM63iqfIVR7GlUGDw==", "bin": { "wasm-opt": "bin/wasm-opt", "wasm2js": "bin/wasm2js" @@ -2117,9 +2117,9 @@ "dev": true }, "binaryen": { - "version": "109.0.0-nightly.20220828", - "resolved": "https://registry.npmjs.org/binaryen/-/binaryen-109.0.0-nightly.20220828.tgz", - "integrity": "sha512-Wu9y435yExDxWxZBSigMDBIC1NOckxxoOdMqKh5DISj2y1gMiM2VOk0XfFC6CEXJq39JglraJW9ZYvYButKTUQ==" + "version": "109.0.0-nightly.20220830", + "resolved": "https://registry.npmjs.org/binaryen/-/binaryen-109.0.0-nightly.20220830.tgz", + "integrity": "sha512-eP3FuC9iFJmbK2QdAV0vsDU3VTjd67FxiUn8/Z99CvQRDvkNhH4J9fSVs8RAkfyeDuDvgaM63iqfIVR7GlUGDw==" }, "brace-expansion": { "version": "1.1.11", diff --git a/package.json b/package.json index e953582ab6..544fd31461 100644 --- a/package.json +++ b/package.json @@ -25,7 +25,7 @@ }, "engineStrict": true, "dependencies": { - "binaryen": "109.0.0-nightly.20220828", + "binaryen": "109.0.0-nightly.20220830", "long": "^5.2.0" }, "devDependencies": { diff --git a/tests/compiler/NonNullable.release.wat b/tests/compiler/NonNullable.release.wat index a0f5347ae6..e6e5a05fe4 100644 --- a/tests/compiler/NonNullable.release.wat +++ b/tests/compiler/NonNullable.release.wat @@ -32,10 +32,10 @@ return end local.get $1 - i32.const 0 + i32.eqz local.get $0 - select i32.eqz + i32.or if i32.const 0 return diff --git a/tests/compiler/bindings/esm.release.wat b/tests/compiler/bindings/esm.release.wat index 77d95d55a3..ecc544e051 100644 --- a/tests/compiler/bindings/esm.release.wat +++ b/tests/compiler/bindings/esm.release.wat @@ -202,13 +202,13 @@ local.tee $1 i32.eqz if - i32.const 0 + local.get $0 + i32.load $0 offset=8 + i32.eqz local.get $0 i32.const 18588 i32.lt_u - local.get $0 - i32.load $0 offset=8 - select + i32.and i32.eqz if i32.const 0 diff --git a/tests/compiler/bindings/noExportRuntime.release.wat b/tests/compiler/bindings/noExportRuntime.release.wat index 4efcb80e4f..b937886e8a 100644 --- a/tests/compiler/bindings/noExportRuntime.release.wat +++ b/tests/compiler/bindings/noExportRuntime.release.wat @@ -163,13 +163,13 @@ local.tee $1 i32.eqz if - i32.const 0 + local.get $0 + i32.load $0 offset=8 + i32.eqz local.get $0 i32.const 18188 i32.lt_u - local.get $0 - i32.load $0 offset=8 - select + i32.and i32.eqz if i32.const 0 diff --git a/tests/compiler/bindings/raw.release.wat b/tests/compiler/bindings/raw.release.wat index 2947b995dc..eb0064e7c5 100644 --- a/tests/compiler/bindings/raw.release.wat +++ b/tests/compiler/bindings/raw.release.wat @@ -202,13 +202,13 @@ local.tee $1 i32.eqz if - i32.const 0 + local.get $0 + i32.load $0 offset=8 + i32.eqz local.get $0 i32.const 18588 i32.lt_u - local.get $0 - i32.load $0 offset=8 - select + i32.and i32.eqz if i32.const 0 diff --git a/tests/compiler/builtins.release.wat b/tests/compiler/builtins.release.wat index 2d3a9d1bdf..173d80067a 100644 --- a/tests/compiler/builtins.release.wat +++ b/tests/compiler/builtins.release.wat @@ -88,10 +88,10 @@ return end local.get $1 - i32.const 0 + i32.eqz local.get $0 - select i32.eqz + i32.or if i32.const 0 return diff --git a/tests/compiler/call-super.release.wat b/tests/compiler/call-super.release.wat index eff72aca4c..3837d03012 100644 --- a/tests/compiler/call-super.release.wat +++ b/tests/compiler/call-super.release.wat @@ -2086,13 +2086,13 @@ local.tee $0 i32.eqz if - i32.const 0 + local.get $1 + i32.load $0 offset=8 + i32.eqz local.get $1 i32.const 17980 i32.lt_u - local.get $1 - i32.load $0 offset=8 - select + i32.and i32.eqz if i32.const 0 diff --git a/tests/compiler/class-implements.release.wat b/tests/compiler/class-implements.release.wat index e68c91a77c..2c4122b8a3 100644 --- a/tests/compiler/class-implements.release.wat +++ b/tests/compiler/class-implements.release.wat @@ -1461,13 +1461,13 @@ local.tee $0 i32.eqz if - i32.const 0 + local.get $1 + i32.load $0 offset=8 + i32.eqz local.get $1 i32.const 17948 i32.lt_u - local.get $1 - i32.load $0 offset=8 - select + i32.and i32.eqz if i32.const 0 diff --git a/tests/compiler/class-overloading-cast.release.wat b/tests/compiler/class-overloading-cast.release.wat index 1300810905..ebec73b025 100644 --- a/tests/compiler/class-overloading-cast.release.wat +++ b/tests/compiler/class-overloading-cast.release.wat @@ -1276,10 +1276,10 @@ return end local.get $1 - i32.const 0 + i32.eqz local.get $0 - select i32.eqz + i32.or if i32.const 0 return @@ -1899,13 +1899,13 @@ local.tee $0 i32.eqz if - i32.const 0 + local.get $1 + i32.load $0 offset=8 + i32.eqz local.get $1 i32.const 18084 i32.lt_u - local.get $1 - i32.load $0 offset=8 - select + i32.and i32.eqz if i32.const 0 diff --git a/tests/compiler/class-overloading.release.wat b/tests/compiler/class-overloading.release.wat index d1eaf849d8..1e8f450b46 100644 --- a/tests/compiler/class-overloading.release.wat +++ b/tests/compiler/class-overloading.release.wat @@ -1300,10 +1300,10 @@ return end local.get $1 - i32.const 0 + i32.eqz local.get $0 - select i32.eqz + i32.or if i32.const 0 return @@ -3033,13 +3033,13 @@ local.tee $0 i32.eqz if - i32.const 0 + local.get $1 + i32.load $0 offset=8 + i32.eqz local.get $1 i32.const 18316 i32.lt_u - local.get $1 - i32.load $0 offset=8 - select + i32.and i32.eqz if i32.const 0 diff --git a/tests/compiler/class.release.wat b/tests/compiler/class.release.wat index f3fa4ea9c3..3d9a8b1102 100644 --- a/tests/compiler/class.release.wat +++ b/tests/compiler/class.release.wat @@ -119,13 +119,13 @@ local.tee $1 i32.eqz if - i32.const 0 + local.get $0 + i32.load $0 offset=8 + i32.eqz local.get $0 i32.const 17972 i32.lt_u - local.get $0 - i32.load $0 offset=8 - select + i32.and i32.eqz if i32.const 0 diff --git a/tests/compiler/constructor.release.wat b/tests/compiler/constructor.release.wat index 0232d1c1b0..830ea5caf5 100644 --- a/tests/compiler/constructor.release.wat +++ b/tests/compiler/constructor.release.wat @@ -1919,13 +1919,13 @@ local.tee $0 i32.eqz if - i32.const 0 + local.get $1 + i32.load $0 offset=8 + i32.eqz local.get $1 i32.const 17988 i32.lt_u - local.get $1 - i32.load $0 offset=8 - select + i32.and i32.eqz if i32.const 0 diff --git a/tests/compiler/do.release.wat b/tests/compiler/do.release.wat index f2e59bb323..82b76aee7b 100644 --- a/tests/compiler/do.release.wat +++ b/tests/compiler/do.release.wat @@ -1777,13 +1777,13 @@ local.tee $0 i32.eqz if - i32.const 0 + local.get $1 + i32.load $0 offset=8 + i32.eqz local.get $1 i32.const 17892 i32.lt_u - local.get $1 - i32.load $0 offset=8 - select + i32.and i32.eqz if i32.const 0 diff --git a/tests/compiler/duplicate-fields.release.wat b/tests/compiler/duplicate-fields.release.wat index 978a71c1b2..7dcf4934d1 100644 --- a/tests/compiler/duplicate-fields.release.wat +++ b/tests/compiler/duplicate-fields.release.wat @@ -127,13 +127,13 @@ local.tee $1 i32.eqz if - i32.const 0 + local.get $0 + i32.load $0 offset=8 + i32.eqz local.get $0 i32.const 17980 i32.lt_u - local.get $0 - i32.load $0 offset=8 - select + i32.and i32.eqz if i32.const 0 diff --git a/tests/compiler/empty-exportruntime.release.wat b/tests/compiler/empty-exportruntime.release.wat index 7c059cd5d6..be76eac9e8 100644 --- a/tests/compiler/empty-exportruntime.release.wat +++ b/tests/compiler/empty-exportruntime.release.wat @@ -100,13 +100,13 @@ local.tee $1 i32.eqz if - i32.const 0 + local.get $0 + i32.load $0 offset=8 + i32.eqz local.get $0 i32.const 17980 i32.lt_u - local.get $0 - i32.load $0 offset=8 - select + i32.and i32.eqz if i32.const 0 diff --git a/tests/compiler/empty-new.release.wat b/tests/compiler/empty-new.release.wat index 461c9548c9..c31929bf49 100644 --- a/tests/compiler/empty-new.release.wat +++ b/tests/compiler/empty-new.release.wat @@ -1320,13 +1320,13 @@ local.tee $0 i32.eqz if - i32.const 0 + local.get $1 + i32.load $0 offset=8 + i32.eqz local.get $1 i32.const 17852 i32.lt_u - local.get $1 - i32.load $0 offset=8 - select + i32.and i32.eqz if i32.const 0 diff --git a/tests/compiler/exportstar-rereexport.release.wat b/tests/compiler/exportstar-rereexport.release.wat index 3a4d549d51..35650edcb3 100644 --- a/tests/compiler/exportstar-rereexport.release.wat +++ b/tests/compiler/exportstar-rereexport.release.wat @@ -1494,13 +1494,13 @@ local.tee $0 i32.eqz if - i32.const 0 + local.get $1 + i32.load $0 offset=8 + i32.eqz local.get $1 i32.const 17956 i32.lt_u - local.get $1 - i32.load $0 offset=8 - select + i32.and i32.eqz if i32.const 0 diff --git a/tests/compiler/extends-baseaggregate.release.wat b/tests/compiler/extends-baseaggregate.release.wat index 5c3c924c64..42cbd16487 100644 --- a/tests/compiler/extends-baseaggregate.release.wat +++ b/tests/compiler/extends-baseaggregate.release.wat @@ -125,13 +125,13 @@ local.tee $1 i32.eqz if - i32.const 0 + local.get $0 + i32.load $0 offset=8 + i32.eqz local.get $0 i32.const 18156 i32.lt_u - local.get $0 - i32.load $0 offset=8 - select + i32.and i32.eqz if i32.const 0 diff --git a/tests/compiler/extends-recursive.release.wat b/tests/compiler/extends-recursive.release.wat index 92e92abf0d..1c171829cd 100644 --- a/tests/compiler/extends-recursive.release.wat +++ b/tests/compiler/extends-recursive.release.wat @@ -1389,13 +1389,13 @@ local.tee $1 i32.eqz if - i32.const 0 + local.get $0 + i32.load $0 offset=8 + i32.eqz local.get $0 i32.const 17868 i32.lt_u - local.get $0 - i32.load $0 offset=8 - select + i32.and i32.eqz if i32.const 0 diff --git a/tests/compiler/field-initialization.release.wat b/tests/compiler/field-initialization.release.wat index 7db703c0cc..20ed07315e 100644 --- a/tests/compiler/field-initialization.release.wat +++ b/tests/compiler/field-initialization.release.wat @@ -132,13 +132,13 @@ local.tee $1 i32.eqz if - i32.const 0 + local.get $0 + i32.load $0 offset=8 + i32.eqz local.get $0 i32.const 18380 i32.lt_u - local.get $0 - i32.load $0 offset=8 - select + i32.and i32.eqz if i32.const 0 @@ -1535,10 +1535,10 @@ return end local.get $1 - i32.const 0 + i32.eqz local.get $0 - select i32.eqz + i32.or if i32.const 0 return diff --git a/tests/compiler/field.release.wat b/tests/compiler/field.release.wat index 12fbc3cad5..5780da752e 100644 --- a/tests/compiler/field.release.wat +++ b/tests/compiler/field.release.wat @@ -110,13 +110,13 @@ local.tee $1 i32.eqz if - i32.const 0 + local.get $0 + i32.load $0 offset=8 + i32.eqz local.get $0 i32.const 17908 i32.lt_u - local.get $0 - i32.load $0 offset=8 - select + i32.and i32.eqz if i32.const 0 diff --git a/tests/compiler/for.release.wat b/tests/compiler/for.release.wat index 05f67ef1e3..5948bac92f 100644 --- a/tests/compiler/for.release.wat +++ b/tests/compiler/for.release.wat @@ -1773,13 +1773,13 @@ local.tee $0 i32.eqz if - i32.const 0 + local.get $1 + i32.load $0 offset=8 + i32.eqz local.get $1 i32.const 17892 i32.lt_u - local.get $1 - i32.load $0 offset=8 - select + i32.and i32.eqz if i32.const 0 diff --git a/tests/compiler/function-call.release.wat b/tests/compiler/function-call.release.wat index e24d7d7831..e416f1064f 100644 --- a/tests/compiler/function-call.release.wat +++ b/tests/compiler/function-call.release.wat @@ -1505,13 +1505,13 @@ local.tee $0 i32.eqz if - i32.const 0 + local.get $1 + i32.load $0 offset=8 + i32.eqz local.get $1 i32.const 18220 i32.lt_u - local.get $1 - i32.load $0 offset=8 - select + i32.and i32.eqz if i32.const 0 diff --git a/tests/compiler/function-expression.release.wat b/tests/compiler/function-expression.release.wat index 44497832ba..af970f2094 100644 --- a/tests/compiler/function-expression.release.wat +++ b/tests/compiler/function-expression.release.wat @@ -176,13 +176,13 @@ local.tee $1 i32.eqz if - i32.const 0 + local.get $0 + i32.load $0 offset=8 + i32.eqz local.get $0 i32.const 18580 i32.lt_u - local.get $0 - i32.load $0 offset=8 - select + i32.and i32.eqz if i32.const 0 diff --git a/tests/compiler/getter-call.release.wat b/tests/compiler/getter-call.release.wat index efb8fea11b..5558fb345f 100644 --- a/tests/compiler/getter-call.release.wat +++ b/tests/compiler/getter-call.release.wat @@ -1408,13 +1408,13 @@ local.tee $0 i32.eqz if - i32.const 0 + local.get $1 + i32.load $0 offset=8 + i32.eqz local.get $1 i32.const 17900 i32.lt_u - local.get $1 - i32.load $0 offset=8 - select + i32.and i32.eqz if i32.const 0 diff --git a/tests/compiler/infer-array.release.wat b/tests/compiler/infer-array.release.wat index 2cdf54f2e5..40ebcea24a 100644 --- a/tests/compiler/infer-array.release.wat +++ b/tests/compiler/infer-array.release.wat @@ -146,13 +146,13 @@ local.tee $1 i32.eqz if - i32.const 0 + local.get $0 + i32.load $0 offset=8 + i32.eqz local.get $0 i32.const 18596 i32.lt_u - local.get $0 - i32.load $0 offset=8 - select + i32.and i32.eqz if i32.const 0 diff --git a/tests/compiler/infer-generic.release.wat b/tests/compiler/infer-generic.release.wat index 5f16cfbec0..b13dfcea14 100644 --- a/tests/compiler/infer-generic.release.wat +++ b/tests/compiler/infer-generic.release.wat @@ -1540,13 +1540,13 @@ local.tee $0 i32.eqz if - i32.const 0 + local.get $1 + i32.load $0 offset=8 + i32.eqz local.get $1 i32.const 18076 i32.lt_u - local.get $1 - i32.load $0 offset=8 - select + i32.and i32.eqz if i32.const 0 diff --git a/tests/compiler/inlining.release.wat b/tests/compiler/inlining.release.wat index a0257ce637..40ba0355a7 100644 --- a/tests/compiler/inlining.release.wat +++ b/tests/compiler/inlining.release.wat @@ -1645,13 +1645,13 @@ local.tee $0 i32.eqz if - i32.const 0 + local.get $1 + i32.load $0 offset=8 + i32.eqz local.get $1 i32.const 17964 i32.lt_u - local.get $1 - i32.load $0 offset=8 - select + i32.and i32.eqz if i32.const 0 diff --git a/tests/compiler/instanceof-class.release.wat b/tests/compiler/instanceof-class.release.wat index 59969de648..80b602cfdf 100644 --- a/tests/compiler/instanceof-class.release.wat +++ b/tests/compiler/instanceof-class.release.wat @@ -1552,13 +1552,13 @@ local.tee $0 i32.eqz if - i32.const 0 + local.get $1 + i32.load $0 offset=8 + i32.eqz local.get $1 i32.const 17948 i32.lt_u - local.get $1 - i32.load $0 offset=8 - select + i32.and i32.eqz if i32.const 0 diff --git a/tests/compiler/issues/1095.release.wat b/tests/compiler/issues/1095.release.wat index f04f209573..3780acd5e2 100644 --- a/tests/compiler/issues/1095.release.wat +++ b/tests/compiler/issues/1095.release.wat @@ -114,13 +114,13 @@ local.tee $1 i32.eqz if - i32.const 0 + local.get $0 + i32.load $0 offset=8 + i32.eqz local.get $0 i32.const 18004 i32.lt_u - local.get $0 - i32.load $0 offset=8 - select + i32.and i32.eqz if i32.const 0 diff --git a/tests/compiler/issues/1225.release.wat b/tests/compiler/issues/1225.release.wat index cd1a94cad8..5779d5809a 100644 --- a/tests/compiler/issues/1225.release.wat +++ b/tests/compiler/issues/1225.release.wat @@ -1452,13 +1452,13 @@ local.tee $0 i32.eqz if - i32.const 0 + local.get $1 + i32.load $0 offset=8 + i32.eqz local.get $1 i32.const 17908 i32.lt_u - local.get $1 - i32.load $0 offset=8 - select + i32.and i32.eqz if i32.const 0 diff --git a/tests/compiler/issues/1699.release.wat b/tests/compiler/issues/1699.release.wat index 0124ada583..78ecce337d 100644 --- a/tests/compiler/issues/1699.release.wat +++ b/tests/compiler/issues/1699.release.wat @@ -121,13 +121,13 @@ local.tee $1 i32.eqz if - i32.const 0 + local.get $0 + i32.load $0 offset=8 + i32.eqz local.get $0 i32.const 18140 i32.lt_u - local.get $0 - i32.load $0 offset=8 - select + i32.and i32.eqz if i32.const 0 diff --git a/tests/compiler/issues/2166.release.wat b/tests/compiler/issues/2166.release.wat index 58282ad79a..b21d0eff72 100644 --- a/tests/compiler/issues/2166.release.wat +++ b/tests/compiler/issues/2166.release.wat @@ -1249,10 +1249,10 @@ return end local.get $1 - i32.const 0 + i32.eqz local.get $0 - select i32.eqz + i32.or if i32.const 0 return @@ -1666,13 +1666,13 @@ local.tee $0 i32.eqz if - i32.const 0 + local.get $1 + i32.load $0 offset=8 + i32.eqz local.get $1 i32.const 18060 i32.lt_u - local.get $1 - i32.load $0 offset=8 - select + i32.and i32.eqz if i32.const 0 diff --git a/tests/compiler/issues/2322/index.release.wat b/tests/compiler/issues/2322/index.release.wat index 86560e545a..ed211a661a 100644 --- a/tests/compiler/issues/2322/index.release.wat +++ b/tests/compiler/issues/2322/index.release.wat @@ -1379,13 +1379,13 @@ local.tee $0 i32.eqz if - i32.const 0 + local.get $1 + i32.load $0 offset=8 + i32.eqz local.get $1 i32.const 17860 i32.lt_u - local.get $1 - i32.load $0 offset=8 - select + i32.and i32.eqz if i32.const 0 diff --git a/tests/compiler/logical.release.wat b/tests/compiler/logical.release.wat index 36b32580d0..12ba6cef44 100644 --- a/tests/compiler/logical.release.wat +++ b/tests/compiler/logical.release.wat @@ -1446,13 +1446,13 @@ local.tee $0 i32.eqz if - i32.const 0 + local.get $1 + i32.load $0 offset=8 + i32.eqz local.get $1 i32.const 17908 i32.lt_u - local.get $1 - i32.load $0 offset=8 - select + i32.and i32.eqz if i32.const 0 diff --git a/tests/compiler/managed-cast.release.wat b/tests/compiler/managed-cast.release.wat index aaa204ea61..abfbf0b671 100644 --- a/tests/compiler/managed-cast.release.wat +++ b/tests/compiler/managed-cast.release.wat @@ -1780,13 +1780,13 @@ local.tee $0 i32.eqz if - i32.const 0 + local.get $1 + i32.load $0 offset=8 + i32.eqz local.get $1 i32.const 18060 i32.lt_u - local.get $1 - i32.load $0 offset=8 - select + i32.and i32.eqz if i32.const 0 diff --git a/tests/compiler/new.release.wat b/tests/compiler/new.release.wat index 25c6e29238..aadce26648 100644 --- a/tests/compiler/new.release.wat +++ b/tests/compiler/new.release.wat @@ -1580,13 +1580,13 @@ local.tee $0 i32.eqz if - i32.const 0 + local.get $1 + i32.load $0 offset=8 + i32.eqz local.get $1 i32.const 17884 i32.lt_u - local.get $1 - i32.load $0 offset=8 - select + i32.and i32.eqz if i32.const 0 diff --git a/tests/compiler/number.release.wat b/tests/compiler/number.release.wat index 222be5b139..e609564afd 100644 --- a/tests/compiler/number.release.wat +++ b/tests/compiler/number.release.wat @@ -1652,10 +1652,10 @@ return end local.get $1 - i32.const 0 + i32.eqz local.get $0 - select i32.eqz + i32.or if i32.const 0 return @@ -3017,13 +3017,13 @@ local.tee $0 i32.eqz if - i32.const 0 + local.get $1 + i32.load $0 offset=8 + i32.eqz local.get $1 i32.const 21068 i32.lt_u - local.get $1 - i32.load $0 offset=8 - select + i32.and i32.eqz if i32.const 0 diff --git a/tests/compiler/object-literal.release.wat b/tests/compiler/object-literal.release.wat index 634eb60ce9..7751f06e8a 100644 --- a/tests/compiler/object-literal.release.wat +++ b/tests/compiler/object-literal.release.wat @@ -78,13 +78,13 @@ local.tee $1 i32.eqz if - i32.const 0 + local.get $0 + i32.load $0 offset=8 + i32.eqz local.get $0 i32.const 18156 i32.lt_u - local.get $0 - i32.load $0 offset=8 - select + i32.and i32.eqz if i32.const 0 @@ -1535,10 +1535,10 @@ return end local.get $1 - i32.const 0 + i32.eqz local.get $0 - select i32.eqz + i32.or if i32.const 0 return @@ -1957,14 +1957,14 @@ local.set $0 br $__inlined_func$~lib/string/String#substring end - i32.const 0 + local.get $3 + i32.eqz local.get $4 local.get $0 i32.const 1 i32.shl i32.eq - local.get $3 - select + i32.and if global.get $~lib/memory/__stack_pointer i32.const 4 diff --git a/tests/compiler/optional-typeparameters.release.wat b/tests/compiler/optional-typeparameters.release.wat index 3b4e49d04d..0d3693b53c 100644 --- a/tests/compiler/optional-typeparameters.release.wat +++ b/tests/compiler/optional-typeparameters.release.wat @@ -1532,13 +1532,13 @@ local.tee $0 i32.eqz if - i32.const 0 + local.get $1 + i32.load $0 offset=8 + i32.eqz local.get $1 i32.const 17892 i32.lt_u - local.get $1 - i32.load $0 offset=8 - select + i32.and i32.eqz if i32.const 0 diff --git a/tests/compiler/reexport.release.wat b/tests/compiler/reexport.release.wat index bbc6d201a5..eebc3b3840 100644 --- a/tests/compiler/reexport.release.wat +++ b/tests/compiler/reexport.release.wat @@ -1441,13 +1441,13 @@ local.tee $0 i32.eqz if - i32.const 0 + local.get $1 + i32.load $0 offset=8 + i32.eqz local.get $1 i32.const 17908 i32.lt_u - local.get $1 - i32.load $0 offset=8 - select + i32.and i32.eqz if i32.const 0 diff --git a/tests/compiler/rereexport.release.wat b/tests/compiler/rereexport.release.wat index 136e3c9334..89c7361f93 100644 --- a/tests/compiler/rereexport.release.wat +++ b/tests/compiler/rereexport.release.wat @@ -1492,13 +1492,13 @@ local.tee $0 i32.eqz if - i32.const 0 + local.get $1 + i32.load $0 offset=8 + i32.eqz local.get $1 i32.const 17956 i32.lt_u - local.get $1 - i32.load $0 offset=8 - select + i32.and i32.eqz if i32.const 0 diff --git a/tests/compiler/resolve-access.release.wat b/tests/compiler/resolve-access.release.wat index ef2f967478..38e2d68a02 100644 --- a/tests/compiler/resolve-access.release.wat +++ b/tests/compiler/resolve-access.release.wat @@ -132,13 +132,13 @@ local.tee $1 i32.eqz if - i32.const 0 + local.get $0 + i32.load $0 offset=8 + i32.eqz local.get $0 i32.const 19732 i32.lt_u - local.get $0 - i32.load $0 offset=8 - select + i32.and i32.eqz if i32.const 0 diff --git a/tests/compiler/resolve-binary.release.wat b/tests/compiler/resolve-binary.release.wat index 61de0b41ee..5dc2ff1d88 100644 --- a/tests/compiler/resolve-binary.release.wat +++ b/tests/compiler/resolve-binary.release.wat @@ -250,10 +250,10 @@ return end local.get $1 - i32.const 0 + i32.eqz local.get $0 - select i32.eqz + i32.or if i32.const 0 return @@ -4295,13 +4295,13 @@ local.tee $0 i32.eqz if - i32.const 0 + local.get $1 + i32.load $0 offset=8 + i32.eqz local.get $1 i32.const 27652 i32.lt_u - local.get $1 - i32.load $0 offset=8 - select + i32.and i32.eqz if i32.const 0 diff --git a/tests/compiler/resolve-elementaccess.release.wat b/tests/compiler/resolve-elementaccess.release.wat index 33ae177461..e423580ee3 100644 --- a/tests/compiler/resolve-elementaccess.release.wat +++ b/tests/compiler/resolve-elementaccess.release.wat @@ -184,13 +184,13 @@ local.tee $1 i32.eqz if - i32.const 0 + local.get $0 + i32.load $0 offset=8 + i32.eqz local.get $0 i32.const 21236 i32.lt_u - local.get $0 - i32.load $0 offset=8 - select + i32.and i32.eqz if i32.const 0 @@ -2858,10 +2858,10 @@ return end local.get $1 - i32.const 0 + i32.eqz local.get $0 - select i32.eqz + i32.or if i32.const 0 return diff --git a/tests/compiler/resolve-function-expression.release.wat b/tests/compiler/resolve-function-expression.release.wat index d8b371463f..7b39446437 100644 --- a/tests/compiler/resolve-function-expression.release.wat +++ b/tests/compiler/resolve-function-expression.release.wat @@ -1769,10 +1769,7 @@ br_if $__inlined_func$~lib/string/String.__eq drop i32.const 0 - i32.const 3408 - i32.const 0 local.get $4 - select i32.eqz br_if $__inlined_func$~lib/string/String.__eq drop @@ -1917,13 +1914,13 @@ local.tee $0 i32.eqz if - i32.const 0 + local.get $1 + i32.load $0 offset=8 + i32.eqz local.get $1 i32.const 19844 i32.lt_u - local.get $1 - i32.load $0 offset=8 - select + i32.and i32.eqz if i32.const 0 diff --git a/tests/compiler/resolve-new.release.wat b/tests/compiler/resolve-new.release.wat index 770255cbd8..7632e3d3aa 100644 --- a/tests/compiler/resolve-new.release.wat +++ b/tests/compiler/resolve-new.release.wat @@ -1393,13 +1393,13 @@ local.tee $0 i32.eqz if - i32.const 0 + local.get $1 + i32.load $0 offset=8 + i32.eqz local.get $1 i32.const 17860 i32.lt_u - local.get $1 - i32.load $0 offset=8 - select + i32.and i32.eqz if i32.const 0 diff --git a/tests/compiler/resolve-propertyaccess.release.wat b/tests/compiler/resolve-propertyaccess.release.wat index 10b6a252cb..9c22da6228 100644 --- a/tests/compiler/resolve-propertyaccess.release.wat +++ b/tests/compiler/resolve-propertyaccess.release.wat @@ -1643,10 +1643,10 @@ return end local.get $1 - i32.const 0 + i32.eqz local.get $0 - select i32.eqz + i32.or if i32.const 0 return @@ -2176,13 +2176,13 @@ local.tee $0 i32.eqz if - i32.const 0 + local.get $1 + i32.load $0 offset=8 + i32.eqz local.get $1 i32.const 20100 i32.lt_u - local.get $1 - i32.load $0 offset=8 - select + i32.and i32.eqz if i32.const 0 diff --git a/tests/compiler/resolve-ternary.release.wat b/tests/compiler/resolve-ternary.release.wat index 9315cef150..eda0b01c5a 100644 --- a/tests/compiler/resolve-ternary.release.wat +++ b/tests/compiler/resolve-ternary.release.wat @@ -1530,10 +1530,10 @@ return end local.get $1 - i32.const 0 + i32.eqz local.get $0 - select i32.eqz + i32.or if i32.const 0 return @@ -2769,13 +2769,13 @@ local.tee $0 i32.eqz if - i32.const 0 + local.get $1 + i32.load $0 offset=8 + i32.eqz local.get $1 i32.const 21028 i32.lt_u - local.get $1 - i32.load $0 offset=8 - select + i32.and i32.eqz if i32.const 0 diff --git a/tests/compiler/resolve-unary.release.wat b/tests/compiler/resolve-unary.release.wat index 8a492dd62b..95b53ff6d5 100644 --- a/tests/compiler/resolve-unary.release.wat +++ b/tests/compiler/resolve-unary.release.wat @@ -1669,10 +1669,10 @@ return end local.get $1 - i32.const 0 + i32.eqz local.get $0 - select i32.eqz + i32.or if i32.const 0 return @@ -2489,13 +2489,13 @@ local.tee $0 i32.eqz if - i32.const 0 + local.get $1 + i32.load $0 offset=8 + i32.eqz local.get $1 i32.const 20276 i32.lt_u - local.get $1 - i32.load $0 offset=8 - select + i32.and i32.eqz if i32.const 0 diff --git a/tests/compiler/return-unreachable.release.wat b/tests/compiler/return-unreachable.release.wat index fd0962a8e2..f825440314 100644 --- a/tests/compiler/return-unreachable.release.wat +++ b/tests/compiler/return-unreachable.release.wat @@ -117,13 +117,13 @@ local.tee $1 i32.eqz if - i32.const 0 + local.get $0 + i32.load $0 offset=8 + i32.eqz local.get $0 i32.const 17956 i32.lt_u - local.get $0 - i32.load $0 offset=8 - select + i32.and i32.eqz if i32.const 0 diff --git a/tests/compiler/rt/finalize.release.wat b/tests/compiler/rt/finalize.release.wat index c60480989d..9dd1d1241f 100644 --- a/tests/compiler/rt/finalize.release.wat +++ b/tests/compiler/rt/finalize.release.wat @@ -1427,13 +1427,13 @@ local.tee $0 i32.eqz if - i32.const 0 + local.get $1 + i32.load $0 offset=8 + i32.eqz local.get $1 i32.const 17908 i32.lt_u - local.get $1 - i32.load $0 offset=8 - select + i32.and i32.eqz if i32.const 0 diff --git a/tests/compiler/rt/instanceof.release.wat b/tests/compiler/rt/instanceof.release.wat index 10cab7466c..20ab928f38 100644 --- a/tests/compiler/rt/instanceof.release.wat +++ b/tests/compiler/rt/instanceof.release.wat @@ -2145,13 +2145,13 @@ local.tee $0 i32.eqz if - i32.const 0 + local.get $1 + i32.load $0 offset=8 + i32.eqz local.get $1 i32.const 17940 i32.lt_u - local.get $1 - i32.load $0 offset=8 - select + i32.and i32.eqz if i32.const 0 diff --git a/tests/compiler/rt/runtime-incremental-export.release.wat b/tests/compiler/rt/runtime-incremental-export.release.wat index 7c059cd5d6..be76eac9e8 100644 --- a/tests/compiler/rt/runtime-incremental-export.release.wat +++ b/tests/compiler/rt/runtime-incremental-export.release.wat @@ -100,13 +100,13 @@ local.tee $1 i32.eqz if - i32.const 0 + local.get $0 + i32.load $0 offset=8 + i32.eqz local.get $0 i32.const 17980 i32.lt_u - local.get $0 - i32.load $0 offset=8 - select + i32.and i32.eqz if i32.const 0 diff --git a/tests/compiler/rt/runtime-minimal-export.release.wat b/tests/compiler/rt/runtime-minimal-export.release.wat index c043f1acee..f7f95ef30b 100644 --- a/tests/compiler/rt/runtime-minimal-export.release.wat +++ b/tests/compiler/rt/runtime-minimal-export.release.wat @@ -1014,13 +1014,13 @@ local.tee $1 i32.eqz if - i32.const 0 + local.get $0 + i32.load $0 offset=8 + i32.eqz local.get $0 i32.const 1484 i32.lt_u - local.get $0 - i32.load $0 offset=8 - select + i32.and i32.eqz if i32.const 0 diff --git a/tests/compiler/simd.release.wat b/tests/compiler/simd.release.wat index d2fcaed32f..f81a93bcf5 100644 --- a/tests/compiler/simd.release.wat +++ b/tests/compiler/simd.release.wat @@ -142,13 +142,13 @@ local.tee $1 i32.eqz if - i32.const 0 + local.get $0 + i32.load $0 offset=8 + i32.eqz local.get $0 i32.const 18012 i32.lt_u - local.get $0 - i32.load $0 offset=8 - select + i32.and i32.eqz if i32.const 0 diff --git a/tests/compiler/std/array-literal.release.wat b/tests/compiler/std/array-literal.release.wat index 8b2b056d7b..78485beb61 100644 --- a/tests/compiler/std/array-literal.release.wat +++ b/tests/compiler/std/array-literal.release.wat @@ -205,13 +205,13 @@ local.tee $1 i32.eqz if - i32.const 0 + local.get $0 + i32.load $0 offset=8 + i32.eqz local.get $0 i32.const 18252 i32.lt_u - local.get $0 - i32.load $0 offset=8 - select + i32.and i32.eqz if i32.const 0 diff --git a/tests/compiler/std/array.release.wat b/tests/compiler/std/array.release.wat index a21c7913a0..7f60ed2fd2 100644 --- a/tests/compiler/std/array.release.wat +++ b/tests/compiler/std/array.release.wat @@ -751,13 +751,13 @@ local.tee $1 i32.eqz if - i32.const 0 + local.get $0 + i32.load $0 offset=8 + i32.eqz local.get $0 i32.const 32652 i32.lt_u - local.get $0 - i32.load $0 offset=8 - select + i32.and i32.eqz if i32.const 0 @@ -8019,10 +8019,10 @@ return end local.get $1 - i32.const 0 + i32.eqz local.get $0 - select i32.eqz + i32.or if i32.const 0 return @@ -16028,11 +16028,11 @@ local.get $3 i32.load $0 offset=12 local.tee $8 + i32.eqz + local.get $8 i32.const 0 i32.le_s - i32.const 1 - local.get $8 - select + i32.or br_if $__inlined_func$~lib/array/Array#indexOf local.get $3 i32.load $0 offset=4 @@ -16085,11 +16085,11 @@ local.get $3 i32.load $0 offset=12 local.tee $8 + i32.eqz + local.get $8 i32.const 0 i32.le_s - i32.const 1 - local.get $8 - select + i32.or br_if $__inlined_func$~lib/array/Array#indexOf36 local.get $3 i32.load $0 offset=4 @@ -16144,11 +16144,11 @@ local.get $3 i32.load $0 offset=12 local.tee $8 + i32.eqz + local.get $8 i32.const 0 i32.le_s - i32.const 1 - local.get $8 - select + i32.or br_if $__inlined_func$~lib/array/Array#indexOf39 local.get $3 i32.load $0 offset=4 @@ -16203,11 +16203,11 @@ local.get $3 i32.load $0 offset=12 local.tee $8 + i32.eqz + local.get $8 i32.const 100 i32.le_s - i32.const 1 - local.get $8 - select + i32.or br_if $__inlined_func$~lib/array/Array#indexOf42 local.get $3 i32.load $0 offset=4 @@ -16260,11 +16260,11 @@ local.get $1 i32.load $0 offset=12 local.tee $3 + i32.eqz + local.get $3 i32.const -100 i32.le_s - i32.const 1 - local.get $3 - select + i32.or br_if $__inlined_func$~lib/array/Array#indexOf45 local.get $3 i32.const 100 @@ -16326,11 +16326,11 @@ local.get $1 i32.load $0 offset=12 local.tee $3 + i32.eqz + local.get $3 i32.const -2 i32.le_s - i32.const 1 - local.get $3 - select + i32.or br_if $__inlined_func$~lib/array/Array#indexOf48 local.get $3 i32.const 2 @@ -16392,11 +16392,11 @@ local.get $1 i32.load $0 offset=12 local.tee $3 + i32.eqz + local.get $3 i32.const -4 i32.le_s - i32.const 1 - local.get $3 - select + i32.or br_if $__inlined_func$~lib/array/Array#indexOf51 local.get $3 i32.const 4 @@ -16460,11 +16460,11 @@ local.get $3 i32.load $0 offset=12 local.tee $8 + i32.eqz + local.get $8 i32.const 0 i32.le_s - i32.const 1 - local.get $8 - select + i32.or br_if $__inlined_func$~lib/array/Array#indexOf54 local.get $3 i32.load $0 offset=4 @@ -16519,11 +16519,11 @@ local.get $3 i32.load $0 offset=12 local.tee $8 + i32.eqz + local.get $8 i32.const 1 i32.le_s - i32.const 1 - local.get $8 - select + i32.or br_if $__inlined_func$~lib/array/Array#indexOf57 local.get $3 i32.load $0 offset=4 @@ -16578,11 +16578,11 @@ local.get $3 i32.load $0 offset=12 local.tee $8 + i32.eqz + local.get $8 i32.const 2 i32.le_s - i32.const 1 - local.get $8 - select + i32.or br_if $__inlined_func$~lib/array/Array#indexOf60 local.get $3 i32.load $0 offset=4 @@ -16642,11 +16642,11 @@ local.get $3 i32.load $0 offset=12 local.tee $8 + i32.eqz + local.get $8 i32.const 0 i32.le_s - i32.const 1 - local.get $8 - select + i32.or br_if $__inlined_func$~lib/array/Array#indexOf local.get $3 i32.load $0 offset=4 @@ -16704,11 +16704,11 @@ local.get $3 i32.load $0 offset=12 local.tee $8 + i32.eqz + local.get $8 i32.const 0 i32.le_s - i32.const 1 - local.get $8 - select + i32.or br_if $__inlined_func$~lib/array/Array#indexOf local.get $3 i32.load $0 offset=4 @@ -17095,11 +17095,11 @@ local.get $3 i32.load $0 offset=12 local.tee $8 + i32.eqz + local.get $8 i32.const 0 i32.le_s - i32.const 1 - local.get $8 - select + i32.or br_if $__inlined_func$~lib/array/Array#indexOf14 local.get $3 i32.load $0 offset=4 @@ -17152,11 +17152,11 @@ local.get $3 i32.load $0 offset=12 local.tee $8 + i32.eqz + local.get $8 i32.const 0 i32.le_s - i32.const 1 - local.get $8 - select + i32.or br_if $__inlined_func$~lib/array/Array#indexOf17 local.get $3 i32.load $0 offset=4 @@ -17209,11 +17209,11 @@ local.get $3 i32.load $0 offset=12 local.tee $8 + i32.eqz + local.get $8 i32.const 0 i32.le_s - i32.const 1 - local.get $8 - select + i32.or br_if $__inlined_func$~lib/array/Array#indexOf20 local.get $3 i32.load $0 offset=4 @@ -17266,11 +17266,11 @@ local.get $3 i32.load $0 offset=12 local.tee $8 + i32.eqz + local.get $8 i32.const 100 i32.le_s - i32.const 1 - local.get $8 - select + i32.or br_if $__inlined_func$~lib/array/Array#indexOf23 local.get $3 i32.load $0 offset=4 @@ -17321,11 +17321,11 @@ local.get $1 i32.load $0 offset=12 local.tee $3 + i32.eqz + local.get $3 i32.const -100 i32.le_s - i32.const 1 - local.get $3 - select + i32.or br_if $__inlined_func$~lib/array/Array#indexOf26 local.get $3 i32.const 100 @@ -17385,11 +17385,11 @@ local.get $1 i32.load $0 offset=12 local.tee $3 + i32.eqz + local.get $3 i32.const -2 i32.le_s - i32.const 1 - local.get $3 - select + i32.or br_if $__inlined_func$~lib/array/Array#indexOf29 local.get $3 i32.const 2 @@ -17449,11 +17449,11 @@ local.get $1 i32.load $0 offset=12 local.tee $3 + i32.eqz + local.get $3 i32.const -4 i32.le_s - i32.const 1 - local.get $3 - select + i32.or br_if $__inlined_func$~lib/array/Array#indexOf32 local.get $3 i32.const 4 @@ -17515,11 +17515,11 @@ local.get $3 i32.load $0 offset=12 local.tee $8 + i32.eqz + local.get $8 i32.const 0 i32.le_s - i32.const 1 - local.get $8 - select + i32.or br_if $__inlined_func$~lib/array/Array#indexOf35 local.get $3 i32.load $0 offset=4 @@ -17572,11 +17572,11 @@ local.get $3 i32.load $0 offset=12 local.tee $8 + i32.eqz + local.get $8 i32.const 1 i32.le_s - i32.const 1 - local.get $8 - select + i32.or br_if $__inlined_func$~lib/array/Array#indexOf38 local.get $3 i32.load $0 offset=4 @@ -17629,11 +17629,11 @@ local.get $3 i32.load $0 offset=12 local.tee $8 + i32.eqz + local.get $8 i32.const 2 i32.le_s - i32.const 1 - local.get $8 - select + i32.or br_if $__inlined_func$~lib/array/Array#indexOf41 local.get $3 i32.load $0 offset=4 @@ -17690,11 +17690,11 @@ local.get $1 i32.load $0 offset=12 local.tee $3 + i32.eqz + local.get $3 i32.const 0 i32.le_s - i32.const 1 - local.get $3 - select + i32.or br_if $__inlined_func$~lib/array/Array#includes drop local.get $1 @@ -17755,11 +17755,11 @@ local.get $1 i32.load $0 offset=12 local.tee $3 + i32.eqz + local.get $3 i32.const 0 i32.le_s - i32.const 1 - local.get $3 - select + i32.or br_if $__inlined_func$~lib/array/Array#includes drop local.get $1 @@ -28245,14 +28245,14 @@ i32.const 9696 return end - i32.const 0 + local.get $3 + i32.eqz local.get $4 local.get $1 i32.const 1 i32.shl i32.eq - local.get $3 - select + i32.and if global.get $~lib/memory/__stack_pointer i32.const 4 diff --git a/tests/compiler/std/arraybuffer.release.wat b/tests/compiler/std/arraybuffer.release.wat index d66b418d5d..9323d134d6 100644 --- a/tests/compiler/std/arraybuffer.release.wat +++ b/tests/compiler/std/arraybuffer.release.wat @@ -122,13 +122,13 @@ local.tee $1 i32.eqz if - i32.const 0 + local.get $0 + i32.load $0 offset=8 + i32.eqz local.get $0 i32.const 18228 i32.lt_u - local.get $0 - i32.load $0 offset=8 - select + i32.and i32.eqz if i32.const 0 diff --git a/tests/compiler/std/dataview.release.wat b/tests/compiler/std/dataview.release.wat index 6050367ef9..a743b16a9a 100644 --- a/tests/compiler/std/dataview.release.wat +++ b/tests/compiler/std/dataview.release.wat @@ -128,13 +128,13 @@ local.tee $1 i32.eqz if - i32.const 0 + local.get $0 + i32.load $0 offset=8 + i32.eqz local.get $0 i32.const 18172 i32.lt_u - local.get $0 - i32.load $0 offset=8 - select + i32.and i32.eqz if i32.const 0 diff --git a/tests/compiler/std/date.release.wat b/tests/compiler/std/date.release.wat index 249f80f886..b947a0334e 100644 --- a/tests/compiler/std/date.release.wat +++ b/tests/compiler/std/date.release.wat @@ -496,13 +496,13 @@ local.tee $1 i32.eqz if - i32.const 0 + local.get $0 + i32.load $0 offset=8 + i32.eqz local.get $0 i32.const 24236 i32.lt_u - local.get $0 - i32.load $0 offset=8 - select + i32.and i32.eqz if i32.const 0 @@ -2501,10 +2501,10 @@ return end local.get $1 - i32.const 0 + i32.eqz local.get $0 - select i32.eqz + i32.or if i32.const 0 return @@ -8366,14 +8366,14 @@ i32.const 3456 return end - i32.const 0 + local.get $4 + i32.eqz local.get $2 local.get $1 i32.const 1 i32.shl i32.eq - local.get $4 - select + i32.and if global.get $~lib/memory/__stack_pointer i32.const 4 diff --git a/tests/compiler/std/map.release.wat b/tests/compiler/std/map.release.wat index 31a72eb963..620685c652 100644 --- a/tests/compiler/std/map.release.wat +++ b/tests/compiler/std/map.release.wat @@ -135,13 +135,13 @@ local.tee $1 i32.eqz if - i32.const 0 + local.get $0 + i32.load $0 offset=8 + i32.eqz local.get $0 i32.const 18404 i32.lt_u - local.get $0 - i32.load $0 offset=8 - select + i32.and i32.eqz if i32.const 0 diff --git a/tests/compiler/std/math.release.wat b/tests/compiler/std/math.release.wat index 827a86bd0b..af1efd82fd 100644 --- a/tests/compiler/std/math.release.wat +++ b/tests/compiler/std/math.release.wat @@ -7135,13 +7135,14 @@ i32.const 255 i32.and local.set $7 + local.get $6 i32.const 1 - local.get $1 - local.get $1 - f32.ne + i32.shl + local.tee $4 + i32.eqz local.get $0 i32.reinterpret_f32 - local.tee $4 + local.tee $3 i32.const 23 i32.shr_u i32.const 255 @@ -7149,13 +7150,11 @@ local.tee $8 i32.const 255 i32.eq - i32.const 1 - local.get $6 - i32.const 1 - i32.shl - local.tee $3 - select - select + i32.or + local.get $1 + local.get $1 + f32.ne + i32.or if local.get $0 local.get $1 @@ -7165,37 +7164,37 @@ f32.div return end - local.get $4 + local.get $3 i32.const 1 i32.shl local.tee $2 - local.get $3 + local.get $4 i32.le_u if local.get $0 local.get $2 - local.get $3 + local.get $4 i32.ne f32.convert_i32_u f32.mul return end - local.get $4 + local.get $3 i32.const -2147483648 i32.and local.set $5 local.get $8 if (result i32) - local.get $4 + local.get $3 i32.const 8388607 i32.and i32.const 8388608 i32.or else - local.get $4 + local.get $3 i32.const 1 local.get $8 - local.get $4 + local.get $3 i32.const 9 i32.shl i32.clz @@ -8925,10 +8924,10 @@ i32.const 255 i32.and local.set $4 + local.get $7 i32.const 1 - local.get $1 - local.get $1 - f32.ne + i32.shl + i32.eqz local.get $0 i32.reinterpret_f32 local.tee $6 @@ -8939,12 +8938,11 @@ local.tee $3 i32.const 255 i32.eq - i32.const 1 - local.get $7 - i32.const 1 - i32.shl - select - select + i32.or + local.get $1 + local.get $1 + f32.ne + i32.or if local.get $0 local.get $1 diff --git a/tests/compiler/std/mod.release.wat b/tests/compiler/std/mod.release.wat index 02aa0af7af..e8c2efd807 100644 --- a/tests/compiler/std/mod.release.wat +++ b/tests/compiler/std/mod.release.wat @@ -301,10 +301,11 @@ i32.const 255 i32.and local.set $7 + local.get $5 i32.const 1 - local.get $1 - local.get $1 - f32.ne + i32.shl + local.tee $4 + i32.eqz local.get $0 i32.reinterpret_f32 local.tee $6 @@ -315,13 +316,11 @@ local.tee $8 i32.const 255 i32.eq - i32.const 1 - local.get $5 - i32.const 1 - i32.shl - local.tee $4 - select - select + i32.or + local.get $1 + local.get $1 + f32.ne + i32.or if local.get $0 local.get $1 diff --git a/tests/compiler/std/new.release.wat b/tests/compiler/std/new.release.wat index 2a25f4ce8f..902124630e 100644 --- a/tests/compiler/std/new.release.wat +++ b/tests/compiler/std/new.release.wat @@ -1379,13 +1379,13 @@ local.tee $0 i32.eqz if - i32.const 0 + local.get $1 + i32.load $0 offset=8 + i32.eqz local.get $1 i32.const 17860 i32.lt_u - local.get $1 - i32.load $0 offset=8 - select + i32.and i32.eqz if i32.const 0 diff --git a/tests/compiler/std/object.release.wat b/tests/compiler/std/object.release.wat index d7b1939ca5..43a22872a7 100644 --- a/tests/compiler/std/object.release.wat +++ b/tests/compiler/std/object.release.wat @@ -30,10 +30,10 @@ return end local.get $1 - i32.const 0 + i32.eqz local.get $0 - select i32.eqz + i32.or if i32.const 0 return diff --git a/tests/compiler/std/operator-overloading.release.wat b/tests/compiler/std/operator-overloading.release.wat index 70a34dbf2a..20d5b604c6 100644 --- a/tests/compiler/std/operator-overloading.release.wat +++ b/tests/compiler/std/operator-overloading.release.wat @@ -3881,13 +3881,13 @@ local.tee $0 i32.eqz if - i32.const 0 + local.get $1 + i32.load $0 offset=8 + i32.eqz local.get $1 i32.const 18028 i32.lt_u - local.get $1 - i32.load $0 offset=8 - select + i32.and i32.eqz if i32.const 0 diff --git a/tests/compiler/std/set.release.wat b/tests/compiler/std/set.release.wat index 450f2410be..5abe0f5076 100644 --- a/tests/compiler/std/set.release.wat +++ b/tests/compiler/std/set.release.wat @@ -128,13 +128,13 @@ local.tee $1 i32.eqz if - i32.const 0 + local.get $0 + i32.load $0 offset=8 + i32.eqz local.get $0 i32.const 18220 i32.lt_u - local.get $0 - i32.load $0 offset=8 - select + i32.and i32.eqz if i32.const 0 diff --git a/tests/compiler/std/static-array.release.wat b/tests/compiler/std/static-array.release.wat index e0295353cc..d4347a462a 100644 --- a/tests/compiler/std/static-array.release.wat +++ b/tests/compiler/std/static-array.release.wat @@ -167,13 +167,13 @@ local.tee $1 i32.eqz if - i32.const 0 + local.get $0 + i32.load $0 offset=8 + i32.eqz local.get $0 i32.const 18396 i32.lt_u - local.get $0 - i32.load $0 offset=8 - select + i32.and i32.eqz if i32.const 0 diff --git a/tests/compiler/std/staticarray.release.wat b/tests/compiler/std/staticarray.release.wat index 6169b4206c..87528847fc 100644 --- a/tests/compiler/std/staticarray.release.wat +++ b/tests/compiler/std/staticarray.release.wat @@ -302,13 +302,13 @@ local.tee $1 i32.eqz if - i32.const 0 + local.get $0 + i32.load $0 offset=8 + i32.eqz local.get $0 i32.const 20244 i32.lt_u - local.get $0 - i32.load $0 offset=8 - select + i32.and i32.eqz if i32.const 0 @@ -1751,10 +1751,10 @@ return end local.get $1 - i32.const 0 + i32.eqz local.get $0 - select i32.eqz + i32.or if i32.const 0 return @@ -1884,11 +1884,11 @@ i32.const 2 i32.shr_u local.tee $3 + i32.eqz local.get $2 - i32.le_s - i32.const 1 local.get $3 - select + i32.ge_s + i32.or if global.get $~lib/memory/__stack_pointer i32.const 4 @@ -2948,8 +2948,8 @@ (local $0 i32) (local $1 i32) (local $2 i32) - (local $3 f32) - (local $4 f64) + (local $3 f64) + (local $4 f32) (local $5 i32) (local $6 i32) (local $7 i32) @@ -2969,11 +2969,11 @@ i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer - local.tee $6 + local.tee $5 i32.const 0 i32.const 32 memory.fill $0 - local.get $6 + local.get $5 i32.const 1056 i32.store $0 i32.const 1056 @@ -3130,17 +3130,17 @@ i32.const 12 i32.const 3 call $~lib/rt/itcms/__new - local.tee $6 + local.tee $5 i32.const 1312 i32.const 12 memory.copy $0 $0 - local.get $6 + local.get $5 global.set $std/staticarray/arr3 global.get $~lib/memory/__stack_pointer global.get $std/staticarray/arr3 - local.tee $6 + local.tee $5 i32.store $0 - local.get $6 + local.get $5 i32.const 0 call $~lib/staticarray/StaticArray#__get i32.const 5 @@ -3155,9 +3155,9 @@ end global.get $~lib/memory/__stack_pointer global.get $std/staticarray/arr3 - local.tee $6 + local.tee $5 i32.store $0 - local.get $6 + local.get $5 i32.const 1 call $~lib/staticarray/StaticArray#__get i32.const 6 @@ -3172,9 +3172,9 @@ end global.get $~lib/memory/__stack_pointer global.get $std/staticarray/arr3 - local.tee $6 + local.tee $5 i32.store $0 - local.get $6 + local.get $5 i32.const 2 call $~lib/staticarray/StaticArray#__get i32.const 7 @@ -3189,9 +3189,9 @@ end global.get $~lib/memory/__stack_pointer global.get $std/staticarray/arr3 - local.tee $6 + local.tee $5 i32.store $0 - local.get $6 + local.get $5 i32.const 20 i32.sub i32.load $0 offset=16 @@ -3209,16 +3209,16 @@ end global.get $~lib/memory/__stack_pointer global.get $std/staticarray/arr3 - local.tee $6 + local.tee $5 i32.store $0 - local.get $6 + local.get $5 i32.const 8 call $~lib/staticarray/StaticArray#__set global.get $~lib/memory/__stack_pointer global.get $std/staticarray/arr3 - local.tee $6 + local.tee $5 i32.store $0 - local.get $6 + local.get $5 i32.const 1 call $~lib/staticarray/StaticArray#__get i32.const 8 @@ -3234,17 +3234,17 @@ i32.const 12 i32.const 3 call $~lib/rt/itcms/__new - local.tee $6 + local.tee $5 i32.const 1312 i32.const 12 memory.copy $0 $0 - local.get $6 + local.get $5 global.set $std/staticarray/arr3 global.get $~lib/memory/__stack_pointer global.get $std/staticarray/arr3 - local.tee $6 + local.tee $5 i32.store $0 - local.get $6 + local.get $5 i32.const 1 call $~lib/staticarray/StaticArray#__get i32.const 6 @@ -3261,24 +3261,24 @@ i32.const 8 i32.const 5 call $~lib/rt/itcms/__new - local.tee $6 + local.tee $5 i32.store $0 offset=4 - local.get $6 + local.get $5 i32.const 0 call $std/staticarray/Ref#constructor call $~lib/staticarray/StaticArray#__uset - local.get $6 + local.get $5 i32.const 1 call $std/staticarray/Ref#constructor call $~lib/staticarray/StaticArray#__uset - local.get $6 + local.get $5 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 $6 + local.tee $5 i32.const 4 i32.sub global.set $~lib/memory/__stack_pointer @@ -3287,23 +3287,23 @@ i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer - local.tee $7 + local.tee $6 i32.const 0 i32.store $0 - local.get $7 + local.get $6 i32.const 12 i32.const 3 call $~lib/rt/itcms/__new - local.tee $7 + local.tee $6 i32.store $0 global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer + local.get $5 local.get $6 - local.get $7 i32.store $0 offset=4 - local.get $7 + local.get $6 i32.const 20 i32.sub i32.load $0 offset=16 @@ -3321,7 +3321,7 @@ end loop $for-loop|0 local.get $0 - local.get $7 + local.get $6 i32.const 20 i32.sub i32.load $0 offset=16 @@ -3329,7 +3329,7 @@ i32.shr_u i32.lt_s if - local.get $7 + local.get $6 local.get $0 call $~lib/staticarray/StaticArray#__get if @@ -3357,11 +3357,11 @@ global.get $~lib/memory/__stack_pointer local.get $0 call $~lib/staticarray/StaticArray.fromArray - local.tee $6 + local.tee $5 i32.store $0 offset=4 local.get $0 i32.load $0 offset=12 - local.get $6 + local.get $5 i32.const 20 i32.sub i32.load $0 offset=16 @@ -3382,7 +3382,7 @@ i32.load $0 offset=12 i32.lt_s if - local.get $6 + local.get $5 local.get $1 call $~lib/staticarray/StaticArray#__get local.get $0 @@ -3450,16 +3450,16 @@ i32.const 4 i32.const 3 call $~lib/rt/itcms/__new - local.tee $6 + local.tee $5 i32.const 1888 i32.load $0 align=1 i32.store $0 align=1 global.get $~lib/memory/__stack_pointer - local.get $6 + local.get $5 i32.store $0 offset=12 local.get $0 local.get $1 - local.get $6 + local.get $5 call $~lib/staticarray/StaticArray#concat<~lib/staticarray/StaticArray> local.tee $0 i32.store $0 offset=8 @@ -3484,16 +3484,16 @@ i32.const 0 i32.const 3 call $~lib/rt/itcms/__new - local.tee $6 + local.tee $5 i32.const 1920 i32.const 0 memory.copy $0 $0 global.get $~lib/memory/__stack_pointer - local.get $6 + local.get $5 i32.store $0 offset=12 local.get $0 local.get $1 - local.get $6 + local.get $5 call $~lib/staticarray/StaticArray#concat<~lib/staticarray/StaticArray> local.tee $0 i32.store $0 offset=8 @@ -3523,15 +3523,15 @@ i32.const 20 i32.const 7 call $~lib/rt/itcms/__new - local.tee $1 + local.tee $5 i32.const 2128 i32.const 20 memory.copy $0 $0 local.get $0 - local.get $1 + local.get $5 i32.store $0 offset=8 global.get $~lib/memory/__stack_pointer - local.get $1 + local.get $5 i32.const 0 i32.const 2147483647 call $~lib/staticarray/StaticArray<~lib/string/String>#slice<~lib/staticarray/StaticArray<~lib/string/String>> @@ -3543,7 +3543,7 @@ i32.load $0 offset=16 i32.const 2 i32.shr_u - local.get $1 + local.get $5 i32.const 20 i32.sub i32.load $0 offset=16 @@ -3558,9 +3558,11 @@ call $~lib/builtins/abort unreachable end + i32.const 0 + local.set $1 loop $for-loop|2 - local.get $2 local.get $1 + local.get $5 i32.const 20 i32.sub i32.load $0 offset=16 @@ -3568,15 +3570,15 @@ i32.shr_u i32.lt_s if + local.get $5 local.get $1 - local.get $2 call $~lib/staticarray/StaticArray<~lib/string/String>#__get local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 i32.store $0 local.get $0 - local.get $2 + local.get $1 call $~lib/staticarray/StaticArray<~lib/string/String>#__get local.set $7 global.get $~lib/memory/__stack_pointer @@ -3594,15 +3596,15 @@ call $~lib/builtins/abort unreachable end - local.get $2 + local.get $1 i32.const 1 i32.add - local.set $2 + local.set $1 br $for-loop|2 end end global.get $~lib/memory/__stack_pointer - local.get $1 + local.get $5 i32.const 1 i32.const 3 call $~lib/staticarray/StaticArray<~lib/string/String>#slice<~lib/staticarray/StaticArray<~lib/string/String>> @@ -3627,15 +3629,15 @@ local.get $0 i32.const 0 call $~lib/staticarray/StaticArray<~lib/string/String>#__get - local.set $2 + local.set $1 global.get $~lib/memory/__stack_pointer local.tee $6 - local.get $2 + local.get $1 i32.store $0 local.get $6 i32.const 1984 i32.store $0 offset=12 - local.get $2 + local.get $1 i32.const 1984 call $~lib/string/String.__eq i32.eqz @@ -3652,10 +3654,10 @@ call $~lib/staticarray/StaticArray<~lib/string/String>#__get local.set $0 global.get $~lib/memory/__stack_pointer - local.tee $2 + local.tee $1 local.get $0 i32.store $0 - local.get $2 + local.get $1 i32.const 2016 i32.store $0 offset=12 local.get $0 @@ -3671,13 +3673,13 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $1 + local.get $5 i32.const 1 i32.const 2147483647 call $~lib/staticarray/StaticArray<~lib/string/String>#slice<~lib/staticarray/StaticArray<~lib/string/String>> local.tee $0 i32.store $0 offset=4 - local.get $1 + local.get $5 i32.const 20 i32.sub i32.load $0 offset=16 @@ -3701,7 +3703,7 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $1 + local.get $5 i32.const 0 i32.const 50 call $~lib/staticarray/StaticArray<~lib/string/String>#slice<~lib/staticarray/StaticArray<~lib/string/String>> @@ -3713,7 +3715,7 @@ i32.load $0 offset=16 i32.const 2 i32.shr_u - local.get $1 + local.get $5 i32.const 20 i32.sub i32.load $0 offset=16 @@ -3729,7 +3731,7 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $1 + local.get $5 i32.const 100 i32.const 2147483647 call $~lib/staticarray/StaticArray<~lib/string/String>#slice<~lib/staticarray/StaticArray<~lib/string/String>> @@ -3750,7 +3752,7 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $1 + local.get $5 i32.const -1 i32.const 2147483647 call $~lib/staticarray/StaticArray<~lib/string/String>#slice<~lib/staticarray/StaticArray<~lib/string/String>> @@ -3777,10 +3779,10 @@ call $~lib/staticarray/StaticArray<~lib/string/String>#__get local.set $0 global.get $~lib/memory/__stack_pointer - local.tee $2 + local.tee $1 local.get $0 i32.store $0 - local.get $2 + local.get $1 i32.const 2080 i32.store $0 offset=12 local.get $0 @@ -3796,7 +3798,7 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $1 + local.get $5 i32.const -2 i32.const -2 call $~lib/staticarray/StaticArray<~lib/string/String>#slice<~lib/staticarray/StaticArray<~lib/string/String>> @@ -3817,7 +3819,7 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $1 + local.get $5 i32.const 2 i32.const -2 call $~lib/staticarray/StaticArray<~lib/string/String>#slice<~lib/staticarray/StaticArray<~lib/string/String>> @@ -3880,13 +3882,13 @@ i32.const 8 i32.const 2352 call $~lib/rt/__newArray - local.set $2 + local.set $5 global.get $~lib/memory/__stack_pointer - local.get $2 + local.get $5 i32.store $0 offset=12 local.get $0 local.get $1 - local.get $2 + local.get $5 call $~lib/staticarray/StaticArray<~lib/string/String>#concat<~lib/array/Array<~lib/string/String>> local.tee $0 i32.store $0 offset=16 @@ -3913,13 +3915,13 @@ i32.const 8 i32.const 2416 call $~lib/rt/__newArray - local.set $2 + local.set $5 global.get $~lib/memory/__stack_pointer - local.get $2 + local.get $5 i32.store $0 offset=12 local.get $0 local.get $1 - local.get $2 + local.get $5 call $~lib/staticarray/StaticArray<~lib/string/String>#concat<~lib/array/Array<~lib/string/String>> local.tee $0 i32.store $0 offset=16 @@ -4030,7 +4032,7 @@ local.get $0 i32.store $0 i32.const 0 - local.set $2 + local.set $1 i32.const 0 local.get $0 i32.const 20 @@ -4038,35 +4040,38 @@ i32.load $0 offset=16 i32.const 3 i32.shr_u - local.tee $1 + local.tee $5 i32.eqz + local.tee $6 + local.get $6 + i32.or br_if $__inlined_func$~lib/staticarray/StaticArray#includes drop loop $while-continue|0 local.get $1 - local.get $2 - i32.gt_s + local.get $5 + i32.lt_s if i32.const 1 local.get $0 - local.get $2 + local.get $1 i32.const 3 i32.shl i32.add f64.load $0 - local.tee $4 + local.tee $3 f64.const nan:0x8000000000000 f64.eq - local.get $4 - local.get $4 + local.get $3 + local.get $3 f64.ne i32.or br_if $__inlined_func$~lib/staticarray/StaticArray#includes drop - local.get $2 + local.get $1 i32.const 1 i32.add - local.set $2 + local.set $1 br $while-continue|0 end end @@ -4093,7 +4098,7 @@ local.get $0 i32.store $0 i32.const 0 - local.set $2 + local.set $1 i32.const 0 local.get $0 i32.const 20 @@ -4101,35 +4106,38 @@ i32.load $0 offset=16 i32.const 2 i32.shr_u - local.tee $1 + local.tee $5 i32.eqz + local.tee $6 + local.get $6 + i32.or br_if $__inlined_func$~lib/staticarray/StaticArray#includes drop loop $while-continue|09 local.get $1 - local.get $2 - i32.gt_s + local.get $5 + i32.lt_s if i32.const 1 local.get $0 - local.get $2 + local.get $1 i32.const 2 i32.shl i32.add f32.load $0 - local.tee $3 + local.tee $4 f32.const nan:0x400000 f32.eq - local.get $3 - local.get $3 + local.get $4 + local.get $4 f32.ne i32.or br_if $__inlined_func$~lib/staticarray/StaticArray#includes drop - local.get $2 + local.get $1 i32.const 1 i32.add - local.set $2 + local.set $1 br $while-continue|09 end end @@ -4149,19 +4157,19 @@ i32.const 12 i32.const 3 call $~lib/rt/itcms/__new - local.tee $2 + local.tee $5 i32.const 2560 i32.const 12 memory.copy $0 $0 local.get $0 - local.get $2 + local.get $5 i32.store $0 offset=16 i32.const 0 local.set $0 i32.const -1 local.set $1 block $__inlined_func$~lib/staticarray/StaticArray#indexOf - local.get $2 + local.get $5 i32.const 20 i32.sub i32.load $0 offset=16 @@ -4169,13 +4177,16 @@ i32.shr_u local.tee $6 i32.eqz + local.tee $7 + local.get $7 + i32.or br_if $__inlined_func$~lib/staticarray/StaticArray#indexOf loop $while-continue|012 local.get $0 local.get $6 i32.lt_s if - local.get $2 + local.get $5 local.get $0 local.tee $1 i32.const 2 @@ -4209,7 +4220,7 @@ i32.const -1 local.set $1 block $__inlined_func$~lib/staticarray/StaticArray#indexOf13 - local.get $2 + local.get $5 i32.const 20 i32.sub i32.load $0 offset=16 @@ -4217,13 +4228,16 @@ i32.shr_u local.tee $6 i32.eqz + local.tee $7 + local.get $7 + i32.or br_if $__inlined_func$~lib/staticarray/StaticArray#indexOf13 loop $while-continue|028 local.get $0 local.get $6 i32.lt_s if - local.get $2 + local.get $5 local.get $0 local.tee $1 i32.const 2 @@ -4259,25 +4273,25 @@ i32.const -1 local.set $1 block $__inlined_func$~lib/staticarray/StaticArray#indexOf29 - local.get $2 + local.get $5 i32.const 20 i32.sub i32.load $0 offset=16 i32.const 2 i32.shr_u local.tee $6 + i32.eqz + local.get $6 i32.const 2 i32.le_u - i32.const 1 - local.get $6 - select + i32.or br_if $__inlined_func$~lib/staticarray/StaticArray#indexOf29 loop $while-continue|033 local.get $0 local.get $6 i32.lt_s if - local.get $2 + local.get $5 local.get $0 local.tee $1 i32.const 2 @@ -4311,7 +4325,7 @@ i32.const -1 local.set $0 block $__inlined_func$~lib/staticarray/StaticArray#indexOf34 - local.get $2 + local.get $5 i32.const 20 i32.sub i32.load $0 offset=16 @@ -4335,7 +4349,7 @@ local.get $1 i32.lt_s if - local.get $2 + local.get $5 local.get $0 i32.const 2 i32.shl @@ -4368,18 +4382,18 @@ i32.const -1 local.set $0 block $__inlined_func$~lib/staticarray/StaticArray#indexOf38 - local.get $2 + local.get $5 i32.const 20 i32.sub i32.load $0 offset=16 i32.const 2 i32.shr_u local.tee $1 + i32.eqz + local.get $1 i32.const -3 i32.le_s - i32.const 1 - local.get $1 - select + i32.or br_if $__inlined_func$~lib/staticarray/StaticArray#indexOf38 local.get $1 i32.const 3 @@ -4396,7 +4410,7 @@ local.get $1 i32.lt_s if - local.get $2 + local.get $5 local.get $0 i32.const 2 i32.shl @@ -4429,19 +4443,19 @@ i32.const 16 i32.const 3 call $~lib/rt/itcms/__new - local.tee $6 + local.tee $5 i32.const 2592 i32.const 16 memory.copy $0 $0 local.get $0 - local.get $6 + local.get $5 i32.store $0 offset=16 i32.const 1 global.set $~argumentsLength i32.const -1 local.set $1 block $__inlined_func$~lib/staticarray/StaticArray#lastIndexOf - local.get $6 + local.get $5 i32.const 20 i32.sub i32.load $0 offset=16 @@ -4460,14 +4474,15 @@ i32.const 0 i32.lt_s select - local.set $1 + local.set $0 loop $while-continue|00 - local.get $1 + local.get $0 i32.const 0 i32.ge_s if - local.get $6 - local.get $1 + local.get $5 + local.get $0 + local.tee $1 i32.const 2 i32.shl i32.add @@ -4478,7 +4493,7 @@ local.get $1 i32.const 1 i32.sub - local.set $1 + local.set $0 br $while-continue|00 end end @@ -4498,7 +4513,7 @@ end i32.const 1 global.set $~argumentsLength - local.get $6 + local.get $5 i32.const 20 i32.sub i32.load $0 offset=16 @@ -4508,39 +4523,38 @@ i32.const -1 local.set $0 block $__inlined_func$~lib/staticarray/StaticArray#lastIndexOf5 - local.get $6 + local.get $5 i32.const 20 i32.sub i32.load $0 offset=16 i32.const 2 i32.shr_u - local.tee $2 + local.tee $6 i32.eqz br_if $__inlined_func$~lib/staticarray/StaticArray#lastIndexOf5 local.get $1 - local.get $2 + local.get $6 i32.add - local.get $2 + local.get $6 i32.const 1 i32.sub local.get $1 local.get $1 - local.get $2 + local.get $6 i32.ge_s select local.get $1 i32.const 0 i32.lt_s select - local.set $1 + local.set $0 loop $while-continue|06 - local.get $1 + local.get $0 i32.const 0 i32.ge_s if - local.get $6 - local.get $1 - local.tee $0 + local.get $5 + local.get $0 i32.const 2 i32.shl i32.add @@ -4551,7 +4565,7 @@ local.get $0 i32.const 1 i32.sub - local.set $1 + local.set $0 br $while-continue|06 end end @@ -4570,9 +4584,9 @@ unreachable end i32.const -1 - local.set $2 + local.set $1 block $__inlined_func$~lib/staticarray/StaticArray#lastIndexOf7 - local.get $6 + local.get $5 i32.const 20 i32.sub i32.load $0 offset=16 @@ -4589,14 +4603,14 @@ i32.const 3 i32.le_u select - local.set $2 + local.set $1 loop $while-continue|044 - local.get $2 + local.get $1 i32.const 0 i32.ge_s if - local.get $6 - local.get $2 + local.get $5 + local.get $1 i32.const 2 i32.shl i32.add @@ -4604,17 +4618,17 @@ i32.const 2 i32.eq br_if $__inlined_func$~lib/staticarray/StaticArray#lastIndexOf7 - local.get $2 + local.get $1 i32.const 1 i32.sub - local.set $2 + local.set $1 br $while-continue|044 end end i32.const -1 - local.set $2 + local.set $1 end - local.get $2 + local.get $1 i32.const 3 i32.ne if @@ -4626,9 +4640,9 @@ unreachable end i32.const -1 - local.set $2 + local.set $1 block $__inlined_func$~lib/staticarray/StaticArray#lastIndexOf45 - local.get $6 + local.get $5 i32.const 20 i32.sub i32.load $0 offset=16 @@ -4645,14 +4659,14 @@ i32.const 2 i32.le_u select - local.set $2 + local.set $1 loop $while-continue|048 - local.get $2 + local.get $1 i32.const 0 i32.ge_s if - local.get $6 - local.get $2 + local.get $5 + local.get $1 i32.const 2 i32.shl i32.add @@ -4660,17 +4674,17 @@ i32.const 2 i32.eq br_if $__inlined_func$~lib/staticarray/StaticArray#lastIndexOf45 - local.get $2 + local.get $1 i32.const 1 i32.sub - local.set $2 + local.set $1 br $while-continue|048 end end i32.const -1 - local.set $2 + local.set $1 end - local.get $2 + local.get $1 if i32.const 0 i32.const 1216 @@ -4680,9 +4694,9 @@ unreachable end i32.const -1 - local.set $2 + local.set $1 block $__inlined_func$~lib/staticarray/StaticArray#lastIndexOf49 - local.get $6 + local.get $5 i32.const 20 i32.sub i32.load $0 offset=16 @@ -4694,14 +4708,14 @@ local.get $0 i32.const 2 i32.sub - local.set $2 + local.set $1 loop $while-continue|052 - local.get $2 + local.get $1 i32.const 0 i32.ge_s if - local.get $6 - local.get $2 + local.get $5 + local.get $1 i32.const 2 i32.shl i32.add @@ -4709,17 +4723,17 @@ i32.const 2 i32.eq br_if $__inlined_func$~lib/staticarray/StaticArray#lastIndexOf49 - local.get $2 + local.get $1 i32.const 1 i32.sub - local.set $2 + local.set $1 br $while-continue|052 end end i32.const -1 - local.set $2 + local.set $1 end - local.get $2 + local.get $1 if i32.const 0 i32.const 1216 @@ -4729,9 +4743,9 @@ unreachable end i32.const -1 - local.set $2 + local.set $1 block $__inlined_func$~lib/staticarray/StaticArray#lastIndexOf53 - local.get $6 + local.get $5 i32.const 20 i32.sub i32.load $0 offset=16 @@ -4743,14 +4757,14 @@ local.get $0 i32.const 1 i32.sub - local.set $2 + local.set $1 loop $while-continue|056 - local.get $2 + local.get $1 i32.const 0 i32.ge_s if - local.get $6 - local.get $2 + local.get $5 + local.get $1 i32.const 2 i32.shl i32.add @@ -4758,17 +4772,17 @@ i32.const 2 i32.eq br_if $__inlined_func$~lib/staticarray/StaticArray#lastIndexOf53 - local.get $2 + local.get $1 i32.const 1 i32.sub - local.set $2 + local.set $1 br $while-continue|056 end end i32.const -1 - local.set $2 + local.set $1 end - local.get $2 + local.get $1 i32.const 3 i32.ne if @@ -4940,10 +4954,10 @@ i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer - local.tee $2 + local.tee $5 i32.const 0 i32.store $0 - local.get $2 + local.get $5 i32.const 2800 i32.store $0 local.get $1 @@ -4994,15 +5008,15 @@ i32.load $0 offset=16 i32.const 2 i32.shr_u - local.tee $2 - local.get $2 + local.tee $5 + local.get $5 i32.const 1 i32.gt_u select local.set $0 loop $for-loop|060 local.get $0 - local.get $2 + local.get $5 i32.lt_s if local.get $1 @@ -5061,20 +5075,20 @@ i32.load $0 offset=16 i32.const 2 i32.shr_u - local.tee $2 + local.tee $5 i32.const 1 i32.gt_u if i32.const 0 local.set $0 - local.get $2 + local.get $5 i32.const 1 i32.shr_u local.set $6 - local.get $2 + local.get $5 i32.const 1 i32.sub - local.set $2 + local.set $5 loop $while-continue|064 local.get $0 local.get $6 @@ -5090,7 +5104,7 @@ local.set $8 local.get $7 local.get $1 - local.get $2 + local.get $5 local.get $0 i32.sub i32.const 2 @@ -5175,17 +5189,17 @@ i32.const 3 i32.gt_u select - local.tee $2 + local.tee $5 i32.const 2 i32.shl i32.add local.get $0 - local.get $2 + local.get $5 i32.sub - local.tee $2 + local.tee $5 local.get $0 local.get $0 - local.get $2 + local.get $5 i32.gt_s select i32.const 2 @@ -5261,12 +5275,12 @@ i32.const 12 i32.const 3 call $~lib/rt/itcms/__new - local.tee $8 + local.tee $7 i32.const 3216 i32.const 12 memory.copy $0 $0 local.get $0 - local.get $8 + local.get $7 i32.store $0 offset=16 global.get $~lib/memory/__stack_pointer local.tee $1 @@ -5285,13 +5299,13 @@ i32.const 0 i32.store $0 local.get $0 - local.get $8 + local.get $7 i32.const 20 i32.sub i32.load $0 offset=16 i32.const 2 i32.shr_u - local.tee $2 + local.tee $5 i32.const 6 i32.const 0 call $~lib/rt/__newArray @@ -5299,30 +5313,30 @@ i32.store $0 local.get $6 i32.load $0 offset=4 - local.set $7 + local.set $8 i32.const 0 local.set $0 loop $for-loop|042 local.get $0 - local.get $2 + local.get $5 i32.lt_s if local.get $0 i32.const 2 i32.shl local.tee $9 - local.get $8 + local.get $7 i32.add i32.load $0 local.set $10 i32.const 3 global.set $~argumentsLength - local.get $7 + local.get $8 local.get $9 i32.add local.get $10 local.get $0 - local.get $8 + local.get $7 i32.const 3248 i32.load $0 call_indirect $0 (type $i32_i32_i32_=>_i32) @@ -5384,8 +5398,8 @@ i32.const 3280 i32.store $0 offset=12 i32.const 0 - local.set $2 - local.get $8 + local.set $1 + local.get $7 i32.const 20 i32.sub i32.load $0 offset=16 @@ -5394,28 +5408,28 @@ local.set $0 loop $for-loop|070 local.get $0 - local.get $2 + local.get $1 i32.gt_s if - local.get $8 - local.get $2 + local.get $7 + local.get $1 i32.const 2 i32.shl i32.add i32.load $0 - local.set $1 + local.set $5 i32.const 3 global.set $~argumentsLength + local.get $5 local.get $1 - local.get $2 - local.get $8 + local.get $7 i32.const 3280 i32.load $0 call_indirect $0 (type $i32_i32_i32_=>_none) - local.get $2 + local.get $1 i32.const 1 i32.add - local.set $2 + local.set $1 br $for-loop|070 end end @@ -5431,10 +5445,10 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $9 + local.tee $8 i32.const 3312 i32.store $0 offset=12 - local.get $9 + local.get $8 i32.const 4 i32.sub global.set $~lib/memory/__stack_pointer @@ -5451,9 +5465,9 @@ i32.const 6 i32.const 0 call $~lib/rt/__newArray - local.tee $7 + local.tee $9 i32.store $0 - local.get $8 + local.get $7 i32.const 20 i32.sub i32.load $0 offset=16 @@ -5461,40 +5475,40 @@ i32.shr_u local.set $10 loop $for-loop|045 - local.get $5 + local.get $2 local.get $10 i32.lt_s if - local.get $8 - local.get $5 + local.get $7 + local.get $2 i32.const 2 i32.shl i32.add i32.load $0 - local.set $11 + local.set $5 i32.const 3 global.set $~argumentsLength - local.get $11 local.get $5 - local.get $8 + local.get $2 + local.get $7 i32.const 3312 i32.load $0 call_indirect $0 (type $i32_i32_i32_=>_i32) if - local.get $7 + local.get $9 i32.load $0 offset=12 - local.tee $12 + local.tee $6 i32.const 1 i32.add - local.tee $2 - local.get $7 + local.tee $11 + local.get $9 i32.load $0 offset=8 local.tee $0 i32.const 2 i32.shr_u i32.gt_u if - local.get $2 + local.get $11 i32.const 268435455 i32.gt_u if @@ -5516,9 +5530,9 @@ i32.lt_u select local.tee $0 - local.get $2 + local.get $11 i32.const 8 - local.get $2 + local.get $11 i32.const 8 i32.gt_u select @@ -5529,8 +5543,8 @@ local.get $1 i32.gt_u select - local.tee $6 - local.get $7 + local.tee $12 + local.get $9 i32.load $0 local.tee $1 i32.const 20 @@ -5544,23 +5558,23 @@ i32.le_u if local.get $13 - local.get $6 + local.get $12 i32.store $0 offset=16 local.get $1 local.set $0 br $__inlined_func$~lib/rt/itcms/__renew end - local.get $6 + local.get $12 local.get $13 i32.load $0 offset=12 call $~lib/rt/itcms/__new local.tee $0 local.get $1 - local.get $6 + local.get $12 local.get $13 i32.load $0 offset=16 local.tee $13 - local.get $6 + local.get $12 local.get $13 i32.lt_u select @@ -5570,40 +5584,40 @@ local.get $1 i32.ne if - local.get $7 + local.get $9 local.get $0 i32.store $0 - local.get $7 + local.get $9 local.get $0 i32.store $0 offset=4 local.get $0 if - local.get $7 + local.get $9 local.get $0 i32.const 0 call $byn-split-outlined-A$~lib/rt/itcms/__link end end - local.get $7 - local.get $6 + local.get $9 + local.get $12 i32.store $0 offset=8 end - local.get $7 + local.get $9 i32.load $0 offset=4 - local.get $12 + local.get $6 i32.const 2 i32.shl i32.add - local.get $11 + local.get $5 i32.store $0 - local.get $7 - local.get $2 + local.get $9 + local.get $11 i32.store $0 offset=12 end - local.get $5 + local.get $2 i32.const 1 i32.add - local.set $5 + local.set $2 br $for-loop|045 end end @@ -5611,10 +5625,10 @@ i32.const 4 i32.add global.set $~lib/memory/__stack_pointer + local.get $8 local.get $9 - local.get $7 i32.store $0 offset=24 - local.get $7 + local.get $9 i32.load $0 offset=12 i32.const 2 i32.ne @@ -5626,7 +5640,7 @@ call $~lib/builtins/abort unreachable end - local.get $7 + local.get $9 i32.const 0 call $~lib/array/Array#__get i32.const 2 @@ -5639,7 +5653,7 @@ call $~lib/builtins/abort unreachable end - local.get $7 + local.get $9 i32.const 1 call $~lib/array/Array#__get i32.const 3 @@ -5656,22 +5670,22 @@ i32.const 3344 i32.store $0 offset=12 i32.const 0 - local.set $2 + local.set $1 i32.const 0 local.set $0 - local.get $8 + local.get $7 i32.const 20 i32.sub i32.load $0 offset=16 i32.const 2 i32.shr_u - local.set $1 + local.set $2 loop $for-loop|076 local.get $0 - local.get $1 + local.get $2 i32.lt_s if - local.get $8 + local.get $7 local.get $0 i32.const 2 i32.shl @@ -5680,14 +5694,14 @@ local.set $5 i32.const 4 global.set $~argumentsLength - local.get $2 + local.get $1 local.get $5 local.get $0 - local.get $8 + local.get $7 i32.const 3344 i32.load $0 call_indirect $0 (type $i32_i32_i32_i32_=>_i32) - local.set $2 + local.set $1 local.get $0 i32.const 1 i32.add @@ -5695,7 +5709,7 @@ br $for-loop|076 end end - local.get $2 + local.get $1 i32.const 6 i32.ne if @@ -5711,7 +5725,7 @@ i32.store $0 offset=12 i32.const 0 local.set $0 - local.get $8 + local.get $7 i32.const 20 i32.sub i32.load $0 offset=16 @@ -5719,33 +5733,33 @@ i32.shr_u i32.const 1 i32.sub - local.set $2 + local.set $1 loop $for-loop|080 - local.get $2 + local.get $1 i32.const 0 i32.ge_s if - local.get $8 - local.get $2 + local.get $7 + local.get $1 i32.const 2 i32.shl i32.add i32.load $0 - local.set $1 + local.set $2 i32.const 4 global.set $~argumentsLength local.get $0 - local.get $1 local.get $2 - local.get $8 + local.get $1 + local.get $7 i32.const 3376 i32.load $0 call_indirect $0 (type $i32_i32_i32_i32_=>_i32) local.set $0 - local.get $2 + local.get $1 i32.const 1 i32.sub - local.set $2 + local.set $1 br $for-loop|080 end end @@ -5765,8 +5779,8 @@ i32.const 3408 i32.store $0 offset=12 i32.const 0 - local.set $2 - local.get $8 + local.set $1 + local.get $7 i32.const 20 i32.sub i32.load $0 offset=16 @@ -5775,31 +5789,31 @@ local.set $0 loop $for-loop|084 local.get $0 - local.get $2 + local.get $1 i32.gt_s if - local.get $8 - local.get $2 + local.get $7 + local.get $1 i32.const 2 i32.shl i32.add i32.load $0 - local.set $1 + local.set $2 i32.const 3 global.set $~argumentsLength i32.const 1 - local.get $1 local.get $2 - local.get $8 + local.get $1 + local.get $7 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 $2 + local.get $1 i32.const 1 i32.add - local.set $2 + local.set $1 br $for-loop|084 end end @@ -5819,8 +5833,8 @@ i32.const 3440 i32.store $0 offset=12 i32.const 0 - local.set $2 - local.get $8 + local.set $1 + local.get $7 i32.const 20 i32.sub i32.load $0 offset=16 @@ -5829,31 +5843,31 @@ local.set $0 loop $for-loop|089 local.get $0 - local.get $2 + local.get $1 i32.gt_s if - local.get $8 - local.get $2 + local.get $7 + local.get $1 i32.const 2 i32.shl i32.add i32.load $0 - local.set $1 + local.set $2 i32.const 3 global.set $~argumentsLength i32.const 1 - local.get $1 local.get $2 - local.get $8 + local.get $1 + local.get $7 i32.const 3440 i32.load $0 call_indirect $0 (type $i32_i32_i32_=>_i32) br_if $__inlined_func$~lib/staticarray/StaticArray#some86 drop - local.get $2 + local.get $1 i32.const 1 i32.add - local.set $2 + local.set $1 br $for-loop|089 end end @@ -5872,8 +5886,8 @@ i32.const 3472 i32.store $0 offset=12 i32.const 0 - local.set $2 - local.get $8 + local.set $1 + local.get $7 i32.const 20 i32.sub i32.load $0 offset=16 @@ -5882,32 +5896,32 @@ local.set $0 loop $for-loop|093 local.get $0 - local.get $2 + local.get $1 i32.gt_s if - local.get $8 - local.get $2 + local.get $7 + local.get $1 i32.const 2 i32.shl i32.add i32.load $0 - local.set $1 + local.set $2 i32.const 3 global.set $~argumentsLength i32.const 0 - local.get $1 local.get $2 - local.get $8 + local.get $1 + local.get $7 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 $2 + local.get $1 i32.const 1 i32.add - local.set $2 + local.set $1 br $for-loop|093 end end @@ -5927,8 +5941,8 @@ i32.const 3504 i32.store $0 offset=12 i32.const 0 - local.set $2 - local.get $8 + local.set $1 + local.get $7 i32.const 20 i32.sub i32.load $0 offset=16 @@ -5937,32 +5951,32 @@ local.set $0 loop $for-loop|098 local.get $0 - local.get $2 + local.get $1 i32.gt_s if - local.get $8 - local.get $2 + local.get $7 + local.get $1 i32.const 2 i32.shl i32.add i32.load $0 - local.set $1 + local.set $2 i32.const 3 global.set $~argumentsLength i32.const 0 - local.get $1 local.get $2 - local.get $8 + local.get $1 + local.get $7 i32.const 3504 i32.load $0 call_indirect $0 (type $i32_i32_i32_=>_i32) i32.eqz br_if $__inlined_func$~lib/staticarray/StaticArray#every95 drop - local.get $2 + local.get $1 i32.const 1 i32.add - local.set $2 + local.set $1 br $for-loop|098 end end @@ -5980,8 +5994,8 @@ i32.const 3536 i32.store $0 offset=12 i32.const 0 - local.set $2 - local.get $8 + local.set $1 + local.get $7 i32.const 20 i32.sub i32.load $0 offset=16 @@ -5991,36 +6005,36 @@ block $__inlined_func$~lib/staticarray/StaticArray#findIndex loop $for-loop|0102 local.get $0 - local.get $2 + local.get $1 i32.gt_s if - local.get $8 - local.get $2 + local.get $7 + local.get $1 i32.const 2 i32.shl i32.add i32.load $0 - local.set $1 + local.set $2 i32.const 3 global.set $~argumentsLength - local.get $1 local.get $2 - local.get $8 + local.get $1 + local.get $7 i32.const 3536 i32.load $0 call_indirect $0 (type $i32_i32_i32_=>_i32) br_if $__inlined_func$~lib/staticarray/StaticArray#findIndex - local.get $2 + local.get $1 i32.const 1 i32.add - local.set $2 + local.set $1 br $for-loop|0102 end end i32.const -1 - local.set $2 + local.set $1 end - local.get $2 + local.get $1 i32.const 1 i32.ne if @@ -6035,8 +6049,8 @@ i32.const 3568 i32.store $0 offset=12 i32.const 0 - local.set $2 - local.get $8 + local.set $1 + local.get $7 i32.const 20 i32.sub i32.load $0 offset=16 @@ -6046,36 +6060,36 @@ block $__inlined_func$~lib/staticarray/StaticArray#findIndex104 loop $for-loop|0107 local.get $0 - local.get $2 + local.get $1 i32.gt_s if - local.get $8 - local.get $2 + local.get $7 + local.get $1 i32.const 2 i32.shl i32.add i32.load $0 - local.set $1 + local.set $2 i32.const 3 global.set $~argumentsLength - local.get $1 local.get $2 - local.get $8 + local.get $1 + local.get $7 i32.const 3568 i32.load $0 call_indirect $0 (type $i32_i32_i32_=>_i32) br_if $__inlined_func$~lib/staticarray/StaticArray#findIndex104 - local.get $2 + local.get $1 i32.const 1 i32.add - local.set $2 + local.set $1 br $for-loop|0107 end end i32.const -1 - local.set $2 + local.set $1 end - local.get $2 + local.get $1 i32.const -1 i32.ne if @@ -6089,7 +6103,7 @@ global.get $~lib/memory/__stack_pointer i32.const 3600 i32.store $0 offset=12 - local.get $8 + local.get $7 i32.const 20 i32.sub i32.load $0 offset=16 @@ -6104,7 +6118,7 @@ i32.const 0 i32.ge_s if - local.get $8 + local.get $7 local.get $0 i32.const 2 i32.shl @@ -6115,7 +6129,7 @@ global.set $~argumentsLength local.get $1 local.get $0 - local.get $8 + local.get $7 i32.const 3600 i32.load $0 call_indirect $0 (type $i32_i32_i32_=>_i32) @@ -6144,7 +6158,7 @@ global.get $~lib/memory/__stack_pointer i32.const 3632 i32.store $0 offset=12 - local.get $8 + local.get $7 i32.const 20 i32.sub i32.load $0 offset=16 @@ -6159,7 +6173,7 @@ i32.const 0 i32.ge_s if - local.get $8 + local.get $7 local.get $0 i32.const 2 i32.shl @@ -6170,7 +6184,7 @@ global.set $~argumentsLength local.get $1 local.get $0 - local.get $8 + local.get $7 i32.const 3632 i32.load $0 call_indirect $0 (type $i32_i32_i32_=>_i32) diff --git a/tests/compiler/std/string-casemapping.release.wat b/tests/compiler/std/string-casemapping.release.wat index 3e3e993057..19e758af94 100644 --- a/tests/compiler/std/string-casemapping.release.wat +++ b/tests/compiler/std/string-casemapping.release.wat @@ -2026,10 +2026,10 @@ return end local.get $1 - i32.const 0 + i32.eqz local.get $0 - select i32.eqz + i32.or if i32.const 0 return @@ -6231,13 +6231,13 @@ local.tee $0 i32.eqz if - i32.const 0 + local.get $1 + i32.load $0 offset=8 + i32.eqz local.get $1 i32.const 37476 i32.lt_u - local.get $1 - i32.load $0 offset=8 - select + i32.and i32.eqz if i32.const 0 diff --git a/tests/compiler/std/string-encoding.release.wat b/tests/compiler/std/string-encoding.release.wat index f1975e2c42..2e6329ce35 100644 --- a/tests/compiler/std/string-encoding.release.wat +++ b/tests/compiler/std/string-encoding.release.wat @@ -1422,10 +1422,10 @@ return end local.get $1 - i32.const 0 + i32.eqz local.get $0 - select i32.eqz + i32.or if i32.const 0 return @@ -4031,13 +4031,13 @@ local.tee $0 i32.eqz if - i32.const 0 + local.get $1 + i32.load $0 offset=8 + i32.eqz local.get $1 i32.const 39004 i32.lt_u - local.get $1 - i32.load $0 offset=8 - select + i32.and i32.eqz if i32.const 0 diff --git a/tests/compiler/std/string.release.wat b/tests/compiler/std/string.release.wat index 2cf265a3ef..9d7cf28359 100644 --- a/tests/compiler/std/string.release.wat +++ b/tests/compiler/std/string.release.wat @@ -1057,10 +1057,10 @@ return end local.get $1 - i32.const 0 + i32.eqz local.get $0 - select i32.eqz + i32.or if i32.const 0 return @@ -1180,13 +1180,13 @@ local.tee $1 i32.eqz if - i32.const 0 + local.get $0 + i32.load $0 offset=8 + i32.eqz local.get $0 i32.const 42748 i32.lt_u - local.get $0 - i32.load $0 offset=8 - select + i32.and i32.eqz if i32.const 0 @@ -3811,13 +3811,13 @@ i32.const 2 i32.add local.set $0 - i32.const 0 local.get $4 local.get $7 i32.const 1 i32.sub local.tee $7 - select + i32.eqz + i32.and br_if $folding-inner0 i32.const 1 local.set $10 @@ -3850,17 +3850,16 @@ f64.const 0 return end + local.get $4 + local.get $2 + i32.eqz + i32.and local.get $5 i32.const 48 i32.sub i32.const 10 i32.ge_u - i32.const 0 - i32.const 0 - local.get $4 - local.get $2 - select - select + i32.and br_if $folding-inner0 end local.get $5 @@ -22072,14 +22071,14 @@ i32.const 1712 return end - i32.const 0 + local.get $2 + i32.eqz local.get $1 local.get $3 i32.const 1 i32.shl i32.eq - local.get $2 - select + i32.and if global.get $~lib/memory/__stack_pointer i32.const 4 @@ -22227,10 +22226,10 @@ unreachable end local.get $4 - i32.const 0 + i32.eqz local.get $1 - select i32.eqz + i32.or if global.get $~lib/memory/__stack_pointer i32.const 4 @@ -23060,14 +23059,14 @@ i32.const 1712 return end - i32.const 0 + local.get $4 + i32.eqz local.get $2 local.get $1 i32.const 1 i32.shl i32.eq - local.get $4 - select + i32.and if global.get $~lib/memory/__stack_pointer i32.const 4 diff --git a/tests/compiler/std/symbol.release.wat b/tests/compiler/std/symbol.release.wat index 7aa4274455..a74f694ebb 100644 --- a/tests/compiler/std/symbol.release.wat +++ b/tests/compiler/std/symbol.release.wat @@ -213,13 +213,13 @@ local.tee $1 i32.eqz if - i32.const 0 + local.get $0 + i32.load $0 offset=8 + i32.eqz local.get $0 i32.const 19084 i32.lt_u - local.get $0 - i32.load $0 offset=8 - select + i32.and i32.eqz if i32.const 0 @@ -1809,10 +1809,10 @@ return end local.get $1 - i32.const 0 + i32.eqz local.get $0 - select i32.eqz + i32.or if i32.const 0 return diff --git a/tests/compiler/std/typedarray.release.wat b/tests/compiler/std/typedarray.release.wat index 24c519a3c2..2d5c7c2771 100644 --- a/tests/compiler/std/typedarray.release.wat +++ b/tests/compiler/std/typedarray.release.wat @@ -773,13 +773,13 @@ local.tee $1 i32.eqz if - i32.const 0 + local.get $0 + i32.load $0 offset=8 + i32.eqz local.get $0 i32.const 33012 i32.lt_u - local.get $0 - i32.load $0 offset=8 - select + i32.and i32.eqz if i32.const 0 @@ -5578,11 +5578,11 @@ local.get $2 i32.load $0 offset=8 local.tee $4 + i32.eqz + local.get $4 i32.const 0 i32.le_s - i32.const 1 - local.get $4 - select + i32.or br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Int8Array,i8>|inlined.0 local.get $2 i32.load $0 offset=4 @@ -5626,11 +5626,11 @@ local.get $2 i32.load $0 offset=8 local.tee $4 + i32.eqz + local.get $4 i32.const 0 i32.le_s - i32.const 1 - local.get $4 - select + i32.or br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Int8Array,i8>|inlined.01 local.get $2 i32.load $0 offset=4 @@ -5677,11 +5677,11 @@ local.get $2 i32.load $0 offset=8 local.tee $4 + i32.eqz + local.get $4 i32.const 0 i32.le_s - i32.const 1 - local.get $4 - select + i32.or br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Int8Array,i8>|inlined.04 local.get $2 i32.load $0 offset=4 @@ -5728,11 +5728,11 @@ local.get $2 i32.load $0 offset=8 local.tee $4 + i32.eqz + local.get $4 i32.const 0 i32.le_s - i32.const 1 - local.get $4 - select + i32.or br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Int8Array,i8>|inlined.07 local.get $2 i32.load $0 offset=4 @@ -5779,11 +5779,11 @@ local.get $2 i32.load $0 offset=8 local.tee $4 + i32.eqz + local.get $4 i32.const 2 i32.le_s - i32.const 1 - local.get $4 - select + i32.or br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Int8Array,i8>|inlined.010 local.get $2 i32.load $0 offset=4 @@ -5830,11 +5830,11 @@ local.get $2 i32.load $0 offset=8 local.tee $4 + i32.eqz + local.get $4 i32.const 3 i32.le_s - i32.const 1 - local.get $4 - select + i32.or br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Int8Array,i8>|inlined.013 local.get $2 i32.load $0 offset=4 @@ -5881,11 +5881,11 @@ local.get $2 i32.load $0 offset=8 local.tee $4 + i32.eqz + local.get $4 i32.const 4 i32.le_s - i32.const 1 - local.get $4 - select + i32.or br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Int8Array,i8>|inlined.016 local.get $2 i32.load $0 offset=4 @@ -5932,11 +5932,11 @@ local.get $2 i32.load $0 offset=8 local.tee $4 + i32.eqz + local.get $4 i32.const 10 i32.le_s - i32.const 1 - local.get $4 - select + i32.or br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Int8Array,i8>|inlined.019 local.get $2 i32.load $0 offset=4 @@ -5981,11 +5981,11 @@ local.get $2 i32.load $0 offset=8 local.tee $3 + i32.eqz + local.get $3 i32.const -100 i32.le_s - i32.const 1 - local.get $3 - select + i32.or br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Int8Array,i8>|inlined.022 local.get $3 i32.const 100 @@ -6604,11 +6604,11 @@ local.get $4 i32.load $0 offset=8 local.tee $3 + i32.eqz + local.get $3 i32.const 0 i32.le_s - i32.const 1 - local.get $3 - select + i32.or br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Int8Array,i8>|inlined.041 local.get $4 i32.load $0 offset=4 @@ -6655,11 +6655,11 @@ local.get $4 i32.load $0 offset=8 local.tee $3 + i32.eqz + local.get $3 i32.const 0 i32.le_s - i32.const 1 - local.get $3 - select + i32.or br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Int8Array,i8>|inlined.044 local.get $4 i32.load $0 offset=4 @@ -6704,11 +6704,11 @@ local.get $4 i32.load $0 offset=8 local.tee $3 + i32.eqz + local.get $3 i32.const 0 i32.le_s - i32.const 1 - local.get $3 - select + i32.or br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Int8Array,i8>|inlined.047 local.get $4 i32.load $0 offset=4 @@ -6755,11 +6755,11 @@ local.get $4 i32.load $0 offset=8 local.tee $3 + i32.eqz + local.get $3 i32.const 0 i32.le_s - i32.const 1 - local.get $3 - select + i32.or br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Int8Array,i8>|inlined.050 local.get $4 i32.load $0 offset=4 @@ -6806,11 +6806,11 @@ local.get $4 i32.load $0 offset=8 local.tee $3 + i32.eqz + local.get $3 i32.const 0 i32.le_s - i32.const 1 - local.get $3 - select + i32.or br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Int8Array,i8>|inlined.053 local.get $4 i32.load $0 offset=4 @@ -6857,11 +6857,11 @@ local.get $4 i32.load $0 offset=8 local.tee $3 + i32.eqz + local.get $3 i32.const 0 i32.le_s - i32.const 1 - local.get $3 - select + i32.or br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Int8Array,i8>|inlined.056 local.get $4 i32.load $0 offset=4 @@ -6908,11 +6908,11 @@ local.get $4 i32.load $0 offset=8 local.tee $3 + i32.eqz + local.get $3 i32.const 1 i32.le_s - i32.const 1 - local.get $3 - select + i32.or br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Int8Array,i8>|inlined.059 local.get $4 i32.load $0 offset=4 @@ -6959,11 +6959,11 @@ local.get $4 i32.load $0 offset=8 local.tee $3 + i32.eqz + local.get $3 i32.const 2 i32.le_s - i32.const 1 - local.get $3 - select + i32.or br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Int8Array,i8>|inlined.062 local.get $4 i32.load $0 offset=4 @@ -7071,11 +7071,11 @@ local.get $2 i32.load $0 offset=8 local.tee $4 + i32.eqz + local.get $4 i32.const 0 i32.le_s - i32.const 1 - local.get $4 - select + i32.or br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Uint8Array,u8>|inlined.0 local.get $2 i32.load $0 offset=4 @@ -7119,11 +7119,11 @@ local.get $2 i32.load $0 offset=8 local.tee $4 + i32.eqz + local.get $4 i32.const 0 i32.le_s - i32.const 1 - local.get $4 - select + i32.or br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Uint8Array,u8>|inlined.01 local.get $2 i32.load $0 offset=4 @@ -7170,11 +7170,11 @@ local.get $2 i32.load $0 offset=8 local.tee $4 + i32.eqz + local.get $4 i32.const 0 i32.le_s - i32.const 1 - local.get $4 - select + i32.or br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Uint8Array,u8>|inlined.04 local.get $2 i32.load $0 offset=4 @@ -7221,11 +7221,11 @@ local.get $2 i32.load $0 offset=8 local.tee $4 + i32.eqz + local.get $4 i32.const 0 i32.le_s - i32.const 1 - local.get $4 - select + i32.or br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Uint8Array,u8>|inlined.07 local.get $2 i32.load $0 offset=4 @@ -7272,11 +7272,11 @@ local.get $2 i32.load $0 offset=8 local.tee $4 + i32.eqz + local.get $4 i32.const 2 i32.le_s - i32.const 1 - local.get $4 - select + i32.or br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Uint8Array,u8>|inlined.010 local.get $2 i32.load $0 offset=4 @@ -7323,11 +7323,11 @@ local.get $2 i32.load $0 offset=8 local.tee $4 + i32.eqz + local.get $4 i32.const 3 i32.le_s - i32.const 1 - local.get $4 - select + i32.or br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Uint8Array,u8>|inlined.013 local.get $2 i32.load $0 offset=4 @@ -7374,11 +7374,11 @@ local.get $2 i32.load $0 offset=8 local.tee $4 + i32.eqz + local.get $4 i32.const 4 i32.le_s - i32.const 1 - local.get $4 - select + i32.or br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Uint8Array,u8>|inlined.016 local.get $2 i32.load $0 offset=4 @@ -7425,11 +7425,11 @@ local.get $2 i32.load $0 offset=8 local.tee $4 + i32.eqz + local.get $4 i32.const 10 i32.le_s - i32.const 1 - local.get $4 - select + i32.or br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Uint8Array,u8>|inlined.019 local.get $2 i32.load $0 offset=4 @@ -7474,11 +7474,11 @@ local.get $2 i32.load $0 offset=8 local.tee $3 + i32.eqz + local.get $3 i32.const -100 i32.le_s - i32.const 1 - local.get $3 - select + i32.or br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Uint8Array,u8>|inlined.022 local.get $3 i32.const 100 @@ -8096,11 +8096,11 @@ local.get $4 i32.load $0 offset=8 local.tee $3 + i32.eqz + local.get $3 i32.const 0 i32.le_s - i32.const 1 - local.get $3 - select + i32.or br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Uint8Array,u8>|inlined.041 local.get $4 i32.load $0 offset=4 @@ -8147,11 +8147,11 @@ local.get $4 i32.load $0 offset=8 local.tee $3 + i32.eqz + local.get $3 i32.const 0 i32.le_s - i32.const 1 - local.get $3 - select + i32.or br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Uint8Array,u8>|inlined.044 local.get $4 i32.load $0 offset=4 @@ -8196,11 +8196,11 @@ local.get $4 i32.load $0 offset=8 local.tee $3 + i32.eqz + local.get $3 i32.const 0 i32.le_s - i32.const 1 - local.get $3 - select + i32.or br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Uint8Array,u8>|inlined.047 local.get $4 i32.load $0 offset=4 @@ -8247,11 +8247,11 @@ local.get $4 i32.load $0 offset=8 local.tee $3 + i32.eqz + local.get $3 i32.const 0 i32.le_s - i32.const 1 - local.get $3 - select + i32.or br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Uint8Array,u8>|inlined.050 local.get $4 i32.load $0 offset=4 @@ -8298,11 +8298,11 @@ local.get $4 i32.load $0 offset=8 local.tee $3 + i32.eqz + local.get $3 i32.const 0 i32.le_s - i32.const 1 - local.get $3 - select + i32.or br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Uint8Array,u8>|inlined.053 local.get $4 i32.load $0 offset=4 @@ -8349,11 +8349,11 @@ local.get $4 i32.load $0 offset=8 local.tee $3 + i32.eqz + local.get $3 i32.const 0 i32.le_s - i32.const 1 - local.get $3 - select + i32.or br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Uint8Array,u8>|inlined.056 local.get $4 i32.load $0 offset=4 @@ -8400,11 +8400,11 @@ local.get $4 i32.load $0 offset=8 local.tee $3 + i32.eqz + local.get $3 i32.const 1 i32.le_s - i32.const 1 - local.get $3 - select + i32.or br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Uint8Array,u8>|inlined.059 local.get $4 i32.load $0 offset=4 @@ -8451,11 +8451,11 @@ local.get $4 i32.load $0 offset=8 local.tee $3 + i32.eqz + local.get $3 i32.const 2 i32.le_s - i32.const 1 - local.get $3 - select + i32.or br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Uint8Array,u8>|inlined.062 local.get $4 i32.load $0 offset=4 @@ -8563,11 +8563,11 @@ local.get $2 i32.load $0 offset=8 local.tee $4 + i32.eqz + local.get $4 i32.const 0 i32.le_s - i32.const 1 - local.get $4 - select + i32.or br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Uint8Array,u8>|inlined.0 local.get $2 i32.load $0 offset=4 @@ -8611,11 +8611,11 @@ local.get $2 i32.load $0 offset=8 local.tee $4 + i32.eqz + local.get $4 i32.const 0 i32.le_s - i32.const 1 - local.get $4 - select + i32.or br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Uint8Array,u8>|inlined.01 local.get $2 i32.load $0 offset=4 @@ -8662,11 +8662,11 @@ local.get $2 i32.load $0 offset=8 local.tee $4 + i32.eqz + local.get $4 i32.const 0 i32.le_s - i32.const 1 - local.get $4 - select + i32.or br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Uint8Array,u8>|inlined.04 local.get $2 i32.load $0 offset=4 @@ -8713,11 +8713,11 @@ local.get $2 i32.load $0 offset=8 local.tee $4 + i32.eqz + local.get $4 i32.const 0 i32.le_s - i32.const 1 - local.get $4 - select + i32.or br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Uint8Array,u8>|inlined.07 local.get $2 i32.load $0 offset=4 @@ -8764,11 +8764,11 @@ local.get $2 i32.load $0 offset=8 local.tee $4 + i32.eqz + local.get $4 i32.const 2 i32.le_s - i32.const 1 - local.get $4 - select + i32.or br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Uint8Array,u8>|inlined.010 local.get $2 i32.load $0 offset=4 @@ -8815,11 +8815,11 @@ local.get $2 i32.load $0 offset=8 local.tee $4 + i32.eqz + local.get $4 i32.const 3 i32.le_s - i32.const 1 - local.get $4 - select + i32.or br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Uint8Array,u8>|inlined.013 local.get $2 i32.load $0 offset=4 @@ -8866,11 +8866,11 @@ local.get $2 i32.load $0 offset=8 local.tee $4 + i32.eqz + local.get $4 i32.const 4 i32.le_s - i32.const 1 - local.get $4 - select + i32.or br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Uint8Array,u8>|inlined.016 local.get $2 i32.load $0 offset=4 @@ -8917,11 +8917,11 @@ local.get $2 i32.load $0 offset=8 local.tee $4 + i32.eqz + local.get $4 i32.const 10 i32.le_s - i32.const 1 - local.get $4 - select + i32.or br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Uint8Array,u8>|inlined.019 local.get $2 i32.load $0 offset=4 @@ -8966,11 +8966,11 @@ local.get $2 i32.load $0 offset=8 local.tee $3 + i32.eqz + local.get $3 i32.const -100 i32.le_s - i32.const 1 - local.get $3 - select + i32.or br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Uint8Array,u8>|inlined.022 local.get $3 i32.const 100 @@ -9588,11 +9588,11 @@ local.get $4 i32.load $0 offset=8 local.tee $3 + i32.eqz + local.get $3 i32.const 0 i32.le_s - i32.const 1 - local.get $3 - select + i32.or br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Uint8Array,u8>|inlined.041 local.get $4 i32.load $0 offset=4 @@ -9639,11 +9639,11 @@ local.get $4 i32.load $0 offset=8 local.tee $3 + i32.eqz + local.get $3 i32.const 0 i32.le_s - i32.const 1 - local.get $3 - select + i32.or br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Uint8Array,u8>|inlined.044 local.get $4 i32.load $0 offset=4 @@ -9688,11 +9688,11 @@ local.get $4 i32.load $0 offset=8 local.tee $3 + i32.eqz + local.get $3 i32.const 0 i32.le_s - i32.const 1 - local.get $3 - select + i32.or br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Uint8Array,u8>|inlined.047 local.get $4 i32.load $0 offset=4 @@ -9739,11 +9739,11 @@ local.get $4 i32.load $0 offset=8 local.tee $3 + i32.eqz + local.get $3 i32.const 0 i32.le_s - i32.const 1 - local.get $3 - select + i32.or br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Uint8Array,u8>|inlined.050 local.get $4 i32.load $0 offset=4 @@ -9790,11 +9790,11 @@ local.get $4 i32.load $0 offset=8 local.tee $3 + i32.eqz + local.get $3 i32.const 0 i32.le_s - i32.const 1 - local.get $3 - select + i32.or br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Uint8Array,u8>|inlined.053 local.get $4 i32.load $0 offset=4 @@ -9841,11 +9841,11 @@ local.get $4 i32.load $0 offset=8 local.tee $3 + i32.eqz + local.get $3 i32.const 0 i32.le_s - i32.const 1 - local.get $3 - select + i32.or br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Uint8Array,u8>|inlined.056 local.get $4 i32.load $0 offset=4 @@ -9892,11 +9892,11 @@ local.get $4 i32.load $0 offset=8 local.tee $3 + i32.eqz + local.get $3 i32.const 1 i32.le_s - i32.const 1 - local.get $3 - select + i32.or br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Uint8Array,u8>|inlined.059 local.get $4 i32.load $0 offset=4 @@ -9943,11 +9943,11 @@ local.get $4 i32.load $0 offset=8 local.tee $3 + i32.eqz + local.get $3 i32.const 2 i32.le_s - i32.const 1 - local.get $3 - select + i32.or br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Uint8Array,u8>|inlined.062 local.get $4 i32.load $0 offset=4 @@ -10129,6 +10129,9 @@ 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 @@ -10177,6 +10180,9 @@ 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 @@ -10228,6 +10234,9 @@ 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 @@ -10279,6 +10288,9 @@ 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 @@ -10329,11 +10341,11 @@ i32.const 1 i32.shr_u local.tee $3 + i32.eqz + local.get $3 i32.const 2 i32.le_u - i32.const 1 - local.get $3 - select + i32.or br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Int16Array,i16>|inlined.010 local.get $4 i32.load $0 offset=4 @@ -10384,11 +10396,11 @@ i32.const 1 i32.shr_u local.tee $3 + i32.eqz + local.get $3 i32.const 3 i32.le_u - i32.const 1 - local.get $3 - select + i32.or br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Int16Array,i16>|inlined.013 local.get $4 i32.load $0 offset=4 @@ -10439,11 +10451,11 @@ i32.const 1 i32.shr_u local.tee $3 + i32.eqz + local.get $3 i32.const 4 i32.le_u - i32.const 1 - local.get $3 - select + i32.or br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Int16Array,i16>|inlined.016 local.get $4 i32.load $0 offset=4 @@ -10494,11 +10506,11 @@ i32.const 1 i32.shr_u local.tee $3 + i32.eqz + local.get $3 i32.const 10 i32.le_u - i32.const 1 - local.get $3 - select + i32.or br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Int16Array,i16>|inlined.019 local.get $4 i32.load $0 offset=4 @@ -10547,11 +10559,11 @@ i32.const 1 i32.shr_u local.tee $2 + i32.eqz + local.get $2 i32.const -100 i32.le_s - i32.const 1 - local.get $2 - select + i32.or br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Int16Array,i16>|inlined.022 local.get $2 i32.const 100 @@ -11012,6 +11024,9 @@ 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 @@ -11063,6 +11078,9 @@ 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 @@ -11112,6 +11130,9 @@ 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 @@ -11163,6 +11184,9 @@ 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 @@ -11214,6 +11238,9 @@ 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 @@ -11265,6 +11292,9 @@ 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 @@ -11315,11 +11345,11 @@ i32.const 1 i32.shr_u local.tee $3 + i32.eqz + local.get $3 i32.const 1 i32.le_u - i32.const 1 - local.get $3 - select + i32.or br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Int16Array,i16>|inlined.059 local.get $4 i32.load $0 offset=4 @@ -11370,11 +11400,11 @@ i32.const 1 i32.shr_u local.tee $3 + i32.eqz + local.get $3 i32.const 2 i32.le_u - i32.const 1 - local.get $3 - select + i32.or br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Int16Array,i16>|inlined.062 local.get $4 i32.load $0 offset=4 @@ -11487,6 +11517,9 @@ 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 @@ -11535,6 +11568,9 @@ 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 @@ -11586,6 +11622,9 @@ 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 @@ -11637,6 +11676,9 @@ 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 @@ -11687,11 +11729,11 @@ i32.const 1 i32.shr_u local.tee $3 + i32.eqz + local.get $3 i32.const 2 i32.le_u - i32.const 1 - local.get $3 - select + i32.or br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Uint16Array,u16>|inlined.010 local.get $4 i32.load $0 offset=4 @@ -11742,11 +11784,11 @@ i32.const 1 i32.shr_u local.tee $3 + i32.eqz + local.get $3 i32.const 3 i32.le_u - i32.const 1 - local.get $3 - select + i32.or br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Uint16Array,u16>|inlined.013 local.get $4 i32.load $0 offset=4 @@ -11797,11 +11839,11 @@ i32.const 1 i32.shr_u local.tee $3 + i32.eqz + local.get $3 i32.const 4 i32.le_u - i32.const 1 - local.get $3 - select + i32.or br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Uint16Array,u16>|inlined.016 local.get $4 i32.load $0 offset=4 @@ -11852,11 +11894,11 @@ i32.const 1 i32.shr_u local.tee $3 + i32.eqz + local.get $3 i32.const 10 i32.le_u - i32.const 1 - local.get $3 - select + i32.or br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Uint16Array,u16>|inlined.019 local.get $4 i32.load $0 offset=4 @@ -11905,11 +11947,11 @@ i32.const 1 i32.shr_u local.tee $2 + i32.eqz + local.get $2 i32.const -100 i32.le_s - i32.const 1 - local.get $2 - select + i32.or br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Uint16Array,u16>|inlined.022 local.get $2 i32.const 100 @@ -12370,6 +12412,9 @@ 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 @@ -12421,6 +12466,9 @@ 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 @@ -12470,6 +12518,9 @@ 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 @@ -12521,6 +12572,9 @@ 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 @@ -12572,6 +12626,9 @@ 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 @@ -12623,6 +12680,9 @@ 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.056 local.get $4 i32.load $0 offset=4 @@ -12673,11 +12733,11 @@ i32.const 1 i32.shr_u local.tee $3 + i32.eqz + local.get $3 i32.const 1 i32.le_u - i32.const 1 - local.get $3 - select + i32.or br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Uint16Array,u16>|inlined.059 local.get $4 i32.load $0 offset=4 @@ -12728,11 +12788,11 @@ i32.const 1 i32.shr_u local.tee $3 + i32.eqz + local.get $3 i32.const 2 i32.le_u - i32.const 1 - local.get $3 - select + i32.or br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Uint16Array,u16>|inlined.062 local.get $4 i32.load $0 offset=4 @@ -12800,28 +12860,28 @@ 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 i32.const 0 i32.store $0 offset=8 - local.get $2 + local.get $3 i32.const 7728 i32.store $0 - local.get $2 + local.get $3 i32.const 7740 i32.load $0 - local.tee $3 - call $~lib/typedarray/Int32Array#constructor local.tee $2 + call $~lib/typedarray/Int32Array#constructor + local.tee $3 i32.store $0 offset=4 loop $for-loop|0 local.get $0 - local.get $3 + local.get $2 i32.lt_s if - local.get $2 + local.get $3 local.get $0 i32.const 7728 local.get $0 @@ -12837,22 +12897,25 @@ i32.const -1 local.set $0 block $~lib/typedarray/INDEX_OF<~lib/typedarray/Int32Array,i32>|inlined.0 - 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/Int32Array,i32>|inlined.0 - local.get $2 + local.get $3 i32.load $0 offset=4 - local.set $3 + local.set $2 loop $while-continue|0 local.get $1 local.get $4 i32.lt_s if - local.get $3 + local.get $2 local.get $1 local.tee $0 i32.const 2 @@ -12885,22 +12948,25 @@ i32.const -1 local.set $0 block $~lib/typedarray/INDEX_OF<~lib/typedarray/Int32Array,i32>|inlined.01 - 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/Int32Array,i32>|inlined.01 - local.get $2 + local.get $3 i32.load $0 offset=4 - local.set $3 + local.set $2 loop $while-continue|02 local.get $1 local.get $4 i32.lt_s if - local.get $3 + local.get $2 local.get $1 local.tee $0 i32.const 2 @@ -12936,22 +13002,25 @@ i32.const -1 local.set $0 block $~lib/typedarray/INDEX_OF<~lib/typedarray/Int32Array,i32>|inlined.04 - 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/Int32Array,i32>|inlined.04 - local.get $2 + local.get $3 i32.load $0 offset=4 - local.set $3 + local.set $2 loop $while-continue|05 local.get $1 local.get $4 i32.lt_s if - local.get $3 + local.get $2 local.get $1 local.tee $0 i32.const 2 @@ -12987,22 +13056,25 @@ i32.const -1 local.set $0 block $~lib/typedarray/INDEX_OF<~lib/typedarray/Int32Array,i32>|inlined.07 - 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/Int32Array,i32>|inlined.07 - local.get $2 + local.get $3 i32.load $0 offset=4 - local.set $3 + local.set $2 loop $while-continue|08 local.get $1 local.get $4 i32.lt_s if - local.get $3 + local.get $2 local.get $1 local.tee $0 i32.const 2 @@ -13038,26 +13110,26 @@ i32.const -1 local.set $0 block $~lib/typedarray/INDEX_OF<~lib/typedarray/Int32Array,i32>|inlined.010 - 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.const 2 i32.le_u - i32.const 1 - local.get $4 - select + i32.or br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Int32Array,i32>|inlined.010 - local.get $2 + local.get $3 i32.load $0 offset=4 - local.set $3 + local.set $2 loop $while-continue|011 local.get $1 local.get $4 i32.lt_s if - local.get $3 + local.get $2 local.get $1 local.tee $0 i32.const 2 @@ -13093,26 +13165,26 @@ i32.const -1 local.set $0 block $~lib/typedarray/INDEX_OF<~lib/typedarray/Int32Array,i32>|inlined.013 - 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.const 3 i32.le_u - i32.const 1 - local.get $4 - select + i32.or br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Int32Array,i32>|inlined.013 - local.get $2 + local.get $3 i32.load $0 offset=4 - local.set $3 + local.set $2 loop $while-continue|014 local.get $1 local.get $4 i32.lt_s if - local.get $3 + local.get $2 local.get $1 local.tee $0 i32.const 2 @@ -13148,26 +13220,26 @@ i32.const -1 local.set $0 block $~lib/typedarray/INDEX_OF<~lib/typedarray/Int32Array,i32>|inlined.016 - 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.const 4 i32.le_u - i32.const 1 - local.get $4 - select + i32.or br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Int32Array,i32>|inlined.016 - local.get $2 + local.get $3 i32.load $0 offset=4 - local.set $3 + local.set $2 loop $while-continue|017 local.get $1 local.get $4 i32.lt_s if - local.get $3 + local.get $2 local.get $1 local.tee $0 i32.const 2 @@ -13203,26 +13275,26 @@ i32.const -1 local.set $0 block $~lib/typedarray/INDEX_OF<~lib/typedarray/Int32Array,i32>|inlined.019 - 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.const 10 i32.le_u - i32.const 1 - local.get $4 - select + i32.or br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Int32Array,i32>|inlined.019 - local.get $2 + local.get $3 i32.load $0 offset=4 - local.set $3 + local.set $2 loop $while-continue|020 local.get $1 local.get $4 i32.lt_s if - local.get $3 + local.get $2 local.get $1 local.tee $0 i32.const 2 @@ -13256,18 +13328,18 @@ i32.const -1 local.set $1 block $~lib/typedarray/INDEX_OF<~lib/typedarray/Int32Array,i32>|inlined.022 - local.get $2 + local.get $3 i32.load $0 offset=8 i32.const 2 i32.shr_u - local.tee $3 + local.tee $2 + i32.eqz + local.get $2 i32.const -100 i32.le_s - i32.const 1 - local.get $3 - select + i32.or br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Int32Array,i32>|inlined.022 - local.get $3 + local.get $2 i32.const 100 i32.sub local.tee $1 @@ -13277,12 +13349,12 @@ i32.gt_s select local.set $1 - local.get $2 + local.get $3 i32.load $0 offset=4 local.set $0 loop $while-continue|023 local.get $1 - local.get $3 + local.get $2 i32.lt_s if local.get $0 @@ -13317,14 +13389,14 @@ end i32.const 1 global.set $~argumentsLength - local.get $2 + local.get $3 i32.load $0 offset=8 i32.const 2 i32.shr_u - local.set $3 + local.set $2 block $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Int32Array,i32>|inlined.0 (result i32) i32.const -1 - local.get $2 + local.get $3 local.tee $1 i32.load $0 offset=8 i32.const 2 @@ -13336,9 +13408,9 @@ local.get $0 i32.const 1 i32.sub - local.get $3 + local.get $2 local.get $0 - local.get $3 + local.get $2 i32.le_s select local.set $0 @@ -13379,14 +13451,14 @@ end i32.const 1 global.set $~argumentsLength - local.get $2 + local.get $3 i32.load $0 offset=8 i32.const 2 i32.shr_u - local.set $3 + local.set $2 block $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Int32Array,i32>|inlined.05 (result i32) i32.const -1 - local.get $2 + local.get $3 local.tee $1 i32.load $0 offset=8 i32.const 2 @@ -13398,9 +13470,9 @@ local.get $0 i32.const 1 i32.sub - local.get $3 + local.get $2 local.get $0 - local.get $3 + local.get $2 i32.le_s select local.set $0 @@ -13444,14 +13516,14 @@ end i32.const 1 global.set $~argumentsLength - local.get $2 + local.get $3 i32.load $0 offset=8 i32.const 2 i32.shr_u - local.set $3 + local.set $2 block $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Int32Array,i32>|inlined.011 (result i32) i32.const -1 - local.get $2 + local.get $3 local.tee $1 i32.load $0 offset=8 i32.const 2 @@ -13463,9 +13535,9 @@ local.get $0 i32.const 1 i32.sub - local.get $3 + local.get $2 local.get $0 - local.get $3 + local.get $2 i32.le_s select local.set $0 @@ -13509,14 +13581,14 @@ end i32.const 1 global.set $~argumentsLength - local.get $2 + local.get $3 i32.load $0 offset=8 i32.const 2 i32.shr_u - local.set $3 + local.set $2 block $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Int32Array,i32>|inlined.017 (result i32) i32.const -1 - local.get $2 + local.get $3 local.tee $1 i32.load $0 offset=8 i32.const 2 @@ -13528,9 +13600,9 @@ local.get $0 i32.const 1 i32.sub - local.get $3 + local.get $2 local.get $0 - local.get $3 + local.get $2 i32.le_s select local.set $0 @@ -13575,7 +13647,7 @@ i32.const -1 local.set $0 block $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Int32Array,i32>|inlined.019 - local.get $2 + local.get $3 i32.load $0 offset=8 i32.const 2 i32.shr_u @@ -13591,15 +13663,15 @@ i32.le_s select local.set $1 - local.get $2 + local.get $3 i32.load $0 offset=4 - local.set $3 + local.set $2 loop $while-continue|024 local.get $1 i32.const 0 i32.ge_s if - local.get $3 + local.get $2 local.get $1 local.tee $0 i32.const 2 @@ -13633,7 +13705,7 @@ i32.const -1 local.set $0 block $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Int32Array,i32>|inlined.026 - local.get $2 + local.get $3 i32.load $0 offset=8 i32.const 2 i32.shr_u @@ -13649,15 +13721,15 @@ i32.le_s select local.set $1 - local.get $2 + local.get $3 i32.load $0 offset=4 - local.set $3 + local.set $2 loop $while-continue|027 local.get $1 i32.const 0 i32.ge_s if - local.get $3 + local.get $2 local.get $1 local.tee $0 i32.const 2 @@ -13691,7 +13763,7 @@ i32.const -1 local.set $0 block $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Int32Array,i32>|inlined.029 - local.get $2 + local.get $3 i32.load $0 offset=8 i32.const 2 i32.shr_u @@ -13707,15 +13779,15 @@ i32.le_s select local.set $1 - local.get $2 + local.get $3 i32.load $0 offset=4 - local.set $3 + local.set $2 loop $while-continue|030 local.get $1 i32.const 0 i32.ge_s if - local.get $3 + local.get $2 local.get $1 local.tee $0 i32.const 2 @@ -13749,7 +13821,7 @@ i32.const -1 local.set $0 block $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Int32Array,i32>|inlined.032 - local.get $2 + local.get $3 i32.load $0 offset=8 i32.const 2 i32.shr_u @@ -13765,15 +13837,15 @@ i32.le_s select local.set $1 - local.get $2 + local.get $3 i32.load $0 offset=4 - local.set $3 + local.set $2 loop $while-continue|033 local.get $1 i32.const 0 i32.ge_s if - local.get $3 + local.get $2 local.get $1 local.tee $0 i32.const 2 @@ -13807,7 +13879,7 @@ i32.const -1 local.set $1 block $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Int32Array,i32>|inlined.035 - local.get $2 + local.get $3 i32.load $0 offset=8 i32.const 2 i32.shr_u @@ -13818,7 +13890,7 @@ i32.const 10 i32.sub local.set $1 - local.get $2 + local.get $3 i32.load $0 offset=4 local.set $0 loop $while-continue|036 @@ -13859,7 +13931,7 @@ i32.const -1 local.set $1 block $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Int32Array,i32>|inlined.038 - local.get $2 + local.get $3 i32.load $0 offset=8 i32.const 2 i32.shr_u @@ -13870,7 +13942,7 @@ i32.const 11 i32.sub local.set $1 - local.get $2 + local.get $3 i32.load $0 offset=4 local.set $0 loop $while-continue|039 @@ -13909,7 +13981,7 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $2 + local.get $3 i32.const 4 i32.const 9 call $~lib/typedarray/Int32Array#subarray @@ -13924,18 +13996,21 @@ i32.load $0 offset=8 i32.const 2 i32.shr_u - local.tee $3 + local.tee $2 + i32.eqz + local.get $2 i32.eqz + i32.or br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Int32Array,i32>|inlined.041 local.get $4 i32.load $0 offset=4 - local.set $2 + local.set $3 loop $while-continue|042 local.get $1 - local.get $3 + local.get $2 i32.lt_s if - local.get $2 + local.get $3 local.get $1 local.tee $0 i32.const 2 @@ -13975,18 +14050,21 @@ i32.load $0 offset=8 i32.const 2 i32.shr_u - local.tee $3 + local.tee $2 + i32.eqz + local.get $2 i32.eqz + i32.or br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Int32Array,i32>|inlined.044 local.get $4 i32.load $0 offset=4 - local.set $2 + local.set $3 loop $while-continue|045 local.get $1 - local.get $3 + local.get $2 i32.lt_s if - local.get $2 + local.get $3 local.get $1 local.tee $0 i32.const 2 @@ -14024,18 +14102,21 @@ i32.load $0 offset=8 i32.const 2 i32.shr_u - local.tee $3 + 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 $2 + local.set $3 loop $while-continue|048 local.get $1 - local.get $3 + local.get $2 i32.lt_s if - local.get $2 + local.get $3 local.get $1 local.tee $0 i32.const 2 @@ -14075,18 +14156,21 @@ i32.load $0 offset=8 i32.const 2 i32.shr_u - local.tee $3 + 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 $2 + local.set $3 loop $while-continue|051 local.get $1 - local.get $3 + local.get $2 i32.lt_s if - local.get $2 + local.get $3 local.get $1 local.tee $0 i32.const 2 @@ -14126,18 +14210,21 @@ i32.load $0 offset=8 i32.const 2 i32.shr_u - local.tee $3 + 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 $2 + local.set $3 loop $while-continue|054 local.get $1 - local.get $3 + local.get $2 i32.lt_s if - local.get $2 + local.get $3 local.get $1 local.tee $0 i32.const 2 @@ -14177,18 +14264,21 @@ i32.load $0 offset=8 i32.const 2 i32.shr_u - local.tee $3 + 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 $2 + local.set $3 loop $while-continue|057 local.get $1 - local.get $3 + local.get $2 i32.lt_s if - local.get $2 + local.get $3 local.get $1 local.tee $0 i32.const 2 @@ -14228,22 +14318,22 @@ i32.load $0 offset=8 i32.const 2 i32.shr_u - local.tee $3 + local.tee $2 + i32.eqz + local.get $2 i32.const 1 i32.le_u - i32.const 1 - local.get $3 - select + i32.or br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Int32Array,i32>|inlined.059 local.get $4 i32.load $0 offset=4 - local.set $2 + local.set $3 loop $while-continue|060 local.get $1 - local.get $3 + local.get $2 i32.lt_s if - local.get $2 + local.get $3 local.get $1 local.tee $0 i32.const 2 @@ -14283,22 +14373,22 @@ i32.load $0 offset=8 i32.const 2 i32.shr_u - local.tee $3 + local.tee $2 + i32.eqz + local.get $2 i32.const 2 - i32.le_u - i32.const 1 - local.get $3 - select + 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 $2 + local.set $3 loop $while-continue|063 local.get $1 - local.get $3 + local.get $2 i32.lt_s if - local.get $2 + local.get $3 local.get $1 local.tee $0 i32.const 2 @@ -14356,28 +14446,28 @@ 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 i32.const 0 i32.store $0 offset=8 - local.get $2 + local.get $3 i32.const 7728 i32.store $0 - local.get $2 + local.get $3 i32.const 7740 i32.load $0 - local.tee $3 - call $~lib/typedarray/Uint32Array#constructor local.tee $2 + call $~lib/typedarray/Uint32Array#constructor + local.tee $3 i32.store $0 offset=4 loop $for-loop|0 local.get $0 - local.get $3 + local.get $2 i32.lt_s if - local.get $2 + local.get $3 local.get $0 i32.const 7728 local.get $0 @@ -14393,22 +14483,25 @@ i32.const -1 local.set $0 block $~lib/typedarray/INDEX_OF<~lib/typedarray/Uint32Array,u32>|inlined.0 - 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.0 - local.get $2 + local.get $3 i32.load $0 offset=4 - local.set $3 + local.set $2 loop $while-continue|0 local.get $1 local.get $4 i32.lt_s if - local.get $3 + local.get $2 local.get $1 local.tee $0 i32.const 2 @@ -14441,22 +14534,25 @@ i32.const -1 local.set $0 block $~lib/typedarray/INDEX_OF<~lib/typedarray/Uint32Array,u32>|inlined.01 - 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.01 - local.get $2 + local.get $3 i32.load $0 offset=4 - local.set $3 + local.set $2 loop $while-continue|02 local.get $1 local.get $4 i32.lt_s if - local.get $3 + local.get $2 local.get $1 local.tee $0 i32.const 2 @@ -14492,22 +14588,25 @@ i32.const -1 local.set $0 block $~lib/typedarray/INDEX_OF<~lib/typedarray/Uint32Array,u32>|inlined.04 - 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 - local.get $2 + local.get $3 i32.load $0 offset=4 - local.set $3 + local.set $2 loop $while-continue|05 local.get $1 local.get $4 i32.lt_s if - local.get $3 + local.get $2 local.get $1 local.tee $0 i32.const 2 @@ -14543,22 +14642,25 @@ i32.const -1 local.set $0 block $~lib/typedarray/INDEX_OF<~lib/typedarray/Uint32Array,u32>|inlined.07 - 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.07 - local.get $2 + local.get $3 i32.load $0 offset=4 - local.set $3 + local.set $2 loop $while-continue|08 local.get $1 local.get $4 i32.lt_s if - local.get $3 + local.get $2 local.get $1 local.tee $0 i32.const 2 @@ -14594,26 +14696,26 @@ i32.const -1 local.set $0 block $~lib/typedarray/INDEX_OF<~lib/typedarray/Uint32Array,u32>|inlined.010 - 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.const 2 i32.le_u - i32.const 1 - local.get $4 - select + i32.or br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Uint32Array,u32>|inlined.010 - local.get $2 + local.get $3 i32.load $0 offset=4 - local.set $3 + local.set $2 loop $while-continue|011 local.get $1 local.get $4 i32.lt_s if - local.get $3 + local.get $2 local.get $1 local.tee $0 i32.const 2 @@ -14649,26 +14751,26 @@ i32.const -1 local.set $0 block $~lib/typedarray/INDEX_OF<~lib/typedarray/Uint32Array,u32>|inlined.013 - 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.const 3 i32.le_u - i32.const 1 - local.get $4 - select + i32.or br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Uint32Array,u32>|inlined.013 - local.get $2 + local.get $3 i32.load $0 offset=4 - local.set $3 + local.set $2 loop $while-continue|014 local.get $1 local.get $4 i32.lt_s if - local.get $3 + local.get $2 local.get $1 local.tee $0 i32.const 2 @@ -14704,26 +14806,26 @@ i32.const -1 local.set $0 block $~lib/typedarray/INDEX_OF<~lib/typedarray/Uint32Array,u32>|inlined.016 - 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.const 4 i32.le_u - i32.const 1 - local.get $4 - select + i32.or br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Uint32Array,u32>|inlined.016 - local.get $2 + local.get $3 i32.load $0 offset=4 - local.set $3 + local.set $2 loop $while-continue|017 local.get $1 local.get $4 i32.lt_s if - local.get $3 + local.get $2 local.get $1 local.tee $0 i32.const 2 @@ -14759,26 +14861,26 @@ i32.const -1 local.set $0 block $~lib/typedarray/INDEX_OF<~lib/typedarray/Uint32Array,u32>|inlined.019 - 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.const 10 i32.le_u - i32.const 1 - local.get $4 - select + i32.or br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Uint32Array,u32>|inlined.019 - local.get $2 + local.get $3 i32.load $0 offset=4 - local.set $3 + local.set $2 loop $while-continue|020 local.get $1 local.get $4 i32.lt_s if - local.get $3 + local.get $2 local.get $1 local.tee $0 i32.const 2 @@ -14812,18 +14914,18 @@ i32.const -1 local.set $1 block $~lib/typedarray/INDEX_OF<~lib/typedarray/Uint32Array,u32>|inlined.022 - local.get $2 + local.get $3 i32.load $0 offset=8 i32.const 2 i32.shr_u - local.tee $3 + local.tee $2 + i32.eqz + local.get $2 i32.const -100 i32.le_s - i32.const 1 - local.get $3 - select + i32.or br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Uint32Array,u32>|inlined.022 - local.get $3 + local.get $2 i32.const 100 i32.sub local.tee $1 @@ -14833,12 +14935,12 @@ i32.gt_s select local.set $1 - local.get $2 + local.get $3 i32.load $0 offset=4 local.set $0 loop $while-continue|023 local.get $1 - local.get $3 + local.get $2 i32.lt_s if local.get $0 @@ -14873,14 +14975,14 @@ end i32.const 1 global.set $~argumentsLength - local.get $2 + local.get $3 i32.load $0 offset=8 i32.const 2 i32.shr_u - local.set $3 + local.set $2 block $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Uint32Array,u32>|inlined.0 (result i32) i32.const -1 - local.get $2 + local.get $3 local.tee $1 i32.load $0 offset=8 i32.const 2 @@ -14892,9 +14994,9 @@ local.get $0 i32.const 1 i32.sub - local.get $3 + local.get $2 local.get $0 - local.get $3 + local.get $2 i32.le_s select local.set $0 @@ -14935,14 +15037,14 @@ end i32.const 1 global.set $~argumentsLength - local.get $2 + local.get $3 i32.load $0 offset=8 i32.const 2 i32.shr_u - local.set $3 + local.set $2 block $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Uint32Array,u32>|inlined.05 (result i32) i32.const -1 - local.get $2 + local.get $3 local.tee $1 i32.load $0 offset=8 i32.const 2 @@ -14954,9 +15056,9 @@ local.get $0 i32.const 1 i32.sub - local.get $3 + local.get $2 local.get $0 - local.get $3 + local.get $2 i32.le_s select local.set $0 @@ -15000,14 +15102,14 @@ end i32.const 1 global.set $~argumentsLength - local.get $2 + local.get $3 i32.load $0 offset=8 i32.const 2 i32.shr_u - local.set $3 + local.set $2 block $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Uint32Array,u32>|inlined.011 (result i32) i32.const -1 - local.get $2 + local.get $3 local.tee $1 i32.load $0 offset=8 i32.const 2 @@ -15019,9 +15121,9 @@ local.get $0 i32.const 1 i32.sub - local.get $3 + local.get $2 local.get $0 - local.get $3 + local.get $2 i32.le_s select local.set $0 @@ -15065,14 +15167,14 @@ end i32.const 1 global.set $~argumentsLength - local.get $2 + local.get $3 i32.load $0 offset=8 i32.const 2 i32.shr_u - local.set $3 + local.set $2 block $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Uint32Array,u32>|inlined.017 (result i32) i32.const -1 - local.get $2 + local.get $3 local.tee $1 i32.load $0 offset=8 i32.const 2 @@ -15084,9 +15186,9 @@ local.get $0 i32.const 1 i32.sub - local.get $3 + local.get $2 local.get $0 - local.get $3 + local.get $2 i32.le_s select local.set $0 @@ -15131,7 +15233,7 @@ i32.const -1 local.set $0 block $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Uint32Array,u32>|inlined.019 - local.get $2 + local.get $3 i32.load $0 offset=8 i32.const 2 i32.shr_u @@ -15147,15 +15249,15 @@ i32.le_s select local.set $1 - local.get $2 + local.get $3 i32.load $0 offset=4 - local.set $3 + local.set $2 loop $while-continue|024 local.get $1 i32.const 0 i32.ge_s if - local.get $3 + local.get $2 local.get $1 local.tee $0 i32.const 2 @@ -15189,7 +15291,7 @@ i32.const -1 local.set $0 block $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Uint32Array,u32>|inlined.026 - local.get $2 + local.get $3 i32.load $0 offset=8 i32.const 2 i32.shr_u @@ -15205,15 +15307,15 @@ i32.le_s select local.set $1 - local.get $2 + local.get $3 i32.load $0 offset=4 - local.set $3 + local.set $2 loop $while-continue|027 local.get $1 i32.const 0 i32.ge_s if - local.get $3 + local.get $2 local.get $1 local.tee $0 i32.const 2 @@ -15247,7 +15349,7 @@ i32.const -1 local.set $0 block $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Uint32Array,u32>|inlined.029 - local.get $2 + local.get $3 i32.load $0 offset=8 i32.const 2 i32.shr_u @@ -15263,15 +15365,15 @@ i32.le_s select local.set $1 - local.get $2 + local.get $3 i32.load $0 offset=4 - local.set $3 + local.set $2 loop $while-continue|030 local.get $1 i32.const 0 i32.ge_s if - local.get $3 + local.get $2 local.get $1 local.tee $0 i32.const 2 @@ -15305,7 +15407,7 @@ i32.const -1 local.set $0 block $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Uint32Array,u32>|inlined.032 - local.get $2 + local.get $3 i32.load $0 offset=8 i32.const 2 i32.shr_u @@ -15321,15 +15423,15 @@ i32.le_s select local.set $1 - local.get $2 + local.get $3 i32.load $0 offset=4 - local.set $3 + local.set $2 loop $while-continue|033 local.get $1 i32.const 0 i32.ge_s if - local.get $3 + local.get $2 local.get $1 local.tee $0 i32.const 2 @@ -15363,7 +15465,7 @@ i32.const -1 local.set $1 block $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Uint32Array,u32>|inlined.035 - local.get $2 + local.get $3 i32.load $0 offset=8 i32.const 2 i32.shr_u @@ -15374,7 +15476,7 @@ i32.const 10 i32.sub local.set $1 - local.get $2 + local.get $3 i32.load $0 offset=4 local.set $0 loop $while-continue|036 @@ -15415,7 +15517,7 @@ i32.const -1 local.set $1 block $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Uint32Array,u32>|inlined.038 - local.get $2 + local.get $3 i32.load $0 offset=8 i32.const 2 i32.shr_u @@ -15426,7 +15528,7 @@ i32.const 11 i32.sub local.set $1 - local.get $2 + local.get $3 i32.load $0 offset=4 local.set $0 loop $while-continue|039 @@ -15465,7 +15567,7 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $2 + local.get $3 i32.const 9 call $~lib/typedarray/Uint32Array#subarray local.tee $4 @@ -15479,18 +15581,21 @@ i32.load $0 offset=8 i32.const 2 i32.shr_u - local.tee $3 + 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 $2 + local.set $3 loop $while-continue|042 local.get $1 - local.get $3 + local.get $2 i32.lt_s if - local.get $2 + local.get $3 local.get $1 local.tee $0 i32.const 2 @@ -15530,18 +15635,21 @@ i32.load $0 offset=8 i32.const 2 i32.shr_u - local.tee $3 + 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 $2 + local.set $3 loop $while-continue|045 local.get $1 - local.get $3 + local.get $2 i32.lt_s if - local.get $2 + local.get $3 local.get $1 local.tee $0 i32.const 2 @@ -15579,18 +15687,21 @@ i32.load $0 offset=8 i32.const 2 i32.shr_u - local.tee $3 + 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 $2 + local.set $3 loop $while-continue|048 local.get $1 - local.get $3 + local.get $2 i32.lt_s if - local.get $2 + local.get $3 local.get $1 local.tee $0 i32.const 2 @@ -15630,18 +15741,21 @@ i32.load $0 offset=8 i32.const 2 i32.shr_u - local.tee $3 + 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 $2 + local.set $3 loop $while-continue|051 local.get $1 - local.get $3 + local.get $2 i32.lt_s if - local.get $2 + local.get $3 local.get $1 local.tee $0 i32.const 2 @@ -15681,18 +15795,21 @@ i32.load $0 offset=8 i32.const 2 i32.shr_u - local.tee $3 + 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 $2 + local.set $3 loop $while-continue|054 local.get $1 - local.get $3 + local.get $2 i32.lt_s if - local.get $2 + local.get $3 local.get $1 local.tee $0 i32.const 2 @@ -15732,18 +15849,21 @@ i32.load $0 offset=8 i32.const 2 i32.shr_u - local.tee $3 + 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 $2 + local.set $3 loop $while-continue|057 local.get $1 - local.get $3 + local.get $2 i32.lt_s if - local.get $2 + local.get $3 local.get $1 local.tee $0 i32.const 2 @@ -15783,22 +15903,22 @@ i32.load $0 offset=8 i32.const 2 i32.shr_u - local.tee $3 + local.tee $2 + i32.eqz + local.get $2 i32.const 1 i32.le_u - i32.const 1 - local.get $3 - select + i32.or br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Uint32Array,u32>|inlined.059 local.get $4 i32.load $0 offset=4 - local.set $2 + local.set $3 loop $while-continue|060 local.get $1 - local.get $3 + local.get $2 i32.lt_s if - local.get $2 + local.get $3 local.get $1 local.tee $0 i32.const 2 @@ -15838,22 +15958,22 @@ i32.load $0 offset=8 i32.const 2 i32.shr_u - local.tee $3 + local.tee $2 + i32.eqz + local.get $2 i32.const 2 - i32.le_u - i32.const 1 - local.get $3 - select + 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 $2 + local.set $3 loop $while-continue|063 local.get $1 - local.get $3 + local.get $2 i32.lt_s if - local.get $2 + local.get $3 local.get $1 local.tee $0 i32.const 2 @@ -16155,11 +16275,11 @@ i32.const 3 i32.shr_u local.tee $4 + i32.eqz + local.get $4 i32.const 2 i32.le_u - i32.const 1 - local.get $4 - select + i32.or br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Int64Array,i64>|inlined.010 local.get $2 i32.load $0 offset=4 @@ -16210,11 +16330,11 @@ i32.const 3 i32.shr_u local.tee $4 + i32.eqz + local.get $4 i32.const 3 i32.le_u - i32.const 1 - local.get $4 - select + i32.or br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Int64Array,i64>|inlined.013 local.get $2 i32.load $0 offset=4 @@ -16265,11 +16385,11 @@ i32.const 3 i32.shr_u local.tee $4 + i32.eqz + local.get $4 i32.const 4 i32.le_u - i32.const 1 - local.get $4 - select + i32.or br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Int64Array,i64>|inlined.016 local.get $2 i32.load $0 offset=4 @@ -16320,11 +16440,11 @@ i32.const 3 i32.shr_u local.tee $4 + i32.eqz + local.get $4 i32.const 10 i32.le_u - i32.const 1 - local.get $4 - select + i32.or br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Int64Array,i64>|inlined.019 local.get $2 i32.load $0 offset=4 @@ -16373,11 +16493,11 @@ i32.const 3 i32.shr_u local.tee $3 + i32.eqz + local.get $3 i32.const -100 i32.le_s - i32.const 1 - local.get $3 - select + i32.or br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Int64Array,i64>|inlined.022 local.get $3 i32.const 100 @@ -17347,11 +17467,11 @@ i32.const 3 i32.shr_u local.tee $3 + i32.eqz + local.get $3 i32.const 1 i32.le_u - i32.const 1 - local.get $3 - select + i32.or br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Int64Array,i64>|inlined.059 local.get $4 i32.load $0 offset=4 @@ -17402,11 +17522,11 @@ i32.const 3 i32.shr_u local.tee $3 + i32.eqz + local.get $3 i32.const 2 i32.le_u - i32.const 1 - local.get $3 - select + i32.or br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Int64Array,i64>|inlined.062 local.get $4 i32.load $0 offset=4 @@ -17718,11 +17838,11 @@ i32.const 3 i32.shr_u local.tee $4 + i32.eqz + local.get $4 i32.const 2 i32.le_u - i32.const 1 - local.get $4 - select + i32.or br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Uint64Array,u64>|inlined.010 local.get $2 i32.load $0 offset=4 @@ -17773,11 +17893,11 @@ i32.const 3 i32.shr_u local.tee $4 + i32.eqz + local.get $4 i32.const 3 i32.le_u - i32.const 1 - local.get $4 - select + i32.or br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Uint64Array,u64>|inlined.013 local.get $2 i32.load $0 offset=4 @@ -17828,11 +17948,11 @@ i32.const 3 i32.shr_u local.tee $4 + i32.eqz + local.get $4 i32.const 4 i32.le_u - i32.const 1 - local.get $4 - select + i32.or br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Uint64Array,u64>|inlined.016 local.get $2 i32.load $0 offset=4 @@ -17883,11 +18003,11 @@ i32.const 3 i32.shr_u local.tee $4 + i32.eqz + local.get $4 i32.const 10 i32.le_u - i32.const 1 - local.get $4 - select + i32.or br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Uint64Array,u64>|inlined.019 local.get $2 i32.load $0 offset=4 @@ -17936,11 +18056,11 @@ i32.const 3 i32.shr_u local.tee $3 + i32.eqz + local.get $3 i32.const -100 i32.le_s - i32.const 1 - local.get $3 - select + i32.or br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Uint64Array,u64>|inlined.022 local.get $3 i32.const 100 @@ -18910,11 +19030,11 @@ i32.const 3 i32.shr_u local.tee $3 + i32.eqz + local.get $3 i32.const 1 i32.le_u - i32.const 1 - local.get $3 - select + i32.or br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Uint64Array,u64>|inlined.059 local.get $4 i32.load $0 offset=4 @@ -18965,11 +19085,11 @@ i32.const 3 i32.shr_u local.tee $3 + i32.eqz + local.get $3 i32.const 2 i32.le_u - i32.const 1 - local.get $3 - select + i32.or br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Uint64Array,u64>|inlined.062 local.get $4 i32.load $0 offset=4 @@ -19282,11 +19402,11 @@ i32.const 2 i32.shr_u local.tee $4 + i32.eqz + local.get $4 i32.const 2 i32.le_u - i32.const 1 - local.get $4 - select + i32.or br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Float32Array,f32>|inlined.010 local.get $2 i32.load $0 offset=4 @@ -19337,11 +19457,11 @@ i32.const 2 i32.shr_u local.tee $4 + i32.eqz + local.get $4 i32.const 3 i32.le_u - i32.const 1 - local.get $4 - select + i32.or br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Float32Array,f32>|inlined.013 local.get $2 i32.load $0 offset=4 @@ -19392,11 +19512,11 @@ i32.const 2 i32.shr_u local.tee $4 + i32.eqz + local.get $4 i32.const 4 i32.le_u - i32.const 1 - local.get $4 - select + i32.or br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Float32Array,f32>|inlined.016 local.get $2 i32.load $0 offset=4 @@ -19447,11 +19567,11 @@ i32.const 2 i32.shr_u local.tee $4 + i32.eqz + local.get $4 i32.const 10 i32.le_u - i32.const 1 - local.get $4 - select + i32.or br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Float32Array,f32>|inlined.019 local.get $2 i32.load $0 offset=4 @@ -19500,11 +19620,11 @@ i32.const 2 i32.shr_u local.tee $3 + i32.eqz + local.get $3 i32.const -100 i32.le_s - i32.const 1 - local.get $3 - select + i32.or br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Float32Array,f32>|inlined.022 local.get $3 i32.const 100 @@ -20475,11 +20595,11 @@ i32.const 2 i32.shr_u local.tee $3 + i32.eqz + local.get $3 i32.const 1 i32.le_u - i32.const 1 - local.get $3 - select + i32.or br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Float32Array,f32>|inlined.059 local.get $4 i32.load $0 offset=4 @@ -20530,11 +20650,11 @@ i32.const 2 i32.shr_u local.tee $3 + i32.eqz + local.get $3 i32.const 2 i32.le_u - i32.const 1 - local.get $3 - select + i32.or br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Float32Array,f32>|inlined.062 local.get $4 i32.load $0 offset=4 @@ -20847,11 +20967,11 @@ i32.const 3 i32.shr_u local.tee $4 + i32.eqz + local.get $4 i32.const 2 i32.le_u - i32.const 1 - local.get $4 - select + i32.or br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Float64Array,f64>|inlined.010 local.get $2 i32.load $0 offset=4 @@ -20902,11 +21022,11 @@ i32.const 3 i32.shr_u local.tee $4 + i32.eqz + local.get $4 i32.const 3 i32.le_u - i32.const 1 - local.get $4 - select + i32.or br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Float64Array,f64>|inlined.013 local.get $2 i32.load $0 offset=4 @@ -20957,11 +21077,11 @@ i32.const 3 i32.shr_u local.tee $4 + i32.eqz + local.get $4 i32.const 4 i32.le_u - i32.const 1 - local.get $4 - select + i32.or br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Float64Array,f64>|inlined.016 local.get $2 i32.load $0 offset=4 @@ -21012,11 +21132,11 @@ i32.const 3 i32.shr_u local.tee $4 + i32.eqz + local.get $4 i32.const 10 i32.le_u - i32.const 1 - local.get $4 - select + i32.or br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Float64Array,f64>|inlined.019 local.get $2 i32.load $0 offset=4 @@ -21065,11 +21185,11 @@ i32.const 3 i32.shr_u local.tee $3 + i32.eqz + local.get $3 i32.const -100 i32.le_s - i32.const 1 - local.get $3 - select + i32.or br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Float64Array,f64>|inlined.022 local.get $3 i32.const 100 @@ -22041,11 +22161,11 @@ i32.const 3 i32.shr_u local.tee $3 + i32.eqz + local.get $3 i32.const 1 i32.le_u - i32.const 1 - local.get $3 - select + i32.or br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Float64Array,f64>|inlined.059 local.get $4 i32.load $0 offset=4 @@ -22096,11 +22216,11 @@ i32.const 3 i32.shr_u local.tee $3 + i32.eqz + local.get $3 i32.const 2 i32.le_u - i32.const 1 - local.get $3 - select + i32.or br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Float64Array,f64>|inlined.062 local.get $4 i32.load $0 offset=4 @@ -22529,10 +22649,10 @@ return end local.get $1 - i32.const 0 + i32.eqz local.get $0 - select i32.eqz + i32.or if i32.const 0 return @@ -57468,6 +57588,10 @@ i32.shr_u local.tee $3 i32.eqz + local.get $3 + i32.const 0 + i32.le_s + i32.or br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Float64Array,f64>|inlined.0 local.get $2 i32.load $0 offset=4 @@ -57518,6 +57642,9 @@ i32.shr_u local.tee $0 i32.eqz + local.get $0 + i32.eqz + i32.or br_if $~lib/typedarray/INCLUDES<~lib/typedarray/Float64Array,f64>|inlined.0 drop local.get $2 @@ -57582,6 +57709,10 @@ i32.shr_u local.tee $3 i32.eqz + local.get $3 + i32.const 0 + i32.le_s + i32.or br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Float32Array,f32>|inlined.0 local.get $1 i32.load $0 offset=4 @@ -57632,6 +57763,9 @@ i32.shr_u local.tee $0 i32.eqz + local.get $0 + i32.eqz + i32.or br_if $~lib/typedarray/INCLUDES<~lib/typedarray/Float32Array,f32>|inlined.0 drop local.get $1 @@ -64221,14 +64355,14 @@ i32.const 7776 return end - i32.const 0 + local.get $3 + i32.eqz local.get $4 local.get $1 i32.const 1 i32.shl i32.eq - local.get $3 - select + i32.and if global.get $~lib/memory/__stack_pointer i32.const 4 diff --git a/tests/compiler/std/uri.release.wat b/tests/compiler/std/uri.release.wat index 3ffdde646d..af8ad57fa6 100644 --- a/tests/compiler/std/uri.release.wat +++ b/tests/compiler/std/uri.release.wat @@ -1988,10 +1988,10 @@ return end local.get $1 - i32.const 0 + i32.eqz local.get $0 - select i32.eqz + i32.or if i32.const 0 return @@ -4173,13 +4173,13 @@ local.tee $0 i32.eqz if - i32.const 0 + local.get $1 + i32.load $0 offset=8 + i32.eqz local.get $1 i32.const 20748 i32.lt_u - local.get $1 - i32.load $0 offset=8 - select + i32.and i32.eqz if i32.const 0 diff --git a/tests/compiler/super-inline.release.wat b/tests/compiler/super-inline.release.wat index 036991b746..dd37c94498 100644 --- a/tests/compiler/super-inline.release.wat +++ b/tests/compiler/super-inline.release.wat @@ -1452,13 +1452,13 @@ local.tee $0 i32.eqz if - i32.const 0 + local.get $1 + i32.load $0 offset=8 + i32.eqz local.get $1 i32.const 17868 i32.lt_u - local.get $1 - i32.load $0 offset=8 - select + i32.and i32.eqz if i32.const 0 diff --git a/tests/compiler/templateliteral.release.wat b/tests/compiler/templateliteral.release.wat index 47e6208f93..431cb6b068 100644 --- a/tests/compiler/templateliteral.release.wat +++ b/tests/compiler/templateliteral.release.wat @@ -144,10 +144,10 @@ return end local.get $1 - i32.const 0 + i32.eqz local.get $0 - select i32.eqz + i32.or if i32.const 0 return @@ -328,13 +328,13 @@ local.tee $1 i32.eqz if - i32.const 0 + local.get $0 + i32.load $0 offset=8 + i32.eqz local.get $0 i32.const 22100 i32.lt_u - local.get $0 - i32.load $0 offset=8 - select + i32.and i32.eqz if i32.const 0 diff --git a/tests/compiler/throw.release.wat b/tests/compiler/throw.release.wat index e56b2a8b46..fa957b8313 100644 --- a/tests/compiler/throw.release.wat +++ b/tests/compiler/throw.release.wat @@ -1146,13 +1146,13 @@ local.tee $0 i32.eqz if - i32.const 0 + local.get $1 + i32.load $0 offset=8 + i32.eqz local.get $1 i32.const 18140 i32.lt_u - local.get $1 - i32.load $0 offset=8 - select + i32.and i32.eqz if i32.const 0 diff --git a/tests/compiler/typeof.release.wat b/tests/compiler/typeof.release.wat index b9a41ce8d0..7114990554 100644 --- a/tests/compiler/typeof.release.wat +++ b/tests/compiler/typeof.release.wat @@ -67,10 +67,10 @@ return end local.get $1 - i32.const 0 + i32.eqz local.get $0 - select i32.eqz + i32.or if i32.const 0 return @@ -1992,13 +1992,13 @@ local.tee $0 i32.eqz if - i32.const 0 + local.get $1 + i32.load $0 offset=8 + i32.eqz local.get $1 i32.const 18220 i32.lt_u - local.get $1 - i32.load $0 offset=8 - select + i32.and i32.eqz if i32.const 0 diff --git a/tests/compiler/while.release.wat b/tests/compiler/while.release.wat index 6abaed09f7..e89c5fa407 100644 --- a/tests/compiler/while.release.wat +++ b/tests/compiler/while.release.wat @@ -1844,13 +1844,13 @@ local.tee $0 i32.eqz if - i32.const 0 + local.get $1 + i32.load $0 offset=8 + i32.eqz local.get $1 i32.const 17908 i32.lt_u - local.get $1 - i32.load $0 offset=8 - select + i32.and i32.eqz if i32.const 0 From 2d517329ed005e22e845ee34346675be0decdee2 Mon Sep 17 00:00:00 2001 From: MaxGraey Date: Tue, 30 Aug 2022 08:13:55 +0300 Subject: [PATCH 4/5] add ExternInternalize & ExternExternalize stubs --- src/module.ts | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/src/module.ts b/src/module.ts index 9a4f079786..2a10dced80 100644 --- a/src/module.ts +++ b/src/module.ts @@ -1082,7 +1082,11 @@ export const enum RefAsOp { /** ref.as_data */ Data = 2 /* _BinaryenRefAsData */, /** ref.as_i31 */ - I31 = 3 /* _BinaryenRefAsI31 */ + I31 = 3 /* _BinaryenRefAsI31 */, + /** extern.internalize */ + ExternInternalize = 4 /* TODO_BinaryenExternInternalize */, + /** extern.externalize */ + ExternExternalize = 5 /* TODO_BinaryenExternExternalize */ } /** Binaryen BrOn operation constants. */ From 165f1f1e0d6a0b6d4e786a626d23c84ce06e9601 Mon Sep 17 00:00:00 2001 From: MaxGraey Date: Wed, 31 Aug 2022 05:58:08 +0300 Subject: [PATCH 5/5] enable import-memory test --- package-lock.json | 14 +++++------ package.json | 2 +- tests/compiler/import-memory.debug.wat | 30 ++++++++++++++++++++---- tests/compiler/import-memory.json | 2 +- tests/compiler/import-memory.release.wat | 19 ++++++++++++++- tests/compiler/import-memory.ts | 2 +- 6 files changed, 54 insertions(+), 15 deletions(-) diff --git a/package-lock.json b/package-lock.json index ff50d48d06..d8d1af771a 100644 --- a/package-lock.json +++ b/package-lock.json @@ -9,7 +9,7 @@ "version": "0.0.0", "license": "Apache-2.0", "dependencies": { - "binaryen": "109.0.0-nightly.20220830", + "binaryen": "109.0.0-nightly.20220831", "long": "^5.2.0" }, "bin": { @@ -398,9 +398,9 @@ "dev": true }, "node_modules/binaryen": { - "version": "109.0.0-nightly.20220830", - "resolved": "https://registry.npmjs.org/binaryen/-/binaryen-109.0.0-nightly.20220830.tgz", - "integrity": "sha512-eP3FuC9iFJmbK2QdAV0vsDU3VTjd67FxiUn8/Z99CvQRDvkNhH4J9fSVs8RAkfyeDuDvgaM63iqfIVR7GlUGDw==", + "version": "109.0.0-nightly.20220831", + "resolved": "https://registry.npmjs.org/binaryen/-/binaryen-109.0.0-nightly.20220831.tgz", + "integrity": "sha512-fy3zefoIq9tsZ00wlk2VcyYnJg2WQXi4IPH9LddUcFpxQXagzMvijkgCUX37MhmTP48WdLJ5jpZ9h/58HijovA==", "bin": { "wasm-opt": "bin/wasm-opt", "wasm2js": "bin/wasm2js" @@ -2117,9 +2117,9 @@ "dev": true }, "binaryen": { - "version": "109.0.0-nightly.20220830", - "resolved": "https://registry.npmjs.org/binaryen/-/binaryen-109.0.0-nightly.20220830.tgz", - "integrity": "sha512-eP3FuC9iFJmbK2QdAV0vsDU3VTjd67FxiUn8/Z99CvQRDvkNhH4J9fSVs8RAkfyeDuDvgaM63iqfIVR7GlUGDw==" + "version": "109.0.0-nightly.20220831", + "resolved": "https://registry.npmjs.org/binaryen/-/binaryen-109.0.0-nightly.20220831.tgz", + "integrity": "sha512-fy3zefoIq9tsZ00wlk2VcyYnJg2WQXi4IPH9LddUcFpxQXagzMvijkgCUX37MhmTP48WdLJ5jpZ9h/58HijovA==" }, "brace-expansion": { "version": "1.1.11", diff --git a/package.json b/package.json index 544fd31461..bc3bd45d64 100644 --- a/package.json +++ b/package.json @@ -25,7 +25,7 @@ }, "engineStrict": true, "dependencies": { - "binaryen": "109.0.0-nightly.20220830", + "binaryen": "109.0.0-nightly.20220831", "long": "^5.2.0" }, "devDependencies": { diff --git a/tests/compiler/import-memory.debug.wat b/tests/compiler/import-memory.debug.wat index f779262355..7470e782b8 100644 --- a/tests/compiler/import-memory.debug.wat +++ b/tests/compiler/import-memory.debug.wat @@ -1,9 +1,31 @@ (module - (global $~lib/memory/__data_end i32 (i32.const 8)) - (global $~lib/memory/__stack_pointer (mut i32) (i32.const 16392)) - (global $~lib/memory/__heap_base i32 (i32.const 16392)) - (memory $0 0) + (type $none_=>_none (func)) + (type $i32_i32_i32_i32_=>_none (func (param i32 i32 i32 i32))) + (import "env" "memory" (memory $0 1)) + (import "env" "abort" (func $~lib/builtins/abort (param i32 i32 i32 i32))) + (global $~lib/memory/__data_end i32 (i32.const 76)) + (global $~lib/memory/__stack_pointer (mut i32) (i32.const 16460)) + (global $~lib/memory/__heap_base i32 (i32.const 16460)) + (data (i32.const 12) "<\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00 \00\00\00i\00m\00p\00o\00r\00t\00-\00m\00e\00m\00o\00r\00y\00.\00t\00s\00\00\00\00\00\00\00\00\00\00\00\00\00") (table $0 1 1 funcref) (elem $0 (i32.const 1)) (export "memory" (memory $0)) + (start $~start) + (func $start:import-memory + memory.size $0 + i32.const 0 + i32.ne + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 1 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + ) + (func $~start + call $start:import-memory + ) ) diff --git a/tests/compiler/import-memory.json b/tests/compiler/import-memory.json index fe1be1e041..66be819572 100644 --- a/tests/compiler/import-memory.json +++ b/tests/compiler/import-memory.json @@ -1,5 +1,5 @@ { - "todo_asc_flags": [ + "asc_flags": [ "--importMemory" ] } diff --git a/tests/compiler/import-memory.release.wat b/tests/compiler/import-memory.release.wat index 23da3862e2..b01fc86337 100644 --- a/tests/compiler/import-memory.release.wat +++ b/tests/compiler/import-memory.release.wat @@ -1,4 +1,21 @@ (module - (memory $0 0) + (type $i32_i32_i32_i32_=>_none (func (param i32 i32 i32 i32))) + (type $none_=>_none (func)) + (import "env" "memory" (memory $0 1)) + (import "env" "abort" (func $~lib/builtins/abort (param i32 i32 i32 i32))) + (data (i32.const 1036) "<\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00 \00\00\00i\00m\00p\00o\00r\00t\00-\00m\00e\00m\00o\00r\00y\00.\00t\00s\00\00\00\00\00\00\00\00\00\00\00\00\00") (export "memory" (memory $0)) + (start $~start) + (func $~start + memory.size $0 + i32.eqz + if + i32.const 0 + i32.const 1056 + i32.const 1 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + ) ) diff --git a/tests/compiler/import-memory.ts b/tests/compiler/import-memory.ts index 6803b04bf0..0d6ba2933a 100644 --- a/tests/compiler/import-memory.ts +++ b/tests/compiler/import-memory.ts @@ -1 +1 @@ -// assert(memory.size() == 0); +assert(memory.size() != 0);