diff --git a/cli/asc.d.ts b/cli/asc.d.ts index 0fcc0a7524..3887d60105 100644 --- a/cli/asc.d.ts +++ b/cli/asc.d.ts @@ -139,6 +139,8 @@ export interface CompilerOptions { maximumMemory?: number; /** Declare memory as shared. Requires maximumMemory. */ sharedMemory?: boolean; + /** Assume that imported memory is zero filled. Requires importMemory. */ + zeroFilledMemory?: boolean; /** Sets the start offset of compiler-generated static memory. */ memoryBase?: number; /** Imports the function table provided as 'env.table'. */ diff --git a/cli/asc.js b/cli/asc.js index 095bad76a2..f1dfc427f3 100644 --- a/cli/asc.js +++ b/cli/asc.js @@ -943,6 +943,10 @@ exports.main = function main(argv, options, callback) { // Optimize the module const debugInfo = opts.debug; const converge = opts.converge; + const zeroFilledMemory = opts.importMemory + ? opts.zeroFilledMemory + : false; + const runPasses = []; if (opts.runPasses) { if (typeof opts.runPasses === "string") { @@ -960,7 +964,7 @@ exports.main = function main(argv, options, callback) { stats.optimizeTime += measure(() => { stats.optimizeCount++; try { - module.optimize(optimizeLevel, shrinkLevel, debugInfo); + module.optimize(optimizeLevel, shrinkLevel, debugInfo, zeroFilledMemory); } catch (e) { crash("optimize", e); } @@ -979,7 +983,7 @@ exports.main = function main(argv, options, callback) { do { stats.optimizeCount++; try { - module.optimize(optimizeLevel, shrinkLevel, debugInfo); + module.optimize(optimizeLevel, shrinkLevel, debugInfo, zeroFilledMemory); } catch (e) { crash("optimize (converge)", e); } diff --git a/cli/asc.json b/cli/asc.json index 6e97f32ff3..e8b049cf63 100644 --- a/cli/asc.json +++ b/cli/asc.json @@ -156,6 +156,12 @@ "type": "b", "default": false }, + "zeroFilledMemory": { + "category": "Features", + "description": "Assume that imported memory is zero filled. Requires importMemory.", + "type": "b", + "default": false + }, "importTable": { "category": "Features", "description": "Imports the function table from 'env.table'.", diff --git a/package-lock.json b/package-lock.json index 403438e4fe..95336101b3 100644 --- a/package-lock.json +++ b/package-lock.json @@ -8,7 +8,7 @@ "version": "0.0.0", "license": "Apache-2.0", "dependencies": { - "binaryen": "101.0.0-nightly.20210723", + "binaryen": "101.0.0-nightly.20210904", "long": "^4.0.0", "source-map-support": "^0.5.19", "ts-node": "^6.2.0" @@ -712,6 +712,7 @@ "version": "1.0.1", "resolved": "https://registry.npmjs.org/arrify/-/arrify-1.0.1.tgz", "integrity": "sha1-iYUI2iIm84DfkEcoRWhJwVAaSw0=", + "dev": true, "engines": { "node": ">=0.10.0" } @@ -732,9 +733,9 @@ "dev": true }, "node_modules/binaryen": { - "version": "101.0.0-nightly.20210723", - "resolved": "https://registry.npmjs.org/binaryen/-/binaryen-101.0.0-nightly.20210723.tgz", - "integrity": "sha512-eioJNqhHlkguVSbblHOtLqlhtC882SOEPKmNFZaDuz1hzQjolxZ+eu3/kaS10n3sGPONsIZsO7R9fR00UyhEUA==", + "version": "101.0.0-nightly.20210904", + "resolved": "https://registry.npmjs.org/binaryen/-/binaryen-101.0.0-nightly.20210904.tgz", + "integrity": "sha512-2AvJhErttuoMvgNcYPPpPy7C12PSvDdtZWtEeX/Otm/Vtf4ePvBpT3UIA00hGAh8HNaGr+dzFNstxTUvjNwZTg==", "bin": { "wasm-opt": "bin/wasm-opt" } @@ -787,7 +788,8 @@ "node_modules/buffer-from": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.1.tgz", - "integrity": "sha512-MQcXEUbCKtEo7bhqEs6560Hyd4XaovZlO/k9V3hjVUF/zwW7KBVdSK4gIt/bzwS9MbR5qob+F5jusZsb0YQK2A==" + "integrity": "sha512-MQcXEUbCKtEo7bhqEs6560Hyd4XaovZlO/k9V3hjVUF/zwW7KBVdSK4gIt/bzwS9MbR5qob+F5jusZsb0YQK2A==", + "dev": true }, "node_modules/callsites": { "version": "3.1.0", @@ -1813,7 +1815,8 @@ "node_modules/make-error": { "version": "1.3.6", "resolved": "https://registry.npmjs.org/make-error/-/make-error-1.3.6.tgz", - "integrity": "sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw==" + "integrity": "sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw==", + "dev": true }, "node_modules/merge-stream": { "version": "2.0.0", @@ -1888,12 +1891,14 @@ "node_modules/minimist": { "version": "1.2.5", "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.5.tgz", - "integrity": "sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==" + "integrity": "sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==", + "dev": true }, "node_modules/mkdirp": { "version": "0.5.5", "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.5.tgz", "integrity": "sha512-NKmAlESf6jMGym1++R0Ra7wvhV+wFW63FaSOFPwRahvea0gMUcGUhVeAg/0BC0wiv9ih5NYPB1Wn1UEI1/L+xQ==", + "dev": true, "dependencies": { "minimist": "^1.2.5" }, @@ -2430,6 +2435,7 @@ "version": "0.6.1", "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true, "engines": { "node": ">=0.10.0" } @@ -2438,6 +2444,7 @@ "version": "0.5.19", "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.19.tgz", "integrity": "sha512-Wonm7zOCIJzBGQdB+thsPar0kYuCIzYvxZwlBa87yi/Mdjv7Tip2cyVbLj5o0cFPN4EVkuTwb3GDDyUx2DGnGw==", + "dev": true, "dependencies": { "buffer-from": "^1.0.0", "source-map": "^0.6.0" @@ -2647,6 +2654,7 @@ "version": "6.2.0", "resolved": "https://registry.npmjs.org/ts-node/-/ts-node-6.2.0.tgz", "integrity": "sha512-ZNT+OEGfUNVMGkpIaDJJ44Zq3Yr0bkU/ugN1PHbU+/01Z7UV1fsELRiTx1KuQNvQ1A3pGh3y25iYF6jXgxV21A==", + "dev": true, "dependencies": { "arrify": "^1.0.0", "buffer-from": "^1.1.0", @@ -2668,6 +2676,7 @@ "version": "3.5.0", "resolved": "https://registry.npmjs.org/diff/-/diff-3.5.0.tgz", "integrity": "sha512-A46qtFgd+g7pDZinpnwiRJtxbC1hpgf0uzP3iG89scHk0AUC7A1TGxf5OiiOUv/JMZR8GOt8hL900hV0bOy5xA==", + "dev": true, "engines": { "node": ">=0.3.1" } @@ -2941,6 +2950,7 @@ "version": "2.0.0", "resolved": "https://registry.npmjs.org/yn/-/yn-2.0.0.tgz", "integrity": "sha1-5a2ryKz0CPY4X8dklWhMiOavaJo=", + "dev": true, "engines": { "node": ">=4" } @@ -3482,7 +3492,8 @@ "arrify": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/arrify/-/arrify-1.0.1.tgz", - "integrity": "sha1-iYUI2iIm84DfkEcoRWhJwVAaSw0=" + "integrity": "sha1-iYUI2iIm84DfkEcoRWhJwVAaSw0=", + "dev": true }, "astral-regex": { "version": "2.0.0", @@ -3497,9 +3508,9 @@ "dev": true }, "binaryen": { - "version": "101.0.0-nightly.20210723", - "resolved": "https://registry.npmjs.org/binaryen/-/binaryen-101.0.0-nightly.20210723.tgz", - "integrity": "sha512-eioJNqhHlkguVSbblHOtLqlhtC882SOEPKmNFZaDuz1hzQjolxZ+eu3/kaS10n3sGPONsIZsO7R9fR00UyhEUA==" + "version": "101.0.0-nightly.20210904", + "resolved": "https://registry.npmjs.org/binaryen/-/binaryen-101.0.0-nightly.20210904.tgz", + "integrity": "sha512-2AvJhErttuoMvgNcYPPpPy7C12PSvDdtZWtEeX/Otm/Vtf4ePvBpT3UIA00hGAh8HNaGr+dzFNstxTUvjNwZTg==" }, "brace-expansion": { "version": "1.1.11", @@ -3536,7 +3547,8 @@ "buffer-from": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.1.tgz", - "integrity": "sha512-MQcXEUbCKtEo7bhqEs6560Hyd4XaovZlO/k9V3hjVUF/zwW7KBVdSK4gIt/bzwS9MbR5qob+F5jusZsb0YQK2A==" + "integrity": "sha512-MQcXEUbCKtEo7bhqEs6560Hyd4XaovZlO/k9V3hjVUF/zwW7KBVdSK4gIt/bzwS9MbR5qob+F5jusZsb0YQK2A==", + "dev": true }, "callsites": { "version": "3.1.0", @@ -4325,7 +4337,8 @@ "make-error": { "version": "1.3.6", "resolved": "https://registry.npmjs.org/make-error/-/make-error-1.3.6.tgz", - "integrity": "sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw==" + "integrity": "sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw==", + "dev": true }, "merge-stream": { "version": "2.0.0", @@ -4382,12 +4395,14 @@ "minimist": { "version": "1.2.5", "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.5.tgz", - "integrity": "sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==" + "integrity": "sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==", + "dev": true }, "mkdirp": { "version": "0.5.5", "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.5.tgz", "integrity": "sha512-NKmAlESf6jMGym1++R0Ra7wvhV+wFW63FaSOFPwRahvea0gMUcGUhVeAg/0BC0wiv9ih5NYPB1Wn1UEI1/L+xQ==", + "dev": true, "requires": { "minimist": "^1.2.5" } @@ -4754,12 +4769,14 @@ "source-map": { "version": "0.6.1", "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==" + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true }, "source-map-support": { "version": "0.5.19", "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.19.tgz", "integrity": "sha512-Wonm7zOCIJzBGQdB+thsPar0kYuCIzYvxZwlBa87yi/Mdjv7Tip2cyVbLj5o0cFPN4EVkuTwb3GDDyUx2DGnGw==", + "dev": true, "requires": { "buffer-from": "^1.0.0", "source-map": "^0.6.0" @@ -4916,6 +4933,7 @@ "version": "6.2.0", "resolved": "https://registry.npmjs.org/ts-node/-/ts-node-6.2.0.tgz", "integrity": "sha512-ZNT+OEGfUNVMGkpIaDJJ44Zq3Yr0bkU/ugN1PHbU+/01Z7UV1fsELRiTx1KuQNvQ1A3pGh3y25iYF6jXgxV21A==", + "dev": true, "requires": { "arrify": "^1.0.0", "buffer-from": "^1.1.0", @@ -4930,7 +4948,8 @@ "diff": { "version": "3.5.0", "resolved": "https://registry.npmjs.org/diff/-/diff-3.5.0.tgz", - "integrity": "sha512-A46qtFgd+g7pDZinpnwiRJtxbC1hpgf0uzP3iG89scHk0AUC7A1TGxf5OiiOUv/JMZR8GOt8hL900hV0bOy5xA==" + "integrity": "sha512-A46qtFgd+g7pDZinpnwiRJtxbC1hpgf0uzP3iG89scHk0AUC7A1TGxf5OiiOUv/JMZR8GOt8hL900hV0bOy5xA==", + "dev": true } } }, @@ -5119,7 +5138,8 @@ "yn": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/yn/-/yn-2.0.0.tgz", - "integrity": "sha1-5a2ryKz0CPY4X8dklWhMiOavaJo=" + "integrity": "sha1-5a2ryKz0CPY4X8dklWhMiOavaJo=", + "dev": true }, "yocto-queue": { "version": "0.1.0", diff --git a/package.json b/package.json index 3567e682e3..194579b8bf 100644 --- a/package.json +++ b/package.json @@ -21,7 +21,7 @@ "url": "https://github.com/AssemblyScript/assemblyscript/issues" }, "dependencies": { - "binaryen": "101.0.0-nightly.20210723", + "binaryen": "101.0.0-nightly.20210904", "long": "^4.0.0", "source-map-support": "^0.5.19", "ts-node": "^6.2.0" diff --git a/src/compiler.ts b/src/compiler.ts index 9d9464ea14..4300cbb34a 100644 --- a/src/compiler.ts +++ b/src/compiler.ts @@ -225,6 +225,8 @@ export class Options { maximumMemory: u32 = 0; /** If true, memory is declared as shared. */ sharedMemory: bool = false; + /** If true, imported memory is zero filled. */ + zeroFilledMemory: bool = false; /** If true, imports the function table provided by the embedder. */ importTable: bool = false; /** If true, exports the function table. */ @@ -425,9 +427,9 @@ export class Compiler extends DiagnosticEmitter { var featureFlags: FeatureFlags = 0; if (options.hasFeature(Feature.SIGN_EXTENSION)) featureFlags |= FeatureFlags.SignExt; if (options.hasFeature(Feature.MUTABLE_GLOBALS)) featureFlags |= FeatureFlags.MutableGloabls; - if (options.hasFeature(Feature.NONTRAPPING_F2I)) featureFlags |= FeatureFlags.NontrappingFPToInt; + if (options.hasFeature(Feature.NONTRAPPING_F2I)) featureFlags |= FeatureFlags.TruncSat; if (options.hasFeature(Feature.BULK_MEMORY)) featureFlags |= FeatureFlags.BulkMemory; - if (options.hasFeature(Feature.SIMD)) featureFlags |= FeatureFlags.SIMD128; + if (options.hasFeature(Feature.SIMD)) featureFlags |= FeatureFlags.SIMD; if (options.hasFeature(Feature.THREADS)) featureFlags |= FeatureFlags.Atomics; if (options.hasFeature(Feature.EXCEPTION_HANDLING)) featureFlags |= FeatureFlags.ExceptionHandling; if (options.hasFeature(Feature.TAIL_CALLS)) featureFlags |= FeatureFlags.TailCall; @@ -7232,7 +7234,7 @@ export class Compiler extends DiagnosticEmitter { // We know the last operand is optional and omitted, so inject setting // ~argumentsLength into that operand, which is always safe. let lastOperand = operands[maxOperands - 1]; - assert(!(getSideEffects(lastOperand) & SideEffects.WritesGlobal)); + assert(!(getSideEffects(lastOperand, module.ref) & SideEffects.WritesGlobal)); let lastOperandType = parameterTypes[maxArguments - 1]; operands[maxOperands - 1] = module.block(null, [ module.global_set(this.ensureArgumentsLength(), module.i32(numArguments)), @@ -7339,7 +7341,7 @@ export class Compiler extends DiagnosticEmitter { // into the index argument, which becomes executed last after any operands. var argumentsLength = this.ensureArgumentsLength(); var sizeTypeRef = this.options.sizeTypeRef; - if (getSideEffects(functionArg) & SideEffects.WritesGlobal) { + if (getSideEffects(functionArg, module.ref) & SideEffects.WritesGlobal) { let flow = this.currentFlow; let temp = flow.getTempLocal(this.options.usizeType, findUsedLocals(functionArg)); functionArg = module.block(null, [ diff --git a/src/glue/binaryen.d.ts b/src/glue/binaryen.d.ts index b527040095..5763561632 100644 --- a/src/glue/binaryen.d.ts +++ b/src/glue/binaryen.d.ts @@ -531,7 +531,7 @@ export declare function _BinaryenTagGetName(tag: TagRef): StringRef; export declare function _BinaryenTagGetParams(tag: TagRef): TypeRef; export declare function _BinaryenTagGetResults(tag: TagRef): TypeRef; -export declare function _BinaryenAddTable(module: ModuleRef, name: StringRef, initial: Index, maximum: Index): TableRef; +export declare function _BinaryenAddTable(module: ModuleRef, name: StringRef, initial: Index, maximum: Index, type: TypeRef): TableRef; export declare function _BinaryenRemoveTable(module: ModuleRef, table: StringRef): void; export declare function _BinaryenGetNumTables(module: ModuleRef): Index; export declare function _BinaryenGetTable(module: ModuleRef, name: StringRef): TableRef; @@ -577,7 +577,7 @@ export declare function _BinaryenModuleSetFeatures(module: ModuleRef, featureFla export declare function _BinaryenAddCustomSection(module: ModuleRef, name: StringRef, contents: ArrayRef, contentsSize: Index): void; -export declare function _BinaryenExpressionGetSideEffects(expr: ExpressionRef, features: FeatureFlags): SideEffects; +export declare function _BinaryenExpressionGetSideEffects(expr: ExpressionRef, module: ModuleRef): SideEffects; export declare function _RelooperCreate(module: ModuleRef): RelooperRef; export declare function _RelooperAddBlock(relooper: RelooperRef, code: ExpressionRef): RelooperBlockRef; @@ -599,6 +599,8 @@ export declare function _BinaryenGetDebugInfo(): bool; export declare function _BinaryenSetDebugInfo(on: bool): void; export declare function _BinaryenGetLowMemoryUnused(): bool; export declare function _BinaryenSetLowMemoryUnused(on: bool): void; +export declare function _BinaryenGetZeroFilledMemory(): bool; +export declare function _BinaryenSetZeroFilledMemory(on: bool): void; export declare function _BinaryenGetFastMath(): bool; export declare function _BinaryenSetFastMath(on: bool): void; export declare function _BinaryenGetPassArgument(key: StringRef): StringRef; diff --git a/src/module.ts b/src/module.ts index 2c91e9a1d5..1ee657b283 100644 --- a/src/module.ts +++ b/src/module.ts @@ -65,8 +65,8 @@ export enum FeatureFlags { MVP = 0 /* _BinaryenFeatureMVP */, Atomics = 1 /* _BinaryenFeatureAtomics */, MutableGloabls = 2 /* _BinaryenFeatureMutableGlobals */, - NontrappingFPToInt = 4 /* _BinaryenFeatureNontrappingFPToInt */, - SIMD128 = 8 /* _BinaryenFeatureSIMD128 */, + TruncSat = 4 /* _BinaryenFeatureNontrappingFPToInt */, + SIMD = 8 /* _BinaryenFeatureSIMD128 */, BulkMemory = 16 /* _BinaryenFeatureBulkMemory */, SignExt = 32 /* _BinaryenFeatureSignExt */, ExceptionHandling = 64 /* _BinaryenFeatureExceptionHandling */, @@ -75,8 +75,8 @@ export enum FeatureFlags { MultiValue = 512 /* _BinaryenFeatureMultivalue */, GC = 1024 /* _BinaryenFeatureGC */, Memory64 = 2048 /* _BinaryenFeatureMemory64 */, - TypedFunctionReferences = 4096 /* _BinaryenTypedFunctionReferences */, - All = 8191 /* _BinaryenFeatureAll */ + TypedFunctionReferences = 4096 /* _BinaryenFeatureTypedFunctionReferences */, + All = 16383 /* _BinaryenFeatureAll */ } /** Binaryen expression id constants. */ @@ -146,7 +146,8 @@ export enum ExpressionId { ArrayGet = 62 /* _BinaryenArrayGetId */, ArraySet = 63 /* _BinaryenArraySetId */, ArrayLen = 64 /* _BinaryenArrayLenId */, - RefAs = 65 /* _BinaryenRefAsId */ + ArrayCopy = 65 /* _BinaryenArrayCopyId */, + RefAs = 66 /* _BinaryenRefAsId */ } /** Binaryen external kind constants. */ @@ -1435,7 +1436,7 @@ export class Module { // when encountering a local with an unknown value. This helper only drops // the pre-evaluated condition if it has relevant side effects. // see WebAssembly/binaryen#1237 - if ((getSideEffects(condition) & ~(SideEffects.ReadsLocal | SideEffects.ReadsGlobal)) != 0) { + if ((getSideEffects(condition, this.ref) & ~(SideEffects.ReadsLocal | SideEffects.ReadsGlobal)) != 0) { return this.block(null, [ this.drop(condition), result @@ -2055,7 +2056,7 @@ export class Module { var cArr = allocPtrArray(names); var tableRef = binaryen._BinaryenGetTable(this.ref, cStr); if (!tableRef) { - tableRef = binaryen._BinaryenAddTable(this.ref, cStr, initial, maximum); + tableRef = binaryen._BinaryenAddTable(this.ref, cStr, initial, maximum, TypeRef.Funcref); } else { binaryen._BinaryenTableSetInitial(tableRef, initial); binaryen._BinaryenTableSetMax(tableRef, maximum); @@ -2125,6 +2126,14 @@ export class Module { binaryen._BinaryenSetLowMemoryUnused(on); } + getZeroFilledMemory(): bool { + return binaryen._BinaryenGetZeroFilledMemory(); + } + + setZeroFilledMemory(on: bool): void { + binaryen._BinaryenSetZeroFilledMemory(on); + } + getFastMath(): bool { return binaryen._BinaryenGetFastMath(); } @@ -2207,13 +2216,19 @@ export class Module { for (let i = numNames - 1; i >= 0; --i) binaryen._free(cStrs[i]); } - optimize(optimizeLevel: i32, shrinkLevel: i32, debugInfo: bool = false): void { + optimize( + optimizeLevel: i32, + shrinkLevel: i32, + debugInfo: bool = false, + zeroFilledMemory: bool = false + ): void { // Implicitly run costly non-LLVM optimizations on -O3 or -Oz if (optimizeLevel >= 3 || shrinkLevel >= 2) optimizeLevel = 4; this.setOptimizeLevel(optimizeLevel); this.setShrinkLevel(shrinkLevel); this.setDebugInfo(debugInfo); + this.setZeroFilledMemory(zeroFilledMemory); this.setFastMath(true); this.clearPassArguments(); @@ -2245,24 +2260,25 @@ export class Module { passes.push("remove-unused-module-elements"); // + // --- PassRunner::addDefaultFunctionOptimizationPasses --- - + if (optimizeLevel >= 2) { + passes.push("once-reduction"); + } if (optimizeLevel >= 3 || shrinkLevel >= 1) { passes.push("rse"); passes.push("vacuum"); passes.push("ssa-nomerge"); passes.push("simplify-globals-optimizing"); + passes.push("local-cse"); passes.push("remove-unused-brs"); passes.push("remove-unused-names"); - passes.push("merge-blocks"); passes.push("precompute-propagate"); } if (optimizeLevel >= 3) { - passes.push("simplify-locals-notee-nostructure"); + passes.push("simplify-locals-nostructure"); passes.push("flatten"); passes.push("vacuum"); - passes.push("local-cse"); - passes.push("licm"); passes.push("simplify-locals-notee-nostructure"); + passes.push("licm"); passes.push("merge-locals"); passes.push("reorder-locals"); passes.push("dae-optimizing"); @@ -2272,8 +2288,8 @@ export class Module { if (optimizeLevel >= 3 || shrinkLevel >= 1) { passes.push("dce"); } - passes.push("remove-unused-names"); passes.push("remove-unused-brs"); + passes.push("remove-unused-names"); if (optimizeLevel >= 3 || shrinkLevel >= 2) { passes.push("inlining"); passes.push("precompute-propagate"); @@ -2286,16 +2302,16 @@ export class Module { } passes.push("simplify-locals-notee-nostructure"); passes.push("vacuum"); - + if (optimizeLevel >= 2 || shrinkLevel >= 1) { + passes.push("local-cse"); + } passes.push("reorder-locals"); - passes.push("remove-unused-brs"); passes.push("coalesce-locals"); passes.push("simplify-locals"); - passes.push("vacuum"); - - passes.push("reorder-locals"); passes.push("coalesce-locals"); passes.push("reorder-locals"); + passes.push("vacuum"); + if (optimizeLevel >= 3 || shrinkLevel >= 1) { passes.push("merge-locals"); } @@ -2347,6 +2363,7 @@ export class Module { // precompute works best after global optimizations if (optimizeLevel >= 2 || shrinkLevel >= 1) { passes.push("precompute-propagate"); + passes.push("simplify-globals-optimizing"); } else { passes.push("precompute"); } @@ -2368,6 +2385,7 @@ export class Module { passes.push("inlining-optimizing"); passes.push("directize"); passes.push("dae-optimizing"); + passes.push("local-cse"); passes.push("merge-locals"); passes.push("coalesce-locals"); @@ -2389,7 +2407,6 @@ export class Module { } // clean up passes.push("duplicate-function-elimination"); - passes.push("remove-unused-nonfunction-module-elements"); passes.push("memory-packing"); passes.push("remove-unused-module-elements"); @@ -3044,15 +3061,16 @@ export enum SideEffects { IsAtomic = 512 /* _BinaryenSideEffectIsAtomic */, Throws = 1024 /* _BinaryenSideEffectThrows */, DanglingPop = 2048 /* _BinaryenSideEffectDanglingPop */, - Any = 4095 /* _BinaryenSideEffectAny */ + TrapsNeverHappen = 4096 /* _BinaryenSideEffectTrapsNeverHappen */, + Any = 8191 /* _BinaryenSideEffectAny */ } -export function getSideEffects(expr: ExpressionRef, features: FeatureFlags = FeatureFlags.All): SideEffects { - return binaryen._BinaryenExpressionGetSideEffects(expr, features); +export function getSideEffects(expr: ExpressionRef, module: ModuleRef): SideEffects { + return binaryen._BinaryenExpressionGetSideEffects(expr, module); } -export function hasSideEffects(expr: ExpressionRef, features: FeatureFlags = FeatureFlags.All): bool { - return getSideEffects(expr, features) != SideEffects.None; +export function hasSideEffects(expr: ExpressionRef, module: ModuleRef): bool { + return getSideEffects(expr, module) != SideEffects.None; } // helpers diff --git a/tests/compiler/binary.optimized.wat b/tests/compiler/binary.optimized.wat index 995c5d8b3d..5689d17f10 100644 --- a/tests/compiler/binary.optimized.wat +++ b/tests/compiler/binary.optimized.wat @@ -164,9 +164,7 @@ global.set $binary/i i32.const 1 global.set $binary/i - global.get $binary/i - i32.const 1 - i32.xor + i32.const 0 global.set $binary/i global.get $binary/i i32.const 1 @@ -212,9 +210,7 @@ global.set $binary/I i64.const 1 global.set $binary/I - global.get $binary/I - i64.const 1 - i64.xor + i64.const 0 global.set $binary/I global.get $binary/I i64.const 1 diff --git a/tests/compiler/builtins.optimized.wat b/tests/compiler/builtins.optimized.wat index 9fb655e61a..df61b5b695 100644 --- a/tests/compiler/builtins.optimized.wat +++ b/tests/compiler/builtins.optimized.wat @@ -451,21 +451,6 @@ i32.load global.set $builtins/i i32.const 8 - i32.load8_u - drop - i32.const 8 - i32.load16_u - drop - i32.const 8 - i32.load - drop - i32.const 8 - i32.load8_s - drop - i32.const 8 - i32.load16_s - drop - i32.const 8 i32.load drop i32.const 8 @@ -576,10 +561,10 @@ unreachable end global.get $~lib/memory/__stack_pointer + local.tee $0 i32.const 1168 i32.store offset=8 - global.get $~lib/memory/__stack_pointer - local.tee $0 + local.get $0 i32.const 1056 i32.store local.get $0 @@ -598,16 +583,16 @@ unreachable end global.get $~lib/memory/__stack_pointer + local.tee $0 i32.const 1168 i32.store - global.get $~lib/memory/__stack_pointer + local.get $0 i32.const 1168 i32.store - global.get $~lib/memory/__stack_pointer + local.get $0 i32.const 1168 i32.store offset=8 - global.get $~lib/memory/__stack_pointer - local.tee $0 + local.get $0 i32.const 1200 i32.store local.get $0 diff --git a/tests/compiler/call-super.optimized.wat b/tests/compiler/call-super.optimized.wat index fb546c7cc1..c1a35f7016 100644 --- a/tests/compiler/call-super.optimized.wat +++ b/tests/compiler/call-super.optimized.wat @@ -99,8 +99,8 @@ i32.and i32.eq if - local.get $0 global.get $~lib/rt/itcms/iter + local.get $0 i32.eq if local.get $0 @@ -160,11 +160,11 @@ local.get $1 i32.store offset=8 local.get $1 - local.get $2 local.get $1 i32.load offset=4 i32.const 3 i32.and + local.get $2 i32.or i32.store offset=4 end @@ -178,10 +178,10 @@ if (result i32) i32.const 1 else - local.get $1 i32.const 1488 i32.load - i32.gt_u + local.get $1 + i32.lt_u if i32.const 1296 i32.const 1360 @@ -218,11 +218,11 @@ local.get $1 i32.store offset=8 local.get $1 - local.get $0 local.get $1 i32.load offset=4 i32.const 3 i32.and + local.get $0 i32.or i32.store offset=4 local.get $2 @@ -361,22 +361,22 @@ local.get $4 i32.eqz if - local.get $0 local.get $3 i32.const 2 i32.shl + local.get $0 i32.add - local.tee $1 + local.tee $4 i32.load offset=4 i32.const -2 local.get $2 i32.rotl i32.and - local.set $2 + local.set $1 + local.get $4 local.get $1 - local.get $2 i32.store offset=4 - local.get $2 + local.get $1 i32.eqz if local.get $0 @@ -624,10 +624,10 @@ i32.shl i32.or i32.store - local.get $0 local.get $5 i32.const 2 i32.shl + local.get $0 i32.add local.tee $0 local.get $0 @@ -667,11 +667,11 @@ i32.load offset=1568 local.tee $2 if + local.get $1 local.get $2 i32.const 4 i32.add - local.get $1 - i32.gt_u + i32.lt_u if i32.const 0 i32.const 1440 @@ -695,11 +695,11 @@ local.set $1 end else + local.get $1 local.get $0 i32.const 1572 i32.add - local.get $1 - i32.gt_u + i32.lt_u if i32.const 0 i32.const 1440 @@ -986,13 +986,13 @@ if local.get $0 i32.load offset=4 + local.tee $1 i32.const -4 i32.and global.set $~lib/rt/itcms/iter global.get $~lib/rt/itcms/white i32.eqz - local.get $0 - i32.load offset=4 + local.get $1 i32.const 3 i32.and i32.ne @@ -1079,10 +1079,10 @@ end global.get $~lib/rt/itcms/toSpace local.tee $0 - local.get $0 + local.tee $1 + local.get $1 i32.store offset=4 - global.get $~lib/rt/itcms/toSpace - local.tee $0 + local.get $0 local.get $0 i32.store offset=8 i32.const 0 @@ -1331,7 +1331,6 @@ i32.const 536870910 i32.lt_u if (result i32) - local.get $3 i32.const 1 i32.const 27 local.get $3 @@ -1340,6 +1339,7 @@ i32.shl i32.const 1 i32.sub + local.get $3 i32.add else local.get $3 @@ -1400,12 +1400,12 @@ unreachable end end - local.get $3 local.get $2 i32.load i32.const -4 i32.and - i32.gt_u + local.get $3 + i32.lt_u if i32.const 0 i32.const 1440 @@ -1443,10 +1443,10 @@ i32.ge_u if local.get $2 - local.get $3 local.get $5 i32.const 2 i32.and + local.get $3 i32.or i32.store local.get $3 @@ -1473,18 +1473,13 @@ local.get $2 i32.const 4 i32.add - local.tee $3 local.get $2 i32.load i32.const -4 i32.and i32.add + local.tee $3 local.get $3 - local.get $2 - i32.load - i32.const -4 - i32.and - i32.add i32.load i32.const -3 i32.and @@ -1501,19 +1496,19 @@ i32.load offset=8 local.set $3 local.get $2 - local.get $1 global.get $~lib/rt/itcms/white + local.get $1 i32.or i32.store offset=4 local.get $2 local.get $3 i32.store offset=8 local.get $3 - local.get $2 local.get $3 i32.load offset=4 i32.const 3 i32.and + local.get $2 i32.or i32.store offset=4 local.get $1 @@ -1835,7 +1830,7 @@ i32.const 2 i32.store offset=4 global.get $~lib/memory/__stack_pointer - local.tee $2 + global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub global.set $~lib/memory/__stack_pointer @@ -1875,7 +1870,6 @@ i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $2 local.get $0 i32.store local.get $0 @@ -1972,7 +1966,7 @@ i32.const 2 i32.store offset=4 global.get $~lib/memory/__stack_pointer - local.tee $2 + global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub global.set $~lib/memory/__stack_pointer @@ -2000,7 +1994,6 @@ i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $2 local.get $0 i32.store local.get $0 @@ -2093,7 +2086,7 @@ local.tee $0 i32.store global.get $~lib/memory/__stack_pointer - local.tee $2 + global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub global.set $~lib/memory/__stack_pointer @@ -2133,7 +2126,6 @@ i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $2 local.get $0 i32.store local.get $0 @@ -2205,7 +2197,7 @@ local.tee $0 i32.store global.get $~lib/memory/__stack_pointer - local.tee $2 + global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub global.set $~lib/memory/__stack_pointer @@ -2233,7 +2225,6 @@ i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $2 local.get $0 i32.store local.get $0 @@ -2305,7 +2296,7 @@ local.tee $0 i32.store global.get $~lib/memory/__stack_pointer - local.tee $2 + global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub global.set $~lib/memory/__stack_pointer @@ -2333,7 +2324,6 @@ i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $2 local.get $0 i32.store local.get $0 diff --git a/tests/compiler/class-extends.optimized.wat b/tests/compiler/class-extends.optimized.wat index c847b7d897..1692f24d6e 100644 --- a/tests/compiler/class-extends.optimized.wat +++ b/tests/compiler/class-extends.optimized.wat @@ -7,6 +7,7 @@ (export "memory" (memory $0)) (export "test" (func $export:class-extends/test)) (func $export:class-extends/test (param $0 i32) + (local $1 i32) global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub @@ -23,6 +24,7 @@ unreachable end global.get $~lib/memory/__stack_pointer + local.tee $1 local.get $0 i32.store local.get $0 @@ -37,7 +39,7 @@ local.get $0 i32.const 3 i32.store16 offset=4 - global.get $~lib/memory/__stack_pointer + local.get $1 i32.const 4 i32.add global.set $~lib/memory/__stack_pointer diff --git a/tests/compiler/class-implements.optimized.wat b/tests/compiler/class-implements.optimized.wat index 6ca4cd18b7..3bb34d32c7 100644 --- a/tests/compiler/class-implements.optimized.wat +++ b/tests/compiler/class-implements.optimized.wat @@ -121,8 +121,8 @@ i32.and i32.eq if - local.get $0 global.get $~lib/rt/itcms/iter + local.get $0 i32.eq if local.get $0 @@ -182,11 +182,11 @@ local.get $1 i32.store offset=8 local.get $1 - local.get $2 local.get $1 i32.load offset=4 i32.const 3 i32.and + local.get $2 i32.or i32.store offset=4 end @@ -200,10 +200,10 @@ if (result i32) i32.const 1 else - local.get $1 i32.const 1504 i32.load - i32.gt_u + local.get $1 + i32.lt_u if i32.const 1248 i32.const 1312 @@ -240,11 +240,11 @@ local.get $1 i32.store offset=8 local.get $1 - local.get $0 local.get $1 i32.load offset=4 i32.const 3 i32.and + local.get $0 i32.or i32.store offset=4 local.get $2 @@ -383,22 +383,22 @@ local.get $4 i32.eqz if - local.get $0 local.get $3 i32.const 2 i32.shl + local.get $0 i32.add - local.tee $1 + local.tee $4 i32.load offset=4 i32.const -2 local.get $2 i32.rotl i32.and - local.set $2 + local.set $1 + local.get $4 local.get $1 - local.get $2 i32.store offset=4 - local.get $2 + local.get $1 i32.eqz if local.get $0 @@ -646,10 +646,10 @@ i32.shl i32.or i32.store - local.get $0 local.get $5 i32.const 2 i32.shl + local.get $0 i32.add local.tee $0 local.get $0 @@ -689,11 +689,11 @@ i32.load offset=1568 local.tee $2 if + local.get $1 local.get $2 i32.const 4 i32.add - local.get $1 - i32.gt_u + i32.lt_u if i32.const 0 i32.const 1392 @@ -717,11 +717,11 @@ local.set $1 end else + local.get $1 local.get $0 i32.const 1572 i32.add - local.get $1 - i32.gt_u + i32.lt_u if i32.const 0 i32.const 1392 @@ -1008,13 +1008,13 @@ if local.get $0 i32.load offset=4 + local.tee $1 i32.const -4 i32.and global.set $~lib/rt/itcms/iter global.get $~lib/rt/itcms/white i32.eqz - local.get $0 - i32.load offset=4 + local.get $1 i32.const 3 i32.and i32.ne @@ -1101,10 +1101,10 @@ end global.get $~lib/rt/itcms/toSpace local.tee $0 - local.get $0 + local.tee $1 + local.get $1 i32.store offset=4 - global.get $~lib/rt/itcms/toSpace - local.tee $0 + local.get $0 local.get $0 i32.store offset=8 i32.const 0 @@ -1124,11 +1124,11 @@ i32.and local.tee $2 if (result i32) - local.get $0 local.get $2 i32.ctz i32.const 2 i32.shl + local.get $0 i32.add i32.load offset=96 else @@ -1138,12 +1138,12 @@ i32.and local.tee $1 if (result i32) - local.get $0 local.get $1 i32.ctz local.tee $1 i32.const 2 i32.shl + local.get $0 i32.add i32.load offset=4 local.tee $2 @@ -1156,7 +1156,6 @@ call $~lib/builtins/abort unreachable end - local.get $0 local.get $2 i32.ctz local.get $1 @@ -1165,6 +1164,7 @@ i32.add i32.const 2 i32.shl + local.get $0 i32.add i32.load offset=96 else @@ -1346,18 +1346,13 @@ local.get $1 i32.const 4 i32.add - local.tee $2 local.get $1 i32.load i32.const -4 i32.and i32.add + local.tee $2 local.get $2 - local.get $1 - i32.load - i32.const -4 - i32.and - i32.add i32.load i32.const -3 i32.and @@ -1374,19 +1369,19 @@ i32.load offset=8 local.set $2 local.get $1 - local.get $0 global.get $~lib/rt/itcms/white + local.get $0 i32.or i32.store offset=4 local.get $1 local.get $2 i32.store offset=8 local.get $2 - local.get $1 local.get $2 i32.load offset=4 i32.const 3 i32.and + local.get $1 i32.or i32.store offset=4 local.get $0 @@ -1444,7 +1439,6 @@ unreachable ) (func $~start - (local $0 i32) global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub @@ -1505,10 +1499,9 @@ call $class-implements/C#constructor global.set $class-implements/c global.get $~lib/memory/__stack_pointer - local.tee $0 global.get $class-implements/c i32.store - local.get $0 + global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer @@ -1549,6 +1542,7 @@ ) (func $class-implements/C#constructor (param $0 i32) (result i32) (local $1 i32) + (local $2 i32) global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub @@ -1572,6 +1566,7 @@ end global.get $~lib/memory/__stack_pointer local.tee $1 + local.get $1 i32.const 4 i32.sub global.set $~lib/memory/__stack_pointer @@ -1595,7 +1590,6 @@ i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $1 local.get $0 i32.store global.get $~lib/memory/__stack_pointer diff --git a/tests/compiler/class-overloading-cast.optimized.wat b/tests/compiler/class-overloading-cast.optimized.wat index f183e1991e..2a0569c480 100644 --- a/tests/compiler/class-overloading-cast.optimized.wat +++ b/tests/compiler/class-overloading-cast.optimized.wat @@ -135,8 +135,8 @@ i32.and i32.eq if - local.get $0 global.get $~lib/rt/itcms/iter + local.get $0 i32.eq if local.get $0 @@ -196,11 +196,11 @@ local.get $1 i32.store offset=8 local.get $1 - local.get $2 local.get $1 i32.load offset=4 i32.const 3 i32.and + local.get $2 i32.or i32.store offset=4 end @@ -214,10 +214,10 @@ if (result i32) i32.const 1 else - local.get $1 i32.const 1616 i32.load - i32.gt_u + local.get $1 + i32.lt_u if i32.const 1248 i32.const 1312 @@ -254,11 +254,11 @@ local.get $1 i32.store offset=8 local.get $1 - local.get $0 local.get $1 i32.load offset=4 i32.const 3 i32.and + local.get $0 i32.or i32.store offset=4 local.get $2 @@ -397,22 +397,22 @@ local.get $4 i32.eqz if - local.get $0 local.get $3 i32.const 2 i32.shl + local.get $0 i32.add - local.tee $1 + local.tee $4 i32.load offset=4 i32.const -2 local.get $2 i32.rotl i32.and - local.set $2 + local.set $1 + local.get $4 local.get $1 - local.get $2 i32.store offset=4 - local.get $2 + local.get $1 i32.eqz if local.get $0 @@ -660,10 +660,10 @@ i32.shl i32.or i32.store - local.get $0 local.get $5 i32.const 2 i32.shl + local.get $0 i32.add local.tee $0 local.get $0 @@ -703,11 +703,11 @@ i32.load offset=1568 local.tee $2 if + local.get $1 local.get $2 i32.const 4 i32.add - local.get $1 - i32.gt_u + i32.lt_u if i32.const 0 i32.const 1392 @@ -731,11 +731,11 @@ local.set $1 end else + local.get $1 local.get $0 i32.const 1572 i32.add - local.get $1 - i32.gt_u + i32.lt_u if i32.const 0 i32.const 1392 @@ -1022,13 +1022,13 @@ if local.get $0 i32.load offset=4 + local.tee $1 i32.const -4 i32.and global.set $~lib/rt/itcms/iter global.get $~lib/rt/itcms/white i32.eqz - local.get $0 - i32.load offset=4 + local.get $1 i32.const 3 i32.and i32.ne @@ -1115,10 +1115,10 @@ end global.get $~lib/rt/itcms/toSpace local.tee $0 - local.get $0 + local.tee $1 + local.get $1 i32.store offset=4 - global.get $~lib/rt/itcms/toSpace - local.tee $0 + local.get $0 local.get $0 i32.store offset=8 i32.const 0 @@ -1138,11 +1138,11 @@ i32.and local.tee $2 if (result i32) - local.get $0 local.get $2 i32.ctz i32.const 2 i32.shl + local.get $0 i32.add i32.load offset=96 else @@ -1152,12 +1152,12 @@ i32.and local.tee $1 if (result i32) - local.get $0 local.get $1 i32.ctz local.tee $1 i32.const 2 i32.shl + local.get $0 i32.add i32.load offset=4 local.tee $2 @@ -1170,7 +1170,6 @@ call $~lib/builtins/abort unreachable end - local.get $0 local.get $2 i32.ctz local.get $1 @@ -1179,6 +1178,7 @@ i32.add i32.const 2 i32.shl + local.get $0 i32.add i32.load offset=96 else @@ -1360,18 +1360,13 @@ local.get $1 i32.const 4 i32.add - local.tee $2 local.get $1 i32.load i32.const -4 i32.and i32.add + local.tee $2 local.get $2 - local.get $1 - i32.load - i32.const -4 - i32.and - i32.add i32.load i32.const -3 i32.and @@ -1388,19 +1383,19 @@ i32.load offset=8 local.set $2 local.get $1 - local.get $0 global.get $~lib/rt/itcms/white + local.get $0 i32.or i32.store offset=4 local.get $1 local.get $2 i32.store offset=8 local.get $2 - local.get $1 local.get $2 i32.load offset=4 i32.const 3 i32.and + local.get $1 i32.or i32.store offset=4 local.get $0 @@ -1716,7 +1711,7 @@ local.tee $0 i32.store global.get $~lib/memory/__stack_pointer - local.tee $1 + global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub global.set $~lib/memory/__stack_pointer @@ -1740,7 +1735,6 @@ i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $1 local.get $0 i32.store global.get $~lib/memory/__stack_pointer @@ -1750,23 +1744,23 @@ local.get $0 global.set $class-overloading-cast/v3 global.get $~lib/memory/__stack_pointer - local.tee $0 global.get $class-overloading-cast/v - local.tee $1 + local.tee $0 i32.store offset=8 - local.get $0 + global.get $~lib/memory/__stack_pointer + local.tee $1 block $__inlined_func$class-overloading-cast/A#foo@virtual (result i32) block $default block $case1 - local.get $1 + local.get $0 i32.const 8 i32.sub i32.load - local.tee $1 + local.tee $0 i32.const 3 i32.ne if - local.get $1 + local.get $0 i32.const 5 i32.eq br_if $case1 @@ -1780,12 +1774,12 @@ end i32.const 1456 end - local.tee $1 + local.tee $0 i32.store - local.get $0 + local.get $1 i32.const 1488 i32.store offset=4 - local.get $1 + local.get $0 i32.const 1488 call $~lib/string/String.__eq i32.eqz @@ -1869,7 +1863,7 @@ local.tee $0 i32.store global.get $~lib/memory/__stack_pointer - local.tee $1 + global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub global.set $~lib/memory/__stack_pointer @@ -1893,7 +1887,6 @@ i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $1 local.get $0 i32.store global.get $~lib/memory/__stack_pointer diff --git a/tests/compiler/class-overloading.optimized.wat b/tests/compiler/class-overloading.optimized.wat index 614313239d..80ec4e221b 100644 --- a/tests/compiler/class-overloading.optimized.wat +++ b/tests/compiler/class-overloading.optimized.wat @@ -159,8 +159,8 @@ i32.and i32.eq if - local.get $0 global.get $~lib/rt/itcms/iter + local.get $0 i32.eq if local.get $0 @@ -220,11 +220,11 @@ local.get $1 i32.store offset=8 local.get $1 - local.get $2 local.get $1 i32.load offset=4 i32.const 3 i32.and + local.get $2 i32.or i32.store offset=4 end @@ -238,10 +238,10 @@ if (result i32) i32.const 1 else - local.get $1 i32.const 1792 i32.load - i32.gt_u + local.get $1 + i32.lt_u if i32.const 1280 i32.const 1344 @@ -278,11 +278,11 @@ local.get $1 i32.store offset=8 local.get $1 - local.get $0 local.get $1 i32.load offset=4 i32.const 3 i32.and + local.get $0 i32.or i32.store offset=4 local.get $2 @@ -421,22 +421,22 @@ local.get $4 i32.eqz if - local.get $0 local.get $3 i32.const 2 i32.shl + local.get $0 i32.add - local.tee $1 + local.tee $4 i32.load offset=4 i32.const -2 local.get $2 i32.rotl i32.and - local.set $2 + local.set $1 + local.get $4 local.get $1 - local.get $2 i32.store offset=4 - local.get $2 + local.get $1 i32.eqz if local.get $0 @@ -684,10 +684,10 @@ i32.shl i32.or i32.store - local.get $0 local.get $5 i32.const 2 i32.shl + local.get $0 i32.add local.tee $0 local.get $0 @@ -727,11 +727,11 @@ i32.load offset=1568 local.tee $2 if + local.get $1 local.get $2 i32.const 4 i32.add - local.get $1 - i32.gt_u + i32.lt_u if i32.const 0 i32.const 1424 @@ -755,11 +755,11 @@ local.set $1 end else + local.get $1 local.get $0 i32.const 1572 i32.add - local.get $1 - i32.gt_u + i32.lt_u if i32.const 0 i32.const 1424 @@ -1046,13 +1046,13 @@ if local.get $0 i32.load offset=4 + local.tee $1 i32.const -4 i32.and global.set $~lib/rt/itcms/iter global.get $~lib/rt/itcms/white i32.eqz - local.get $0 - i32.load offset=4 + local.get $1 i32.const 3 i32.and i32.ne @@ -1139,10 +1139,10 @@ end global.get $~lib/rt/itcms/toSpace local.tee $0 - local.get $0 + local.tee $1 + local.get $1 i32.store offset=4 - global.get $~lib/rt/itcms/toSpace - local.tee $0 + local.get $0 local.get $0 i32.store offset=8 i32.const 0 @@ -1162,11 +1162,11 @@ i32.and local.tee $2 if (result i32) - local.get $0 local.get $2 i32.ctz i32.const 2 i32.shl + local.get $0 i32.add i32.load offset=96 else @@ -1176,12 +1176,12 @@ i32.and local.tee $1 if (result i32) - local.get $0 local.get $1 i32.ctz local.tee $1 i32.const 2 i32.shl + local.get $0 i32.add i32.load offset=4 local.tee $2 @@ -1194,7 +1194,6 @@ call $~lib/builtins/abort unreachable end - local.get $0 local.get $2 i32.ctz local.get $1 @@ -1203,6 +1202,7 @@ i32.add i32.const 2 i32.shl + local.get $0 i32.add i32.load offset=96 else @@ -1384,18 +1384,13 @@ local.get $1 i32.const 4 i32.add - local.tee $2 local.get $1 i32.load i32.const -4 i32.and i32.add + local.tee $2 local.get $2 - local.get $1 - i32.load - i32.const -4 - i32.and - i32.add i32.load i32.const -3 i32.and @@ -1412,19 +1407,19 @@ i32.load offset=8 local.set $2 local.get $1 - local.get $0 global.get $~lib/rt/itcms/white + local.get $0 i32.or i32.store offset=4 local.get $1 local.get $2 i32.store offset=8 local.get $2 - local.get $1 local.get $2 i32.load offset=4 i32.const 3 i32.and + local.get $1 i32.or i32.store offset=4 local.get $0 @@ -1768,14 +1763,13 @@ local.get $0 call $class-overloading/A#a@virtual global.get $~lib/memory/__stack_pointer - local.tee $0 global.get $class-overloading/which - local.tee $1 + local.tee $0 i32.store - local.get $0 + global.get $~lib/memory/__stack_pointer i32.const 1520 i32.store offset=4 - local.get $1 + local.get $0 i32.const 1520 call $~lib/string/String.__eq i32.eqz @@ -1984,14 +1978,13 @@ i32.store call $class-overloading/C#a global.get $~lib/memory/__stack_pointer - local.tee $0 global.get $class-overloading/which - local.tee $1 + local.tee $0 i32.store - local.get $0 + global.get $~lib/memory/__stack_pointer i32.const 1616 i32.store offset=4 - local.get $1 + local.get $0 i32.const 1616 call $~lib/string/String.__eq i32.eqz @@ -2091,14 +2084,13 @@ local.get $0 call $class-overloading/A#a@virtual global.get $~lib/memory/__stack_pointer - local.tee $0 global.get $class-overloading/which - local.tee $1 + local.tee $0 i32.store - local.get $0 + global.get $~lib/memory/__stack_pointer i32.const 1520 i32.store offset=4 - local.get $1 + local.get $0 i32.const 1520 call $~lib/string/String.__eq i32.eqz @@ -2282,14 +2274,13 @@ local.get $0 call $class-overloading/A#a@virtual global.get $~lib/memory/__stack_pointer - local.tee $0 global.get $class-overloading/which - local.tee $1 + local.tee $0 i32.store - local.get $0 + global.get $~lib/memory/__stack_pointer i32.const 1520 i32.store offset=4 - local.get $1 + local.get $0 i32.const 1520 call $~lib/string/String.__eq i32.eqz @@ -2498,14 +2489,13 @@ local.get $0 call $class-overloading/A#a@virtual global.get $~lib/memory/__stack_pointer - local.tee $0 global.get $class-overloading/which - local.tee $1 + local.tee $0 i32.store - local.get $0 + global.get $~lib/memory/__stack_pointer i32.const 1648 i32.store offset=4 - local.get $1 + local.get $0 i32.const 1648 call $~lib/string/String.__eq i32.eqz @@ -2849,7 +2839,7 @@ local.tee $0 i32.store global.get $~lib/memory/__stack_pointer - local.tee $1 + global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub global.set $~lib/memory/__stack_pointer @@ -2873,7 +2863,6 @@ i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $1 local.get $0 i32.store global.get $~lib/memory/__stack_pointer @@ -2924,7 +2913,7 @@ local.tee $0 i32.store global.get $~lib/memory/__stack_pointer - local.tee $1 + global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub global.set $~lib/memory/__stack_pointer @@ -2948,7 +2937,6 @@ i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $1 local.get $0 i32.store global.get $~lib/memory/__stack_pointer @@ -3000,6 +2988,7 @@ ) (func $class-overloading/B#constructor (param $0 i32) (result i32) (local $1 i32) + (local $2 i32) global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub @@ -3023,6 +3012,7 @@ end global.get $~lib/memory/__stack_pointer local.tee $1 + local.get $1 i32.const 4 i32.sub global.set $~lib/memory/__stack_pointer @@ -3046,7 +3036,6 @@ i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $1 local.get $0 i32.store global.get $~lib/memory/__stack_pointer diff --git a/tests/compiler/class.optimized.wat b/tests/compiler/class.optimized.wat index eded372932..6b28ef8193 100644 --- a/tests/compiler/class.optimized.wat +++ b/tests/compiler/class.optimized.wat @@ -92,8 +92,8 @@ (local $1 i32) (local $2 i32) (local $3 i32) - local.get $0 global.get $~lib/rt/itcms/iter + local.get $0 i32.eq if local.get $0 @@ -153,11 +153,11 @@ local.get $1 i32.store offset=8 local.get $1 - local.get $2 local.get $1 i32.load offset=4 i32.const 3 i32.and + local.get $2 i32.or i32.store offset=4 end @@ -171,10 +171,10 @@ if (result i32) i32.const 1 else - local.get $1 i32.const 1536 i32.load - i32.gt_u + local.get $1 + i32.lt_u if i32.const 1248 i32.const 1312 @@ -211,11 +211,11 @@ local.get $1 i32.store offset=8 local.get $1 - local.get $0 local.get $1 i32.load offset=4 i32.const 3 i32.and + local.get $0 i32.or i32.store offset=4 local.get $2 @@ -373,22 +373,22 @@ local.get $4 i32.eqz if - local.get $0 local.get $3 i32.const 2 i32.shl + local.get $0 i32.add - local.tee $1 + local.tee $4 i32.load offset=4 i32.const -2 local.get $2 i32.rotl i32.and - local.set $2 + local.set $1 + local.get $4 local.get $1 - local.get $2 i32.store offset=4 - local.get $2 + local.get $1 i32.eqz if local.get $0 @@ -636,10 +636,10 @@ i32.shl i32.or i32.store - local.get $0 local.get $5 i32.const 2 i32.shl + local.get $0 i32.add local.tee $0 local.get $0 @@ -679,11 +679,11 @@ i32.load offset=1568 local.tee $2 if + local.get $1 local.get $2 i32.const 4 i32.add - local.get $1 - i32.gt_u + i32.lt_u if i32.const 0 i32.const 1392 @@ -707,11 +707,11 @@ local.set $1 end else + local.get $1 local.get $0 i32.const 1572 i32.add - local.get $1 - i32.gt_u + i32.lt_u if i32.const 0 i32.const 1392 @@ -998,13 +998,13 @@ if local.get $0 i32.load offset=4 + local.tee $1 i32.const -4 i32.and global.set $~lib/rt/itcms/iter global.get $~lib/rt/itcms/white i32.eqz - local.get $0 - i32.load offset=4 + local.get $1 i32.const 3 i32.and i32.ne @@ -1091,10 +1091,10 @@ end global.get $~lib/rt/itcms/toSpace local.tee $0 - local.get $0 + local.tee $1 + local.get $1 i32.store offset=4 - global.get $~lib/rt/itcms/toSpace - local.tee $0 + local.get $0 local.get $0 i32.store offset=8 i32.const 0 @@ -1519,7 +1519,6 @@ i32.const 536870910 i32.lt_u if (result i32) - local.get $2 i32.const 1 i32.const 27 local.get $2 @@ -1528,6 +1527,7 @@ i32.shl i32.const 1 i32.sub + local.get $2 i32.add else local.get $2 @@ -1588,12 +1588,12 @@ unreachable end end - local.get $2 local.get $3 i32.load i32.const -4 i32.and - i32.gt_u + local.get $2 + i32.lt_u if i32.const 0 i32.const 1392 @@ -1631,10 +1631,10 @@ i32.ge_u if local.get $3 - local.get $2 local.get $4 i32.const 2 i32.and + local.get $2 i32.or i32.store local.get $2 @@ -1661,18 +1661,13 @@ local.get $3 i32.const 4 i32.add - local.tee $2 local.get $3 i32.load i32.const -4 i32.and i32.add + local.tee $2 local.get $2 - local.get $3 - i32.load - i32.const -4 - i32.and - i32.add i32.load i32.const -3 i32.and @@ -1689,19 +1684,19 @@ i32.load offset=8 local.set $2 local.get $3 - local.get $1 global.get $~lib/rt/itcms/white + local.get $1 i32.or i32.store offset=4 local.get $3 local.get $2 i32.store offset=8 local.get $2 - local.get $3 local.get $2 i32.load offset=4 i32.const 3 i32.and + local.get $3 i32.or i32.store offset=4 local.get $1 diff --git a/tests/compiler/comma.optimized.wat b/tests/compiler/comma.optimized.wat index 29a41112be..30a6004906 100644 --- a/tests/compiler/comma.optimized.wat +++ b/tests/compiler/comma.optimized.wat @@ -13,11 +13,11 @@ (local $0 i32) (local $1 i32) global.get $comma/a - local.tee $0 + local.tee $1 i32.const 1 i32.add global.set $comma/a - local.get $0 + local.get $1 global.set $comma/b global.get $comma/a i32.const 1 @@ -44,9 +44,8 @@ i32.add global.set $comma/a global.get $comma/a - local.tee $0 global.set $comma/b - local.get $0 + global.get $comma/a i32.const 2 i32.ne if @@ -82,34 +81,23 @@ global.set $comma/b i32.const 2 global.set $comma/a - global.get $comma/b - i32.const 2 - i32.ne - if - i32.const 0 - i32.const 1056 - i32.const 19 - i32.const 1 - call $~lib/builtins/abort - unreachable - end loop $for-loop|0 - local.get $1 global.get $comma/a - i32.lt_s + local.get $0 + i32.gt_s if global.get $comma/a i32.const 1 i32.sub global.set $comma/a - local.get $1 + local.get $0 i32.const 1 i32.add - local.set $1 + local.set $0 br $for-loop|0 end end - local.get $1 + local.get $0 i32.const 1 i32.ne if diff --git a/tests/compiler/constructor.optimized.wat b/tests/compiler/constructor.optimized.wat index 62e050820e..8681487ce4 100644 --- a/tests/compiler/constructor.optimized.wat +++ b/tests/compiler/constructor.optimized.wat @@ -176,8 +176,8 @@ i32.and i32.eq if - local.get $0 global.get $~lib/rt/itcms/iter + local.get $0 i32.eq if local.get $0 @@ -237,11 +237,11 @@ local.get $1 i32.store offset=8 local.get $1 - local.get $2 local.get $1 i32.load offset=4 i32.const 3 i32.and + local.get $2 i32.or i32.store offset=4 end @@ -255,10 +255,10 @@ if (result i32) i32.const 1 else - local.get $1 i32.const 1488 i32.load - i32.gt_u + local.get $1 + i32.lt_u if i32.const 1248 i32.const 1312 @@ -295,11 +295,11 @@ local.get $1 i32.store offset=8 local.get $1 - local.get $0 local.get $1 i32.load offset=4 i32.const 3 i32.and + local.get $0 i32.or i32.store offset=4 local.get $2 @@ -438,22 +438,22 @@ local.get $4 i32.eqz if - local.get $0 local.get $3 i32.const 2 i32.shl + local.get $0 i32.add - local.tee $1 + local.tee $4 i32.load offset=4 i32.const -2 local.get $2 i32.rotl i32.and - local.set $2 + local.set $1 + local.get $4 local.get $1 - local.get $2 i32.store offset=4 - local.get $2 + local.get $1 i32.eqz if local.get $0 @@ -701,10 +701,10 @@ i32.shl i32.or i32.store - local.get $0 local.get $5 i32.const 2 i32.shl + local.get $0 i32.add local.tee $0 local.get $0 @@ -744,11 +744,11 @@ i32.load offset=1568 local.tee $2 if + local.get $1 local.get $2 i32.const 4 i32.add - local.get $1 - i32.gt_u + i32.lt_u if i32.const 0 i32.const 1392 @@ -772,11 +772,11 @@ local.set $1 end else + local.get $1 local.get $0 i32.const 1572 i32.add - local.get $1 - i32.gt_u + i32.lt_u if i32.const 0 i32.const 1392 @@ -1063,13 +1063,13 @@ if local.get $0 i32.load offset=4 + local.tee $1 i32.const -4 i32.and global.set $~lib/rt/itcms/iter global.get $~lib/rt/itcms/white i32.eqz - local.get $0 - i32.load offset=4 + local.get $1 i32.const 3 i32.and i32.ne @@ -1156,10 +1156,10 @@ end global.get $~lib/rt/itcms/toSpace local.tee $0 - local.get $0 + local.tee $1 + local.get $1 i32.store offset=4 - global.get $~lib/rt/itcms/toSpace - local.tee $0 + local.get $0 local.get $0 i32.store offset=8 i32.const 0 @@ -1408,7 +1408,6 @@ i32.const 536870910 i32.lt_u if (result i32) - local.get $3 i32.const 1 i32.const 27 local.get $3 @@ -1417,6 +1416,7 @@ i32.shl i32.const 1 i32.sub + local.get $3 i32.add else local.get $3 @@ -1477,12 +1477,12 @@ unreachable end end - local.get $3 local.get $2 i32.load i32.const -4 i32.and - i32.gt_u + local.get $3 + i32.lt_u if i32.const 0 i32.const 1392 @@ -1520,10 +1520,10 @@ i32.ge_u if local.get $2 - local.get $3 local.get $5 i32.const 2 i32.and + local.get $3 i32.or i32.store local.get $3 @@ -1550,18 +1550,13 @@ local.get $2 i32.const 4 i32.add - local.tee $3 local.get $2 i32.load i32.const -4 i32.and i32.add + local.tee $3 local.get $3 - local.get $2 - i32.load - i32.const -4 - i32.and - i32.add i32.load i32.const -3 i32.and @@ -1578,19 +1573,19 @@ i32.load offset=8 local.set $3 local.get $2 - local.get $1 global.get $~lib/rt/itcms/white + local.get $1 i32.or i32.store offset=4 local.get $2 local.get $3 i32.store offset=8 local.get $3 - local.get $2 local.get $3 i32.load offset=4 i32.const 3 i32.and + local.get $2 i32.or i32.store offset=4 local.get $1 diff --git a/tests/compiler/do.optimized.wat b/tests/compiler/do.optimized.wat index d99c6cceeb..769ebdd80b 100644 --- a/tests/compiler/do.optimized.wat +++ b/tests/compiler/do.optimized.wat @@ -99,8 +99,8 @@ i32.and i32.eq if - local.get $0 global.get $~lib/rt/itcms/iter + local.get $0 i32.eq if local.get $0 @@ -160,11 +160,11 @@ local.get $1 i32.store offset=8 local.get $1 - local.get $2 local.get $1 i32.load offset=4 i32.const 3 i32.and + local.get $2 i32.or i32.store offset=4 end @@ -178,10 +178,10 @@ if (result i32) i32.const 1 else - local.get $1 i32.const 1472 i32.load - i32.gt_u + local.get $1 + i32.lt_u if i32.const 1280 i32.const 1344 @@ -218,11 +218,11 @@ local.get $1 i32.store offset=8 local.get $1 - local.get $0 local.get $1 i32.load offset=4 i32.const 3 i32.and + local.get $0 i32.or i32.store offset=4 local.get $2 @@ -361,22 +361,22 @@ local.get $4 i32.eqz if - local.get $0 local.get $3 i32.const 2 i32.shl + local.get $0 i32.add - local.tee $1 + local.tee $4 i32.load offset=4 i32.const -2 local.get $2 i32.rotl i32.and - local.set $2 + local.set $1 + local.get $4 local.get $1 - local.get $2 i32.store offset=4 - local.get $2 + local.get $1 i32.eqz if local.get $0 @@ -624,10 +624,10 @@ i32.shl i32.or i32.store - local.get $0 local.get $5 i32.const 2 i32.shl + local.get $0 i32.add local.tee $0 local.get $0 @@ -667,11 +667,11 @@ i32.load offset=1568 local.tee $2 if + local.get $1 local.get $2 i32.const 4 i32.add - local.get $1 - i32.gt_u + i32.lt_u if i32.const 0 i32.const 1424 @@ -695,11 +695,11 @@ local.set $1 end else + local.get $1 local.get $0 i32.const 1572 i32.add - local.get $1 - i32.gt_u + i32.lt_u if i32.const 0 i32.const 1424 @@ -986,13 +986,13 @@ if local.get $0 i32.load offset=4 + local.tee $1 i32.const -4 i32.and global.set $~lib/rt/itcms/iter global.get $~lib/rt/itcms/white i32.eqz - local.get $0 - i32.load offset=4 + local.get $1 i32.const 3 i32.and i32.ne @@ -1079,10 +1079,10 @@ end global.get $~lib/rt/itcms/toSpace local.tee $0 - local.get $0 + local.tee $1 + local.get $1 i32.store offset=4 - global.get $~lib/rt/itcms/toSpace - local.tee $0 + local.get $0 local.get $0 i32.store offset=8 i32.const 0 @@ -1102,11 +1102,11 @@ i32.and local.tee $2 if (result i32) - local.get $0 local.get $2 i32.ctz i32.const 2 i32.shl + local.get $0 i32.add i32.load offset=96 else @@ -1116,12 +1116,12 @@ i32.and local.tee $1 if (result i32) - local.get $0 local.get $1 i32.ctz local.tee $1 i32.const 2 i32.shl + local.get $0 i32.add i32.load offset=4 local.tee $2 @@ -1134,7 +1134,6 @@ call $~lib/builtins/abort unreachable end - local.get $0 local.get $2 i32.ctz local.get $1 @@ -1143,6 +1142,7 @@ i32.add i32.const 2 i32.shl + local.get $0 i32.add i32.load offset=96 else @@ -1820,18 +1820,13 @@ local.get $0 i32.const 4 i32.add - local.tee $1 local.get $0 i32.load i32.const -4 i32.and i32.add + local.tee $1 local.get $1 - local.get $0 - i32.load - i32.const -4 - i32.and - i32.add i32.load i32.const -3 i32.and @@ -1848,19 +1843,19 @@ i32.load offset=8 local.set $3 local.get $0 - local.get $1 global.get $~lib/rt/itcms/white + local.get $1 i32.or i32.store offset=4 local.get $0 local.get $3 i32.store offset=8 local.get $3 - local.get $0 local.get $3 i32.load offset=4 i32.const 3 i32.and + local.get $0 i32.or i32.store offset=4 local.get $1 diff --git a/tests/compiler/empty-exportruntime.optimized.wat b/tests/compiler/empty-exportruntime.optimized.wat index 1178f405c9..1fe41540de 100644 --- a/tests/compiler/empty-exportruntime.optimized.wat +++ b/tests/compiler/empty-exportruntime.optimized.wat @@ -146,8 +146,8 @@ (local $1 i32) (local $2 i32) (local $3 i32) - local.get $0 global.get $~lib/rt/itcms/iter + local.get $0 i32.eq if local.get $0 @@ -177,10 +177,10 @@ if (result i32) i32.const 1 else - local.get $1 i32.const 1568 i32.load - i32.gt_u + local.get $1 + i32.lt_u if i32.const 1248 i32.const 1312 @@ -217,11 +217,11 @@ local.get $1 i32.store offset=8 local.get $1 - local.get $0 local.get $1 i32.load offset=4 i32.const 3 i32.and + local.get $0 i32.or i32.store offset=4 local.get $2 @@ -379,22 +379,22 @@ local.get $4 i32.eqz if - local.get $0 local.get $3 i32.const 2 i32.shl + local.get $0 i32.add - local.tee $1 + local.tee $4 i32.load offset=4 i32.const -2 local.get $2 i32.rotl i32.and - local.set $2 + local.set $1 + local.get $4 local.get $1 - local.get $2 i32.store offset=4 - local.get $2 + local.get $1 i32.eqz if local.get $0 @@ -642,10 +642,10 @@ i32.shl i32.or i32.store - local.get $0 local.get $5 i32.const 2 i32.shl + local.get $0 i32.add local.tee $0 local.get $0 @@ -685,11 +685,11 @@ i32.load offset=1568 local.tee $2 if + local.get $1 local.get $2 i32.const 4 i32.add - local.get $1 - i32.gt_u + i32.lt_u if i32.const 0 i32.const 1392 @@ -713,11 +713,11 @@ local.set $1 end else + local.get $1 local.get $0 i32.const 1572 i32.add - local.get $1 - i32.gt_u + i32.lt_u if i32.const 0 i32.const 1392 @@ -1004,13 +1004,13 @@ if local.get $0 i32.load offset=4 + local.tee $1 i32.const -4 i32.and global.set $~lib/rt/itcms/iter global.get $~lib/rt/itcms/white i32.eqz - local.get $0 - i32.load offset=4 + local.get $1 i32.const 3 i32.and i32.ne @@ -1097,10 +1097,10 @@ end global.get $~lib/rt/itcms/toSpace local.tee $0 - local.get $0 + local.tee $1 + local.get $1 i32.store offset=4 - global.get $~lib/rt/itcms/toSpace - local.tee $0 + local.get $0 local.get $0 i32.store offset=8 i32.const 0 @@ -1349,7 +1349,6 @@ i32.const 536870910 i32.lt_u if (result i32) - local.get $3 i32.const 1 i32.const 27 local.get $3 @@ -1358,6 +1357,7 @@ i32.shl i32.const 1 i32.sub + local.get $3 i32.add else local.get $3 @@ -1418,12 +1418,12 @@ unreachable end end - local.get $3 local.get $2 i32.load i32.const -4 i32.and - i32.gt_u + local.get $3 + i32.lt_u if i32.const 0 i32.const 1392 @@ -1461,10 +1461,10 @@ i32.ge_u if local.get $2 - local.get $3 local.get $5 i32.const 2 i32.and + local.get $3 i32.or i32.store local.get $3 @@ -1491,18 +1491,13 @@ local.get $2 i32.const 4 i32.add - local.tee $3 local.get $2 i32.load i32.const -4 i32.and i32.add + local.tee $3 local.get $3 - local.get $2 - i32.load - i32.const -4 - i32.and - i32.add i32.load i32.const -3 i32.and @@ -1519,19 +1514,19 @@ i32.load offset=8 local.set $3 local.get $2 - local.get $1 global.get $~lib/rt/itcms/white + local.get $1 i32.or i32.store offset=4 local.get $2 local.get $3 i32.store offset=8 local.get $3 - local.get $2 local.get $3 i32.load offset=4 i32.const 3 i32.and + local.get $2 i32.or i32.store offset=4 local.get $1 @@ -1764,11 +1759,11 @@ local.get $2 i32.store offset=8 local.get $2 - local.get $1 local.get $2 i32.load offset=4 i32.const 3 i32.and + local.get $1 i32.or i32.store offset=4 local.get $3 @@ -1816,19 +1811,19 @@ i32.load offset=8 local.set $1 local.get $0 - local.get $2 global.get $~lib/rt/itcms/white + local.get $2 i32.or i32.store offset=4 local.get $0 local.get $1 i32.store offset=8 local.get $1 - local.get $0 local.get $1 i32.load offset=4 i32.const 3 i32.and + local.get $0 i32.or i32.store offset=4 local.get $2 diff --git a/tests/compiler/empty-new.optimized.wat b/tests/compiler/empty-new.optimized.wat index ca6a7070f4..53bb82de6d 100644 --- a/tests/compiler/empty-new.optimized.wat +++ b/tests/compiler/empty-new.optimized.wat @@ -95,8 +95,8 @@ i32.and i32.eq if - local.get $0 global.get $~lib/rt/itcms/iter + local.get $0 i32.eq if local.get $0 @@ -156,11 +156,11 @@ local.get $1 i32.store offset=8 local.get $1 - local.get $2 local.get $1 i32.load offset=4 i32.const 3 i32.and + local.get $2 i32.or i32.store offset=4 end @@ -174,10 +174,10 @@ if (result i32) i32.const 1 else - local.get $1 i32.const 1440 i32.load - i32.gt_u + local.get $1 + i32.lt_u if i32.const 1248 i32.const 1312 @@ -214,11 +214,11 @@ local.get $1 i32.store offset=8 local.get $1 - local.get $0 local.get $1 i32.load offset=4 i32.const 3 i32.and + local.get $0 i32.or i32.store offset=4 local.get $2 @@ -357,22 +357,22 @@ local.get $4 i32.eqz if - local.get $0 local.get $3 i32.const 2 i32.shl + local.get $0 i32.add - local.tee $1 + local.tee $4 i32.load offset=4 i32.const -2 local.get $2 i32.rotl i32.and - local.set $2 + local.set $1 + local.get $4 local.get $1 - local.get $2 i32.store offset=4 - local.get $2 + local.get $1 i32.eqz if local.get $0 @@ -620,10 +620,10 @@ i32.shl i32.or i32.store - local.get $0 local.get $5 i32.const 2 i32.shl + local.get $0 i32.add local.tee $0 local.get $0 @@ -663,11 +663,11 @@ i32.load offset=1568 local.tee $2 if + local.get $1 local.get $2 i32.const 4 i32.add - local.get $1 - i32.gt_u + i32.lt_u if i32.const 0 i32.const 1392 @@ -691,11 +691,11 @@ local.set $1 end else + local.get $1 local.get $0 i32.const 1572 i32.add - local.get $1 - i32.gt_u + i32.lt_u if i32.const 0 i32.const 1392 @@ -982,13 +982,13 @@ if local.get $0 i32.load offset=4 + local.tee $1 i32.const -4 i32.and global.set $~lib/rt/itcms/iter global.get $~lib/rt/itcms/white i32.eqz - local.get $0 - i32.load offset=4 + local.get $1 i32.const 3 i32.and i32.ne @@ -1075,10 +1075,10 @@ end global.get $~lib/rt/itcms/toSpace local.tee $0 - local.get $0 + local.tee $1 + local.get $1 i32.store offset=4 - global.get $~lib/rt/itcms/toSpace - local.tee $0 + local.get $0 local.get $0 i32.store offset=8 i32.const 0 @@ -1098,11 +1098,11 @@ i32.and local.tee $2 if (result i32) - local.get $0 local.get $2 i32.ctz i32.const 2 i32.shl + local.get $0 i32.add i32.load offset=96 else @@ -1112,12 +1112,12 @@ i32.and local.tee $1 if (result i32) - local.get $0 local.get $1 i32.ctz local.tee $1 i32.const 2 i32.shl + local.get $0 i32.add i32.load offset=4 local.tee $2 @@ -1130,7 +1130,6 @@ call $~lib/builtins/abort unreachable end - local.get $0 local.get $2 i32.ctz local.get $1 @@ -1139,6 +1138,7 @@ i32.add i32.const 2 i32.shl + local.get $0 i32.add i32.load offset=96 else @@ -1378,18 +1378,13 @@ local.get $0 i32.const 4 i32.add - local.tee $1 local.get $0 i32.load i32.const -4 i32.and i32.add + local.tee $1 local.get $1 - local.get $0 - i32.load - i32.const -4 - i32.and - i32.add i32.load i32.const -3 i32.and @@ -1406,19 +1401,19 @@ i32.load offset=8 local.set $3 local.get $0 - local.get $1 global.get $~lib/rt/itcms/white + local.get $1 i32.or i32.store offset=4 local.get $0 local.get $3 i32.store offset=8 local.get $3 - local.get $0 local.get $3 i32.load offset=4 i32.const 3 i32.and + local.get $0 i32.or i32.store offset=4 local.get $1 diff --git a/tests/compiler/exports.optimized.wat b/tests/compiler/exports.optimized.wat index 16332c0eca..c891abccb7 100644 --- a/tests/compiler/exports.optimized.wat +++ b/tests/compiler/exports.optimized.wat @@ -149,8 +149,8 @@ i32.and i32.eq if - local.get $0 global.get $~lib/rt/itcms/iter + local.get $0 i32.eq if local.get $0 @@ -210,11 +210,11 @@ local.get $1 i32.store offset=8 local.get $1 - local.get $2 local.get $1 i32.load offset=4 i32.const 3 i32.and + local.get $2 i32.or i32.store offset=4 end @@ -228,10 +228,10 @@ if (result i32) i32.const 1 else - local.get $1 i32.const 1440 i32.load - i32.gt_u + local.get $1 + i32.lt_u if i32.const 1248 i32.const 1312 @@ -268,11 +268,11 @@ local.get $1 i32.store offset=8 local.get $1 - local.get $0 local.get $1 i32.load offset=4 i32.const 3 i32.and + local.get $0 i32.or i32.store offset=4 local.get $2 @@ -411,22 +411,22 @@ local.get $4 i32.eqz if - local.get $0 local.get $3 i32.const 2 i32.shl + local.get $0 i32.add - local.tee $1 + local.tee $4 i32.load offset=4 i32.const -2 local.get $2 i32.rotl i32.and - local.set $2 + local.set $1 + local.get $4 local.get $1 - local.get $2 i32.store offset=4 - local.get $2 + local.get $1 i32.eqz if local.get $0 @@ -674,10 +674,10 @@ i32.shl i32.or i32.store - local.get $0 local.get $5 i32.const 2 i32.shl + local.get $0 i32.add local.tee $0 local.get $0 @@ -717,11 +717,11 @@ i32.load offset=1568 local.tee $2 if + local.get $1 local.get $2 i32.const 4 i32.add - local.get $1 - i32.gt_u + i32.lt_u if i32.const 0 i32.const 1392 @@ -745,11 +745,11 @@ local.set $1 end else + local.get $1 local.get $0 i32.const 1572 i32.add - local.get $1 - i32.gt_u + i32.lt_u if i32.const 0 i32.const 1392 @@ -1036,13 +1036,13 @@ if local.get $0 i32.load offset=4 + local.tee $1 i32.const -4 i32.and global.set $~lib/rt/itcms/iter global.get $~lib/rt/itcms/white i32.eqz - local.get $0 - i32.load offset=4 + local.get $1 i32.const 3 i32.and i32.ne @@ -1129,10 +1129,10 @@ end global.get $~lib/rt/itcms/toSpace local.tee $0 - local.get $0 + local.tee $1 + local.get $1 i32.store offset=4 - global.get $~lib/rt/itcms/toSpace - local.tee $0 + local.get $0 local.get $0 i32.store offset=8 i32.const 0 @@ -1152,11 +1152,11 @@ i32.and local.tee $2 if (result i32) - local.get $0 local.get $2 i32.ctz i32.const 2 i32.shl + local.get $0 i32.add i32.load offset=96 else @@ -1166,12 +1166,12 @@ i32.and local.tee $1 if (result i32) - local.get $0 local.get $1 i32.ctz local.tee $1 i32.const 2 i32.shl + local.get $0 i32.add i32.load offset=4 local.tee $2 @@ -1184,7 +1184,6 @@ call $~lib/builtins/abort unreachable end - local.get $0 local.get $2 i32.ctz local.get $1 @@ -1193,6 +1192,7 @@ i32.add i32.const 2 i32.shl + local.get $0 i32.add i32.load offset=96 else @@ -1374,18 +1374,13 @@ local.get $1 i32.const 4 i32.add - local.tee $2 local.get $1 i32.load i32.const -4 i32.and i32.add + local.tee $2 local.get $2 - local.get $1 - i32.load - i32.const -4 - i32.and - i32.add i32.load i32.const -3 i32.and @@ -1402,19 +1397,19 @@ i32.load offset=8 local.set $2 local.get $1 - local.get $0 global.get $~lib/rt/itcms/white + local.get $0 i32.or i32.store offset=4 local.get $1 local.get $2 i32.store offset=8 local.get $2 - local.get $1 local.get $2 i32.load offset=4 i32.const 3 i32.and + local.get $1 i32.or i32.store offset=4 local.get $0 diff --git a/tests/compiler/exportstar-rereexport.optimized.wat b/tests/compiler/exportstar-rereexport.optimized.wat index 389f2644bf..98532485b9 100644 --- a/tests/compiler/exportstar-rereexport.optimized.wat +++ b/tests/compiler/exportstar-rereexport.optimized.wat @@ -150,8 +150,8 @@ i32.and i32.eq if - local.get $0 global.get $~lib/rt/itcms/iter + local.get $0 i32.eq if local.get $0 @@ -211,11 +211,11 @@ local.get $1 i32.store offset=8 local.get $1 - local.get $2 local.get $1 i32.load offset=4 i32.const 3 i32.and + local.get $2 i32.or i32.store offset=4 end @@ -229,10 +229,10 @@ if (result i32) i32.const 1 else - local.get $1 i32.const 1536 i32.load - i32.gt_u + local.get $1 + i32.lt_u if i32.const 1296 i32.const 1360 @@ -269,11 +269,11 @@ local.get $1 i32.store offset=8 local.get $1 - local.get $0 local.get $1 i32.load offset=4 i32.const 3 i32.and + local.get $0 i32.or i32.store offset=4 local.get $2 @@ -412,22 +412,22 @@ local.get $4 i32.eqz if - local.get $0 local.get $3 i32.const 2 i32.shl + local.get $0 i32.add - local.tee $1 + local.tee $4 i32.load offset=4 i32.const -2 local.get $2 i32.rotl i32.and - local.set $2 + local.set $1 + local.get $4 local.get $1 - local.get $2 i32.store offset=4 - local.get $2 + local.get $1 i32.eqz if local.get $0 @@ -675,10 +675,10 @@ i32.shl i32.or i32.store - local.get $0 local.get $5 i32.const 2 i32.shl + local.get $0 i32.add local.tee $0 local.get $0 @@ -718,11 +718,11 @@ i32.load offset=1568 local.tee $2 if + local.get $1 local.get $2 i32.const 4 i32.add - local.get $1 - i32.gt_u + i32.lt_u if i32.const 0 i32.const 1440 @@ -746,11 +746,11 @@ local.set $1 end else + local.get $1 local.get $0 i32.const 1572 i32.add - local.get $1 - i32.gt_u + i32.lt_u if i32.const 0 i32.const 1440 @@ -1037,13 +1037,13 @@ if local.get $0 i32.load offset=4 + local.tee $1 i32.const -4 i32.and global.set $~lib/rt/itcms/iter global.get $~lib/rt/itcms/white i32.eqz - local.get $0 - i32.load offset=4 + local.get $1 i32.const 3 i32.and i32.ne @@ -1130,10 +1130,10 @@ end global.get $~lib/rt/itcms/toSpace local.tee $0 - local.get $0 + local.tee $1 + local.get $1 i32.store offset=4 - global.get $~lib/rt/itcms/toSpace - local.tee $0 + local.get $0 local.get $0 i32.store offset=8 i32.const 0 @@ -1153,11 +1153,11 @@ i32.and local.tee $2 if (result i32) - local.get $0 local.get $2 i32.ctz i32.const 2 i32.shl + local.get $0 i32.add i32.load offset=96 else @@ -1167,12 +1167,12 @@ i32.and local.tee $1 if (result i32) - local.get $0 local.get $1 i32.ctz local.tee $1 i32.const 2 i32.shl + local.get $0 i32.add i32.load offset=4 local.tee $2 @@ -1185,7 +1185,6 @@ call $~lib/builtins/abort unreachable end - local.get $0 local.get $2 i32.ctz local.get $1 @@ -1194,6 +1193,7 @@ i32.add i32.const 2 i32.shl + local.get $0 i32.add i32.load offset=96 else @@ -1563,18 +1563,13 @@ local.get $0 i32.const 4 i32.add - local.tee $1 local.get $0 i32.load i32.const -4 i32.and i32.add + local.tee $1 local.get $1 - local.get $0 - i32.load - i32.const -4 - i32.and - i32.add i32.load i32.const -3 i32.and @@ -1591,19 +1586,19 @@ i32.load offset=8 local.set $3 local.get $0 - local.get $1 global.get $~lib/rt/itcms/white + local.get $1 i32.or i32.store offset=4 local.get $0 local.get $3 i32.store offset=8 local.get $3 - local.get $0 local.get $3 i32.load offset=4 i32.const 3 i32.and + local.get $0 i32.or i32.store offset=4 local.get $1 diff --git a/tests/compiler/extends-baseaggregate.optimized.wat b/tests/compiler/extends-baseaggregate.optimized.wat index c1e572c5a6..3c00c1f698 100644 --- a/tests/compiler/extends-baseaggregate.optimized.wat +++ b/tests/compiler/extends-baseaggregate.optimized.wat @@ -98,8 +98,8 @@ (local $1 i32) (local $2 i32) (local $3 i32) - local.get $0 global.get $~lib/rt/itcms/iter + local.get $0 i32.eq if local.get $0 @@ -159,11 +159,11 @@ local.get $1 i32.store offset=8 local.get $1 - local.get $2 local.get $1 i32.load offset=4 i32.const 3 i32.and + local.get $2 i32.or i32.store offset=4 end @@ -177,10 +177,10 @@ if (result i32) i32.const 1 else - local.get $1 i32.const 1696 i32.load - i32.gt_u + local.get $1 + i32.lt_u if i32.const 1408 i32.const 1472 @@ -217,11 +217,11 @@ local.get $1 i32.store offset=8 local.get $1 - local.get $0 local.get $1 i32.load offset=4 i32.const 3 i32.and + local.get $0 i32.or i32.store offset=4 local.get $2 @@ -379,22 +379,22 @@ local.get $4 i32.eqz if - local.get $0 local.get $3 i32.const 2 i32.shl + local.get $0 i32.add - local.tee $1 + local.tee $4 i32.load offset=4 i32.const -2 local.get $2 i32.rotl i32.and - local.set $2 + local.set $1 + local.get $4 local.get $1 - local.get $2 i32.store offset=4 - local.get $2 + local.get $1 i32.eqz if local.get $0 @@ -642,10 +642,10 @@ i32.shl i32.or i32.store - local.get $0 local.get $5 i32.const 2 i32.shl + local.get $0 i32.add local.tee $0 local.get $0 @@ -685,11 +685,11 @@ i32.load offset=1568 local.tee $2 if + local.get $1 local.get $2 i32.const 4 i32.add - local.get $1 - i32.gt_u + i32.lt_u if i32.const 0 i32.const 1552 @@ -713,11 +713,11 @@ local.set $1 end else + local.get $1 local.get $0 i32.const 1572 i32.add - local.get $1 - i32.gt_u + i32.lt_u if i32.const 0 i32.const 1552 @@ -1004,13 +1004,13 @@ if local.get $0 i32.load offset=4 + local.tee $1 i32.const -4 i32.and global.set $~lib/rt/itcms/iter global.get $~lib/rt/itcms/white i32.eqz - local.get $0 - i32.load offset=4 + local.get $1 i32.const 3 i32.and i32.ne @@ -1097,10 +1097,10 @@ end global.get $~lib/rt/itcms/toSpace local.tee $0 - local.get $0 + local.tee $1 + local.get $1 i32.store offset=4 - global.get $~lib/rt/itcms/toSpace - local.tee $0 + local.get $0 local.get $0 i32.store offset=8 i32.const 0 @@ -1525,7 +1525,6 @@ i32.const 536870910 i32.lt_u if (result i32) - local.get $2 i32.const 1 i32.const 27 local.get $2 @@ -1534,6 +1533,7 @@ i32.shl i32.const 1 i32.sub + local.get $2 i32.add else local.get $2 @@ -1594,12 +1594,12 @@ unreachable end end - local.get $2 local.get $3 i32.load i32.const -4 i32.and - i32.gt_u + local.get $2 + i32.lt_u if i32.const 0 i32.const 1552 @@ -1637,10 +1637,10 @@ i32.ge_u if local.get $3 - local.get $2 local.get $4 i32.const 2 i32.and + local.get $2 i32.or i32.store local.get $2 @@ -1667,18 +1667,13 @@ local.get $3 i32.const 4 i32.add - local.tee $2 local.get $3 i32.load i32.const -4 i32.and i32.add + local.tee $2 local.get $2 - local.get $3 - i32.load - i32.const -4 - i32.and - i32.add i32.load i32.const -3 i32.and @@ -1695,19 +1690,19 @@ i32.load offset=8 local.set $2 local.get $3 - local.get $1 global.get $~lib/rt/itcms/white + local.get $1 i32.or i32.store offset=4 local.get $3 local.get $2 i32.store offset=8 local.get $2 - local.get $3 local.get $2 i32.load offset=4 i32.const 3 i32.and + local.get $3 i32.or i32.store offset=4 local.get $1 @@ -1803,17 +1798,17 @@ select if local.get $0 - local.tee $3 + local.tee $4 i32.const 1 i32.add local.set $0 local.get $1 - local.tee $4 + local.tee $3 i32.const 1 i32.add local.set $1 - local.get $3 local.get $4 + local.get $3 i32.load8_u i32.store8 local.get $2 @@ -1959,19 +1954,19 @@ local.get $0 i32.const 2 i32.add - local.tee $3 + local.tee $4 i32.const 1 i32.add local.set $0 local.get $1 i32.const 2 i32.add - local.tee $4 + local.tee $3 i32.const 1 i32.add local.set $1 - local.get $3 local.get $4 + local.get $3 i32.load8_u i32.store8 local.get $2 @@ -1986,7 +1981,7 @@ local.get $0 local.get $1 i32.load offset=1 - local.tee $3 + local.tee $4 i32.const 8 i32.shl local.get $5 @@ -1997,10 +1992,10 @@ local.get $0 local.get $1 i32.load offset=5 - local.tee $4 + local.tee $3 i32.const 8 i32.shl - local.get $3 + local.get $4 i32.const 24 i32.shr_u i32.or @@ -2008,10 +2003,10 @@ local.get $0 local.get $1 i32.load offset=9 - local.tee $3 + local.tee $4 i32.const 8 i32.shl - local.get $4 + local.get $3 i32.const 24 i32.shr_u i32.or @@ -2022,7 +2017,7 @@ local.tee $5 i32.const 8 i32.shl - local.get $3 + local.get $4 i32.const 24 i32.shr_u i32.or @@ -2077,7 +2072,7 @@ local.get $0 local.get $1 i32.load offset=2 - local.tee $3 + local.tee $4 i32.const 16 i32.shl local.get $5 @@ -2088,10 +2083,10 @@ local.get $0 local.get $1 i32.load offset=6 - local.tee $4 + local.tee $3 i32.const 16 i32.shl - local.get $3 + local.get $4 i32.const 16 i32.shr_u i32.or @@ -2099,10 +2094,10 @@ local.get $0 local.get $1 i32.load offset=10 - local.tee $3 + local.tee $4 i32.const 16 i32.shl - local.get $4 + local.get $3 i32.const 16 i32.shr_u i32.or @@ -2113,7 +2108,7 @@ local.tee $5 i32.const 16 i32.shl - local.get $3 + local.get $4 i32.const 16 i32.shr_u i32.or @@ -2139,17 +2134,17 @@ i32.load local.set $5 local.get $0 - local.tee $3 + local.tee $4 i32.const 1 i32.add local.set $0 local.get $1 - local.tee $4 + local.tee $3 i32.const 1 i32.add local.set $1 - local.get $3 local.get $4 + local.get $3 i32.load8_u i32.store8 local.get $2 @@ -2164,7 +2159,7 @@ local.get $0 local.get $1 i32.load offset=3 - local.tee $3 + local.tee $4 i32.const 24 i32.shl local.get $5 @@ -2175,10 +2170,10 @@ local.get $0 local.get $1 i32.load offset=7 - local.tee $4 + local.tee $3 i32.const 24 i32.shl - local.get $3 + local.get $4 i32.const 8 i32.shr_u i32.or @@ -2186,10 +2181,10 @@ local.get $0 local.get $1 i32.load offset=11 - local.tee $3 + local.tee $4 i32.const 24 i32.shl - local.get $4 + local.get $3 i32.const 8 i32.shr_u i32.or @@ -2200,7 +2195,7 @@ local.tee $5 i32.const 24 i32.shl - local.get $3 + local.get $4 i32.const 8 i32.shr_u i32.or @@ -2231,145 +2226,137 @@ i32.load8_u i32.store8 local.get $0 - local.tee $4 - i32.const 2 - i32.add - local.set $0 local.get $1 - local.tee $3 - i32.const 2 - i32.add - local.set $1 - local.get $4 - local.get $3 i32.load8_u offset=1 i32.store8 offset=1 local.get $0 - local.get $1 - i32.load8_u - i32.store8 - local.get $0 - local.tee $4 i32.const 2 i32.add - local.set $0 + local.tee $4 local.get $1 + i32.const 2 + i32.add local.tee $3 + i32.load8_u + i32.store8 + local.get $3 + local.tee $0 i32.const 2 i32.add - local.set $1 + local.set $3 local.get $4 - local.get $3 + local.get $0 i32.load8_u offset=1 i32.store8 offset=1 - local.get $0 - local.get $1 + local.get $4 + i32.const 2 + i32.add + local.tee $1 + local.get $3 i32.load8_u i32.store8 - local.get $0 + local.get $1 local.tee $4 i32.const 2 i32.add - local.set $0 - local.get $1 - local.tee $3 + local.set $1 + local.get $3 + local.tee $0 i32.const 2 i32.add - local.set $1 + local.set $3 local.get $4 - local.get $3 + local.get $0 i32.load8_u offset=1 i32.store8 offset=1 - local.get $0 local.get $1 + local.get $3 i32.load8_u i32.store8 - local.get $0 + local.get $1 local.tee $4 i32.const 2 i32.add - local.set $0 - local.get $1 - local.tee $3 + local.set $1 + local.get $3 + local.tee $0 i32.const 2 i32.add - local.set $1 + local.set $3 local.get $4 - local.get $3 + local.get $0 i32.load8_u offset=1 i32.store8 offset=1 - local.get $0 local.get $1 + local.get $3 i32.load8_u i32.store8 - local.get $0 + local.get $1 local.tee $4 i32.const 2 i32.add - local.set $0 - local.get $1 - local.tee $3 + local.set $1 + local.get $3 + local.tee $0 i32.const 2 i32.add - local.set $1 + local.set $3 local.get $4 - local.get $3 + local.get $0 i32.load8_u offset=1 i32.store8 offset=1 - local.get $0 local.get $1 + local.get $3 i32.load8_u i32.store8 - local.get $0 + local.get $1 local.tee $4 i32.const 2 i32.add - local.set $0 - local.get $1 - local.tee $3 + local.set $1 + local.get $3 + local.tee $0 i32.const 2 i32.add - local.set $1 + local.set $3 local.get $4 - local.get $3 + local.get $0 i32.load8_u offset=1 i32.store8 offset=1 - local.get $0 local.get $1 + local.get $3 i32.load8_u i32.store8 - local.get $0 + local.get $1 local.tee $4 i32.const 2 i32.add - local.set $0 - local.get $1 - local.tee $3 + local.set $1 + local.get $3 + local.tee $0 i32.const 2 i32.add - local.set $1 + local.set $3 local.get $4 - local.get $3 + local.get $0 i32.load8_u offset=1 i32.store8 offset=1 - local.get $0 local.get $1 + local.get $3 i32.load8_u i32.store8 - local.get $0 - local.tee $4 + local.get $1 i32.const 2 i32.add local.set $0 local.get $1 - local.tee $3 - i32.const 2 - i32.add - local.set $1 - local.get $4 local.get $3 i32.load8_u offset=1 i32.store8 offset=1 + local.get $3 + i32.const 2 + i32.add + local.set $1 end local.get $2 i32.const 8 @@ -2380,73 +2367,65 @@ i32.load8_u i32.store8 local.get $0 - local.tee $4 - i32.const 2 - i32.add - local.set $0 local.get $1 - local.tee $3 - i32.const 2 - i32.add - local.set $1 - local.get $4 - local.get $3 i32.load8_u offset=1 i32.store8 offset=1 local.get $0 - local.get $1 - i32.load8_u - i32.store8 - local.get $0 - local.tee $4 i32.const 2 i32.add - local.set $0 + local.tee $4 local.get $1 + i32.const 2 + i32.add local.tee $3 + i32.load8_u + i32.store8 + local.get $3 + local.tee $0 i32.const 2 i32.add - local.set $1 + local.set $3 local.get $4 - local.get $3 + local.get $0 i32.load8_u offset=1 i32.store8 offset=1 - local.get $0 - local.get $1 + local.get $4 + i32.const 2 + i32.add + local.tee $1 + local.get $3 i32.load8_u i32.store8 - local.get $0 + local.get $1 local.tee $4 i32.const 2 i32.add - local.set $0 - local.get $1 - local.tee $3 + local.set $1 + local.get $3 + local.tee $0 i32.const 2 i32.add - local.set $1 + local.set $3 local.get $4 - local.get $3 + local.get $0 i32.load8_u offset=1 i32.store8 offset=1 - local.get $0 local.get $1 + local.get $3 i32.load8_u i32.store8 - local.get $0 - local.tee $4 + local.get $1 i32.const 2 i32.add local.set $0 local.get $1 - local.tee $3 - i32.const 2 - i32.add - local.set $1 - local.get $4 local.get $3 i32.load8_u offset=1 i32.store8 offset=1 + local.get $3 + i32.const 2 + i32.add + local.set $1 end local.get $2 i32.const 4 @@ -2457,30 +2436,20 @@ i32.load8_u i32.store8 local.get $0 - local.tee $4 - i32.const 2 - i32.add - local.set $0 local.get $1 - local.tee $3 - i32.const 2 - i32.add - local.set $1 - local.get $4 - local.get $3 i32.load8_u offset=1 i32.store8 offset=1 local.get $0 - local.get $1 - i32.load8_u - i32.store8 - local.get $0 - local.tee $4 i32.const 2 i32.add - local.set $0 + local.tee $4 local.get $1 + i32.const 2 + i32.add local.tee $3 + i32.load8_u + i32.store8 + local.get $3 i32.const 2 i32.add local.set $1 @@ -2488,6 +2457,10 @@ local.get $3 i32.load8_u offset=1 i32.store8 offset=1 + local.get $4 + i32.const 2 + i32.add + local.set $0 end local.get $2 i32.const 2 @@ -2536,11 +2509,11 @@ (local $11 i32) i32.const 1180 i32.load - local.tee $7 + local.tee $8 i32.const 1 i32.add - local.tee $6 - local.tee $3 + local.tee $7 + local.tee $5 i32.const 1176 i32.load local.tee $10 @@ -2548,7 +2521,7 @@ i32.shr_u i32.gt_u if - local.get $3 + local.get $5 i32.const 268435455 i32.gt_u if @@ -2559,10 +2532,6 @@ call $~lib/builtins/abort unreachable end - i32.const 1168 - i32.load - local.tee $9 - local.set $1 block $__inlined_func$~lib/rt/itcms/__renew local.get $10 i32.const 1 @@ -2574,9 +2543,9 @@ i32.lt_u select local.tee $2 - local.get $3 + local.get $5 i32.const 8 - local.get $3 + local.get $5 i32.const 8 i32.gt_u select @@ -2587,12 +2556,15 @@ local.get $4 i32.gt_u select - local.tee $8 - local.tee $3 - local.get $9 + local.tee $9 + local.tee $11 + i32.const 1168 + i32.load + local.tee $6 + local.tee $1 i32.const 20 i32.sub - local.tee $2 + local.tee $3 i32.load i32.const -4 i32.and @@ -2600,25 +2572,23 @@ i32.sub i32.le_u if - local.get $2 local.get $3 + local.get $11 i32.store offset=16 - local.get $1 - local.set $5 br $__inlined_func$~lib/rt/itcms/__renew end + local.get $11 local.get $3 - local.get $2 i32.load offset=12 call $~lib/rt/itcms/__new local.tee $5 local.set $4 + local.get $11 local.get $3 - local.get $2 i32.load offset=16 local.tee $2 local.get $2 - local.get $3 + local.get $11 i32.gt_u select local.set $11 @@ -2807,36 +2777,38 @@ end end end + local.get $5 + local.set $1 end - local.get $5 + local.get $1 local.get $10 i32.add - local.get $8 + local.get $9 local.get $10 i32.sub call $~lib/memory/memory.fill - local.get $5 - local.get $9 + local.get $1 + local.get $6 i32.ne if i32.const 1168 - local.get $5 + local.get $1 i32.store i32.const 1172 - local.get $5 + local.get $1 i32.store i32.const 1168 - local.get $5 + local.get $1 i32.const 0 call $~lib/rt/itcms/__link end i32.const 1176 - local.get $8 + local.get $9 i32.store end i32.const 1172 i32.load - local.get $7 + local.get $8 i32.const 2 i32.shl i32.add @@ -2847,7 +2819,7 @@ i32.const 1 call $~lib/rt/itcms/__link i32.const 1180 - local.get $6 + local.get $7 i32.store ) (func $~lib/array/Array~visit (param $0 i32) @@ -3001,7 +2973,7 @@ local.tee $0 i32.store global.get $~lib/memory/__stack_pointer - local.tee $1 + global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub global.set $~lib/memory/__stack_pointer @@ -3039,7 +3011,6 @@ i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $1 local.get $0 i32.store global.get $~lib/memory/__stack_pointer diff --git a/tests/compiler/extends-recursive.optimized.wat b/tests/compiler/extends-recursive.optimized.wat index fab896cbc3..d9e47c1ab2 100644 --- a/tests/compiler/extends-recursive.optimized.wat +++ b/tests/compiler/extends-recursive.optimized.wat @@ -87,8 +87,8 @@ (local $1 i32) (local $2 i32) (local $3 i32) - local.get $0 global.get $~lib/rt/itcms/iter + local.get $0 i32.eq if local.get $0 @@ -148,11 +148,11 @@ local.get $1 i32.store offset=8 local.get $1 - local.get $2 local.get $1 i32.load offset=4 i32.const 3 i32.and + local.get $2 i32.or i32.store offset=4 end @@ -166,10 +166,10 @@ if (result i32) i32.const 1 else - local.get $1 i32.const 1440 i32.load - i32.gt_u + local.get $1 + i32.lt_u if i32.const 1248 i32.const 1312 @@ -206,11 +206,11 @@ local.get $1 i32.store offset=8 local.get $1 - local.get $0 local.get $1 i32.load offset=4 i32.const 3 i32.and + local.get $0 i32.or i32.store offset=4 local.get $2 @@ -368,22 +368,22 @@ local.get $4 i32.eqz if - local.get $0 local.get $3 i32.const 2 i32.shl + local.get $0 i32.add - local.tee $1 + local.tee $4 i32.load offset=4 i32.const -2 local.get $2 i32.rotl i32.and - local.set $2 + local.set $1 + local.get $4 local.get $1 - local.get $2 i32.store offset=4 - local.get $2 + local.get $1 i32.eqz if local.get $0 @@ -631,10 +631,10 @@ i32.shl i32.or i32.store - local.get $0 local.get $5 i32.const 2 i32.shl + local.get $0 i32.add local.tee $0 local.get $0 @@ -674,11 +674,11 @@ i32.load offset=1568 local.tee $2 if + local.get $1 local.get $2 i32.const 4 i32.add - local.get $1 - i32.gt_u + i32.lt_u if i32.const 0 i32.const 1392 @@ -702,11 +702,11 @@ local.set $1 end else + local.get $1 local.get $0 i32.const 1572 i32.add - local.get $1 - i32.gt_u + i32.lt_u if i32.const 0 i32.const 1392 @@ -993,13 +993,13 @@ if local.get $0 i32.load offset=4 + local.tee $1 i32.const -4 i32.and global.set $~lib/rt/itcms/iter global.get $~lib/rt/itcms/white i32.eqz - local.get $0 - i32.load offset=4 + local.get $1 i32.const 3 i32.and i32.ne @@ -1086,10 +1086,10 @@ end global.get $~lib/rt/itcms/toSpace local.tee $0 - local.get $0 + local.tee $1 + local.get $1 i32.store offset=4 - global.get $~lib/rt/itcms/toSpace - local.tee $0 + local.get $0 local.get $0 i32.store offset=8 i32.const 0 @@ -1109,11 +1109,11 @@ i32.and local.tee $2 if (result i32) - local.get $0 local.get $2 i32.ctz i32.const 2 i32.shl + local.get $0 i32.add i32.load offset=96 else @@ -1123,12 +1123,12 @@ i32.and local.tee $1 if (result i32) - local.get $0 local.get $1 i32.ctz local.tee $1 i32.const 2 i32.shl + local.get $0 i32.add i32.load offset=4 local.tee $2 @@ -1141,7 +1141,6 @@ call $~lib/builtins/abort unreachable end - local.get $0 local.get $2 i32.ctz local.get $1 @@ -1150,6 +1149,7 @@ i32.add i32.const 2 i32.shl + local.get $0 i32.add i32.load offset=96 else @@ -1331,18 +1331,13 @@ local.get $1 i32.const 4 i32.add - local.tee $2 local.get $1 i32.load i32.const -4 i32.and i32.add + local.tee $2 local.get $2 - local.get $1 - i32.load - i32.const -4 - i32.and - i32.add i32.load i32.const -3 i32.and @@ -1359,19 +1354,19 @@ i32.load offset=8 local.set $2 local.get $1 - local.get $0 global.get $~lib/rt/itcms/white + local.get $0 i32.or i32.store offset=4 local.get $1 local.get $2 i32.store offset=8 local.get $2 - local.get $1 local.get $2 i32.load offset=4 i32.const 3 i32.and + local.get $1 i32.or i32.store offset=4 local.get $0 @@ -1597,6 +1592,7 @@ ) (func $export:extends-recursive/Child#constructor (param $0 i32) (result i32) (local $1 i32) + (local $2 i32) global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub @@ -1632,6 +1628,7 @@ end global.get $~lib/memory/__stack_pointer local.tee $1 + local.get $1 i32.const 4 i32.sub global.set $~lib/memory/__stack_pointer @@ -1661,7 +1658,6 @@ i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $1 local.get $0 i32.store global.get $~lib/memory/__stack_pointer diff --git a/tests/compiler/features/simd.optimized.wat b/tests/compiler/features/simd.optimized.wat index 22b782c7a2..6b1df4a9bf 100644 --- a/tests/compiler/features/simd.optimized.wat +++ b/tests/compiler/features/simd.optimized.wat @@ -144,22 +144,22 @@ local.get $4 i32.eqz if - local.get $0 local.get $3 i32.const 2 i32.shl + local.get $0 i32.add - local.tee $1 + local.tee $4 i32.load offset=4 i32.const -2 local.get $2 i32.rotl i32.and - local.set $2 + local.set $1 + local.get $4 local.get $1 - local.get $2 i32.store offset=4 - local.get $2 + local.get $1 i32.eqz if local.get $0 @@ -407,10 +407,10 @@ i32.shl i32.or i32.store - local.get $0 local.get $5 i32.const 2 i32.shl + local.get $0 i32.add local.tee $0 local.get $0 @@ -450,11 +450,11 @@ i32.load offset=1568 local.tee $2 if + local.get $1 local.get $2 i32.const 4 i32.add - local.get $1 - i32.gt_u + i32.lt_u if i32.const 0 i32.const 1056 @@ -478,11 +478,11 @@ local.set $1 end else + local.get $1 local.get $0 i32.const 1572 i32.add - local.get $1 - i32.gt_u + i32.lt_u if i32.const 0 i32.const 1056 @@ -789,7 +789,6 @@ i32.const 536870910 i32.lt_u if (result i32) - local.get $0 i32.const 1 i32.const 27 local.get $0 @@ -798,6 +797,7 @@ i32.shl i32.const 1 i32.sub + local.get $0 i32.add else local.get $0 @@ -858,12 +858,12 @@ unreachable end end - local.get $0 local.get $1 i32.load i32.const -4 i32.and - i32.gt_u + local.get $0 + i32.lt_u if i32.const 0 i32.const 1056 @@ -901,10 +901,10 @@ i32.ge_u if local.get $1 - local.get $0 local.get $2 i32.const 2 i32.and + local.get $0 i32.or i32.store local.get $0 @@ -931,18 +931,13 @@ local.get $1 i32.const 4 i32.add - local.tee $0 local.get $1 i32.load i32.const -4 i32.and i32.add + local.tee $0 local.get $0 - local.get $1 - i32.load - i32.const -4 - i32.and - i32.add i32.load i32.const -3 i32.and diff --git a/tests/compiler/field-initialization.optimized.wat b/tests/compiler/field-initialization.optimized.wat index acad288279..698c7420d1 100644 --- a/tests/compiler/field-initialization.optimized.wat +++ b/tests/compiler/field-initialization.optimized.wat @@ -105,8 +105,8 @@ (local $1 i32) (local $2 i32) (local $3 i32) - local.get $0 global.get $~lib/rt/itcms/iter + local.get $0 i32.eq if local.get $0 @@ -166,11 +166,11 @@ local.get $1 i32.store offset=8 local.get $1 - local.get $2 local.get $1 i32.load offset=4 i32.const 3 i32.and + local.get $2 i32.or i32.store offset=4 end @@ -184,10 +184,10 @@ if (result i32) i32.const 1 else - local.get $1 i32.const 1792 i32.load - i32.gt_u + local.get $1 + i32.lt_u if i32.const 1248 i32.const 1312 @@ -224,11 +224,11 @@ local.get $1 i32.store offset=8 local.get $1 - local.get $0 local.get $1 i32.load offset=4 i32.const 3 i32.and + local.get $0 i32.or i32.store offset=4 local.get $2 @@ -386,22 +386,22 @@ local.get $4 i32.eqz if - local.get $0 local.get $3 i32.const 2 i32.shl + local.get $0 i32.add - local.tee $1 + local.tee $4 i32.load offset=4 i32.const -2 local.get $2 i32.rotl i32.and - local.set $2 + local.set $1 + local.get $4 local.get $1 - local.get $2 i32.store offset=4 - local.get $2 + local.get $1 i32.eqz if local.get $0 @@ -649,10 +649,10 @@ i32.shl i32.or i32.store - local.get $0 local.get $5 i32.const 2 i32.shl + local.get $0 i32.add local.tee $0 local.get $0 @@ -692,11 +692,11 @@ i32.load offset=1568 local.tee $2 if + local.get $1 local.get $2 i32.const 4 i32.add - local.get $1 - i32.gt_u + i32.lt_u if i32.const 0 i32.const 1392 @@ -720,11 +720,11 @@ local.set $1 end else + local.get $1 local.get $0 i32.const 1572 i32.add - local.get $1 - i32.gt_u + i32.lt_u if i32.const 0 i32.const 1392 @@ -1011,13 +1011,13 @@ if local.get $0 i32.load offset=4 + local.tee $1 i32.const -4 i32.and global.set $~lib/rt/itcms/iter global.get $~lib/rt/itcms/white i32.eqz - local.get $0 - i32.load offset=4 + local.get $1 i32.const 3 i32.and i32.ne @@ -1104,10 +1104,10 @@ end global.get $~lib/rt/itcms/toSpace local.tee $0 - local.get $0 + local.tee $1 + local.get $1 i32.store offset=4 - global.get $~lib/rt/itcms/toSpace - local.tee $0 + local.get $0 local.get $0 i32.store offset=8 i32.const 0 @@ -1532,7 +1532,6 @@ i32.const 536870910 i32.lt_u if (result i32) - local.get $2 i32.const 1 i32.const 27 local.get $2 @@ -1541,6 +1540,7 @@ i32.shl i32.const 1 i32.sub + local.get $2 i32.add else local.get $2 @@ -1601,12 +1601,12 @@ unreachable end end - local.get $2 local.get $3 i32.load i32.const -4 i32.and - i32.gt_u + local.get $2 + i32.lt_u if i32.const 0 i32.const 1392 @@ -1644,10 +1644,10 @@ i32.ge_u if local.get $3 - local.get $2 local.get $4 i32.const 2 i32.and + local.get $2 i32.or i32.store local.get $2 @@ -1674,18 +1674,13 @@ local.get $3 i32.const 4 i32.add - local.tee $2 local.get $3 i32.load i32.const -4 i32.and i32.add + local.tee $2 local.get $2 - local.get $3 - i32.load - i32.const -4 - i32.and - i32.add i32.load i32.const -3 i32.and @@ -1702,19 +1697,19 @@ i32.load offset=8 local.set $2 local.get $3 - local.get $1 global.get $~lib/rt/itcms/white + local.get $1 i32.or i32.store offset=4 local.get $3 local.get $2 i32.store offset=8 local.get $2 - local.get $3 local.get $2 i32.load offset=4 i32.const 3 i32.and + local.get $3 i32.or i32.store offset=4 local.get $1 @@ -2092,7 +2087,8 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $1 + local.tee $0 + local.get $0 i32.const 4 i32.sub global.set $~lib/memory/__stack_pointer @@ -2117,7 +2113,6 @@ i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $1 local.get $0 i32.store local.get $0 @@ -2131,7 +2126,8 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $1 + local.tee $0 + local.get $0 i32.const 4 i32.sub global.set $~lib/memory/__stack_pointer @@ -2160,7 +2156,6 @@ i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $1 local.get $0 i32.store local.get $0 @@ -2175,7 +2170,8 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $1 + local.tee $0 + local.get $0 i32.const 4 i32.sub global.set $~lib/memory/__stack_pointer @@ -2204,7 +2200,6 @@ i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $1 local.get $0 i32.store local.get $0 @@ -2219,7 +2214,8 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $1 + local.tee $0 + local.get $0 i32.const 4 i32.sub global.set $~lib/memory/__stack_pointer @@ -2247,7 +2243,6 @@ i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $1 local.get $0 i32.store local.get $0 @@ -2261,7 +2256,8 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $1 + local.tee $0 + local.get $0 i32.const 4 i32.sub global.set $~lib/memory/__stack_pointer @@ -2286,7 +2282,6 @@ i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $1 local.get $0 i32.store local.get $0 @@ -2300,7 +2295,8 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $1 + local.tee $0 + local.get $0 i32.const 4 i32.sub global.set $~lib/memory/__stack_pointer @@ -2325,7 +2321,6 @@ i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $1 local.get $0 i32.store local.get $0 @@ -2341,7 +2336,8 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $1 + local.tee $0 + local.get $0 i32.const 4 i32.sub global.set $~lib/memory/__stack_pointer @@ -2369,7 +2365,6 @@ i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $1 local.get $0 i32.store local.get $0 @@ -2385,7 +2380,8 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $1 + local.tee $0 + local.get $0 i32.const 4 i32.sub global.set $~lib/memory/__stack_pointer @@ -2414,7 +2410,6 @@ i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $1 local.get $0 i32.store local.get $0 @@ -2429,7 +2424,8 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $1 + local.tee $0 + local.get $0 i32.const 4 i32.sub global.set $~lib/memory/__stack_pointer @@ -2464,7 +2460,6 @@ i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $1 local.get $0 i32.store local.get $0 @@ -2483,7 +2478,7 @@ local.tee $1 i32.store global.get $~lib/memory/__stack_pointer - local.tee $2 + global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub global.set $~lib/memory/__stack_pointer @@ -2511,12 +2506,11 @@ i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $2 local.get $0 i32.store offset=4 - local.get $1 local.get $0 i32.load + local.get $1 i32.ne if i32.const 0 @@ -2527,7 +2521,8 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $1 + local.tee $0 + local.get $0 i32.const 4 i32.sub global.set $~lib/memory/__stack_pointer @@ -2555,7 +2550,6 @@ i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $1 local.get $0 i32.store offset=4 local.get $0 @@ -2569,7 +2563,8 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $1 + local.tee $0 + local.get $0 i32.const 4 i32.sub global.set $~lib/memory/__stack_pointer @@ -2598,7 +2593,6 @@ i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $1 local.get $0 i32.store offset=4 local.get $0 @@ -2613,7 +2607,8 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $1 + local.tee $0 + local.get $0 i32.const 4 i32.sub global.set $~lib/memory/__stack_pointer @@ -2648,7 +2643,6 @@ i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $1 local.get $0 i32.store offset=4 local.get $0 @@ -2663,7 +2657,8 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $1 + local.tee $0 + local.get $0 i32.const 4 i32.sub global.set $~lib/memory/__stack_pointer @@ -2690,7 +2685,6 @@ i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $1 local.get $0 i32.store offset=4 local.get $0 @@ -2705,7 +2699,8 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $1 + local.tee $0 + local.get $0 i32.const 4 i32.sub global.set $~lib/memory/__stack_pointer @@ -2732,7 +2727,6 @@ i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $1 local.get $0 i32.store offset=4 local.get $0 @@ -3087,7 +3081,8 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $1 + local.tee $0 + local.get $0 i32.const 4 i32.sub global.set $~lib/memory/__stack_pointer @@ -3122,7 +3117,6 @@ i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $1 local.get $0 i32.store local.get $0 diff --git a/tests/compiler/for.optimized.wat b/tests/compiler/for.optimized.wat index 6c0a12536a..3714775f39 100644 --- a/tests/compiler/for.optimized.wat +++ b/tests/compiler/for.optimized.wat @@ -99,8 +99,8 @@ i32.and i32.eq if - local.get $0 global.get $~lib/rt/itcms/iter + local.get $0 i32.eq if local.get $0 @@ -160,11 +160,11 @@ local.get $1 i32.store offset=8 local.get $1 - local.get $2 local.get $1 i32.load offset=4 i32.const 3 i32.and + local.get $2 i32.or i32.store offset=4 end @@ -178,10 +178,10 @@ if (result i32) i32.const 1 else - local.get $1 i32.const 1472 i32.load - i32.gt_u + local.get $1 + i32.lt_u if i32.const 1280 i32.const 1344 @@ -218,11 +218,11 @@ local.get $1 i32.store offset=8 local.get $1 - local.get $0 local.get $1 i32.load offset=4 i32.const 3 i32.and + local.get $0 i32.or i32.store offset=4 local.get $2 @@ -361,22 +361,22 @@ local.get $4 i32.eqz if - local.get $0 local.get $3 i32.const 2 i32.shl + local.get $0 i32.add - local.tee $1 + local.tee $4 i32.load offset=4 i32.const -2 local.get $2 i32.rotl i32.and - local.set $2 + local.set $1 + local.get $4 local.get $1 - local.get $2 i32.store offset=4 - local.get $2 + local.get $1 i32.eqz if local.get $0 @@ -624,10 +624,10 @@ i32.shl i32.or i32.store - local.get $0 local.get $5 i32.const 2 i32.shl + local.get $0 i32.add local.tee $0 local.get $0 @@ -667,11 +667,11 @@ i32.load offset=1568 local.tee $2 if + local.get $1 local.get $2 i32.const 4 i32.add - local.get $1 - i32.gt_u + i32.lt_u if i32.const 0 i32.const 1424 @@ -695,11 +695,11 @@ local.set $1 end else + local.get $1 local.get $0 i32.const 1572 i32.add - local.get $1 - i32.gt_u + i32.lt_u if i32.const 0 i32.const 1424 @@ -986,13 +986,13 @@ if local.get $0 i32.load offset=4 + local.tee $1 i32.const -4 i32.and global.set $~lib/rt/itcms/iter global.get $~lib/rt/itcms/white i32.eqz - local.get $0 - i32.load offset=4 + local.get $1 i32.const 3 i32.and i32.ne @@ -1079,10 +1079,10 @@ end global.get $~lib/rt/itcms/toSpace local.tee $0 - local.get $0 + local.tee $1 + local.get $1 i32.store offset=4 - global.get $~lib/rt/itcms/toSpace - local.tee $0 + local.get $0 local.get $0 i32.store offset=8 i32.const 0 @@ -1102,11 +1102,11 @@ i32.and local.tee $2 if (result i32) - local.get $0 local.get $2 i32.ctz i32.const 2 i32.shl + local.get $0 i32.add i32.load offset=96 else @@ -1116,12 +1116,12 @@ i32.and local.tee $1 if (result i32) - local.get $0 local.get $1 i32.ctz local.tee $1 i32.const 2 i32.shl + local.get $0 i32.add i32.load offset=4 local.tee $2 @@ -1134,7 +1134,6 @@ call $~lib/builtins/abort unreachable end - local.get $0 local.get $2 i32.ctz local.get $1 @@ -1143,6 +1142,7 @@ i32.add i32.const 2 i32.shl + local.get $0 i32.add i32.load offset=96 else @@ -1822,18 +1822,13 @@ local.get $0 i32.const 4 i32.add - local.tee $1 local.get $0 i32.load i32.const -4 i32.and i32.add + local.tee $1 local.get $1 - local.get $0 - i32.load - i32.const -4 - i32.and - i32.add i32.load i32.const -3 i32.and @@ -1850,19 +1845,19 @@ i32.load offset=8 local.set $3 local.get $0 - local.get $1 global.get $~lib/rt/itcms/white + local.get $1 i32.or i32.store offset=4 local.get $0 local.get $3 i32.store offset=8 local.get $3 - local.get $0 local.get $3 i32.load offset=4 i32.const 3 i32.and + local.get $0 i32.or i32.store offset=4 local.get $1 diff --git a/tests/compiler/function-call.optimized.wat b/tests/compiler/function-call.optimized.wat index ca661c44a5..4a8e784af0 100644 --- a/tests/compiler/function-call.optimized.wat +++ b/tests/compiler/function-call.optimized.wat @@ -137,8 +137,8 @@ i32.and i32.eq if - local.get $0 global.get $~lib/rt/itcms/iter + local.get $0 i32.eq if local.get $0 @@ -198,11 +198,11 @@ local.get $1 i32.store offset=8 local.get $1 - local.get $2 local.get $1 i32.load offset=4 i32.const 3 i32.and + local.get $2 i32.or i32.store offset=4 end @@ -216,10 +216,10 @@ if (result i32) i32.const 1 else - local.get $1 i32.const 1760 i32.load - i32.gt_u + local.get $1 + i32.lt_u if i32.const 1472 i32.const 1536 @@ -256,11 +256,11 @@ local.get $1 i32.store offset=8 local.get $1 - local.get $0 local.get $1 i32.load offset=4 i32.const 3 i32.and + local.get $0 i32.or i32.store offset=4 local.get $2 @@ -399,22 +399,22 @@ local.get $4 i32.eqz if - local.get $0 local.get $3 i32.const 2 i32.shl + local.get $0 i32.add - local.tee $1 + local.tee $4 i32.load offset=4 i32.const -2 local.get $2 i32.rotl i32.and - local.set $2 + local.set $1 + local.get $4 local.get $1 - local.get $2 i32.store offset=4 - local.get $2 + local.get $1 i32.eqz if local.get $0 @@ -662,10 +662,10 @@ i32.shl i32.or i32.store - local.get $0 local.get $5 i32.const 2 i32.shl + local.get $0 i32.add local.tee $0 local.get $0 @@ -705,11 +705,11 @@ i32.load offset=1568 local.tee $2 if + local.get $1 local.get $2 i32.const 4 i32.add - local.get $1 - i32.gt_u + i32.lt_u if i32.const 0 i32.const 1616 @@ -733,11 +733,11 @@ local.set $1 end else + local.get $1 local.get $0 i32.const 1572 i32.add - local.get $1 - i32.gt_u + i32.lt_u if i32.const 0 i32.const 1616 @@ -1024,13 +1024,13 @@ if local.get $0 i32.load offset=4 + local.tee $1 i32.const -4 i32.and global.set $~lib/rt/itcms/iter global.get $~lib/rt/itcms/white i32.eqz - local.get $0 - i32.load offset=4 + local.get $1 i32.const 3 i32.and i32.ne @@ -1117,10 +1117,10 @@ end global.get $~lib/rt/itcms/toSpace local.tee $0 - local.get $0 + local.tee $1 + local.get $1 i32.store offset=4 - global.get $~lib/rt/itcms/toSpace - local.tee $0 + local.get $0 local.get $0 i32.store offset=8 i32.const 0 @@ -1140,11 +1140,11 @@ i32.and local.tee $2 if (result i32) - local.get $0 local.get $2 i32.ctz i32.const 2 i32.shl + local.get $0 i32.add i32.load offset=96 else @@ -1154,12 +1154,12 @@ i32.and local.tee $1 if (result i32) - local.get $0 local.get $1 i32.ctz local.tee $1 i32.const 2 i32.shl + local.get $0 i32.add i32.load offset=4 local.tee $2 @@ -1172,7 +1172,6 @@ call $~lib/builtins/abort unreachable end - local.get $0 local.get $2 i32.ctz local.get $1 @@ -1181,6 +1180,7 @@ i32.add i32.const 2 i32.shl + local.get $0 i32.add i32.load offset=96 else @@ -1511,18 +1511,13 @@ local.get $0 i32.const 4 i32.add - local.tee $1 local.get $0 i32.load i32.const -4 i32.and i32.add + local.tee $1 local.get $1 - local.get $0 - i32.load - i32.const -4 - i32.and - i32.add i32.load i32.const -3 i32.and @@ -1539,19 +1534,19 @@ i32.load offset=8 local.set $4 local.get $0 - local.get $1 global.get $~lib/rt/itcms/white + local.get $1 i32.or i32.store offset=4 local.get $0 local.get $4 i32.store offset=8 local.get $4 - local.get $0 local.get $4 i32.load offset=4 i32.const 3 i32.and + local.get $0 i32.or i32.store offset=4 local.get $1 diff --git a/tests/compiler/function-expression.optimized.wat b/tests/compiler/function-expression.optimized.wat index 5db5d3f05d..a26ecf5317 100644 --- a/tests/compiler/function-expression.optimized.wat +++ b/tests/compiler/function-expression.optimized.wat @@ -151,8 +151,8 @@ (local $1 i32) (local $2 i32) (local $3 i32) - local.get $0 global.get $~lib/rt/itcms/iter + local.get $0 i32.eq if local.get $0 @@ -212,11 +212,11 @@ local.get $1 i32.store offset=8 local.get $1 - local.get $2 local.get $1 i32.load offset=4 i32.const 3 i32.and + local.get $2 i32.or i32.store offset=4 end @@ -230,10 +230,10 @@ if (result i32) i32.const 1 else - local.get $1 i32.const 2112 i32.load - i32.gt_u + local.get $1 + i32.lt_u if i32.const 1792 i32.const 1856 @@ -270,11 +270,11 @@ local.get $1 i32.store offset=8 local.get $1 - local.get $0 local.get $1 i32.load offset=4 i32.const 3 i32.and + local.get $0 i32.or i32.store offset=4 local.get $2 @@ -432,22 +432,22 @@ local.get $4 i32.eqz if - local.get $0 local.get $3 i32.const 2 i32.shl + local.get $0 i32.add - local.tee $1 + local.tee $4 i32.load offset=4 i32.const -2 local.get $2 i32.rotl i32.and - local.set $2 + local.set $1 + local.get $4 local.get $1 - local.get $2 i32.store offset=4 - local.get $2 + local.get $1 i32.eqz if local.get $0 @@ -695,10 +695,10 @@ i32.shl i32.or i32.store - local.get $0 local.get $5 i32.const 2 i32.shl + local.get $0 i32.add local.tee $0 local.get $0 @@ -738,11 +738,11 @@ i32.load offset=1568 local.tee $2 if + local.get $1 local.get $2 i32.const 4 i32.add - local.get $1 - i32.gt_u + i32.lt_u if i32.const 0 i32.const 1936 @@ -766,11 +766,11 @@ local.set $1 end else + local.get $1 local.get $0 i32.const 1572 i32.add - local.get $1 - i32.gt_u + i32.lt_u if i32.const 0 i32.const 1936 @@ -1057,13 +1057,13 @@ if local.get $0 i32.load offset=4 + local.tee $1 i32.const -4 i32.and global.set $~lib/rt/itcms/iter global.get $~lib/rt/itcms/white i32.eqz - local.get $0 - i32.load offset=4 + local.get $1 i32.const 3 i32.and i32.ne @@ -1150,10 +1150,10 @@ end global.get $~lib/rt/itcms/toSpace local.tee $0 - local.get $0 + local.tee $1 + local.get $1 i32.store offset=4 - global.get $~lib/rt/itcms/toSpace - local.tee $0 + local.get $0 local.get $0 i32.store offset=8 i32.const 0 @@ -1173,11 +1173,11 @@ i32.and local.tee $2 if (result i32) - local.get $0 local.get $2 i32.ctz i32.const 2 i32.shl + local.get $0 i32.add i32.load offset=96 else @@ -1187,12 +1187,12 @@ i32.and local.tee $1 if (result i32) - local.get $0 local.get $1 i32.ctz local.tee $1 i32.const 2 i32.shl + local.get $0 i32.add i32.load offset=4 local.tee $2 @@ -1205,7 +1205,6 @@ call $~lib/builtins/abort unreachable end - local.get $0 local.get $2 i32.ctz local.get $1 @@ -1214,6 +1213,7 @@ i32.add i32.const 2 i32.shl + local.get $0 i32.add i32.load offset=96 else @@ -1494,18 +1494,13 @@ local.get $0 i32.const 4 i32.add - local.tee $2 local.get $0 i32.load i32.const -4 i32.and i32.add + local.tee $2 local.get $2 - local.get $0 - i32.load - i32.const -4 - i32.and - i32.add i32.load i32.const -3 i32.and @@ -1522,19 +1517,19 @@ i32.load offset=8 local.set $4 local.get $0 - local.get $2 global.get $~lib/rt/itcms/white + local.get $2 i32.or i32.store offset=4 local.get $0 local.get $4 i32.store offset=8 local.get $4 - local.get $0 local.get $4 i32.load offset=4 i32.const 3 i32.and + local.get $0 i32.or i32.store offset=4 local.get $2 diff --git a/tests/compiler/getter-call.optimized.wat b/tests/compiler/getter-call.optimized.wat index 4a33cdc28d..01065000cb 100644 --- a/tests/compiler/getter-call.optimized.wat +++ b/tests/compiler/getter-call.optimized.wat @@ -102,8 +102,8 @@ i32.and i32.eq if - local.get $0 global.get $~lib/rt/itcms/iter + local.get $0 i32.eq if local.get $0 @@ -163,11 +163,11 @@ local.get $1 i32.store offset=8 local.get $1 - local.get $2 local.get $1 i32.load offset=4 i32.const 3 i32.and + local.get $2 i32.or i32.store offset=4 end @@ -181,10 +181,10 @@ if (result i32) i32.const 1 else - local.get $1 i32.const 1472 i32.load - i32.gt_u + local.get $1 + i32.lt_u if i32.const 1248 i32.const 1312 @@ -221,11 +221,11 @@ local.get $1 i32.store offset=8 local.get $1 - local.get $0 local.get $1 i32.load offset=4 i32.const 3 i32.and + local.get $0 i32.or i32.store offset=4 local.get $2 @@ -364,22 +364,22 @@ local.get $4 i32.eqz if - local.get $0 local.get $3 i32.const 2 i32.shl + local.get $0 i32.add - local.tee $1 + local.tee $4 i32.load offset=4 i32.const -2 local.get $2 i32.rotl i32.and - local.set $2 + local.set $1 + local.get $4 local.get $1 - local.get $2 i32.store offset=4 - local.get $2 + local.get $1 i32.eqz if local.get $0 @@ -627,10 +627,10 @@ i32.shl i32.or i32.store - local.get $0 local.get $5 i32.const 2 i32.shl + local.get $0 i32.add local.tee $0 local.get $0 @@ -670,11 +670,11 @@ i32.load offset=1568 local.tee $2 if + local.get $1 local.get $2 i32.const 4 i32.add - local.get $1 - i32.gt_u + i32.lt_u if i32.const 0 i32.const 1392 @@ -698,11 +698,11 @@ local.set $1 end else + local.get $1 local.get $0 i32.const 1572 i32.add - local.get $1 - i32.gt_u + i32.lt_u if i32.const 0 i32.const 1392 @@ -989,13 +989,13 @@ if local.get $0 i32.load offset=4 + local.tee $1 i32.const -4 i32.and global.set $~lib/rt/itcms/iter global.get $~lib/rt/itcms/white i32.eqz - local.get $0 - i32.load offset=4 + local.get $1 i32.const 3 i32.and i32.ne @@ -1082,10 +1082,10 @@ end global.get $~lib/rt/itcms/toSpace local.tee $0 - local.get $0 + local.tee $1 + local.get $1 i32.store offset=4 - global.get $~lib/rt/itcms/toSpace - local.tee $0 + local.get $0 local.get $0 i32.store offset=8 i32.const 0 @@ -1105,11 +1105,11 @@ i32.and local.tee $2 if (result i32) - local.get $0 local.get $2 i32.ctz i32.const 2 i32.shl + local.get $0 i32.add i32.load offset=96 else @@ -1119,12 +1119,12 @@ i32.and local.tee $1 if (result i32) - local.get $0 local.get $1 i32.ctz local.tee $1 i32.const 2 i32.shl + local.get $0 i32.add i32.load offset=4 local.tee $2 @@ -1137,7 +1137,6 @@ call $~lib/builtins/abort unreachable end - local.get $0 local.get $2 i32.ctz local.get $1 @@ -1146,6 +1145,7 @@ i32.add i32.const 2 i32.shl + local.get $0 i32.add i32.load offset=96 else @@ -1426,18 +1426,13 @@ local.get $0 i32.const 4 i32.add - local.tee $1 local.get $0 i32.load i32.const -4 i32.and i32.add + local.tee $1 local.get $1 - local.get $0 - i32.load - i32.const -4 - i32.and - i32.add i32.load i32.const -3 i32.and @@ -1454,19 +1449,19 @@ i32.load offset=8 local.set $4 local.get $0 - local.get $1 global.get $~lib/rt/itcms/white + local.get $1 i32.or i32.store offset=4 local.get $0 local.get $4 i32.store offset=8 local.get $4 - local.get $0 local.get $4 i32.load offset=4 i32.const 3 i32.and + local.get $0 i32.or i32.store offset=4 local.get $1 diff --git a/tests/compiler/heap.optimized.wat b/tests/compiler/heap.optimized.wat index daf2baa022..a7058bf423 100644 --- a/tests/compiler/heap.optimized.wat +++ b/tests/compiler/heap.optimized.wat @@ -152,22 +152,22 @@ local.get $4 i32.eqz if - local.get $0 local.get $3 i32.const 2 i32.shl + local.get $0 i32.add - local.tee $1 + local.tee $4 i32.load offset=4 i32.const -2 local.get $2 i32.rotl i32.and - local.set $2 + local.set $1 + local.get $4 local.get $1 - local.get $2 i32.store offset=4 - local.get $2 + local.get $1 i32.eqz if local.get $0 @@ -415,10 +415,10 @@ i32.shl i32.or i32.store - local.get $0 local.get $5 i32.const 2 i32.shl + local.get $0 i32.add local.tee $0 local.get $0 @@ -458,11 +458,11 @@ i32.load offset=1568 local.tee $2 if + local.get $1 local.get $2 i32.const 4 i32.add - local.get $1 - i32.gt_u + i32.lt_u if i32.const 0 i32.const 1056 @@ -486,11 +486,11 @@ local.set $1 end else + local.get $1 local.get $0 i32.const 1572 i32.add - local.get $1 - i32.gt_u + i32.lt_u if i32.const 0 i32.const 1056 @@ -835,18 +835,13 @@ local.get $1 i32.const 4 i32.add - local.tee $0 local.get $1 i32.load i32.const -4 i32.and i32.add - local.get $1 - i32.load - i32.const -4 - i32.and + local.tee $0 local.get $0 - i32.add i32.load i32.const -3 i32.and @@ -1017,17 +1012,17 @@ select if local.get $0 - local.tee $3 + local.tee $4 i32.const 1 i32.add local.set $0 local.get $1 - local.tee $4 + local.tee $3 i32.const 1 i32.add local.set $1 - local.get $3 local.get $4 + local.get $3 i32.load8_u i32.store8 local.get $2 @@ -1173,19 +1168,19 @@ local.get $0 i32.const 2 i32.add - local.tee $3 + local.tee $4 i32.const 1 i32.add local.set $0 local.get $1 i32.const 2 i32.add - local.tee $4 + local.tee $3 i32.const 1 i32.add local.set $1 - local.get $3 local.get $4 + local.get $3 i32.load8_u i32.store8 local.get $2 @@ -1200,7 +1195,7 @@ local.get $0 local.get $1 i32.load offset=1 - local.tee $3 + local.tee $4 i32.const 8 i32.shl local.get $5 @@ -1211,10 +1206,10 @@ local.get $0 local.get $1 i32.load offset=5 - local.tee $4 + local.tee $3 i32.const 8 i32.shl - local.get $3 + local.get $4 i32.const 24 i32.shr_u i32.or @@ -1222,10 +1217,10 @@ local.get $0 local.get $1 i32.load offset=9 - local.tee $3 + local.tee $4 i32.const 8 i32.shl - local.get $4 + local.get $3 i32.const 24 i32.shr_u i32.or @@ -1236,7 +1231,7 @@ local.tee $5 i32.const 8 i32.shl - local.get $3 + local.get $4 i32.const 24 i32.shr_u i32.or @@ -1291,7 +1286,7 @@ local.get $0 local.get $1 i32.load offset=2 - local.tee $3 + local.tee $4 i32.const 16 i32.shl local.get $5 @@ -1302,10 +1297,10 @@ local.get $0 local.get $1 i32.load offset=6 - local.tee $4 + local.tee $3 i32.const 16 i32.shl - local.get $3 + local.get $4 i32.const 16 i32.shr_u i32.or @@ -1313,10 +1308,10 @@ local.get $0 local.get $1 i32.load offset=10 - local.tee $3 + local.tee $4 i32.const 16 i32.shl - local.get $4 + local.get $3 i32.const 16 i32.shr_u i32.or @@ -1327,7 +1322,7 @@ local.tee $5 i32.const 16 i32.shl - local.get $3 + local.get $4 i32.const 16 i32.shr_u i32.or @@ -1353,17 +1348,17 @@ i32.load local.set $5 local.get $0 - local.tee $3 + local.tee $4 i32.const 1 i32.add local.set $0 local.get $1 - local.tee $4 + local.tee $3 i32.const 1 i32.add local.set $1 - local.get $3 local.get $4 + local.get $3 i32.load8_u i32.store8 local.get $2 @@ -1378,7 +1373,7 @@ local.get $0 local.get $1 i32.load offset=3 - local.tee $3 + local.tee $4 i32.const 24 i32.shl local.get $5 @@ -1389,10 +1384,10 @@ local.get $0 local.get $1 i32.load offset=7 - local.tee $4 + local.tee $3 i32.const 24 i32.shl - local.get $3 + local.get $4 i32.const 8 i32.shr_u i32.or @@ -1400,10 +1395,10 @@ local.get $0 local.get $1 i32.load offset=11 - local.tee $3 + local.tee $4 i32.const 24 i32.shl - local.get $4 + local.get $3 i32.const 8 i32.shr_u i32.or @@ -1414,7 +1409,7 @@ local.tee $5 i32.const 24 i32.shl - local.get $3 + local.get $4 i32.const 8 i32.shr_u i32.or @@ -1445,145 +1440,137 @@ i32.load8_u i32.store8 local.get $0 - local.tee $4 - i32.const 2 - i32.add - local.set $0 local.get $1 - local.tee $3 - i32.const 2 - i32.add - local.set $1 - local.get $4 - local.get $3 i32.load8_u offset=1 i32.store8 offset=1 local.get $0 - local.get $1 - i32.load8_u - i32.store8 - local.get $0 - local.tee $4 i32.const 2 i32.add - local.set $0 + local.tee $4 local.get $1 + i32.const 2 + i32.add local.tee $3 + i32.load8_u + i32.store8 + local.get $3 + local.tee $0 i32.const 2 i32.add - local.set $1 + local.set $3 local.get $4 - local.get $3 + local.get $0 i32.load8_u offset=1 i32.store8 offset=1 - local.get $0 - local.get $1 + local.get $4 + i32.const 2 + i32.add + local.tee $1 + local.get $3 i32.load8_u i32.store8 - local.get $0 + local.get $1 local.tee $4 i32.const 2 i32.add - local.set $0 - local.get $1 - local.tee $3 + local.set $1 + local.get $3 + local.tee $0 i32.const 2 i32.add - local.set $1 + local.set $3 local.get $4 - local.get $3 + local.get $0 i32.load8_u offset=1 i32.store8 offset=1 - local.get $0 local.get $1 + local.get $3 i32.load8_u i32.store8 - local.get $0 + local.get $1 local.tee $4 i32.const 2 i32.add - local.set $0 - local.get $1 - local.tee $3 + local.set $1 + local.get $3 + local.tee $0 i32.const 2 i32.add - local.set $1 + local.set $3 local.get $4 - local.get $3 + local.get $0 i32.load8_u offset=1 i32.store8 offset=1 - local.get $0 local.get $1 + local.get $3 i32.load8_u i32.store8 - local.get $0 + local.get $1 local.tee $4 i32.const 2 i32.add - local.set $0 - local.get $1 - local.tee $3 + local.set $1 + local.get $3 + local.tee $0 i32.const 2 i32.add - local.set $1 + local.set $3 local.get $4 - local.get $3 + local.get $0 i32.load8_u offset=1 i32.store8 offset=1 - local.get $0 local.get $1 + local.get $3 i32.load8_u i32.store8 - local.get $0 + local.get $1 local.tee $4 i32.const 2 i32.add - local.set $0 - local.get $1 - local.tee $3 + local.set $1 + local.get $3 + local.tee $0 i32.const 2 i32.add - local.set $1 + local.set $3 local.get $4 - local.get $3 + local.get $0 i32.load8_u offset=1 i32.store8 offset=1 - local.get $0 local.get $1 + local.get $3 i32.load8_u i32.store8 - local.get $0 + local.get $1 local.tee $4 i32.const 2 i32.add - local.set $0 - local.get $1 - local.tee $3 + local.set $1 + local.get $3 + local.tee $0 i32.const 2 i32.add - local.set $1 + local.set $3 local.get $4 - local.get $3 + local.get $0 i32.load8_u offset=1 i32.store8 offset=1 - local.get $0 local.get $1 + local.get $3 i32.load8_u i32.store8 - local.get $0 - local.tee $4 + local.get $1 i32.const 2 i32.add local.set $0 local.get $1 - local.tee $3 - i32.const 2 - i32.add - local.set $1 - local.get $4 local.get $3 i32.load8_u offset=1 i32.store8 offset=1 + local.get $3 + i32.const 2 + i32.add + local.set $1 end local.get $2 i32.const 8 @@ -1594,73 +1581,65 @@ i32.load8_u i32.store8 local.get $0 - local.tee $4 - i32.const 2 - i32.add - local.set $0 local.get $1 - local.tee $3 - i32.const 2 - i32.add - local.set $1 - local.get $4 - local.get $3 i32.load8_u offset=1 i32.store8 offset=1 local.get $0 - local.get $1 - i32.load8_u - i32.store8 - local.get $0 - local.tee $4 i32.const 2 i32.add - local.set $0 + local.tee $4 local.get $1 + i32.const 2 + i32.add local.tee $3 + i32.load8_u + i32.store8 + local.get $3 + local.tee $0 i32.const 2 i32.add - local.set $1 + local.set $3 local.get $4 - local.get $3 + local.get $0 i32.load8_u offset=1 i32.store8 offset=1 - local.get $0 - local.get $1 + local.get $4 + i32.const 2 + i32.add + local.tee $1 + local.get $3 i32.load8_u i32.store8 - local.get $0 + local.get $1 local.tee $4 i32.const 2 i32.add - local.set $0 - local.get $1 - local.tee $3 + local.set $1 + local.get $3 + local.tee $0 i32.const 2 i32.add - local.set $1 + local.set $3 local.get $4 - local.get $3 + local.get $0 i32.load8_u offset=1 i32.store8 offset=1 - local.get $0 local.get $1 + local.get $3 i32.load8_u i32.store8 - local.get $0 - local.tee $4 + local.get $1 i32.const 2 i32.add local.set $0 local.get $1 - local.tee $3 - i32.const 2 - i32.add - local.set $1 - local.get $4 local.get $3 i32.load8_u offset=1 i32.store8 offset=1 + local.get $3 + i32.const 2 + i32.add + local.set $1 end local.get $2 i32.const 4 @@ -1671,30 +1650,20 @@ i32.load8_u i32.store8 local.get $0 - local.tee $4 - i32.const 2 - i32.add - local.set $0 local.get $1 - local.tee $3 - i32.const 2 - i32.add - local.set $1 - local.get $4 - local.get $3 i32.load8_u offset=1 i32.store8 offset=1 local.get $0 - local.get $1 - i32.load8_u - i32.store8 - local.get $0 - local.tee $4 i32.const 2 i32.add - local.set $0 + local.tee $4 local.get $1 + i32.const 2 + i32.add local.tee $3 + i32.load8_u + i32.store8 + local.get $3 i32.const 2 i32.add local.set $1 @@ -1702,6 +1671,10 @@ local.get $3 i32.load8_u offset=1 i32.store8 offset=1 + local.get $4 + i32.const 2 + i32.add + local.set $0 end local.get $2 i32.const 2 @@ -1745,17 +1718,17 @@ local.get $0 local.get $2 call $~lib/rt/tlsf/allocateBlock - local.set $6 + local.tee $6 + i32.const 4 + i32.add + local.set $2 local.get $1 i32.load i32.const -4 i32.and local.set $7 block $~lib/util/memory/memmove|inlined.0 - local.get $6 - i32.const 4 - i32.add - local.tee $2 + local.get $2 local.get $1 i32.const 4 i32.add diff --git a/tests/compiler/implicit-getter-setter.optimized.wat b/tests/compiler/implicit-getter-setter.optimized.wat index 6a4d583892..bc89635562 100644 --- a/tests/compiler/implicit-getter-setter.optimized.wat +++ b/tests/compiler/implicit-getter-setter.optimized.wat @@ -93,8 +93,8 @@ (local $1 i32) (local $2 i32) (local $3 i32) - local.get $0 global.get $~lib/rt/itcms/iter + local.get $0 i32.eq if local.get $0 @@ -154,11 +154,11 @@ local.get $1 i32.store offset=8 local.get $1 - local.get $2 local.get $1 i32.load offset=4 i32.const 3 i32.and + local.get $2 i32.or i32.store offset=4 end @@ -172,10 +172,10 @@ if (result i32) i32.const 1 else - local.get $1 i32.const 1440 i32.load - i32.gt_u + local.get $1 + i32.lt_u if i32.const 1248 i32.const 1312 @@ -212,11 +212,11 @@ local.get $1 i32.store offset=8 local.get $1 - local.get $0 local.get $1 i32.load offset=4 i32.const 3 i32.and + local.get $0 i32.or i32.store offset=4 local.get $2 @@ -374,22 +374,22 @@ local.get $4 i32.eqz if - local.get $0 local.get $3 i32.const 2 i32.shl + local.get $0 i32.add - local.tee $1 + local.tee $4 i32.load offset=4 i32.const -2 local.get $2 i32.rotl i32.and - local.set $2 + local.set $1 + local.get $4 local.get $1 - local.get $2 i32.store offset=4 - local.get $2 + local.get $1 i32.eqz if local.get $0 @@ -637,10 +637,10 @@ i32.shl i32.or i32.store - local.get $0 local.get $5 i32.const 2 i32.shl + local.get $0 i32.add local.tee $0 local.get $0 @@ -680,11 +680,11 @@ i32.load offset=1568 local.tee $2 if + local.get $1 local.get $2 i32.const 4 i32.add - local.get $1 - i32.gt_u + i32.lt_u if i32.const 0 i32.const 1392 @@ -708,11 +708,11 @@ local.set $1 end else + local.get $1 local.get $0 i32.const 1572 i32.add - local.get $1 - i32.gt_u + i32.lt_u if i32.const 0 i32.const 1392 @@ -999,13 +999,13 @@ if local.get $0 i32.load offset=4 + local.tee $1 i32.const -4 i32.and global.set $~lib/rt/itcms/iter global.get $~lib/rt/itcms/white i32.eqz - local.get $0 - i32.load offset=4 + local.get $1 i32.const 3 i32.and i32.ne @@ -1092,10 +1092,10 @@ end global.get $~lib/rt/itcms/toSpace local.tee $0 - local.get $0 + local.tee $1 + local.get $1 i32.store offset=4 - global.get $~lib/rt/itcms/toSpace - local.tee $0 + local.get $0 local.get $0 i32.store offset=8 i32.const 0 @@ -1115,11 +1115,11 @@ i32.and local.tee $2 if (result i32) - local.get $0 local.get $2 i32.ctz i32.const 2 i32.shl + local.get $0 i32.add i32.load offset=96 else @@ -1129,12 +1129,12 @@ i32.and local.tee $1 if (result i32) - local.get $0 local.get $1 i32.ctz local.tee $1 i32.const 2 i32.shl + local.get $0 i32.add i32.load offset=4 local.tee $2 @@ -1147,7 +1147,6 @@ call $~lib/builtins/abort unreachable end - local.get $0 local.get $2 i32.ctz local.get $1 @@ -1156,6 +1155,7 @@ i32.add i32.const 2 i32.shl + local.get $0 i32.add i32.load offset=96 else @@ -1337,18 +1337,13 @@ local.get $1 i32.const 4 i32.add - local.tee $2 local.get $1 i32.load i32.const -4 i32.and i32.add + local.tee $2 local.get $2 - local.get $1 - i32.load - i32.const -4 - i32.and - i32.add i32.load i32.const -3 i32.and @@ -1365,19 +1360,19 @@ i32.load offset=8 local.set $2 local.get $1 - local.get $0 global.get $~lib/rt/itcms/white + local.get $0 i32.or i32.store offset=4 local.get $1 local.get $2 i32.store offset=8 local.get $2 - local.get $1 local.get $2 i32.load offset=4 i32.const 3 i32.and + local.get $1 i32.or i32.store offset=4 local.get $0 diff --git a/tests/compiler/infer-array.optimized.wat b/tests/compiler/infer-array.optimized.wat index 1b71b8d194..153caa2238 100644 --- a/tests/compiler/infer-array.optimized.wat +++ b/tests/compiler/infer-array.optimized.wat @@ -119,8 +119,8 @@ (local $1 i32) (local $2 i32) (local $3 i32) - local.get $0 global.get $~lib/rt/itcms/iter + local.get $0 i32.eq if local.get $0 @@ -180,11 +180,11 @@ local.get $1 i32.store offset=8 local.get $1 - local.get $2 local.get $1 i32.load offset=4 i32.const 3 i32.and + local.get $2 i32.or i32.store offset=4 end @@ -198,10 +198,10 @@ if (result i32) i32.const 1 else - local.get $1 i32.const 2112 i32.load - i32.gt_u + local.get $1 + i32.lt_u if i32.const 1280 i32.const 1344 @@ -238,11 +238,11 @@ local.get $1 i32.store offset=8 local.get $1 - local.get $0 local.get $1 i32.load offset=4 i32.const 3 i32.and + local.get $0 i32.or i32.store offset=4 local.get $2 @@ -400,22 +400,22 @@ local.get $4 i32.eqz if - local.get $0 local.get $3 i32.const 2 i32.shl + local.get $0 i32.add - local.tee $1 + local.tee $4 i32.load offset=4 i32.const -2 local.get $2 i32.rotl i32.and - local.set $2 + local.set $1 + local.get $4 local.get $1 - local.get $2 i32.store offset=4 - local.get $2 + local.get $1 i32.eqz if local.get $0 @@ -663,10 +663,10 @@ i32.shl i32.or i32.store - local.get $0 local.get $5 i32.const 2 i32.shl + local.get $0 i32.add local.tee $0 local.get $0 @@ -706,11 +706,11 @@ i32.load offset=1568 local.tee $2 if + local.get $1 local.get $2 i32.const 4 i32.add - local.get $1 - i32.gt_u + i32.lt_u if i32.const 0 i32.const 1424 @@ -734,11 +734,11 @@ local.set $1 end else + local.get $1 local.get $0 i32.const 1572 i32.add - local.get $1 - i32.gt_u + i32.lt_u if i32.const 0 i32.const 1424 @@ -1025,13 +1025,13 @@ if local.get $0 i32.load offset=4 + local.tee $1 i32.const -4 i32.and global.set $~lib/rt/itcms/iter global.get $~lib/rt/itcms/white i32.eqz - local.get $0 - i32.load offset=4 + local.get $1 i32.const 3 i32.and i32.ne @@ -1118,10 +1118,10 @@ end global.get $~lib/rt/itcms/toSpace local.tee $0 - local.get $0 + local.tee $1 + local.get $1 i32.store offset=4 - global.get $~lib/rt/itcms/toSpace - local.tee $0 + local.get $0 local.get $0 i32.store offset=8 i32.const 0 @@ -1370,7 +1370,6 @@ i32.const 536870910 i32.lt_u if (result i32) - local.get $3 i32.const 1 i32.const 27 local.get $3 @@ -1379,6 +1378,7 @@ i32.shl i32.const 1 i32.sub + local.get $3 i32.add else local.get $3 @@ -1439,12 +1439,12 @@ unreachable end end - local.get $3 local.get $2 i32.load i32.const -4 i32.and - i32.gt_u + local.get $3 + i32.lt_u if i32.const 0 i32.const 1424 @@ -1482,10 +1482,10 @@ i32.ge_u if local.get $2 - local.get $3 local.get $5 i32.const 2 i32.and + local.get $3 i32.or i32.store local.get $3 @@ -1512,18 +1512,13 @@ local.get $2 i32.const 4 i32.add - local.tee $3 local.get $2 i32.load i32.const -4 i32.and i32.add + local.tee $3 local.get $3 - local.get $2 - i32.load - i32.const -4 - i32.and - i32.add i32.load i32.const -3 i32.and @@ -1540,19 +1535,19 @@ i32.load offset=8 local.set $3 local.get $2 - local.get $1 global.get $~lib/rt/itcms/white + local.get $1 i32.or i32.store offset=4 local.get $2 local.get $3 i32.store offset=8 local.get $3 - local.get $2 local.get $3 i32.load offset=4 i32.const 3 i32.and + local.get $2 i32.or i32.store offset=4 local.get $1 @@ -1760,17 +1755,17 @@ select if local.get $0 - local.tee $3 + local.tee $4 i32.const 1 i32.add local.set $0 local.get $1 - local.tee $4 + local.tee $3 i32.const 1 i32.add local.set $1 - local.get $3 local.get $4 + local.get $3 i32.load8_u i32.store8 local.get $2 @@ -1916,19 +1911,19 @@ local.get $0 i32.const 2 i32.add - local.tee $3 + local.tee $4 i32.const 1 i32.add local.set $0 local.get $1 i32.const 2 i32.add - local.tee $4 + local.tee $3 i32.const 1 i32.add local.set $1 - local.get $3 local.get $4 + local.get $3 i32.load8_u i32.store8 local.get $2 @@ -1943,7 +1938,7 @@ local.get $0 local.get $1 i32.load offset=1 - local.tee $3 + local.tee $4 i32.const 8 i32.shl local.get $5 @@ -1954,10 +1949,10 @@ local.get $0 local.get $1 i32.load offset=5 - local.tee $4 + local.tee $3 i32.const 8 i32.shl - local.get $3 + local.get $4 i32.const 24 i32.shr_u i32.or @@ -1965,10 +1960,10 @@ local.get $0 local.get $1 i32.load offset=9 - local.tee $3 + local.tee $4 i32.const 8 i32.shl - local.get $4 + local.get $3 i32.const 24 i32.shr_u i32.or @@ -1979,7 +1974,7 @@ local.tee $5 i32.const 8 i32.shl - local.get $3 + local.get $4 i32.const 24 i32.shr_u i32.or @@ -2034,7 +2029,7 @@ local.get $0 local.get $1 i32.load offset=2 - local.tee $3 + local.tee $4 i32.const 16 i32.shl local.get $5 @@ -2045,10 +2040,10 @@ local.get $0 local.get $1 i32.load offset=6 - local.tee $4 + local.tee $3 i32.const 16 i32.shl - local.get $3 + local.get $4 i32.const 16 i32.shr_u i32.or @@ -2056,10 +2051,10 @@ local.get $0 local.get $1 i32.load offset=10 - local.tee $3 + local.tee $4 i32.const 16 i32.shl - local.get $4 + local.get $3 i32.const 16 i32.shr_u i32.or @@ -2070,7 +2065,7 @@ local.tee $5 i32.const 16 i32.shl - local.get $3 + local.get $4 i32.const 16 i32.shr_u i32.or @@ -2096,17 +2091,17 @@ i32.load local.set $5 local.get $0 - local.tee $3 + local.tee $4 i32.const 1 i32.add local.set $0 local.get $1 - local.tee $4 + local.tee $3 i32.const 1 i32.add local.set $1 - local.get $3 local.get $4 + local.get $3 i32.load8_u i32.store8 local.get $2 @@ -2121,7 +2116,7 @@ local.get $0 local.get $1 i32.load offset=3 - local.tee $3 + local.tee $4 i32.const 24 i32.shl local.get $5 @@ -2132,10 +2127,10 @@ local.get $0 local.get $1 i32.load offset=7 - local.tee $4 + local.tee $3 i32.const 24 i32.shl - local.get $3 + local.get $4 i32.const 8 i32.shr_u i32.or @@ -2143,10 +2138,10 @@ local.get $0 local.get $1 i32.load offset=11 - local.tee $3 + local.tee $4 i32.const 24 i32.shl - local.get $4 + local.get $3 i32.const 8 i32.shr_u i32.or @@ -2157,7 +2152,7 @@ local.tee $5 i32.const 24 i32.shl - local.get $3 + local.get $4 i32.const 8 i32.shr_u i32.or @@ -2188,145 +2183,137 @@ i32.load8_u i32.store8 local.get $0 - local.tee $4 - i32.const 2 - i32.add - local.set $0 local.get $1 - local.tee $3 - i32.const 2 - i32.add - local.set $1 - local.get $4 - local.get $3 i32.load8_u offset=1 i32.store8 offset=1 local.get $0 - local.get $1 - i32.load8_u - i32.store8 - local.get $0 - local.tee $4 i32.const 2 i32.add - local.set $0 + local.tee $4 local.get $1 + i32.const 2 + i32.add local.tee $3 + i32.load8_u + i32.store8 + local.get $3 + local.tee $0 i32.const 2 i32.add - local.set $1 + local.set $3 local.get $4 - local.get $3 + local.get $0 i32.load8_u offset=1 i32.store8 offset=1 - local.get $0 - local.get $1 + local.get $4 + i32.const 2 + i32.add + local.tee $1 + local.get $3 i32.load8_u i32.store8 - local.get $0 + local.get $1 local.tee $4 i32.const 2 i32.add - local.set $0 - local.get $1 - local.tee $3 + local.set $1 + local.get $3 + local.tee $0 i32.const 2 i32.add - local.set $1 + local.set $3 local.get $4 - local.get $3 + local.get $0 i32.load8_u offset=1 i32.store8 offset=1 - local.get $0 local.get $1 + local.get $3 i32.load8_u i32.store8 - local.get $0 + local.get $1 local.tee $4 i32.const 2 i32.add - local.set $0 - local.get $1 - local.tee $3 + local.set $1 + local.get $3 + local.tee $0 i32.const 2 i32.add - local.set $1 + local.set $3 local.get $4 - local.get $3 + local.get $0 i32.load8_u offset=1 i32.store8 offset=1 - local.get $0 local.get $1 + local.get $3 i32.load8_u i32.store8 - local.get $0 + local.get $1 local.tee $4 i32.const 2 i32.add - local.set $0 - local.get $1 - local.tee $3 + local.set $1 + local.get $3 + local.tee $0 i32.const 2 i32.add - local.set $1 + local.set $3 local.get $4 - local.get $3 + local.get $0 i32.load8_u offset=1 i32.store8 offset=1 - local.get $0 local.get $1 + local.get $3 i32.load8_u i32.store8 - local.get $0 + local.get $1 local.tee $4 i32.const 2 i32.add - local.set $0 - local.get $1 - local.tee $3 + local.set $1 + local.get $3 + local.tee $0 i32.const 2 i32.add - local.set $1 + local.set $3 local.get $4 - local.get $3 + local.get $0 i32.load8_u offset=1 i32.store8 offset=1 - local.get $0 local.get $1 + local.get $3 i32.load8_u i32.store8 - local.get $0 + local.get $1 local.tee $4 i32.const 2 i32.add - local.set $0 - local.get $1 - local.tee $3 + local.set $1 + local.get $3 + local.tee $0 i32.const 2 i32.add - local.set $1 + local.set $3 local.get $4 - local.get $3 + local.get $0 i32.load8_u offset=1 i32.store8 offset=1 - local.get $0 local.get $1 + local.get $3 i32.load8_u i32.store8 - local.get $0 - local.tee $4 + local.get $1 i32.const 2 i32.add local.set $0 local.get $1 - local.tee $3 - i32.const 2 - i32.add - local.set $1 - local.get $4 local.get $3 i32.load8_u offset=1 i32.store8 offset=1 + local.get $3 + i32.const 2 + i32.add + local.set $1 end local.get $2 i32.const 8 @@ -2337,73 +2324,65 @@ i32.load8_u i32.store8 local.get $0 - local.tee $4 - i32.const 2 - i32.add - local.set $0 local.get $1 - local.tee $3 - i32.const 2 - i32.add - local.set $1 - local.get $4 - local.get $3 i32.load8_u offset=1 i32.store8 offset=1 local.get $0 - local.get $1 - i32.load8_u - i32.store8 - local.get $0 - local.tee $4 i32.const 2 i32.add - local.set $0 + local.tee $4 local.get $1 + i32.const 2 + i32.add local.tee $3 + i32.load8_u + i32.store8 + local.get $3 + local.tee $0 i32.const 2 i32.add - local.set $1 + local.set $3 local.get $4 - local.get $3 + local.get $0 i32.load8_u offset=1 i32.store8 offset=1 - local.get $0 - local.get $1 + local.get $4 + i32.const 2 + i32.add + local.tee $1 + local.get $3 i32.load8_u i32.store8 - local.get $0 + local.get $1 local.tee $4 i32.const 2 i32.add - local.set $0 - local.get $1 - local.tee $3 + local.set $1 + local.get $3 + local.tee $0 i32.const 2 i32.add - local.set $1 + local.set $3 local.get $4 - local.get $3 + local.get $0 i32.load8_u offset=1 i32.store8 offset=1 - local.get $0 local.get $1 + local.get $3 i32.load8_u i32.store8 - local.get $0 - local.tee $4 + local.get $1 i32.const 2 i32.add local.set $0 local.get $1 - local.tee $3 - i32.const 2 - i32.add - local.set $1 - local.get $4 local.get $3 i32.load8_u offset=1 i32.store8 offset=1 + local.get $3 + i32.const 2 + i32.add + local.set $1 end local.get $2 i32.const 4 @@ -2414,30 +2393,20 @@ i32.load8_u i32.store8 local.get $0 - local.tee $4 - i32.const 2 - i32.add - local.set $0 local.get $1 - local.tee $3 - i32.const 2 - i32.add - local.set $1 - local.get $4 - local.get $3 i32.load8_u offset=1 i32.store8 offset=1 local.get $0 - local.get $1 - i32.load8_u - i32.store8 - local.get $0 - local.tee $4 i32.const 2 i32.add - local.set $0 + local.tee $4 local.get $1 + i32.const 2 + i32.add local.tee $3 + i32.load8_u + i32.store8 + local.get $3 i32.const 2 i32.add local.set $1 @@ -2445,6 +2414,10 @@ local.get $3 i32.load8_u offset=1 i32.store8 offset=1 + local.get $4 + i32.const 2 + i32.add + local.set $0 end local.get $2 i32.const 2 @@ -2686,7 +2659,7 @@ local.tee $2 i32.store offset=4 global.get $~lib/memory/__stack_pointer - local.tee $3 + global.get $~lib/memory/__stack_pointer i32.const 2 i32.const 2 i32.const 8 @@ -2706,7 +2679,6 @@ i32.const 1 local.get $2 call $~lib/array/Array#__uset - local.get $3 local.get $0 i32.store offset=12 global.get $~lib/memory/__stack_pointer @@ -2718,7 +2690,7 @@ local.tee $2 i32.store offset=4 global.get $~lib/memory/__stack_pointer - local.tee $3 + global.get $~lib/memory/__stack_pointer i32.const 2 i32.const 2 i32.const 8 @@ -2738,7 +2710,6 @@ i32.const 1 local.get $2 call $~lib/array/Array#__uset - local.get $3 local.get $0 i32.store offset=8 global.get $~lib/memory/__stack_pointer @@ -2746,7 +2717,7 @@ local.tee $1 i32.store offset=8 global.get $~lib/memory/__stack_pointer - local.tee $2 + global.get $~lib/memory/__stack_pointer i32.const 2 i32.const 2 i32.const 8 @@ -2766,7 +2737,6 @@ i32.const 1 i32.const 0 call $~lib/array/Array#__uset - local.get $2 local.get $0 i32.store offset=12 global.get $~lib/memory/__stack_pointer @@ -2805,7 +2775,7 @@ call $~lib/rt/__newArray i32.store offset=8 global.get $~lib/memory/__stack_pointer - local.tee $1 + global.get $~lib/memory/__stack_pointer i32.const 2 i32.const 2 i32.const 11 @@ -2833,7 +2803,6 @@ i32.const 1968 call $~lib/rt/__newArray call $~lib/array/Array#__uset - local.get $1 local.get $0 i32.store offset=12 global.get $~lib/memory/__stack_pointer @@ -2947,34 +2916,34 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $8 + local.tee $6 i32.const 0 i32.store + local.get $6 local.get $0 local.get $1 i32.shl local.tee $9 - local.tee $1 + local.set $8 + local.get $9 i32.const 0 call $~lib/rt/itcms/__new - local.set $7 + local.set $6 local.get $3 if block $~lib/util/memory/memmove|inlined.0 - local.get $1 - local.set $6 - local.get $3 - local.get $7 + local.get $6 local.tee $1 + local.get $3 i32.eq br_if $~lib/util/memory/memmove|inlined.0 local.get $3 local.get $1 i32.sub - local.get $6 + local.get $8 i32.sub i32.const 0 - local.get $6 + local.get $8 i32.const 1 i32.shl i32.sub @@ -2982,7 +2951,7 @@ if local.get $1 local.get $3 - local.get $6 + local.get $8 call $~lib/util/memory/memcpy br $~lib/util/memory/memmove|inlined.0 end @@ -3003,13 +2972,13 @@ i32.const 7 i32.and if - local.get $6 + local.get $8 i32.eqz br_if $~lib/util/memory/memmove|inlined.0 - local.get $6 + local.get $8 i32.const 1 i32.sub - local.set $6 + local.set $8 local.get $1 local.tee $4 i32.const 1 @@ -3028,7 +2997,7 @@ end end loop $while-continue|1 - local.get $6 + local.get $8 i32.const 8 i32.ge_u if @@ -3036,10 +3005,10 @@ local.get $3 i64.load i64.store - local.get $6 + local.get $8 i32.const 8 i32.sub - local.set $6 + local.set $8 local.get $1 i32.const 8 i32.add @@ -3053,7 +3022,7 @@ end end loop $while-continue|2 - local.get $6 + local.get $8 if local.get $1 local.tee $4 @@ -3069,10 +3038,10 @@ local.get $5 i32.load8_u i32.store8 - local.get $6 + local.get $8 i32.const 1 i32.sub - local.set $6 + local.set $8 br $while-continue|2 end end @@ -3087,22 +3056,22 @@ if loop $while-continue|3 local.get $1 - local.get $6 + local.get $8 i32.add i32.const 7 i32.and if - local.get $6 + local.get $8 i32.eqz br_if $~lib/util/memory/memmove|inlined.0 local.get $1 - local.get $6 + local.get $8 i32.const 1 i32.sub - local.tee $6 + local.tee $8 i32.add local.get $3 - local.get $6 + local.get $8 i32.add i32.load8_u i32.store8 @@ -3110,18 +3079,18 @@ end end loop $while-continue|4 - local.get $6 + local.get $8 i32.const 8 i32.ge_u if local.get $1 - local.get $6 + local.get $8 i32.const 8 i32.sub - local.tee $6 + local.tee $8 i32.add local.get $3 - local.get $6 + local.get $8 i32.add i64.load i64.store @@ -3130,16 +3099,16 @@ end end loop $while-continue|5 - local.get $6 + local.get $8 if local.get $1 - local.get $6 + local.get $8 i32.const 1 i32.sub - local.tee $6 + local.tee $8 i32.add local.get $3 - local.get $6 + local.get $8 i32.add i32.load8_u i32.store8 @@ -3149,21 +3118,20 @@ end end end - local.get $8 - local.get $7 + local.get $6 i32.store i32.const 16 local.get $2 call $~lib/rt/itcms/__new local.tee $1 - local.get $7 + local.get $6 i32.store local.get $1 - local.get $7 + local.get $6 i32.const 0 call $~lib/rt/itcms/__link local.get $1 - local.get $7 + local.get $6 i32.store offset=4 local.get $1 local.get $9 diff --git a/tests/compiler/infer-generic.optimized.wat b/tests/compiler/infer-generic.optimized.wat index b4dcdc6c79..a59c5eb68b 100644 --- a/tests/compiler/infer-generic.optimized.wat +++ b/tests/compiler/infer-generic.optimized.wat @@ -124,8 +124,8 @@ i32.and i32.eq if - local.get $0 global.get $~lib/rt/itcms/iter + local.get $0 i32.eq if local.get $0 @@ -185,11 +185,11 @@ local.get $1 i32.store offset=8 local.get $1 - local.get $2 local.get $1 i32.load offset=4 i32.const 3 i32.and + local.get $2 i32.or i32.store offset=4 end @@ -203,10 +203,10 @@ if (result i32) i32.const 1 else - local.get $1 i32.const 1616 i32.load - i32.gt_u + local.get $1 + i32.lt_u if i32.const 1424 i32.const 1488 @@ -243,11 +243,11 @@ local.get $1 i32.store offset=8 local.get $1 - local.get $0 local.get $1 i32.load offset=4 i32.const 3 i32.and + local.get $0 i32.or i32.store offset=4 local.get $2 @@ -386,22 +386,22 @@ local.get $4 i32.eqz if - local.get $0 local.get $3 i32.const 2 i32.shl + local.get $0 i32.add - local.tee $1 + local.tee $4 i32.load offset=4 i32.const -2 local.get $2 i32.rotl i32.and - local.set $2 + local.set $1 + local.get $4 local.get $1 - local.get $2 i32.store offset=4 - local.get $2 + local.get $1 i32.eqz if local.get $0 @@ -649,10 +649,10 @@ i32.shl i32.or i32.store - local.get $0 local.get $5 i32.const 2 i32.shl + local.get $0 i32.add local.tee $0 local.get $0 @@ -692,11 +692,11 @@ i32.load offset=1568 local.tee $2 if + local.get $1 local.get $2 i32.const 4 i32.add - local.get $1 - i32.gt_u + i32.lt_u if i32.const 0 i32.const 1568 @@ -720,11 +720,11 @@ local.set $1 end else + local.get $1 local.get $0 i32.const 1572 i32.add - local.get $1 - i32.gt_u + i32.lt_u if i32.const 0 i32.const 1568 @@ -1011,13 +1011,13 @@ if local.get $0 i32.load offset=4 + local.tee $1 i32.const -4 i32.and global.set $~lib/rt/itcms/iter global.get $~lib/rt/itcms/white i32.eqz - local.get $0 - i32.load offset=4 + local.get $1 i32.const 3 i32.and i32.ne @@ -1104,10 +1104,10 @@ end global.get $~lib/rt/itcms/toSpace local.tee $0 - local.get $0 + local.tee $1 + local.get $1 i32.store offset=4 - global.get $~lib/rt/itcms/toSpace - local.tee $0 + local.get $0 local.get $0 i32.store offset=8 i32.const 0 @@ -1127,11 +1127,11 @@ i32.and local.tee $2 if (result i32) - local.get $0 local.get $2 i32.ctz i32.const 2 i32.shl + local.get $0 i32.add i32.load offset=96 else @@ -1141,12 +1141,12 @@ i32.and local.tee $1 if (result i32) - local.get $0 local.get $1 i32.ctz local.tee $1 i32.const 2 i32.shl + local.get $0 i32.add i32.load offset=4 local.tee $2 @@ -1159,7 +1159,6 @@ call $~lib/builtins/abort unreachable end - local.get $0 local.get $2 i32.ctz local.get $1 @@ -1168,6 +1167,7 @@ i32.add i32.const 2 i32.shl + local.get $0 i32.add i32.load offset=96 else @@ -1251,7 +1251,6 @@ i32.load local.set $1 loop $for-loop|0 - local.get $2 local.get $1 i32.const 1164 i32.load @@ -1260,7 +1259,8 @@ local.get $1 i32.gt_s select - i32.lt_s + local.get $2 + i32.gt_s if local.get $3 i32.const 1156 @@ -1316,7 +1316,8 @@ i32.const 1520 global.set $~lib/rt/itcms/fromSpace global.get $~lib/memory/__stack_pointer - local.tee $5 + local.tee $3 + local.get $3 i32.const 4 i32.sub global.set $~lib/memory/__stack_pointer @@ -1497,18 +1498,13 @@ local.get $0 i32.const 4 i32.add - local.tee $1 local.get $0 i32.load i32.const -4 i32.and i32.add + local.tee $1 local.get $1 - local.get $0 - i32.load - i32.const -4 - i32.and - i32.add i32.load i32.const -3 i32.and @@ -1525,19 +1521,19 @@ i32.load offset=8 local.set $2 local.get $0 - local.get $1 global.get $~lib/rt/itcms/white + local.get $1 i32.or i32.store offset=4 local.get $0 local.get $2 i32.store offset=8 local.get $2 - local.get $0 local.get $2 i32.load offset=4 i32.const 3 i32.and + local.get $0 i32.or i32.store offset=4 local.get $1 @@ -1592,7 +1588,6 @@ i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $5 local.get $1 i32.store offset=8 local.get $1 diff --git a/tests/compiler/inlining.optimized.wat b/tests/compiler/inlining.optimized.wat index 3ff34a60d8..50cca54290 100644 --- a/tests/compiler/inlining.optimized.wat +++ b/tests/compiler/inlining.optimized.wat @@ -111,8 +111,8 @@ i32.and i32.eq if - local.get $0 global.get $~lib/rt/itcms/iter + local.get $0 i32.eq if local.get $0 @@ -172,11 +172,11 @@ local.get $1 i32.store offset=8 local.get $1 - local.get $2 local.get $1 i32.load offset=4 i32.const 3 i32.and + local.get $2 i32.or i32.store offset=4 end @@ -190,10 +190,10 @@ if (result i32) i32.const 1 else - local.get $1 i32.const 1520 i32.load - i32.gt_u + local.get $1 + i32.lt_u if i32.const 1328 i32.const 1392 @@ -230,11 +230,11 @@ local.get $1 i32.store offset=8 local.get $1 - local.get $0 local.get $1 i32.load offset=4 i32.const 3 i32.and + local.get $0 i32.or i32.store offset=4 local.get $2 @@ -373,22 +373,22 @@ local.get $4 i32.eqz if - local.get $0 local.get $3 i32.const 2 i32.shl + local.get $0 i32.add - local.tee $1 + local.tee $4 i32.load offset=4 i32.const -2 local.get $2 i32.rotl i32.and - local.set $2 + local.set $1 + local.get $4 local.get $1 - local.get $2 i32.store offset=4 - local.get $2 + local.get $1 i32.eqz if local.get $0 @@ -636,10 +636,10 @@ i32.shl i32.or i32.store - local.get $0 local.get $5 i32.const 2 i32.shl + local.get $0 i32.add local.tee $0 local.get $0 @@ -679,11 +679,11 @@ i32.load offset=1568 local.tee $2 if + local.get $1 local.get $2 i32.const 4 i32.add - local.get $1 - i32.gt_u + i32.lt_u if i32.const 0 i32.const 1472 @@ -707,11 +707,11 @@ local.set $1 end else + local.get $1 local.get $0 i32.const 1572 i32.add - local.get $1 - i32.gt_u + i32.lt_u if i32.const 0 i32.const 1472 @@ -998,13 +998,13 @@ if local.get $0 i32.load offset=4 + local.tee $1 i32.const -4 i32.and global.set $~lib/rt/itcms/iter global.get $~lib/rt/itcms/white i32.eqz - local.get $0 - i32.load offset=4 + local.get $1 i32.const 3 i32.and i32.ne @@ -1091,10 +1091,10 @@ end global.get $~lib/rt/itcms/toSpace local.tee $0 - local.get $0 + local.tee $1 + local.get $1 i32.store offset=4 - global.get $~lib/rt/itcms/toSpace - local.tee $0 + local.get $0 local.get $0 i32.store offset=8 i32.const 0 @@ -1343,7 +1343,6 @@ i32.const 536870910 i32.lt_u if (result i32) - local.get $3 i32.const 1 i32.const 27 local.get $3 @@ -1352,6 +1351,7 @@ i32.shl i32.const 1 i32.sub + local.get $3 i32.add else local.get $3 @@ -1412,12 +1412,12 @@ unreachable end end - local.get $3 local.get $2 i32.load i32.const -4 i32.and - i32.gt_u + local.get $3 + i32.lt_u if i32.const 0 i32.const 1472 @@ -1455,10 +1455,10 @@ i32.ge_u if local.get $2 - local.get $3 local.get $5 i32.const 2 i32.and + local.get $3 i32.or i32.store local.get $3 @@ -1485,18 +1485,13 @@ local.get $2 i32.const 4 i32.add - local.tee $3 local.get $2 i32.load i32.const -4 i32.and i32.add + local.tee $3 local.get $3 - local.get $2 - i32.load - i32.const -4 - i32.and - i32.add i32.load i32.const -3 i32.and @@ -1513,19 +1508,19 @@ i32.load offset=8 local.set $3 local.get $2 - local.get $1 global.get $~lib/rt/itcms/white + local.get $1 i32.or i32.store offset=4 local.get $2 local.get $3 i32.store offset=8 local.get $3 - local.get $2 local.get $3 i32.load offset=4 i32.const 3 i32.and + local.get $2 i32.or i32.store offset=4 local.get $1 diff --git a/tests/compiler/instanceof-class.optimized.wat b/tests/compiler/instanceof-class.optimized.wat index 75f85fe4a3..ef47c477d7 100644 --- a/tests/compiler/instanceof-class.optimized.wat +++ b/tests/compiler/instanceof-class.optimized.wat @@ -113,8 +113,8 @@ i32.and i32.eq if - local.get $0 global.get $~lib/rt/itcms/iter + local.get $0 i32.eq if local.get $0 @@ -174,11 +174,11 @@ local.get $1 i32.store offset=8 local.get $1 - local.get $2 local.get $1 i32.load offset=4 i32.const 3 i32.and + local.get $2 i32.or i32.store offset=4 end @@ -192,10 +192,10 @@ if (result i32) i32.const 1 else - local.get $1 i32.const 1504 i32.load - i32.gt_u + local.get $1 + i32.lt_u if i32.const 1248 i32.const 1312 @@ -232,11 +232,11 @@ local.get $1 i32.store offset=8 local.get $1 - local.get $0 local.get $1 i32.load offset=4 i32.const 3 i32.and + local.get $0 i32.or i32.store offset=4 local.get $2 @@ -375,22 +375,22 @@ local.get $4 i32.eqz if - local.get $0 local.get $3 i32.const 2 i32.shl + local.get $0 i32.add - local.tee $1 + local.tee $4 i32.load offset=4 i32.const -2 local.get $2 i32.rotl i32.and - local.set $2 + local.set $1 + local.get $4 local.get $1 - local.get $2 i32.store offset=4 - local.get $2 + local.get $1 i32.eqz if local.get $0 @@ -638,10 +638,10 @@ i32.shl i32.or i32.store - local.get $0 local.get $5 i32.const 2 i32.shl + local.get $0 i32.add local.tee $0 local.get $0 @@ -681,11 +681,11 @@ i32.load offset=1568 local.tee $2 if + local.get $1 local.get $2 i32.const 4 i32.add - local.get $1 - i32.gt_u + i32.lt_u if i32.const 0 i32.const 1392 @@ -709,11 +709,11 @@ local.set $1 end else + local.get $1 local.get $0 i32.const 1572 i32.add - local.get $1 - i32.gt_u + i32.lt_u if i32.const 0 i32.const 1392 @@ -1000,13 +1000,13 @@ if local.get $0 i32.load offset=4 + local.tee $1 i32.const -4 i32.and global.set $~lib/rt/itcms/iter global.get $~lib/rt/itcms/white i32.eqz - local.get $0 - i32.load offset=4 + local.get $1 i32.const 3 i32.and i32.ne @@ -1093,10 +1093,10 @@ end global.get $~lib/rt/itcms/toSpace local.tee $0 - local.get $0 + local.tee $1 + local.get $1 i32.store offset=4 - global.get $~lib/rt/itcms/toSpace - local.tee $0 + local.get $0 local.get $0 i32.store offset=8 i32.const 0 @@ -1116,11 +1116,11 @@ i32.and local.tee $2 if (result i32) - local.get $0 local.get $2 i32.ctz i32.const 2 i32.shl + local.get $0 i32.add i32.load offset=96 else @@ -1130,12 +1130,12 @@ i32.and local.tee $1 if (result i32) - local.get $0 local.get $1 i32.ctz local.tee $1 i32.const 2 i32.shl + local.get $0 i32.add i32.load offset=4 local.tee $2 @@ -1148,7 +1148,6 @@ call $~lib/builtins/abort unreachable end - local.get $0 local.get $2 i32.ctz local.get $1 @@ -1157,6 +1156,7 @@ i32.add i32.const 2 i32.shl + local.get $0 i32.add i32.load offset=96 else @@ -1338,18 +1338,13 @@ local.get $1 i32.const 4 i32.add - local.tee $2 local.get $1 i32.load i32.const -4 i32.and i32.add + local.tee $2 local.get $2 - local.get $1 - i32.load - i32.const -4 - i32.and - i32.add i32.load i32.const -3 i32.and @@ -1366,19 +1361,19 @@ i32.load offset=8 local.set $2 local.get $1 - local.get $0 global.get $~lib/rt/itcms/white + local.get $0 i32.or i32.store offset=4 local.get $1 local.get $2 i32.store offset=8 local.get $2 - local.get $1 local.get $2 i32.load offset=4 i32.const 3 i32.and + local.get $1 i32.or i32.store offset=4 local.get $0 @@ -1451,7 +1446,7 @@ local.tee $0 i32.store global.get $~lib/memory/__stack_pointer - local.tee $1 + global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub global.set $~lib/memory/__stack_pointer @@ -1475,7 +1470,6 @@ i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $1 local.get $0 i32.store global.get $~lib/memory/__stack_pointer @@ -1502,7 +1496,7 @@ local.tee $0 i32.store global.get $~lib/memory/__stack_pointer - local.tee $1 + global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub global.set $~lib/memory/__stack_pointer @@ -1526,7 +1520,6 @@ i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $1 local.get $0 i32.store global.get $~lib/memory/__stack_pointer diff --git a/tests/compiler/issues/1095.optimized.wat b/tests/compiler/issues/1095.optimized.wat index 112260552c..3463ebbed7 100644 --- a/tests/compiler/issues/1095.optimized.wat +++ b/tests/compiler/issues/1095.optimized.wat @@ -87,8 +87,8 @@ (local $1 i32) (local $2 i32) (local $3 i32) - local.get $0 global.get $~lib/rt/itcms/iter + local.get $0 i32.eq if local.get $0 @@ -148,11 +148,11 @@ local.get $1 i32.store offset=8 local.get $1 - local.get $2 local.get $1 i32.load offset=4 i32.const 3 i32.and + local.get $2 i32.or i32.store offset=4 end @@ -166,10 +166,10 @@ if (result i32) i32.const 1 else - local.get $1 i32.const 1584 i32.load - i32.gt_u + local.get $1 + i32.lt_u if i32.const 1248 i32.const 1312 @@ -206,11 +206,11 @@ local.get $1 i32.store offset=8 local.get $1 - local.get $0 local.get $1 i32.load offset=4 i32.const 3 i32.and + local.get $0 i32.or i32.store offset=4 local.get $2 @@ -368,22 +368,22 @@ local.get $4 i32.eqz if - local.get $0 local.get $3 i32.const 2 i32.shl + local.get $0 i32.add - local.tee $1 + local.tee $4 i32.load offset=4 i32.const -2 local.get $2 i32.rotl i32.and - local.set $2 + local.set $1 + local.get $4 local.get $1 - local.get $2 i32.store offset=4 - local.get $2 + local.get $1 i32.eqz if local.get $0 @@ -631,10 +631,10 @@ i32.shl i32.or i32.store - local.get $0 local.get $5 i32.const 2 i32.shl + local.get $0 i32.add local.tee $0 local.get $0 @@ -674,11 +674,11 @@ i32.load offset=1568 local.tee $2 if + local.get $1 local.get $2 i32.const 4 i32.add - local.get $1 - i32.gt_u + i32.lt_u if i32.const 0 i32.const 1392 @@ -702,11 +702,11 @@ local.set $1 end else + local.get $1 local.get $0 i32.const 1572 i32.add - local.get $1 - i32.gt_u + i32.lt_u if i32.const 0 i32.const 1392 @@ -993,13 +993,13 @@ if local.get $0 i32.load offset=4 + local.tee $1 i32.const -4 i32.and global.set $~lib/rt/itcms/iter global.get $~lib/rt/itcms/white i32.eqz - local.get $0 - i32.load offset=4 + local.get $1 i32.const 3 i32.and i32.ne @@ -1086,10 +1086,10 @@ end global.get $~lib/rt/itcms/toSpace local.tee $0 - local.get $0 + local.tee $1 + local.get $1 i32.store offset=4 - global.get $~lib/rt/itcms/toSpace - local.tee $0 + local.get $0 local.get $0 i32.store offset=8 i32.const 0 @@ -1109,11 +1109,11 @@ i32.and local.tee $2 if (result i32) - local.get $0 local.get $2 i32.ctz i32.const 2 i32.shl + local.get $0 i32.add i32.load offset=96 else @@ -1123,12 +1123,12 @@ i32.and local.tee $1 if (result i32) - local.get $0 local.get $1 i32.ctz local.tee $1 i32.const 2 i32.shl + local.get $0 i32.add i32.load offset=4 local.tee $2 @@ -1141,7 +1141,6 @@ call $~lib/builtins/abort unreachable end - local.get $0 local.get $2 i32.ctz local.get $1 @@ -1150,6 +1149,7 @@ i32.add i32.const 2 i32.shl + local.get $0 i32.add i32.load offset=96 else @@ -1470,18 +1470,13 @@ local.get $0 i32.const 4 i32.add - local.tee $2 local.get $0 i32.load i32.const -4 i32.and i32.add + local.tee $2 local.get $2 - local.get $0 - i32.load - i32.const -4 - i32.and - i32.add i32.load i32.const -3 i32.and @@ -1498,19 +1493,19 @@ i32.load offset=8 local.set $2 local.get $0 - local.get $3 global.get $~lib/rt/itcms/white + local.get $3 i32.or i32.store offset=4 local.get $0 local.get $2 i32.store offset=8 local.get $2 - local.get $0 local.get $2 i32.load offset=4 i32.const 3 i32.and + local.get $0 i32.or i32.store offset=4 local.get $3 diff --git a/tests/compiler/issues/1225.optimized.wat b/tests/compiler/issues/1225.optimized.wat index e26fed4218..eb12e5c29e 100644 --- a/tests/compiler/issues/1225.optimized.wat +++ b/tests/compiler/issues/1225.optimized.wat @@ -108,8 +108,8 @@ i32.and i32.eq if - local.get $0 global.get $~lib/rt/itcms/iter + local.get $0 i32.eq if local.get $0 @@ -169,11 +169,11 @@ local.get $1 i32.store offset=8 local.get $1 - local.get $2 local.get $1 i32.load offset=4 i32.const 3 i32.and + local.get $2 i32.or i32.store offset=4 end @@ -187,10 +187,10 @@ if (result i32) i32.const 1 else - local.get $1 i32.const 1488 i32.load - i32.gt_u + local.get $1 + i32.lt_u if i32.const 1248 i32.const 1312 @@ -227,11 +227,11 @@ local.get $1 i32.store offset=8 local.get $1 - local.get $0 local.get $1 i32.load offset=4 i32.const 3 i32.and + local.get $0 i32.or i32.store offset=4 local.get $2 @@ -370,22 +370,22 @@ local.get $4 i32.eqz if - local.get $0 local.get $3 i32.const 2 i32.shl + local.get $0 i32.add - local.tee $1 + local.tee $4 i32.load offset=4 i32.const -2 local.get $2 i32.rotl i32.and - local.set $2 + local.set $1 + local.get $4 local.get $1 - local.get $2 i32.store offset=4 - local.get $2 + local.get $1 i32.eqz if local.get $0 @@ -633,10 +633,10 @@ i32.shl i32.or i32.store - local.get $0 local.get $5 i32.const 2 i32.shl + local.get $0 i32.add local.tee $0 local.get $0 @@ -676,11 +676,11 @@ i32.load offset=1568 local.tee $2 if + local.get $1 local.get $2 i32.const 4 i32.add - local.get $1 - i32.gt_u + i32.lt_u if i32.const 0 i32.const 1392 @@ -704,11 +704,11 @@ local.set $1 end else + local.get $1 local.get $0 i32.const 1572 i32.add - local.get $1 - i32.gt_u + i32.lt_u if i32.const 0 i32.const 1392 @@ -995,13 +995,13 @@ if local.get $0 i32.load offset=4 + local.tee $1 i32.const -4 i32.and global.set $~lib/rt/itcms/iter global.get $~lib/rt/itcms/white i32.eqz - local.get $0 - i32.load offset=4 + local.get $1 i32.const 3 i32.and i32.ne @@ -1088,10 +1088,10 @@ end global.get $~lib/rt/itcms/toSpace local.tee $0 - local.get $0 + local.tee $1 + local.get $1 i32.store offset=4 - global.get $~lib/rt/itcms/toSpace - local.tee $0 + local.get $0 local.get $0 i32.store offset=8 i32.const 0 @@ -1111,11 +1111,11 @@ i32.and local.tee $2 if (result i32) - local.get $0 local.get $2 i32.ctz i32.const 2 i32.shl + local.get $0 i32.add i32.load offset=96 else @@ -1125,12 +1125,12 @@ i32.and local.tee $1 if (result i32) - local.get $0 local.get $1 i32.ctz local.tee $1 i32.const 2 i32.shl + local.get $0 i32.add i32.load offset=4 local.tee $2 @@ -1143,7 +1143,6 @@ call $~lib/builtins/abort unreachable end - local.get $0 local.get $2 i32.ctz local.get $1 @@ -1152,6 +1151,7 @@ i32.add i32.const 2 i32.shl + local.get $0 i32.add i32.load offset=96 else @@ -1221,11 +1221,11 @@ i32.eqz if memory.size - local.tee $2 + local.tee $3 i32.const 4 local.get $1 i32.load offset=1568 - local.get $2 + local.get $3 i32.const 16 i32.shl i32.const 4 @@ -1240,7 +1240,7 @@ i32.shr_u local.tee $0 local.get $0 - local.get $2 + local.get $3 i32.lt_s select memory.grow @@ -1256,7 +1256,7 @@ end end local.get $1 - local.get $2 + local.get $3 i32.const 16 i32.shl memory.size @@ -1295,17 +1295,17 @@ call $~lib/rt/tlsf/removeBlock local.get $0 i32.load - local.tee $2 + local.tee $3 i32.const -4 i32.and i32.const 28 i32.sub - local.tee $3 + local.tee $2 i32.const 16 i32.ge_u if local.get $0 - local.get $2 + local.get $3 i32.const 2 i32.and i32.const 28 @@ -1314,37 +1314,32 @@ local.get $0 i32.const 32 i32.add - local.tee $2 - local.get $3 + local.tee $3 + local.get $2 i32.const 4 i32.sub i32.const 1 i32.or i32.store local.get $1 - local.get $2 + local.get $3 call $~lib/rt/tlsf/insertBlock else local.get $0 - local.get $2 + local.get $3 i32.const -2 i32.and i32.store local.get $0 i32.const 4 i32.add - local.tee $2 - local.get $0 - i32.load - i32.const -4 - i32.and - i32.add - local.get $2 local.get $0 i32.load i32.const -4 i32.and i32.add + local.tee $3 + local.get $3 i32.load i32.const -3 i32.and @@ -1357,26 +1352,26 @@ i32.const 12 i32.store offset=16 global.get $~lib/rt/itcms/fromSpace - local.tee $2 + local.tee $3 i32.load offset=8 - local.set $3 + local.set $2 local.get $0 - local.get $2 global.get $~lib/rt/itcms/white + local.get $3 i32.or i32.store offset=4 local.get $0 - local.get $3 + local.get $2 i32.store offset=8 - local.get $3 - local.get $0 - local.get $3 + local.get $2 + local.get $2 i32.load offset=4 i32.const 3 i32.and + local.get $0 i32.or i32.store offset=4 - local.get $2 + local.get $3 local.get $0 i32.store offset=8 global.get $~lib/rt/itcms/total @@ -1392,9 +1387,10 @@ i32.const 20 i32.add local.tee $3 + local.tee $2 i32.const 0 i32.store8 - local.get $3 + local.get $2 i32.const 12 i32.add local.tee $0 @@ -1402,10 +1398,10 @@ i32.sub i32.const 0 i32.store8 - local.get $3 + local.get $2 i32.const 0 i32.store8 offset=1 - local.get $3 + local.get $2 i32.const 0 i32.store8 offset=2 local.get $0 @@ -1418,7 +1414,7 @@ i32.sub i32.const 0 i32.store8 - local.get $3 + local.get $2 i32.const 0 i32.store8 offset=3 local.get $0 @@ -1426,9 +1422,9 @@ i32.sub i32.const 0 i32.store8 - local.get $3 + local.get $2 i32.const 0 - local.get $3 + local.get $2 i32.sub i32.const 3 i32.and diff --git a/tests/compiler/issues/1699.optimized.wat b/tests/compiler/issues/1699.optimized.wat index 292fa0a695..bd83374505 100644 --- a/tests/compiler/issues/1699.optimized.wat +++ b/tests/compiler/issues/1699.optimized.wat @@ -94,8 +94,8 @@ (local $1 i32) (local $2 i32) (local $3 i32) - local.get $0 global.get $~lib/rt/itcms/iter + local.get $0 i32.eq if local.get $0 @@ -155,11 +155,11 @@ local.get $1 i32.store offset=8 local.get $1 - local.get $2 local.get $1 i32.load offset=4 i32.const 3 i32.and + local.get $2 i32.or i32.store offset=4 end @@ -173,10 +173,10 @@ if (result i32) i32.const 1 else - local.get $1 i32.const 1712 i32.load - i32.gt_u + local.get $1 + i32.lt_u if i32.const 1344 i32.const 1408 @@ -213,11 +213,11 @@ local.get $1 i32.store offset=8 local.get $1 - local.get $0 local.get $1 i32.load offset=4 i32.const 3 i32.and + local.get $0 i32.or i32.store offset=4 local.get $2 @@ -375,22 +375,22 @@ local.get $4 i32.eqz if - local.get $0 local.get $3 i32.const 2 i32.shl + local.get $0 i32.add - local.tee $1 + local.tee $4 i32.load offset=4 i32.const -2 local.get $2 i32.rotl i32.and - local.set $2 + local.set $1 + local.get $4 local.get $1 - local.get $2 i32.store offset=4 - local.get $2 + local.get $1 i32.eqz if local.get $0 @@ -638,10 +638,10 @@ i32.shl i32.or i32.store - local.get $0 local.get $5 i32.const 2 i32.shl + local.get $0 i32.add local.tee $0 local.get $0 @@ -681,11 +681,11 @@ i32.load offset=1568 local.tee $2 if + local.get $1 local.get $2 i32.const 4 i32.add - local.get $1 - i32.gt_u + i32.lt_u if i32.const 0 i32.const 1488 @@ -709,11 +709,11 @@ local.set $1 end else + local.get $1 local.get $0 i32.const 1572 i32.add - local.get $1 - i32.gt_u + i32.lt_u if i32.const 0 i32.const 1488 @@ -1000,13 +1000,13 @@ if local.get $0 i32.load offset=4 + local.tee $1 i32.const -4 i32.and global.set $~lib/rt/itcms/iter global.get $~lib/rt/itcms/white i32.eqz - local.get $0 - i32.load offset=4 + local.get $1 i32.const 3 i32.and i32.ne @@ -1093,10 +1093,10 @@ end global.get $~lib/rt/itcms/toSpace local.tee $0 - local.get $0 + local.tee $1 + local.get $1 i32.store offset=4 - global.get $~lib/rt/itcms/toSpace - local.tee $0 + local.get $0 local.get $0 i32.store offset=8 i32.const 0 @@ -1521,7 +1521,6 @@ i32.const 536870910 i32.lt_u if (result i32) - local.get $2 i32.const 1 i32.const 27 local.get $2 @@ -1530,6 +1529,7 @@ i32.shl i32.const 1 i32.sub + local.get $2 i32.add else local.get $2 @@ -1590,12 +1590,12 @@ unreachable end end - local.get $2 local.get $3 i32.load i32.const -4 i32.and - i32.gt_u + local.get $2 + i32.lt_u if i32.const 0 i32.const 1488 @@ -1633,10 +1633,10 @@ i32.ge_u if local.get $3 - local.get $2 local.get $4 i32.const 2 i32.and + local.get $2 i32.or i32.store local.get $2 @@ -1663,18 +1663,13 @@ local.get $3 i32.const 4 i32.add - local.tee $2 local.get $3 i32.load i32.const -4 i32.and i32.add + local.tee $2 local.get $2 - local.get $3 - i32.load - i32.const -4 - i32.and - i32.add i32.load i32.const -3 i32.and @@ -1691,19 +1686,19 @@ i32.load offset=8 local.set $2 local.get $3 - local.get $1 global.get $~lib/rt/itcms/white + local.get $1 i32.or i32.store offset=4 local.get $3 local.get $2 i32.store offset=8 local.get $2 - local.get $3 local.get $2 i32.load offset=4 i32.const 3 i32.and + local.get $3 i32.or i32.store offset=4 local.get $1 @@ -1799,17 +1794,17 @@ select if local.get $0 - local.tee $3 + local.tee $4 i32.const 1 i32.add local.set $0 local.get $1 - local.tee $4 + local.tee $3 i32.const 1 i32.add local.set $1 - local.get $3 local.get $4 + local.get $3 i32.load8_u i32.store8 local.get $2 @@ -1955,19 +1950,19 @@ local.get $0 i32.const 2 i32.add - local.tee $3 + local.tee $4 i32.const 1 i32.add local.set $0 local.get $1 i32.const 2 i32.add - local.tee $4 + local.tee $3 i32.const 1 i32.add local.set $1 - local.get $3 local.get $4 + local.get $3 i32.load8_u i32.store8 local.get $2 @@ -1982,7 +1977,7 @@ local.get $0 local.get $1 i32.load offset=1 - local.tee $3 + local.tee $4 i32.const 8 i32.shl local.get $5 @@ -1993,10 +1988,10 @@ local.get $0 local.get $1 i32.load offset=5 - local.tee $4 + local.tee $3 i32.const 8 i32.shl - local.get $3 + local.get $4 i32.const 24 i32.shr_u i32.or @@ -2004,10 +1999,10 @@ local.get $0 local.get $1 i32.load offset=9 - local.tee $3 + local.tee $4 i32.const 8 i32.shl - local.get $4 + local.get $3 i32.const 24 i32.shr_u i32.or @@ -2018,7 +2013,7 @@ local.tee $5 i32.const 8 i32.shl - local.get $3 + local.get $4 i32.const 24 i32.shr_u i32.or @@ -2073,7 +2068,7 @@ local.get $0 local.get $1 i32.load offset=2 - local.tee $3 + local.tee $4 i32.const 16 i32.shl local.get $5 @@ -2084,10 +2079,10 @@ local.get $0 local.get $1 i32.load offset=6 - local.tee $4 + local.tee $3 i32.const 16 i32.shl - local.get $3 + local.get $4 i32.const 16 i32.shr_u i32.or @@ -2095,10 +2090,10 @@ local.get $0 local.get $1 i32.load offset=10 - local.tee $3 + local.tee $4 i32.const 16 i32.shl - local.get $4 + local.get $3 i32.const 16 i32.shr_u i32.or @@ -2109,7 +2104,7 @@ local.tee $5 i32.const 16 i32.shl - local.get $3 + local.get $4 i32.const 16 i32.shr_u i32.or @@ -2135,17 +2130,17 @@ i32.load local.set $5 local.get $0 - local.tee $3 + local.tee $4 i32.const 1 i32.add local.set $0 local.get $1 - local.tee $4 + local.tee $3 i32.const 1 i32.add local.set $1 - local.get $3 local.get $4 + local.get $3 i32.load8_u i32.store8 local.get $2 @@ -2160,7 +2155,7 @@ local.get $0 local.get $1 i32.load offset=3 - local.tee $3 + local.tee $4 i32.const 24 i32.shl local.get $5 @@ -2171,10 +2166,10 @@ local.get $0 local.get $1 i32.load offset=7 - local.tee $4 + local.tee $3 i32.const 24 i32.shl - local.get $3 + local.get $4 i32.const 8 i32.shr_u i32.or @@ -2182,10 +2177,10 @@ local.get $0 local.get $1 i32.load offset=11 - local.tee $3 + local.tee $4 i32.const 24 i32.shl - local.get $4 + local.get $3 i32.const 8 i32.shr_u i32.or @@ -2196,7 +2191,7 @@ local.tee $5 i32.const 24 i32.shl - local.get $3 + local.get $4 i32.const 8 i32.shr_u i32.or @@ -2227,145 +2222,137 @@ i32.load8_u i32.store8 local.get $0 - local.tee $4 - i32.const 2 - i32.add - local.set $0 local.get $1 - local.tee $3 - i32.const 2 - i32.add - local.set $1 - local.get $4 - local.get $3 i32.load8_u offset=1 i32.store8 offset=1 local.get $0 - local.get $1 - i32.load8_u - i32.store8 - local.get $0 - local.tee $4 i32.const 2 i32.add - local.set $0 + local.tee $4 local.get $1 + i32.const 2 + i32.add local.tee $3 + i32.load8_u + i32.store8 + local.get $3 + local.tee $0 i32.const 2 i32.add - local.set $1 + local.set $3 local.get $4 - local.get $3 + local.get $0 i32.load8_u offset=1 i32.store8 offset=1 - local.get $0 - local.get $1 + local.get $4 + i32.const 2 + i32.add + local.tee $1 + local.get $3 i32.load8_u i32.store8 - local.get $0 + local.get $1 local.tee $4 i32.const 2 i32.add - local.set $0 - local.get $1 - local.tee $3 + local.set $1 + local.get $3 + local.tee $0 i32.const 2 i32.add - local.set $1 + local.set $3 local.get $4 - local.get $3 + local.get $0 i32.load8_u offset=1 i32.store8 offset=1 - local.get $0 local.get $1 + local.get $3 i32.load8_u i32.store8 - local.get $0 + local.get $1 local.tee $4 i32.const 2 i32.add - local.set $0 - local.get $1 - local.tee $3 + local.set $1 + local.get $3 + local.tee $0 i32.const 2 i32.add - local.set $1 + local.set $3 local.get $4 - local.get $3 + local.get $0 i32.load8_u offset=1 i32.store8 offset=1 - local.get $0 local.get $1 + local.get $3 i32.load8_u i32.store8 - local.get $0 + local.get $1 local.tee $4 i32.const 2 i32.add - local.set $0 - local.get $1 - local.tee $3 + local.set $1 + local.get $3 + local.tee $0 i32.const 2 i32.add - local.set $1 + local.set $3 local.get $4 - local.get $3 + local.get $0 i32.load8_u offset=1 i32.store8 offset=1 - local.get $0 local.get $1 + local.get $3 i32.load8_u i32.store8 - local.get $0 + local.get $1 local.tee $4 i32.const 2 i32.add - local.set $0 - local.get $1 - local.tee $3 + local.set $1 + local.get $3 + local.tee $0 i32.const 2 i32.add - local.set $1 + local.set $3 local.get $4 - local.get $3 + local.get $0 i32.load8_u offset=1 i32.store8 offset=1 - local.get $0 local.get $1 + local.get $3 i32.load8_u i32.store8 - local.get $0 + local.get $1 local.tee $4 i32.const 2 i32.add - local.set $0 - local.get $1 - local.tee $3 + local.set $1 + local.get $3 + local.tee $0 i32.const 2 i32.add - local.set $1 + local.set $3 local.get $4 - local.get $3 + local.get $0 i32.load8_u offset=1 i32.store8 offset=1 - local.get $0 local.get $1 + local.get $3 i32.load8_u i32.store8 - local.get $0 - local.tee $4 + local.get $1 i32.const 2 i32.add local.set $0 local.get $1 - local.tee $3 - i32.const 2 - i32.add - local.set $1 - local.get $4 local.get $3 i32.load8_u offset=1 i32.store8 offset=1 + local.get $3 + i32.const 2 + i32.add + local.set $1 end local.get $2 i32.const 8 @@ -2376,73 +2363,65 @@ i32.load8_u i32.store8 local.get $0 - local.tee $4 - i32.const 2 - i32.add - local.set $0 local.get $1 - local.tee $3 - i32.const 2 - i32.add - local.set $1 - local.get $4 - local.get $3 i32.load8_u offset=1 i32.store8 offset=1 local.get $0 - local.get $1 - i32.load8_u - i32.store8 - local.get $0 - local.tee $4 i32.const 2 i32.add - local.set $0 + local.tee $4 local.get $1 + i32.const 2 + i32.add local.tee $3 + i32.load8_u + i32.store8 + local.get $3 + local.tee $0 i32.const 2 i32.add - local.set $1 + local.set $3 local.get $4 - local.get $3 + local.get $0 i32.load8_u offset=1 i32.store8 offset=1 - local.get $0 - local.get $1 + local.get $4 + i32.const 2 + i32.add + local.tee $1 + local.get $3 i32.load8_u i32.store8 - local.get $0 + local.get $1 local.tee $4 i32.const 2 i32.add - local.set $0 - local.get $1 - local.tee $3 + local.set $1 + local.get $3 + local.tee $0 i32.const 2 i32.add - local.set $1 + local.set $3 local.get $4 - local.get $3 + local.get $0 i32.load8_u offset=1 i32.store8 offset=1 - local.get $0 local.get $1 + local.get $3 i32.load8_u i32.store8 - local.get $0 - local.tee $4 + local.get $1 i32.const 2 i32.add local.set $0 local.get $1 - local.tee $3 - i32.const 2 - i32.add - local.set $1 - local.get $4 local.get $3 i32.load8_u offset=1 i32.store8 offset=1 + local.get $3 + i32.const 2 + i32.add + local.set $1 end local.get $2 i32.const 4 @@ -2453,30 +2432,20 @@ i32.load8_u i32.store8 local.get $0 - local.tee $4 - i32.const 2 - i32.add - local.set $0 local.get $1 - local.tee $3 - i32.const 2 - i32.add - local.set $1 - local.get $4 - local.get $3 i32.load8_u offset=1 i32.store8 offset=1 local.get $0 - local.get $1 - i32.load8_u - i32.store8 - local.get $0 - local.tee $4 i32.const 2 i32.add - local.set $0 + local.tee $4 local.get $1 + i32.const 2 + i32.add local.tee $3 + i32.load8_u + i32.store8 + local.get $3 i32.const 2 i32.add local.set $1 @@ -2484,6 +2453,10 @@ local.get $3 i32.load8_u offset=1 i32.store8 offset=1 + local.get $4 + i32.const 2 + i32.add + local.set $0 end local.get $2 i32.const 2 @@ -2529,10 +2502,10 @@ (local $10 i32) (local $11 i32) (local $12 i32) - local.get $1 local.get $0 i32.load offset=12 - i32.ge_u + local.get $1 + i32.le_u if local.get $1 i32.const 0 @@ -2549,7 +2522,7 @@ i32.const 1 i32.add local.tee $9 - local.tee $5 + local.tee $7 local.get $0 i32.load offset=8 local.tee $11 @@ -2557,7 +2530,7 @@ i32.shr_u i32.gt_u if - local.get $5 + local.get $7 i32.const 268435455 i32.gt_u if @@ -2572,28 +2545,28 @@ local.get $11 i32.const 1 i32.shl - local.tee $3 + local.tee $6 i32.const 1073741820 - local.get $3 + local.get $6 i32.const 1073741820 i32.lt_u select - local.tee $6 - local.get $5 + local.tee $4 + local.get $7 i32.const 8 - local.get $5 + local.get $7 i32.const 8 i32.gt_u select i32.const 2 i32.shl - local.tee $3 - local.get $3 + local.tee $6 + local.get $4 local.get $6 - i32.lt_u + i32.gt_u select local.tee $10 - local.tee $4 + local.tee $12 local.get $0 i32.load local.tee $8 @@ -2609,23 +2582,23 @@ i32.le_u if local.get $5 - local.get $4 + local.get $12 i32.store offset=16 br $__inlined_func$~lib/rt/itcms/__renew end - local.get $4 + local.get $12 local.get $5 i32.load offset=12 call $~lib/rt/itcms/__new local.tee $7 local.set $6 - local.get $4 + local.get $12 local.get $5 i32.load offset=16 - local.tee $5 + local.tee $4 local.get $4 - local.get $5 - i32.lt_u + local.get $12 + i32.gt_u select local.set $12 block $~lib/util/memory/memmove|inlined.0 @@ -2676,17 +2649,17 @@ i32.sub local.set $12 local.get $6 - local.tee $4 + local.tee $5 i32.const 1 i32.add local.set $6 local.get $3 - local.tee $5 + local.tee $4 i32.const 1 i32.add local.set $3 - local.get $4 local.get $5 + local.get $4 i32.load8_u i32.store8 br $while-continue|0 @@ -2721,17 +2694,17 @@ local.get $12 if local.get $6 - local.tee $4 + local.tee $5 i32.const 1 i32.add local.set $6 local.get $3 - local.tee $5 + local.tee $4 i32.const 1 i32.add local.set $3 - local.get $4 local.get $5 + local.get $4 i32.load8_u i32.store8 local.get $12 @@ -2905,13 +2878,13 @@ i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer - local.tee $2 + local.tee $1 i64.const 0 i64.store - local.get $2 + local.get $1 i64.const 0 i64.store offset=8 - local.get $2 + local.get $1 i32.const 8 i32.sub global.set $~lib/memory/__stack_pointer @@ -2949,20 +2922,20 @@ i32.const 32 i32.const 0 call $~lib/rt/itcms/__new - local.tee $1 + local.tee $2 i32.store offset=4 - local.get $1 + local.get $2 i32.const 32 call $~lib/memory/memory.fill local.get $0 - local.get $1 + local.get $2 i32.store local.get $0 - local.get $1 + local.get $2 i32.const 0 call $~lib/rt/itcms/__link local.get $0 - local.get $1 + local.get $2 i32.store offset=4 local.get $0 i32.const 32 @@ -2974,7 +2947,7 @@ i32.const 8 i32.add global.set $~lib/memory/__stack_pointer - local.get $2 + local.get $1 local.get $0 i32.store call $issues/1699/MultiAssignmentTest#constructor @@ -3000,10 +2973,10 @@ i32.const 0 local.set $1 loop $for-loop|0 - local.get $1 local.get $0 i32.load offset=12 - i32.lt_s + local.get $1 + i32.gt_s if global.get $~lib/memory/__stack_pointer call $issues/1699/MultiAssignmentTest#constructor @@ -3193,10 +3166,10 @@ global.get $~lib/memory/__stack_pointer i32.const 0 i32.store - local.get $1 local.get $0 i32.load offset=12 - i32.ge_u + local.get $1 + i32.le_u if i32.const 1344 i32.const 1104 diff --git a/tests/compiler/logical.optimized.wat b/tests/compiler/logical.optimized.wat index 7a59cfe8ca..fa16156fa7 100644 --- a/tests/compiler/logical.optimized.wat +++ b/tests/compiler/logical.optimized.wat @@ -99,8 +99,8 @@ i32.and i32.eq if - local.get $0 global.get $~lib/rt/itcms/iter + local.get $0 i32.eq if local.get $0 @@ -160,11 +160,11 @@ local.get $1 i32.store offset=8 local.get $1 - local.get $2 local.get $1 i32.load offset=4 i32.const 3 i32.and + local.get $2 i32.or i32.store offset=4 end @@ -178,10 +178,10 @@ if (result i32) i32.const 1 else - local.get $1 i32.const 1488 i32.load - i32.gt_u + local.get $1 + i32.lt_u if i32.const 1296 i32.const 1360 @@ -218,11 +218,11 @@ local.get $1 i32.store offset=8 local.get $1 - local.get $0 local.get $1 i32.load offset=4 i32.const 3 i32.and + local.get $0 i32.or i32.store offset=4 local.get $2 @@ -361,22 +361,22 @@ local.get $4 i32.eqz if - local.get $0 local.get $3 i32.const 2 i32.shl + local.get $0 i32.add - local.tee $1 + local.tee $4 i32.load offset=4 i32.const -2 local.get $2 i32.rotl i32.and - local.set $2 + local.set $1 + local.get $4 local.get $1 - local.get $2 i32.store offset=4 - local.get $2 + local.get $1 i32.eqz if local.get $0 @@ -624,10 +624,10 @@ i32.shl i32.or i32.store - local.get $0 local.get $5 i32.const 2 i32.shl + local.get $0 i32.add local.tee $0 local.get $0 @@ -667,11 +667,11 @@ i32.load offset=1568 local.tee $2 if + local.get $1 local.get $2 i32.const 4 i32.add - local.get $1 - i32.gt_u + i32.lt_u if i32.const 0 i32.const 1440 @@ -695,11 +695,11 @@ local.set $1 end else + local.get $1 local.get $0 i32.const 1572 i32.add - local.get $1 - i32.gt_u + i32.lt_u if i32.const 0 i32.const 1440 @@ -986,13 +986,13 @@ if local.get $0 i32.load offset=4 + local.tee $1 i32.const -4 i32.and global.set $~lib/rt/itcms/iter global.get $~lib/rt/itcms/white i32.eqz - local.get $0 - i32.load offset=4 + local.get $1 i32.const 3 i32.and i32.ne @@ -1079,10 +1079,10 @@ end global.get $~lib/rt/itcms/toSpace local.tee $0 - local.get $0 + local.tee $1 + local.get $1 i32.store offset=4 - global.get $~lib/rt/itcms/toSpace - local.tee $0 + local.get $0 local.get $0 i32.store offset=8 i32.const 0 @@ -1102,11 +1102,11 @@ i32.and local.tee $2 if (result i32) - local.get $0 local.get $2 i32.ctz i32.const 2 i32.shl + local.get $0 i32.add i32.load offset=96 else @@ -1116,12 +1116,12 @@ i32.and local.tee $1 if (result i32) - local.get $0 local.get $1 i32.ctz local.tee $1 i32.const 2 i32.shl + local.get $0 i32.add i32.load offset=4 local.tee $2 @@ -1134,7 +1134,6 @@ call $~lib/builtins/abort unreachable end - local.get $0 local.get $2 i32.ctz local.get $1 @@ -1143,6 +1142,7 @@ i32.add i32.const 2 i32.shl + local.get $0 i32.add i32.load offset=96 else @@ -1495,18 +1495,13 @@ local.get $0 i32.const 4 i32.add - local.tee $1 local.get $0 i32.load i32.const -4 i32.and i32.add + local.tee $1 local.get $1 - local.get $0 - i32.load - i32.const -4 - i32.and - i32.add i32.load i32.const -3 i32.and @@ -1523,19 +1518,19 @@ i32.load offset=8 local.set $3 local.get $0 - local.get $1 global.get $~lib/rt/itcms/white + local.get $1 i32.or i32.store offset=4 local.get $0 local.get $3 i32.store offset=8 local.get $3 - local.get $0 local.get $3 i32.load offset=4 i32.const 3 i32.and + local.get $0 i32.or i32.store offset=4 local.get $1 diff --git a/tests/compiler/loop-flow.optimized.wat b/tests/compiler/loop-flow.optimized.wat index d2e41d0b4f..9812a7bc0e 100644 --- a/tests/compiler/loop-flow.optimized.wat +++ b/tests/compiler/loop-flow.optimized.wat @@ -26,13 +26,10 @@ i32.const 1 ) (func $loop-flow/whileAny (param $0 i32) (result i32) - (local $1 i32) - local.get $0 - i32.const 1 - i32.eq - local.set $1 loop $while-continue|0 (result i32) - local.get $1 + local.get $0 + i32.const 1 + i32.eq if (result i32) i32.const 1 else @@ -50,13 +47,10 @@ end ) (func $loop-flow/forAny (param $0 i32) (result i32) - (local $1 i32) - local.get $0 - i32.const 1 - i32.eq - local.set $1 loop $for-loop|0 (result i32) - local.get $1 + local.get $0 + i32.const 1 + i32.eq if (result i32) i32.const 1 else @@ -76,14 +70,10 @@ end ) (func $loop-flow/doAny (param $0 i32) (result i32) - (local $1 i32) - local.get $0 - i32.const 1 - i32.eq - local.set $1 loop $do-continue|0 - local.get $1 - i32.eqz + local.get $0 + i32.const 1 + i32.ne if local.get $0 i32.const 2 diff --git a/tests/compiler/managed-cast.optimized.wat b/tests/compiler/managed-cast.optimized.wat index cd7df977b2..ad41c09de9 100644 --- a/tests/compiler/managed-cast.optimized.wat +++ b/tests/compiler/managed-cast.optimized.wat @@ -103,8 +103,8 @@ i32.and i32.eq if - local.get $0 global.get $~lib/rt/itcms/iter + local.get $0 i32.eq if local.get $0 @@ -164,11 +164,11 @@ local.get $1 i32.store offset=8 local.get $1 - local.get $2 local.get $1 i32.load offset=4 i32.const 3 i32.and + local.get $2 i32.or i32.store offset=4 end @@ -182,10 +182,10 @@ if (result i32) i32.const 1 else - local.get $1 i32.const 1632 i32.load - i32.gt_u + local.get $1 + i32.lt_u if i32.const 1248 i32.const 1312 @@ -222,11 +222,11 @@ local.get $1 i32.store offset=8 local.get $1 - local.get $0 local.get $1 i32.load offset=4 i32.const 3 i32.and + local.get $0 i32.or i32.store offset=4 local.get $2 @@ -365,22 +365,22 @@ local.get $4 i32.eqz if - local.get $0 local.get $3 i32.const 2 i32.shl + local.get $0 i32.add - local.tee $1 + local.tee $4 i32.load offset=4 i32.const -2 local.get $2 i32.rotl i32.and - local.set $2 + local.set $1 + local.get $4 local.get $1 - local.get $2 i32.store offset=4 - local.get $2 + local.get $1 i32.eqz if local.get $0 @@ -628,10 +628,10 @@ i32.shl i32.or i32.store - local.get $0 local.get $5 i32.const 2 i32.shl + local.get $0 i32.add local.tee $0 local.get $0 @@ -671,11 +671,11 @@ i32.load offset=1568 local.tee $2 if + local.get $1 local.get $2 i32.const 4 i32.add - local.get $1 - i32.gt_u + i32.lt_u if i32.const 0 i32.const 1392 @@ -699,11 +699,11 @@ local.set $1 end else + local.get $1 local.get $0 i32.const 1572 i32.add - local.get $1 - i32.gt_u + i32.lt_u if i32.const 0 i32.const 1392 @@ -990,13 +990,13 @@ if local.get $0 i32.load offset=4 + local.tee $1 i32.const -4 i32.and global.set $~lib/rt/itcms/iter global.get $~lib/rt/itcms/white i32.eqz - local.get $0 - i32.load offset=4 + local.get $1 i32.const 3 i32.and i32.ne @@ -1083,10 +1083,10 @@ end global.get $~lib/rt/itcms/toSpace local.tee $0 - local.get $0 + local.tee $1 + local.get $1 i32.store offset=4 - global.get $~lib/rt/itcms/toSpace - local.tee $0 + local.get $0 local.get $0 i32.store offset=8 i32.const 0 @@ -1106,11 +1106,11 @@ i32.and local.tee $2 if (result i32) - local.get $0 local.get $2 i32.ctz i32.const 2 i32.shl + local.get $0 i32.add i32.load offset=96 else @@ -1120,12 +1120,12 @@ i32.and local.tee $1 if (result i32) - local.get $0 local.get $1 i32.ctz local.tee $1 i32.const 2 i32.shl + local.get $0 i32.add i32.load offset=4 local.tee $2 @@ -1138,7 +1138,6 @@ call $~lib/builtins/abort unreachable end - local.get $0 local.get $2 i32.ctz local.get $1 @@ -1147,6 +1146,7 @@ i32.add i32.const 2 i32.shl + local.get $0 i32.add i32.load offset=96 else @@ -1328,18 +1328,13 @@ local.get $1 i32.const 4 i32.add - local.tee $2 local.get $1 i32.load i32.const -4 i32.and i32.add + local.tee $2 local.get $2 - local.get $1 - i32.load - i32.const -4 - i32.and - i32.add i32.load i32.const -3 i32.and @@ -1356,19 +1351,19 @@ i32.load offset=8 local.set $2 local.get $1 - local.get $0 global.get $~lib/rt/itcms/white + local.get $0 i32.or i32.store offset=4 local.get $1 local.get $2 i32.store offset=8 local.get $2 - local.get $1 local.get $2 i32.load offset=4 i32.const 3 i32.and + local.get $1 i32.or i32.store offset=4 local.get $0 @@ -1475,10 +1470,9 @@ call $managed-cast/Cat#constructor local.set $0 global.get $~lib/memory/__stack_pointer - local.tee $1 local.get $0 i32.store - local.get $1 + global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub global.set $~lib/memory/__stack_pointer @@ -1520,10 +1514,9 @@ call $managed-cast/Cat#constructor local.set $0 global.get $~lib/memory/__stack_pointer - local.tee $1 local.get $0 i32.store - local.get $1 + global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub global.set $~lib/memory/__stack_pointer @@ -1539,25 +1532,25 @@ i32.const 20 i32.sub i32.load offset=12 - local.tee $1 + local.tee $2 i32.const 1632 i32.load i32.le_u if loop $do-continue|0 i32.const 1 - local.get $1 + local.get $2 i32.const 3 i32.eq br_if $__inlined_func$~lib/rt/__instanceof drop - local.get $1 + local.get $2 i32.const 3 i32.shl i32.const 1636 i32.add i32.load offset=4 - local.tee $1 + local.tee $2 br_if $do-continue|0 end end @@ -1610,32 +1603,31 @@ end local.get $1 local.get $0 - local.tee $1 i32.store offset=4 block $__inlined_func$~lib/rt/__instanceof11 (result i32) local.get $0 i32.const 20 i32.sub i32.load offset=12 - local.tee $0 + local.tee $1 i32.const 1632 i32.load i32.le_u if loop $do-continue|012 i32.const 1 - local.get $0 + local.get $1 i32.const 3 i32.eq br_if $__inlined_func$~lib/rt/__instanceof11 drop - local.get $0 + local.get $1 i32.const 3 i32.shl i32.const 1636 i32.add i32.load offset=4 - local.tee $0 + local.tee $1 br_if $do-continue|012 end end @@ -1651,10 +1643,10 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $0 - local.get $1 - i32.store + local.tee $1 local.get $0 + i32.store + local.get $1 i32.const 8 i32.add global.set $~lib/memory/__stack_pointer @@ -1673,7 +1665,7 @@ i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer - local.tee $2 + local.tee $1 i32.const 0 i32.store block $__inlined_func$~lib/rt/__instanceof14 (result i32) @@ -1681,25 +1673,25 @@ i32.const 20 i32.sub i32.load offset=12 - local.tee $1 + local.tee $2 i32.const 1632 i32.load i32.le_u if loop $do-continue|015 i32.const 1 - local.get $1 + local.get $2 i32.const 3 i32.eq br_if $__inlined_func$~lib/rt/__instanceof14 drop - local.get $1 + local.get $2 i32.const 3 i32.shl i32.const 1636 i32.add i32.load offset=4 - local.tee $1 + local.tee $2 br_if $do-continue|015 end end @@ -1714,7 +1706,7 @@ call $~lib/builtins/abort unreachable end - local.get $2 + local.get $1 local.get $0 i32.store global.get $~lib/memory/__stack_pointer @@ -1722,12 +1714,12 @@ i32.add global.set $~lib/memory/__stack_pointer call $managed-cast/Cat#constructor - local.set $0 + local.set $1 global.get $~lib/memory/__stack_pointer - local.tee $1 - local.get $0 - i32.store + local.tee $0 local.get $1 + i32.store + local.get $0 i32.const 4 i32.sub global.set $~lib/memory/__stack_pointer @@ -1736,35 +1728,35 @@ i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer - local.tee $2 + local.tee $0 i32.const 0 i32.store - local.get $0 + local.get $1 if block $__inlined_func$~lib/rt/__instanceof17 (result i32) - local.get $0 + local.get $1 i32.const 20 i32.sub i32.load offset=12 - local.tee $1 + local.tee $2 i32.const 1632 i32.load i32.le_u if loop $do-continue|018 i32.const 1 - local.get $1 + local.get $2 i32.const 3 i32.eq br_if $__inlined_func$~lib/rt/__instanceof17 drop - local.get $1 + local.get $2 i32.const 3 i32.shl i32.const 1636 i32.add i32.load offset=4 - local.tee $1 + local.tee $2 br_if $do-continue|018 end end @@ -1781,10 +1773,10 @@ end else i32.const 0 - local.set $0 + local.set $1 end - local.get $2 local.get $0 + local.get $1 i32.store global.get $~lib/memory/__stack_pointer i32.const 4 @@ -1860,7 +1852,7 @@ local.tee $0 i32.store global.get $~lib/memory/__stack_pointer - local.tee $1 + global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub global.set $~lib/memory/__stack_pointer @@ -1884,7 +1876,6 @@ i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $1 local.get $0 i32.store global.get $~lib/memory/__stack_pointer diff --git a/tests/compiler/memcpy.optimized.wat b/tests/compiler/memcpy.optimized.wat index 529a532405..d58e24195f 100644 --- a/tests/compiler/memcpy.optimized.wat +++ b/tests/compiler/memcpy.optimized.wat @@ -26,17 +26,17 @@ select if local.get $0 - local.tee $3 + local.tee $4 i32.const 1 i32.add local.set $0 local.get $1 - local.tee $4 + local.tee $3 i32.const 1 i32.add local.set $1 - local.get $3 local.get $4 + local.get $3 i32.load8_u i32.store8 local.get $2 @@ -183,19 +183,19 @@ local.get $0 i32.const 2 i32.add - local.tee $3 + local.tee $4 i32.const 1 i32.add local.set $0 local.get $1 i32.const 2 i32.add - local.tee $4 + local.tee $3 i32.const 1 i32.add local.set $1 - local.get $3 local.get $4 + local.get $3 i32.load8_u i32.store8 local.get $2 @@ -210,7 +210,7 @@ local.get $0 local.get $1 i32.load offset=1 - local.tee $3 + local.tee $4 i32.const 8 i32.shl local.get $6 @@ -221,10 +221,10 @@ local.get $0 local.get $1 i32.load offset=5 - local.tee $4 + local.tee $3 i32.const 8 i32.shl - local.get $3 + local.get $4 i32.const 24 i32.shr_u i32.or @@ -232,10 +232,10 @@ local.get $0 local.get $1 i32.load offset=9 - local.tee $3 + local.tee $4 i32.const 8 i32.shl - local.get $4 + local.get $3 i32.const 24 i32.shr_u i32.or @@ -246,7 +246,7 @@ local.tee $6 i32.const 8 i32.shl - local.get $3 + local.get $4 i32.const 24 i32.shr_u i32.or @@ -301,7 +301,7 @@ local.get $0 local.get $1 i32.load offset=2 - local.tee $3 + local.tee $4 i32.const 16 i32.shl local.get $6 @@ -312,10 +312,10 @@ local.get $0 local.get $1 i32.load offset=6 - local.tee $4 + local.tee $3 i32.const 16 i32.shl - local.get $3 + local.get $4 i32.const 16 i32.shr_u i32.or @@ -323,10 +323,10 @@ local.get $0 local.get $1 i32.load offset=10 - local.tee $3 + local.tee $4 i32.const 16 i32.shl - local.get $4 + local.get $3 i32.const 16 i32.shr_u i32.or @@ -337,7 +337,7 @@ local.tee $6 i32.const 16 i32.shl - local.get $3 + local.get $4 i32.const 16 i32.shr_u i32.or @@ -363,17 +363,17 @@ i32.load local.set $6 local.get $0 - local.tee $3 + local.tee $4 i32.const 1 i32.add local.set $0 local.get $1 - local.tee $4 + local.tee $3 i32.const 1 i32.add local.set $1 - local.get $3 local.get $4 + local.get $3 i32.load8_u i32.store8 local.get $2 @@ -388,7 +388,7 @@ local.get $0 local.get $1 i32.load offset=3 - local.tee $3 + local.tee $4 i32.const 24 i32.shl local.get $6 @@ -399,10 +399,10 @@ local.get $0 local.get $1 i32.load offset=7 - local.tee $4 + local.tee $3 i32.const 24 i32.shl - local.get $3 + local.get $4 i32.const 8 i32.shr_u i32.or @@ -410,10 +410,10 @@ local.get $0 local.get $1 i32.load offset=11 - local.tee $3 + local.tee $4 i32.const 24 i32.shl - local.get $4 + local.get $3 i32.const 8 i32.shr_u i32.or @@ -424,7 +424,7 @@ local.tee $6 i32.const 24 i32.shl - local.get $3 + local.get $4 i32.const 8 i32.shr_u i32.or @@ -455,145 +455,137 @@ i32.load8_u i32.store8 local.get $0 - local.tee $4 - i32.const 2 - i32.add - local.set $0 local.get $1 - local.tee $3 - i32.const 2 - i32.add - local.set $1 - local.get $4 - local.get $3 i32.load8_u offset=1 i32.store8 offset=1 local.get $0 - local.get $1 - i32.load8_u - i32.store8 - local.get $0 - local.tee $4 i32.const 2 i32.add - local.set $0 + local.tee $4 local.get $1 + i32.const 2 + i32.add local.tee $3 + i32.load8_u + i32.store8 + local.get $3 + local.tee $0 i32.const 2 i32.add - local.set $1 + local.set $3 local.get $4 - local.get $3 + local.get $0 i32.load8_u offset=1 i32.store8 offset=1 - local.get $0 - local.get $1 + local.get $4 + i32.const 2 + i32.add + local.tee $1 + local.get $3 i32.load8_u i32.store8 - local.get $0 + local.get $1 local.tee $4 i32.const 2 i32.add - local.set $0 - local.get $1 - local.tee $3 + local.set $1 + local.get $3 + local.tee $0 i32.const 2 i32.add - local.set $1 + local.set $3 local.get $4 - local.get $3 + local.get $0 i32.load8_u offset=1 i32.store8 offset=1 - local.get $0 local.get $1 + local.get $3 i32.load8_u i32.store8 - local.get $0 + local.get $1 local.tee $4 i32.const 2 i32.add - local.set $0 - local.get $1 - local.tee $3 + local.set $1 + local.get $3 + local.tee $0 i32.const 2 i32.add - local.set $1 + local.set $3 local.get $4 - local.get $3 + local.get $0 i32.load8_u offset=1 i32.store8 offset=1 - local.get $0 local.get $1 + local.get $3 i32.load8_u i32.store8 - local.get $0 + local.get $1 local.tee $4 i32.const 2 i32.add - local.set $0 - local.get $1 - local.tee $3 + local.set $1 + local.get $3 + local.tee $0 i32.const 2 i32.add - local.set $1 + local.set $3 local.get $4 - local.get $3 + local.get $0 i32.load8_u offset=1 i32.store8 offset=1 - local.get $0 local.get $1 + local.get $3 i32.load8_u i32.store8 - local.get $0 + local.get $1 local.tee $4 i32.const 2 i32.add - local.set $0 - local.get $1 - local.tee $3 + local.set $1 + local.get $3 + local.tee $0 i32.const 2 i32.add - local.set $1 + local.set $3 local.get $4 - local.get $3 + local.get $0 i32.load8_u offset=1 i32.store8 offset=1 - local.get $0 local.get $1 + local.get $3 i32.load8_u i32.store8 - local.get $0 + local.get $1 local.tee $4 i32.const 2 i32.add - local.set $0 - local.get $1 - local.tee $3 + local.set $1 + local.get $3 + local.tee $0 i32.const 2 i32.add - local.set $1 + local.set $3 local.get $4 - local.get $3 + local.get $0 i32.load8_u offset=1 i32.store8 offset=1 - local.get $0 local.get $1 + local.get $3 i32.load8_u i32.store8 - local.get $0 - local.tee $4 + local.get $1 i32.const 2 i32.add local.set $0 local.get $1 - local.tee $3 - i32.const 2 - i32.add - local.set $1 - local.get $4 local.get $3 i32.load8_u offset=1 i32.store8 offset=1 + local.get $3 + i32.const 2 + i32.add + local.set $1 end local.get $2 i32.const 8 @@ -604,73 +596,65 @@ i32.load8_u i32.store8 local.get $0 - local.tee $4 - i32.const 2 - i32.add - local.set $0 local.get $1 - local.tee $3 - i32.const 2 - i32.add - local.set $1 - local.get $4 - local.get $3 i32.load8_u offset=1 i32.store8 offset=1 local.get $0 - local.get $1 - i32.load8_u - i32.store8 - local.get $0 - local.tee $4 i32.const 2 i32.add - local.set $0 + local.tee $4 local.get $1 + i32.const 2 + i32.add local.tee $3 + i32.load8_u + i32.store8 + local.get $3 + local.tee $0 i32.const 2 i32.add - local.set $1 + local.set $3 local.get $4 - local.get $3 + local.get $0 i32.load8_u offset=1 i32.store8 offset=1 - local.get $0 - local.get $1 + local.get $4 + i32.const 2 + i32.add + local.tee $1 + local.get $3 i32.load8_u i32.store8 - local.get $0 + local.get $1 local.tee $4 i32.const 2 i32.add - local.set $0 - local.get $1 - local.tee $3 + local.set $1 + local.get $3 + local.tee $0 i32.const 2 i32.add - local.set $1 + local.set $3 local.get $4 - local.get $3 + local.get $0 i32.load8_u offset=1 i32.store8 offset=1 - local.get $0 local.get $1 + local.get $3 i32.load8_u i32.store8 - local.get $0 - local.tee $4 + local.get $1 i32.const 2 i32.add local.set $0 local.get $1 - local.tee $3 - i32.const 2 - i32.add - local.set $1 - local.get $4 local.get $3 i32.load8_u offset=1 i32.store8 offset=1 + local.get $3 + i32.const 2 + i32.add + local.set $1 end local.get $2 i32.const 4 @@ -681,30 +665,20 @@ i32.load8_u i32.store8 local.get $0 - local.tee $4 - i32.const 2 - i32.add - local.set $0 local.get $1 - local.tee $3 - i32.const 2 - i32.add - local.set $1 - local.get $4 - local.get $3 i32.load8_u offset=1 i32.store8 offset=1 local.get $0 - local.get $1 - i32.load8_u - i32.store8 - local.get $0 - local.tee $4 i32.const 2 i32.add - local.set $0 + local.tee $4 local.get $1 + i32.const 2 + i32.add local.tee $3 + i32.load8_u + i32.store8 + local.get $3 i32.const 2 i32.add local.set $1 @@ -712,6 +686,10 @@ local.get $3 i32.load8_u offset=1 i32.store8 offset=1 + local.get $4 + i32.const 2 + i32.add + local.set $0 end local.get $2 i32.const 2 diff --git a/tests/compiler/memset.optimized.wat b/tests/compiler/memset.optimized.wat index 6a8834cfd7..e439105230 100644 --- a/tests/compiler/memset.optimized.wat +++ b/tests/compiler/memset.optimized.wat @@ -184,9 +184,9 @@ local.get $1 i64.extend_i32_u local.tee $4 - local.get $4 i64.const 32 i64.shl + local.get $4 i64.or local.set $4 loop $while-continue|0 diff --git a/tests/compiler/new.optimized.wat b/tests/compiler/new.optimized.wat index 35bcb32338..45d4e832e8 100644 --- a/tests/compiler/new.optimized.wat +++ b/tests/compiler/new.optimized.wat @@ -139,8 +139,8 @@ i32.and i32.eq if - local.get $0 global.get $~lib/rt/itcms/iter + local.get $0 i32.eq if local.get $0 @@ -200,11 +200,11 @@ local.get $1 i32.store offset=8 local.get $1 - local.get $2 local.get $1 i32.load offset=4 i32.const 3 i32.and + local.get $2 i32.or i32.store offset=4 end @@ -218,10 +218,10 @@ if (result i32) i32.const 1 else - local.get $1 i32.const 1440 i32.load - i32.gt_u + local.get $1 + i32.lt_u if i32.const 1248 i32.const 1312 @@ -258,11 +258,11 @@ local.get $1 i32.store offset=8 local.get $1 - local.get $0 local.get $1 i32.load offset=4 i32.const 3 i32.and + local.get $0 i32.or i32.store offset=4 local.get $2 @@ -401,22 +401,22 @@ local.get $4 i32.eqz if - local.get $0 local.get $3 i32.const 2 i32.shl + local.get $0 i32.add - local.tee $1 + local.tee $4 i32.load offset=4 i32.const -2 local.get $2 i32.rotl i32.and - local.set $2 + local.set $1 + local.get $4 local.get $1 - local.get $2 i32.store offset=4 - local.get $2 + local.get $1 i32.eqz if local.get $0 @@ -664,10 +664,10 @@ i32.shl i32.or i32.store - local.get $0 local.get $5 i32.const 2 i32.shl + local.get $0 i32.add local.tee $0 local.get $0 @@ -707,11 +707,11 @@ i32.load offset=1568 local.tee $2 if + local.get $1 local.get $2 i32.const 4 i32.add - local.get $1 - i32.gt_u + i32.lt_u if i32.const 0 i32.const 1392 @@ -735,11 +735,11 @@ local.set $1 end else + local.get $1 local.get $0 i32.const 1572 i32.add - local.get $1 - i32.gt_u + i32.lt_u if i32.const 0 i32.const 1392 @@ -1026,13 +1026,13 @@ if local.get $0 i32.load offset=4 + local.tee $1 i32.const -4 i32.and global.set $~lib/rt/itcms/iter global.get $~lib/rt/itcms/white i32.eqz - local.get $0 - i32.load offset=4 + local.get $1 i32.const 3 i32.and i32.ne @@ -1119,10 +1119,10 @@ end global.get $~lib/rt/itcms/toSpace local.tee $0 - local.get $0 + local.tee $1 + local.get $1 i32.store offset=4 - global.get $~lib/rt/itcms/toSpace - local.tee $0 + local.get $0 local.get $0 i32.store offset=8 i32.const 0 @@ -1142,11 +1142,11 @@ i32.and local.tee $2 if (result i32) - local.get $0 local.get $2 i32.ctz i32.const 2 i32.shl + local.get $0 i32.add i32.load offset=96 else @@ -1156,12 +1156,12 @@ i32.and local.tee $1 if (result i32) - local.get $0 local.get $1 i32.ctz local.tee $1 i32.const 2 i32.shl + local.get $0 i32.add i32.load offset=4 local.tee $2 @@ -1174,7 +1174,6 @@ call $~lib/builtins/abort unreachable end - local.get $0 local.get $2 i32.ctz local.get $1 @@ -1183,6 +1182,7 @@ i32.add i32.const 2 i32.shl + local.get $0 i32.add i32.load offset=96 else @@ -1364,18 +1364,13 @@ local.get $1 i32.const 4 i32.add - local.tee $2 local.get $1 i32.load i32.const -4 i32.and i32.add + local.tee $2 local.get $2 - local.get $1 - i32.load - i32.const -4 - i32.and - i32.add i32.load i32.const -3 i32.and @@ -1392,19 +1387,19 @@ i32.load offset=8 local.set $2 local.get $1 - local.get $0 global.get $~lib/rt/itcms/white + local.get $0 i32.or i32.store offset=4 local.get $1 local.get $2 i32.store offset=8 local.get $2 - local.get $1 local.get $2 i32.load offset=4 i32.const 3 i32.and + local.get $1 i32.or i32.store offset=4 local.get $0 diff --git a/tests/compiler/number.optimized.wat b/tests/compiler/number.optimized.wat index 96e294fad6..fb560d0a27 100644 --- a/tests/compiler/number.optimized.wat +++ b/tests/compiler/number.optimized.wat @@ -146,8 +146,8 @@ i32.and i32.eq if - local.get $0 global.get $~lib/rt/itcms/iter + local.get $0 i32.eq if local.get $0 @@ -207,11 +207,11 @@ local.get $1 i32.store offset=8 local.get $1 - local.get $2 local.get $1 i32.load offset=4 i32.const 3 i32.and + local.get $2 i32.or i32.store offset=4 end @@ -225,10 +225,10 @@ if (result i32) i32.const 1 else - local.get $1 i32.const 4656 i32.load - i32.gt_u + local.get $1 + i32.lt_u if i32.const 1472 i32.const 1536 @@ -265,11 +265,11 @@ local.get $1 i32.store offset=8 local.get $1 - local.get $0 local.get $1 i32.load offset=4 i32.const 3 i32.and + local.get $0 i32.or i32.store offset=4 local.get $2 @@ -408,22 +408,22 @@ local.get $4 i32.eqz if - local.get $0 local.get $3 i32.const 2 i32.shl + local.get $0 i32.add - local.tee $1 + local.tee $4 i32.load offset=4 i32.const -2 local.get $2 i32.rotl i32.and - local.set $2 + local.set $1 + local.get $4 local.get $1 - local.get $2 i32.store offset=4 - local.get $2 + local.get $1 i32.eqz if local.get $0 @@ -671,10 +671,10 @@ i32.shl i32.or i32.store - local.get $0 local.get $5 i32.const 2 i32.shl + local.get $0 i32.add local.tee $0 local.get $0 @@ -714,11 +714,11 @@ i32.load offset=1568 local.tee $2 if + local.get $1 local.get $2 i32.const 4 i32.add - local.get $1 - i32.gt_u + i32.lt_u if i32.const 0 i32.const 1616 @@ -742,11 +742,11 @@ local.set $1 end else + local.get $1 local.get $0 i32.const 1572 i32.add - local.get $1 - i32.gt_u + i32.lt_u if i32.const 0 i32.const 1616 @@ -1033,13 +1033,13 @@ if local.get $0 i32.load offset=4 + local.tee $1 i32.const -4 i32.and global.set $~lib/rt/itcms/iter global.get $~lib/rt/itcms/white i32.eqz - local.get $0 - i32.load offset=4 + local.get $1 i32.const 3 i32.and i32.ne @@ -1126,10 +1126,10 @@ end global.get $~lib/rt/itcms/toSpace local.tee $0 - local.get $0 + local.tee $1 + local.get $1 i32.store offset=4 - global.get $~lib/rt/itcms/toSpace - local.tee $0 + local.get $0 local.get $0 i32.store offset=8 i32.const 0 @@ -1378,7 +1378,6 @@ i32.const 536870910 i32.lt_u if (result i32) - local.get $2 i32.const 1 i32.const 27 local.get $2 @@ -1387,6 +1386,7 @@ i32.shl i32.const 1 i32.sub + local.get $2 i32.add else local.get $2 @@ -1447,12 +1447,12 @@ unreachable end end - local.get $2 local.get $3 i32.load i32.const -4 i32.and - i32.gt_u + local.get $2 + i32.lt_u if i32.const 0 i32.const 1616 @@ -1490,10 +1490,10 @@ i32.ge_u if local.get $3 - local.get $2 local.get $4 i32.const 2 i32.and + local.get $2 i32.or i32.store local.get $2 @@ -1520,18 +1520,13 @@ local.get $3 i32.const 4 i32.add - local.tee $2 local.get $3 i32.load i32.const -4 i32.and i32.add + local.tee $2 local.get $2 - local.get $3 - i32.load - i32.const -4 - i32.and - i32.add i32.load i32.const -3 i32.and @@ -1548,19 +1543,19 @@ i32.load offset=8 local.set $1 local.get $3 - local.get $2 global.get $~lib/rt/itcms/white + local.get $2 i32.or i32.store offset=4 local.get $3 local.get $1 i32.store offset=8 local.get $1 - local.get $3 local.get $1 i32.load offset=4 i32.const 3 i32.and + local.get $3 i32.or i32.store offset=4 local.get $2 @@ -2403,9 +2398,6 @@ br $while-continue|0 end end - local.get $10 - i64.extend_i32_s - local.set $0 loop $while-continue|4 local.get $3 i64.const 10 @@ -2414,10 +2406,11 @@ local.get $6 i64.const 10 i64.mul - local.tee $1 - local.get $0 + local.tee $0 + local.get $10 + i64.extend_i32_s i64.shr_u - local.tee $6 + local.tee $1 local.get $4 i64.extend_i32_s i64.or @@ -2434,7 +2427,7 @@ i32.shl i32.const 3456 i32.add - local.get $6 + local.get $1 i32.wrap_i64 i32.const 65535 i32.and @@ -2447,7 +2440,7 @@ i32.sub local.set $8 local.get $3 - local.get $1 + local.get $0 local.get $12 i64.and local.tee $6 @@ -2460,7 +2453,6 @@ global.set $~lib/util/number/_K local.get $6 local.set $0 - local.get $9 i32.const 0 local.get $8 i32.sub @@ -2469,6 +2461,7 @@ i32.const 4384 i32.add i64.load32_u + local.get $9 i64.mul local.set $1 local.get $4 @@ -2539,17 +2532,17 @@ select if local.get $0 - local.tee $3 + local.tee $4 i32.const 1 i32.add local.set $0 local.get $1 - local.tee $4 + local.tee $3 i32.const 1 i32.add local.set $1 - local.get $3 local.get $4 + local.get $3 i32.load8_u i32.store8 local.get $2 @@ -2695,19 +2688,19 @@ local.get $0 i32.const 2 i32.add - local.tee $3 + local.tee $4 i32.const 1 i32.add local.set $0 local.get $1 i32.const 2 i32.add - local.tee $4 + local.tee $3 i32.const 1 i32.add local.set $1 - local.get $3 local.get $4 + local.get $3 i32.load8_u i32.store8 local.get $2 @@ -2722,7 +2715,7 @@ local.get $0 local.get $1 i32.load offset=1 - local.tee $3 + local.tee $4 i32.const 8 i32.shl local.get $5 @@ -2733,10 +2726,10 @@ local.get $0 local.get $1 i32.load offset=5 - local.tee $4 + local.tee $3 i32.const 8 i32.shl - local.get $3 + local.get $4 i32.const 24 i32.shr_u i32.or @@ -2744,10 +2737,10 @@ local.get $0 local.get $1 i32.load offset=9 - local.tee $3 + local.tee $4 i32.const 8 i32.shl - local.get $4 + local.get $3 i32.const 24 i32.shr_u i32.or @@ -2758,7 +2751,7 @@ local.tee $5 i32.const 8 i32.shl - local.get $3 + local.get $4 i32.const 24 i32.shr_u i32.or @@ -2813,7 +2806,7 @@ local.get $0 local.get $1 i32.load offset=2 - local.tee $3 + local.tee $4 i32.const 16 i32.shl local.get $5 @@ -2824,10 +2817,10 @@ local.get $0 local.get $1 i32.load offset=6 - local.tee $4 + local.tee $3 i32.const 16 i32.shl - local.get $3 + local.get $4 i32.const 16 i32.shr_u i32.or @@ -2835,10 +2828,10 @@ local.get $0 local.get $1 i32.load offset=10 - local.tee $3 + local.tee $4 i32.const 16 i32.shl - local.get $4 + local.get $3 i32.const 16 i32.shr_u i32.or @@ -2849,7 +2842,7 @@ local.tee $5 i32.const 16 i32.shl - local.get $3 + local.get $4 i32.const 16 i32.shr_u i32.or @@ -2875,17 +2868,17 @@ i32.load local.set $5 local.get $0 - local.tee $3 + local.tee $4 i32.const 1 i32.add local.set $0 local.get $1 - local.tee $4 + local.tee $3 i32.const 1 i32.add local.set $1 - local.get $3 local.get $4 + local.get $3 i32.load8_u i32.store8 local.get $2 @@ -2900,7 +2893,7 @@ local.get $0 local.get $1 i32.load offset=3 - local.tee $3 + local.tee $4 i32.const 24 i32.shl local.get $5 @@ -2911,10 +2904,10 @@ local.get $0 local.get $1 i32.load offset=7 - local.tee $4 + local.tee $3 i32.const 24 i32.shl - local.get $3 + local.get $4 i32.const 8 i32.shr_u i32.or @@ -2922,10 +2915,10 @@ local.get $0 local.get $1 i32.load offset=11 - local.tee $3 + local.tee $4 i32.const 24 i32.shl - local.get $4 + local.get $3 i32.const 8 i32.shr_u i32.or @@ -2936,7 +2929,7 @@ local.tee $5 i32.const 24 i32.shl - local.get $3 + local.get $4 i32.const 8 i32.shr_u i32.or @@ -2967,145 +2960,137 @@ i32.load8_u i32.store8 local.get $0 - local.tee $4 - i32.const 2 - i32.add - local.set $0 local.get $1 - local.tee $3 - i32.const 2 - i32.add - local.set $1 - local.get $4 - local.get $3 i32.load8_u offset=1 i32.store8 offset=1 local.get $0 - local.get $1 - i32.load8_u - i32.store8 - local.get $0 - local.tee $4 i32.const 2 i32.add - local.set $0 + local.tee $4 local.get $1 + i32.const 2 + i32.add local.tee $3 + i32.load8_u + i32.store8 + local.get $3 + local.tee $0 i32.const 2 i32.add - local.set $1 + local.set $3 local.get $4 - local.get $3 + local.get $0 i32.load8_u offset=1 i32.store8 offset=1 - local.get $0 - local.get $1 + local.get $4 + i32.const 2 + i32.add + local.tee $1 + local.get $3 i32.load8_u i32.store8 - local.get $0 + local.get $1 local.tee $4 i32.const 2 i32.add - local.set $0 - local.get $1 - local.tee $3 + local.set $1 + local.get $3 + local.tee $0 i32.const 2 i32.add - local.set $1 + local.set $3 local.get $4 - local.get $3 + local.get $0 i32.load8_u offset=1 i32.store8 offset=1 - local.get $0 local.get $1 + local.get $3 i32.load8_u i32.store8 - local.get $0 + local.get $1 local.tee $4 i32.const 2 i32.add - local.set $0 - local.get $1 - local.tee $3 + local.set $1 + local.get $3 + local.tee $0 i32.const 2 i32.add - local.set $1 + local.set $3 local.get $4 - local.get $3 + local.get $0 i32.load8_u offset=1 i32.store8 offset=1 - local.get $0 local.get $1 + local.get $3 i32.load8_u i32.store8 - local.get $0 + local.get $1 local.tee $4 i32.const 2 i32.add - local.set $0 - local.get $1 - local.tee $3 + local.set $1 + local.get $3 + local.tee $0 i32.const 2 i32.add - local.set $1 + local.set $3 local.get $4 - local.get $3 + local.get $0 i32.load8_u offset=1 i32.store8 offset=1 - local.get $0 local.get $1 + local.get $3 i32.load8_u i32.store8 - local.get $0 + local.get $1 local.tee $4 i32.const 2 i32.add - local.set $0 - local.get $1 - local.tee $3 + local.set $1 + local.get $3 + local.tee $0 i32.const 2 i32.add - local.set $1 + local.set $3 local.get $4 - local.get $3 + local.get $0 i32.load8_u offset=1 i32.store8 offset=1 - local.get $0 local.get $1 + local.get $3 i32.load8_u i32.store8 - local.get $0 + local.get $1 local.tee $4 i32.const 2 i32.add - local.set $0 - local.get $1 - local.tee $3 + local.set $1 + local.get $3 + local.tee $0 i32.const 2 i32.add - local.set $1 + local.set $3 local.get $4 - local.get $3 + local.get $0 i32.load8_u offset=1 i32.store8 offset=1 - local.get $0 local.get $1 + local.get $3 i32.load8_u i32.store8 - local.get $0 - local.tee $4 + local.get $1 i32.const 2 i32.add local.set $0 local.get $1 - local.tee $3 - i32.const 2 - i32.add - local.set $1 - local.get $4 local.get $3 i32.load8_u offset=1 i32.store8 offset=1 + local.get $3 + i32.const 2 + i32.add + local.set $1 end local.get $2 i32.const 8 @@ -3116,73 +3101,65 @@ i32.load8_u i32.store8 local.get $0 - local.tee $4 - i32.const 2 - i32.add - local.set $0 local.get $1 - local.tee $3 - i32.const 2 - i32.add - local.set $1 - local.get $4 - local.get $3 i32.load8_u offset=1 i32.store8 offset=1 local.get $0 - local.get $1 - i32.load8_u - i32.store8 - local.get $0 - local.tee $4 i32.const 2 i32.add - local.set $0 + local.tee $4 local.get $1 + i32.const 2 + i32.add local.tee $3 + i32.load8_u + i32.store8 + local.get $3 + local.tee $0 i32.const 2 i32.add - local.set $1 + local.set $3 local.get $4 - local.get $3 + local.get $0 i32.load8_u offset=1 i32.store8 offset=1 - local.get $0 - local.get $1 + local.get $4 + i32.const 2 + i32.add + local.tee $1 + local.get $3 i32.load8_u i32.store8 - local.get $0 + local.get $1 local.tee $4 i32.const 2 i32.add - local.set $0 - local.get $1 - local.tee $3 + local.set $1 + local.get $3 + local.tee $0 i32.const 2 i32.add - local.set $1 + local.set $3 local.get $4 - local.get $3 + local.get $0 i32.load8_u offset=1 i32.store8 offset=1 - local.get $0 local.get $1 + local.get $3 i32.load8_u i32.store8 - local.get $0 - local.tee $4 + local.get $1 i32.const 2 i32.add local.set $0 local.get $1 - local.tee $3 - i32.const 2 - i32.add - local.set $1 - local.get $4 local.get $3 i32.load8_u offset=1 i32.store8 offset=1 + local.get $3 + i32.const 2 + i32.add + local.set $1 end local.get $2 i32.const 4 @@ -3193,30 +3170,20 @@ i32.load8_u i32.store8 local.get $0 - local.tee $4 - i32.const 2 - i32.add - local.set $0 local.get $1 - local.tee $3 - i32.const 2 - i32.add - local.set $1 - local.get $4 - local.get $3 i32.load8_u offset=1 i32.store8 offset=1 local.get $0 - local.get $1 - i32.load8_u - i32.store8 - local.get $0 - local.tee $4 i32.const 2 i32.add - local.set $0 + local.tee $4 local.get $1 + i32.const 2 + i32.add local.tee $3 + i32.load8_u + i32.store8 + local.get $3 i32.const 2 i32.add local.set $1 @@ -3224,6 +3191,10 @@ local.get $3 i32.load8_u offset=1 i32.store8 offset=1 + local.get $4 + i32.const 2 + i32.add + local.set $0 end local.get $2 i32.const 2 @@ -3867,10 +3838,9 @@ call $~lib/number/I32#toString local.set $0 global.get $~lib/memory/__stack_pointer - local.tee $1 local.get $0 i32.store - local.get $1 + global.get $~lib/memory/__stack_pointer i32.const 3232 i32.store offset=4 local.get $0 @@ -3905,34 +3875,36 @@ i32.load16_s global.set $~lib/util/number/_exp_pow global.get $~lib/util/number/_frc_pow - local.tee $2 - i64.const 32 - i64.shr_u + local.tee $3 + i64.const 4294967295 + i64.and local.tee $4 i64.const 31 i64.shl - local.tee $6 - local.get $2 - i64.const 4294967295 - i64.and local.tee $2 + local.set $5 + local.get $3 + i64.const 32 + i64.shr_u + local.tee $3 i64.const 31 i64.shl - local.tee $5 - local.get $2 + local.tee $6 + local.get $4 i64.const 10 i64.shl i64.const 32 i64.shr_u + local.get $2 i64.add - local.tee $3 + local.tee $2 i64.const 32 i64.shr_u i64.add - local.get $3 + local.get $2 i64.const 4294967295 i64.and - local.get $4 + local.get $3 i64.const 10 i64.shl i64.add @@ -3943,11 +3915,11 @@ i64.add i64.const 1 i64.sub - local.set $3 - local.get $6 + local.set $2 local.get $5 i64.const 32 i64.shr_u + local.get $6 i64.add local.get $5 i64.const 4294967295 @@ -3957,31 +3929,31 @@ i64.const 32 i64.shr_u i64.add - local.get $3 + local.get $2 global.get $~lib/util/number/_exp_pow i32.const 2 i32.add + local.get $2 local.get $3 - local.get $4 i64.const 2147483647 i64.mul - local.get $2 + local.get $4 i64.const 2147483647 i64.mul - local.get $2 + local.get $4 i64.const 4294966784 i64.mul i64.const 32 i64.shr_u i64.add - local.tee $2 + local.tee $4 i64.const 32 i64.shr_u i64.add - local.get $4 + local.get $3 i64.const 4294966784 i64.mul - local.get $2 + local.get $4 i64.const 4294967295 i64.and i64.add diff --git a/tests/compiler/object-literal.optimized.wat b/tests/compiler/object-literal.optimized.wat index 9178d47e75..19ea3c5369 100644 --- a/tests/compiler/object-literal.optimized.wat +++ b/tests/compiler/object-literal.optimized.wat @@ -52,8 +52,8 @@ (local $1 i32) (local $2 i32) (local $3 i32) - local.get $0 global.get $~lib/rt/itcms/iter + local.get $0 i32.eq if local.get $0 @@ -113,11 +113,11 @@ local.get $1 i32.store offset=8 local.get $1 - local.get $2 local.get $1 i32.load offset=4 i32.const 3 i32.and + local.get $2 i32.or i32.store offset=4 end @@ -131,10 +131,10 @@ if (result i32) i32.const 1 else - local.get $1 i32.const 1712 i32.load - i32.gt_u + local.get $1 + i32.lt_u if i32.const 1200 i32.const 1264 @@ -171,11 +171,11 @@ local.get $1 i32.store offset=8 local.get $1 - local.get $0 local.get $1 i32.load offset=4 i32.const 3 i32.and + local.get $0 i32.or i32.store offset=4 local.get $2 @@ -433,22 +433,22 @@ local.get $4 i32.eqz if - local.get $0 local.get $3 i32.const 2 i32.shl + local.get $0 i32.add - local.tee $1 + local.tee $4 i32.load offset=4 i32.const -2 local.get $2 i32.rotl i32.and - local.set $2 + local.set $1 + local.get $4 local.get $1 - local.get $2 i32.store offset=4 - local.get $2 + local.get $1 i32.eqz if local.get $0 @@ -696,10 +696,10 @@ i32.shl i32.or i32.store - local.get $0 local.get $5 i32.const 2 i32.shl + local.get $0 i32.add local.tee $0 local.get $0 @@ -739,11 +739,11 @@ i32.load offset=1568 local.tee $2 if + local.get $1 local.get $2 i32.const 4 i32.add - local.get $1 - i32.gt_u + i32.lt_u if i32.const 0 i32.const 1440 @@ -767,11 +767,11 @@ local.set $1 end else + local.get $1 local.get $0 i32.const 1572 i32.add - local.get $1 - i32.gt_u + i32.lt_u if i32.const 0 i32.const 1440 @@ -1108,13 +1108,13 @@ if local.get $0 i32.load offset=4 + local.tee $1 i32.const -4 i32.and global.set $~lib/rt/itcms/iter global.get $~lib/rt/itcms/white i32.eqz - local.get $0 - i32.load offset=4 + local.get $1 i32.const 3 i32.and i32.ne @@ -1156,10 +1156,10 @@ end global.get $~lib/rt/itcms/toSpace local.tee $0 - local.get $0 + local.tee $1 + local.get $1 i32.store offset=4 - global.get $~lib/rt/itcms/toSpace - local.tee $0 + local.get $0 local.get $0 i32.store offset=8 i32.const 0 @@ -1347,7 +1347,6 @@ i32.const 536870910 i32.lt_u if (result i32) - local.get $0 i32.const 1 i32.const 27 local.get $0 @@ -1356,6 +1355,7 @@ i32.shl i32.const 1 i32.sub + local.get $0 i32.add else local.get $0 @@ -1416,12 +1416,12 @@ unreachable end end - local.get $0 local.get $1 i32.load i32.const -4 i32.and - i32.gt_u + local.get $0 + i32.lt_u if i32.const 0 i32.const 1440 @@ -1459,10 +1459,10 @@ i32.ge_u if local.get $1 - local.get $0 local.get $2 i32.const 2 i32.and + local.get $0 i32.or i32.store local.get $0 @@ -1489,18 +1489,13 @@ local.get $1 i32.const 4 i32.add - local.tee $0 local.get $1 i32.load i32.const -4 i32.and i32.add + local.tee $0 local.get $0 - local.get $1 - i32.load - i32.const -4 - i32.and - i32.add i32.load i32.const -3 i32.and @@ -1586,19 +1581,19 @@ i32.load offset=8 local.set $1 local.get $2 - local.get $3 global.get $~lib/rt/itcms/white + local.get $3 i32.or i32.store offset=4 local.get $2 local.get $1 i32.store offset=8 local.get $1 - local.get $2 local.get $1 i32.load offset=4 i32.const 3 i32.and + local.get $2 i32.or i32.store offset=4 local.get $3 @@ -1922,17 +1917,17 @@ select if local.get $0 - local.tee $3 + local.tee $4 i32.const 1 i32.add local.set $0 local.get $1 - local.tee $4 + local.tee $3 i32.const 1 i32.add local.set $1 - local.get $3 local.get $4 + local.get $3 i32.load8_u i32.store8 local.get $2 @@ -2078,19 +2073,19 @@ local.get $0 i32.const 2 i32.add - local.tee $3 + local.tee $4 i32.const 1 i32.add local.set $0 local.get $1 i32.const 2 i32.add - local.tee $4 + local.tee $3 i32.const 1 i32.add local.set $1 - local.get $3 local.get $4 + local.get $3 i32.load8_u i32.store8 local.get $2 @@ -2105,7 +2100,7 @@ local.get $0 local.get $1 i32.load offset=1 - local.tee $3 + local.tee $4 i32.const 8 i32.shl local.get $5 @@ -2116,10 +2111,10 @@ local.get $0 local.get $1 i32.load offset=5 - local.tee $4 + local.tee $3 i32.const 8 i32.shl - local.get $3 + local.get $4 i32.const 24 i32.shr_u i32.or @@ -2127,10 +2122,10 @@ local.get $0 local.get $1 i32.load offset=9 - local.tee $3 + local.tee $4 i32.const 8 i32.shl - local.get $4 + local.get $3 i32.const 24 i32.shr_u i32.or @@ -2141,7 +2136,7 @@ local.tee $5 i32.const 8 i32.shl - local.get $3 + local.get $4 i32.const 24 i32.shr_u i32.or @@ -2196,7 +2191,7 @@ local.get $0 local.get $1 i32.load offset=2 - local.tee $3 + local.tee $4 i32.const 16 i32.shl local.get $5 @@ -2207,10 +2202,10 @@ local.get $0 local.get $1 i32.load offset=6 - local.tee $4 + local.tee $3 i32.const 16 i32.shl - local.get $3 + local.get $4 i32.const 16 i32.shr_u i32.or @@ -2218,10 +2213,10 @@ local.get $0 local.get $1 i32.load offset=10 - local.tee $3 + local.tee $4 i32.const 16 i32.shl - local.get $4 + local.get $3 i32.const 16 i32.shr_u i32.or @@ -2232,7 +2227,7 @@ local.tee $5 i32.const 16 i32.shl - local.get $3 + local.get $4 i32.const 16 i32.shr_u i32.or @@ -2258,17 +2253,17 @@ i32.load local.set $5 local.get $0 - local.tee $3 + local.tee $4 i32.const 1 i32.add local.set $0 local.get $1 - local.tee $4 + local.tee $3 i32.const 1 i32.add local.set $1 - local.get $3 local.get $4 + local.get $3 i32.load8_u i32.store8 local.get $2 @@ -2283,7 +2278,7 @@ local.get $0 local.get $1 i32.load offset=3 - local.tee $3 + local.tee $4 i32.const 24 i32.shl local.get $5 @@ -2294,10 +2289,10 @@ local.get $0 local.get $1 i32.load offset=7 - local.tee $4 + local.tee $3 i32.const 24 i32.shl - local.get $3 + local.get $4 i32.const 8 i32.shr_u i32.or @@ -2305,10 +2300,10 @@ local.get $0 local.get $1 i32.load offset=11 - local.tee $3 + local.tee $4 i32.const 24 i32.shl - local.get $4 + local.get $3 i32.const 8 i32.shr_u i32.or @@ -2319,7 +2314,7 @@ local.tee $5 i32.const 24 i32.shl - local.get $3 + local.get $4 i32.const 8 i32.shr_u i32.or @@ -2350,145 +2345,137 @@ i32.load8_u i32.store8 local.get $0 - local.tee $4 - i32.const 2 - i32.add - local.set $0 local.get $1 - local.tee $3 - i32.const 2 - i32.add - local.set $1 - local.get $4 - local.get $3 i32.load8_u offset=1 i32.store8 offset=1 local.get $0 - local.get $1 - i32.load8_u - i32.store8 - local.get $0 - local.tee $4 i32.const 2 i32.add - local.set $0 + local.tee $4 local.get $1 + i32.const 2 + i32.add local.tee $3 + i32.load8_u + i32.store8 + local.get $3 + local.tee $0 i32.const 2 i32.add - local.set $1 + local.set $3 local.get $4 - local.get $3 + local.get $0 i32.load8_u offset=1 i32.store8 offset=1 - local.get $0 - local.get $1 + local.get $4 + i32.const 2 + i32.add + local.tee $1 + local.get $3 i32.load8_u i32.store8 - local.get $0 + local.get $1 local.tee $4 i32.const 2 i32.add - local.set $0 - local.get $1 - local.tee $3 + local.set $1 + local.get $3 + local.tee $0 i32.const 2 i32.add - local.set $1 + local.set $3 local.get $4 - local.get $3 + local.get $0 i32.load8_u offset=1 i32.store8 offset=1 - local.get $0 local.get $1 + local.get $3 i32.load8_u i32.store8 - local.get $0 + local.get $1 local.tee $4 i32.const 2 i32.add - local.set $0 - local.get $1 - local.tee $3 + local.set $1 + local.get $3 + local.tee $0 i32.const 2 i32.add - local.set $1 + local.set $3 local.get $4 - local.get $3 + local.get $0 i32.load8_u offset=1 i32.store8 offset=1 - local.get $0 local.get $1 + local.get $3 i32.load8_u i32.store8 - local.get $0 + local.get $1 local.tee $4 i32.const 2 i32.add - local.set $0 - local.get $1 - local.tee $3 + local.set $1 + local.get $3 + local.tee $0 i32.const 2 i32.add - local.set $1 + local.set $3 local.get $4 - local.get $3 + local.get $0 i32.load8_u offset=1 i32.store8 offset=1 - local.get $0 local.get $1 + local.get $3 i32.load8_u i32.store8 - local.get $0 + local.get $1 local.tee $4 i32.const 2 i32.add - local.set $0 - local.get $1 - local.tee $3 + local.set $1 + local.get $3 + local.tee $0 i32.const 2 i32.add - local.set $1 + local.set $3 local.get $4 - local.get $3 + local.get $0 i32.load8_u offset=1 i32.store8 offset=1 - local.get $0 local.get $1 + local.get $3 i32.load8_u i32.store8 - local.get $0 + local.get $1 local.tee $4 i32.const 2 i32.add - local.set $0 - local.get $1 - local.tee $3 + local.set $1 + local.get $3 + local.tee $0 i32.const 2 i32.add - local.set $1 + local.set $3 local.get $4 - local.get $3 + local.get $0 i32.load8_u offset=1 i32.store8 offset=1 - local.get $0 local.get $1 + local.get $3 i32.load8_u i32.store8 - local.get $0 - local.tee $4 + local.get $1 i32.const 2 i32.add local.set $0 local.get $1 - local.tee $3 - i32.const 2 - i32.add - local.set $1 - local.get $4 local.get $3 i32.load8_u offset=1 i32.store8 offset=1 + local.get $3 + i32.const 2 + i32.add + local.set $1 end local.get $2 i32.const 8 @@ -2499,73 +2486,65 @@ i32.load8_u i32.store8 local.get $0 - local.tee $4 - i32.const 2 - i32.add - local.set $0 local.get $1 - local.tee $3 - i32.const 2 - i32.add - local.set $1 - local.get $4 - local.get $3 i32.load8_u offset=1 i32.store8 offset=1 local.get $0 - local.get $1 - i32.load8_u - i32.store8 - local.get $0 - local.tee $4 i32.const 2 i32.add - local.set $0 + local.tee $4 local.get $1 + i32.const 2 + i32.add local.tee $3 + i32.load8_u + i32.store8 + local.get $3 + local.tee $0 i32.const 2 i32.add - local.set $1 + local.set $3 local.get $4 - local.get $3 + local.get $0 i32.load8_u offset=1 i32.store8 offset=1 - local.get $0 - local.get $1 + local.get $4 + i32.const 2 + i32.add + local.tee $1 + local.get $3 i32.load8_u i32.store8 - local.get $0 + local.get $1 local.tee $4 i32.const 2 i32.add - local.set $0 - local.get $1 - local.tee $3 + local.set $1 + local.get $3 + local.tee $0 i32.const 2 i32.add - local.set $1 + local.set $3 local.get $4 - local.get $3 + local.get $0 i32.load8_u offset=1 i32.store8 offset=1 - local.get $0 local.get $1 + local.get $3 i32.load8_u i32.store8 - local.get $0 - local.tee $4 + local.get $1 i32.const 2 i32.add local.set $0 local.get $1 - local.tee $3 - i32.const 2 - i32.add - local.set $1 - local.get $4 local.get $3 i32.load8_u offset=1 i32.store8 offset=1 + local.get $3 + i32.const 2 + i32.add + local.set $1 end local.get $2 i32.const 4 @@ -2576,30 +2555,20 @@ i32.load8_u i32.store8 local.get $0 - local.tee $4 - i32.const 2 - i32.add - local.set $0 local.get $1 - local.tee $3 - i32.const 2 - i32.add - local.set $1 - local.get $4 - local.get $3 i32.load8_u offset=1 i32.store8 offset=1 local.get $0 - local.get $1 - i32.load8_u - i32.store8 - local.get $0 - local.tee $4 i32.const 2 i32.add - local.set $0 + local.tee $4 local.get $1 + i32.const 2 + i32.add local.tee $3 + i32.load8_u + i32.store8 + local.get $3 i32.const 2 i32.add local.set $1 @@ -2607,6 +2576,10 @@ local.get $3 i32.load8_u offset=1 i32.store8 offset=1 + local.get $4 + i32.const 2 + i32.add + local.set $0 end local.get $2 i32.const 2 @@ -2922,41 +2895,40 @@ global.get $~lib/memory/__stack_pointer i32.const 0 i32.store + i32.const 0 + i32.const 1052 + i32.load + i32.const 1 + i32.shr_u + local.tee $3 + local.get $3 + select + local.tee $1 + i32.const 5 + local.get $3 + local.get $3 + i32.const 5 + i32.gt_u + select + local.tee $0 + local.get $0 + local.get $1 + i32.gt_s + select + i32.const 1 + i32.shl + local.set $2 block $__inlined_func$~lib/string/String#substring - i32.const 0 - i32.const 1052 - i32.load - i32.const 1 - i32.shr_u - local.tee $3 - local.get $3 - i32.const 0 - i32.gt_s - select - local.tee $2 - i32.const 5 - local.get $3 - local.get $3 - i32.const 5 - i32.gt_s - select - local.tee $0 + local.get $1 local.get $0 - local.get $2 + local.get $0 + local.get $1 i32.lt_s select i32.const 1 i32.shl local.tee $1 local.get $2 - local.get $0 - local.get $0 - local.get $2 - i32.gt_s - select - i32.const 1 - i32.shl - local.tee $2 i32.sub local.tee $0 i32.eqz @@ -2970,10 +2942,10 @@ br $__inlined_func$~lib/string/String#substring end i32.const 0 - local.get $1 local.get $3 i32.const 1 i32.shl + local.get $1 i32.eq local.get $2 select @@ -3242,7 +3214,8 @@ i32.add global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - local.tee $1 + local.tee $0 + local.get $0 i32.const 4 i32.sub global.set $~lib/memory/__stack_pointer @@ -3306,7 +3279,6 @@ i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $1 local.get $0 i32.store offset=8 local.get $0 @@ -3505,7 +3477,8 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $1 + local.tee $0 + local.get $0 i32.const 4 i32.sub global.set $~lib/memory/__stack_pointer @@ -3539,7 +3512,6 @@ i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $1 local.get $2 i32.store offset=12 local.get $2 @@ -3617,7 +3589,8 @@ i32.add global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - local.tee $1 + local.tee $0 + local.get $0 i32.const 4 i32.sub global.set $~lib/memory/__stack_pointer @@ -3693,7 +3666,6 @@ i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $1 local.get $0 i32.store offset=16 local.get $0 @@ -3736,10 +3708,9 @@ i32.const 0 i32.store offset=32 global.get $~lib/memory/__stack_pointer - local.tee $1 local.get $0 i32.store - local.get $1 + global.get $~lib/memory/__stack_pointer i32.const 8 i32.sub global.set $~lib/memory/__stack_pointer diff --git a/tests/compiler/optional-typeparameters.optimized.wat b/tests/compiler/optional-typeparameters.optimized.wat index f7431d648f..8216c35134 100644 --- a/tests/compiler/optional-typeparameters.optimized.wat +++ b/tests/compiler/optional-typeparameters.optimized.wat @@ -111,8 +111,8 @@ i32.and i32.eq if - local.get $0 global.get $~lib/rt/itcms/iter + local.get $0 i32.eq if local.get $0 @@ -172,11 +172,11 @@ local.get $1 i32.store offset=8 local.get $1 - local.get $2 local.get $1 i32.load offset=4 i32.const 3 i32.and + local.get $2 i32.or i32.store offset=4 end @@ -190,10 +190,10 @@ if (result i32) i32.const 1 else - local.get $1 i32.const 1440 i32.load - i32.gt_u + local.get $1 + i32.lt_u if i32.const 1248 i32.const 1312 @@ -230,11 +230,11 @@ local.get $1 i32.store offset=8 local.get $1 - local.get $0 local.get $1 i32.load offset=4 i32.const 3 i32.and + local.get $0 i32.or i32.store offset=4 local.get $2 @@ -373,22 +373,22 @@ local.get $4 i32.eqz if - local.get $0 local.get $3 i32.const 2 i32.shl + local.get $0 i32.add - local.tee $1 + local.tee $4 i32.load offset=4 i32.const -2 local.get $2 i32.rotl i32.and - local.set $2 + local.set $1 + local.get $4 local.get $1 - local.get $2 i32.store offset=4 - local.get $2 + local.get $1 i32.eqz if local.get $0 @@ -636,10 +636,10 @@ i32.shl i32.or i32.store - local.get $0 local.get $5 i32.const 2 i32.shl + local.get $0 i32.add local.tee $0 local.get $0 @@ -679,11 +679,11 @@ i32.load offset=1568 local.tee $2 if + local.get $1 local.get $2 i32.const 4 i32.add - local.get $1 - i32.gt_u + i32.lt_u if i32.const 0 i32.const 1392 @@ -707,11 +707,11 @@ local.set $1 end else + local.get $1 local.get $0 i32.const 1572 i32.add - local.get $1 - i32.gt_u + i32.lt_u if i32.const 0 i32.const 1392 @@ -998,13 +998,13 @@ if local.get $0 i32.load offset=4 + local.tee $1 i32.const -4 i32.and global.set $~lib/rt/itcms/iter global.get $~lib/rt/itcms/white i32.eqz - local.get $0 - i32.load offset=4 + local.get $1 i32.const 3 i32.and i32.ne @@ -1091,10 +1091,10 @@ end global.get $~lib/rt/itcms/toSpace local.tee $0 - local.get $0 + local.tee $1 + local.get $1 i32.store offset=4 - global.get $~lib/rt/itcms/toSpace - local.tee $0 + local.get $0 local.get $0 i32.store offset=8 i32.const 0 @@ -1114,11 +1114,11 @@ i32.and local.tee $2 if (result i32) - local.get $0 local.get $2 i32.ctz i32.const 2 i32.shl + local.get $0 i32.add i32.load offset=96 else @@ -1128,12 +1128,12 @@ i32.and local.tee $1 if (result i32) - local.get $0 local.get $1 i32.ctz local.tee $1 i32.const 2 i32.shl + local.get $0 i32.add i32.load offset=4 local.tee $2 @@ -1146,7 +1146,6 @@ call $~lib/builtins/abort unreachable end - local.get $0 local.get $2 i32.ctz local.get $1 @@ -1155,6 +1154,7 @@ i32.add i32.const 2 i32.shl + local.get $0 i32.add i32.load offset=96 else @@ -1336,18 +1336,13 @@ local.get $1 i32.const 4 i32.add - local.tee $2 local.get $1 i32.load i32.const -4 i32.and i32.add + local.tee $2 local.get $2 - local.get $1 - i32.load - i32.const -4 - i32.and - i32.add i32.load i32.const -3 i32.and @@ -1364,19 +1359,19 @@ i32.load offset=8 local.set $2 local.get $1 - local.get $0 global.get $~lib/rt/itcms/white + local.get $0 i32.or i32.store offset=4 local.get $1 local.get $2 i32.store offset=8 local.get $2 - local.get $1 local.get $2 i32.load offset=4 i32.const 3 i32.and + local.get $1 i32.or i32.store offset=4 local.get $0 @@ -1498,10 +1493,9 @@ local.get $0 global.set $optional-typeparameters/tConcrete global.get $~lib/memory/__stack_pointer - local.tee $0 global.get $optional-typeparameters/tConcrete i32.store - local.get $0 + global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub global.set $~lib/memory/__stack_pointer @@ -1525,10 +1519,9 @@ local.get $0 global.set $optional-typeparameters/tDerived global.get $~lib/memory/__stack_pointer - local.tee $0 global.get $optional-typeparameters/tDerived i32.store - local.get $0 + global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer diff --git a/tests/compiler/reexport.optimized.wat b/tests/compiler/reexport.optimized.wat index 1882267e40..679ede0cba 100644 --- a/tests/compiler/reexport.optimized.wat +++ b/tests/compiler/reexport.optimized.wat @@ -188,8 +188,8 @@ i32.and i32.eq if - local.get $0 global.get $~lib/rt/itcms/iter + local.get $0 i32.eq if local.get $0 @@ -249,11 +249,11 @@ local.get $1 i32.store offset=8 local.get $1 - local.get $2 local.get $1 i32.load offset=4 i32.const 3 i32.and + local.get $2 i32.or i32.store offset=4 end @@ -267,10 +267,10 @@ if (result i32) i32.const 1 else - local.get $1 i32.const 1488 i32.load - i32.gt_u + local.get $1 + i32.lt_u if i32.const 1296 i32.const 1360 @@ -307,11 +307,11 @@ local.get $1 i32.store offset=8 local.get $1 - local.get $0 local.get $1 i32.load offset=4 i32.const 3 i32.and + local.get $0 i32.or i32.store offset=4 local.get $2 @@ -450,22 +450,22 @@ local.get $4 i32.eqz if - local.get $0 local.get $3 i32.const 2 i32.shl + local.get $0 i32.add - local.tee $1 + local.tee $4 i32.load offset=4 i32.const -2 local.get $2 i32.rotl i32.and - local.set $2 + local.set $1 + local.get $4 local.get $1 - local.get $2 i32.store offset=4 - local.get $2 + local.get $1 i32.eqz if local.get $0 @@ -713,10 +713,10 @@ i32.shl i32.or i32.store - local.get $0 local.get $5 i32.const 2 i32.shl + local.get $0 i32.add local.tee $0 local.get $0 @@ -756,11 +756,11 @@ i32.load offset=1568 local.tee $2 if + local.get $1 local.get $2 i32.const 4 i32.add - local.get $1 - i32.gt_u + i32.lt_u if i32.const 0 i32.const 1440 @@ -784,11 +784,11 @@ local.set $1 end else + local.get $1 local.get $0 i32.const 1572 i32.add - local.get $1 - i32.gt_u + i32.lt_u if i32.const 0 i32.const 1440 @@ -1075,13 +1075,13 @@ if local.get $0 i32.load offset=4 + local.tee $1 i32.const -4 i32.and global.set $~lib/rt/itcms/iter global.get $~lib/rt/itcms/white i32.eqz - local.get $0 - i32.load offset=4 + local.get $1 i32.const 3 i32.and i32.ne @@ -1168,10 +1168,10 @@ end global.get $~lib/rt/itcms/toSpace local.tee $0 - local.get $0 + local.tee $1 + local.get $1 i32.store offset=4 - global.get $~lib/rt/itcms/toSpace - local.tee $0 + local.get $0 local.get $0 i32.store offset=8 i32.const 0 @@ -1191,11 +1191,11 @@ i32.and local.tee $2 if (result i32) - local.get $0 local.get $2 i32.ctz i32.const 2 i32.shl + local.get $0 i32.add i32.load offset=96 else @@ -1205,12 +1205,12 @@ i32.and local.tee $1 if (result i32) - local.get $0 local.get $1 i32.ctz local.tee $1 i32.const 2 i32.shl + local.get $0 i32.add i32.load offset=4 local.tee $2 @@ -1223,7 +1223,6 @@ call $~lib/builtins/abort unreachable end - local.get $0 local.get $2 i32.ctz local.get $1 @@ -1232,6 +1231,7 @@ i32.add i32.const 2 i32.shl + local.get $0 i32.add i32.load offset=96 else @@ -1413,18 +1413,13 @@ local.get $1 i32.const 4 i32.add - local.tee $2 local.get $1 i32.load i32.const -4 i32.and i32.add + local.tee $2 local.get $2 - local.get $1 - i32.load - i32.const -4 - i32.and - i32.add i32.load i32.const -3 i32.and @@ -1441,19 +1436,19 @@ i32.load offset=8 local.set $2 local.get $1 - local.get $0 global.get $~lib/rt/itcms/white + local.get $0 i32.or i32.store offset=4 local.get $1 local.get $2 i32.store offset=8 local.get $2 - local.get $1 local.get $2 i32.load offset=4 i32.const 3 i32.and + local.get $1 i32.or i32.store offset=4 local.get $0 diff --git a/tests/compiler/rereexport.optimized.wat b/tests/compiler/rereexport.optimized.wat index bb01c66df4..92939e7d2e 100644 --- a/tests/compiler/rereexport.optimized.wat +++ b/tests/compiler/rereexport.optimized.wat @@ -150,8 +150,8 @@ i32.and i32.eq if - local.get $0 global.get $~lib/rt/itcms/iter + local.get $0 i32.eq if local.get $0 @@ -211,11 +211,11 @@ local.get $1 i32.store offset=8 local.get $1 - local.get $2 local.get $1 i32.load offset=4 i32.const 3 i32.and + local.get $2 i32.or i32.store offset=4 end @@ -229,10 +229,10 @@ if (result i32) i32.const 1 else - local.get $1 i32.const 1536 i32.load - i32.gt_u + local.get $1 + i32.lt_u if i32.const 1296 i32.const 1360 @@ -269,11 +269,11 @@ local.get $1 i32.store offset=8 local.get $1 - local.get $0 local.get $1 i32.load offset=4 i32.const 3 i32.and + local.get $0 i32.or i32.store offset=4 local.get $2 @@ -412,22 +412,22 @@ local.get $4 i32.eqz if - local.get $0 local.get $3 i32.const 2 i32.shl + local.get $0 i32.add - local.tee $1 + local.tee $4 i32.load offset=4 i32.const -2 local.get $2 i32.rotl i32.and - local.set $2 + local.set $1 + local.get $4 local.get $1 - local.get $2 i32.store offset=4 - local.get $2 + local.get $1 i32.eqz if local.get $0 @@ -675,10 +675,10 @@ i32.shl i32.or i32.store - local.get $0 local.get $5 i32.const 2 i32.shl + local.get $0 i32.add local.tee $0 local.get $0 @@ -718,11 +718,11 @@ i32.load offset=1568 local.tee $2 if + local.get $1 local.get $2 i32.const 4 i32.add - local.get $1 - i32.gt_u + i32.lt_u if i32.const 0 i32.const 1440 @@ -746,11 +746,11 @@ local.set $1 end else + local.get $1 local.get $0 i32.const 1572 i32.add - local.get $1 - i32.gt_u + i32.lt_u if i32.const 0 i32.const 1440 @@ -1037,13 +1037,13 @@ if local.get $0 i32.load offset=4 + local.tee $1 i32.const -4 i32.and global.set $~lib/rt/itcms/iter global.get $~lib/rt/itcms/white i32.eqz - local.get $0 - i32.load offset=4 + local.get $1 i32.const 3 i32.and i32.ne @@ -1130,10 +1130,10 @@ end global.get $~lib/rt/itcms/toSpace local.tee $0 - local.get $0 + local.tee $1 + local.get $1 i32.store offset=4 - global.get $~lib/rt/itcms/toSpace - local.tee $0 + local.get $0 local.get $0 i32.store offset=8 i32.const 0 @@ -1153,11 +1153,11 @@ i32.and local.tee $2 if (result i32) - local.get $0 local.get $2 i32.ctz i32.const 2 i32.shl + local.get $0 i32.add i32.load offset=96 else @@ -1167,12 +1167,12 @@ i32.and local.tee $1 if (result i32) - local.get $0 local.get $1 i32.ctz local.tee $1 i32.const 2 i32.shl + local.get $0 i32.add i32.load offset=4 local.tee $2 @@ -1185,7 +1185,6 @@ call $~lib/builtins/abort unreachable end - local.get $0 local.get $2 i32.ctz local.get $1 @@ -1194,6 +1193,7 @@ i32.add i32.const 2 i32.shl + local.get $0 i32.add i32.load offset=96 else @@ -1561,18 +1561,13 @@ local.get $0 i32.const 4 i32.add - local.tee $1 local.get $0 i32.load i32.const -4 i32.and i32.add + local.tee $1 local.get $1 - local.get $0 - i32.load - i32.const -4 - i32.and - i32.add i32.load i32.const -3 i32.and @@ -1589,19 +1584,19 @@ i32.load offset=8 local.set $3 local.get $0 - local.get $1 global.get $~lib/rt/itcms/white + local.get $1 i32.or i32.store offset=4 local.get $0 local.get $3 i32.store offset=8 local.get $3 - local.get $0 local.get $3 i32.load offset=4 i32.const 3 i32.and + local.get $0 i32.or i32.store offset=4 local.get $1 diff --git a/tests/compiler/resolve-access.optimized.wat b/tests/compiler/resolve-access.optimized.wat index 6519cd63ed..50bd0ea2dd 100644 --- a/tests/compiler/resolve-access.optimized.wat +++ b/tests/compiler/resolve-access.optimized.wat @@ -105,8 +105,8 @@ (local $1 i32) (local $2 i32) (local $3 i32) - local.get $0 global.get $~lib/rt/itcms/iter + local.get $0 i32.eq if local.get $0 @@ -166,11 +166,11 @@ local.get $1 i32.store offset=8 local.get $1 - local.get $2 local.get $1 i32.load offset=4 i32.const 3 i32.and + local.get $2 i32.or i32.store offset=4 end @@ -184,10 +184,10 @@ if (result i32) i32.const 1 else - local.get $1 i32.const 3296 i32.load - i32.gt_u + local.get $1 + i32.lt_u if i32.const 1280 i32.const 1344 @@ -224,11 +224,11 @@ local.get $1 i32.store offset=8 local.get $1 - local.get $0 local.get $1 i32.load offset=4 i32.const 3 i32.and + local.get $0 i32.or i32.store offset=4 local.get $2 @@ -386,22 +386,22 @@ local.get $4 i32.eqz if - local.get $0 local.get $3 i32.const 2 i32.shl + local.get $0 i32.add - local.tee $1 + local.tee $4 i32.load offset=4 i32.const -2 local.get $2 i32.rotl i32.and - local.set $2 + local.set $1 + local.get $4 local.get $1 - local.get $2 i32.store offset=4 - local.get $2 + local.get $1 i32.eqz if local.get $0 @@ -649,10 +649,10 @@ i32.shl i32.or i32.store - local.get $0 local.get $5 i32.const 2 i32.shl + local.get $0 i32.add local.tee $0 local.get $0 @@ -692,11 +692,11 @@ i32.load offset=1568 local.tee $2 if + local.get $1 local.get $2 i32.const 4 i32.add - local.get $1 - i32.gt_u + i32.lt_u if i32.const 0 i32.const 1424 @@ -720,11 +720,11 @@ local.set $1 end else + local.get $1 local.get $0 i32.const 1572 i32.add - local.get $1 - i32.gt_u + i32.lt_u if i32.const 0 i32.const 1424 @@ -1011,13 +1011,13 @@ if local.get $0 i32.load offset=4 + local.tee $1 i32.const -4 i32.and global.set $~lib/rt/itcms/iter global.get $~lib/rt/itcms/white i32.eqz - local.get $0 - i32.load offset=4 + local.get $1 i32.const 3 i32.and i32.ne @@ -1104,10 +1104,10 @@ end global.get $~lib/rt/itcms/toSpace local.tee $0 - local.get $0 + local.tee $1 + local.get $1 i32.store offset=4 - global.get $~lib/rt/itcms/toSpace - local.tee $0 + local.get $0 local.get $0 i32.store offset=8 i32.const 0 @@ -1356,7 +1356,6 @@ i32.const 536870910 i32.lt_u if (result i32) - local.get $3 i32.const 1 i32.const 27 local.get $3 @@ -1365,6 +1364,7 @@ i32.shl i32.const 1 i32.sub + local.get $3 i32.add else local.get $3 @@ -1425,12 +1425,12 @@ unreachable end end - local.get $3 local.get $2 i32.load i32.const -4 i32.and - i32.gt_u + local.get $3 + i32.lt_u if i32.const 0 i32.const 1424 @@ -1468,10 +1468,10 @@ i32.ge_u if local.get $2 - local.get $3 local.get $5 i32.const 2 i32.and + local.get $3 i32.or i32.store local.get $3 @@ -1498,18 +1498,13 @@ local.get $2 i32.const 4 i32.add - local.tee $3 local.get $2 i32.load i32.const -4 i32.and i32.add + local.tee $3 local.get $3 - local.get $2 - i32.load - i32.const -4 - i32.and - i32.add i32.load i32.const -3 i32.and @@ -1526,19 +1521,19 @@ i32.load offset=8 local.set $3 local.get $2 - local.get $1 global.get $~lib/rt/itcms/white + local.get $1 i32.or i32.store offset=4 local.get $2 local.get $3 i32.store offset=8 local.get $3 - local.get $2 local.get $3 i32.load offset=4 i32.const 3 i32.and + local.get $2 i32.or i32.store offset=4 local.get $1 @@ -1944,25 +1939,25 @@ i32.or i32.store local.get $0 - local.get $2 - i32.const 24 - i32.shr_u local.get $3 i32.load offset=5 - local.tee $2 + local.tee $1 i32.const 8 i32.shl - i32.or - i32.store offset=4 - local.get $0 local.get $2 i32.const 24 i32.shr_u + i32.or + i32.store offset=4 + local.get $0 local.get $3 i32.load offset=9 local.tee $2 i32.const 8 i32.shl + local.get $1 + i32.const 24 + i32.shr_u i32.or i32.store offset=8 local.get $0 @@ -2035,25 +2030,25 @@ i32.or i32.store local.get $0 - local.get $2 - i32.const 16 - i32.shr_u local.get $3 i32.load offset=6 - local.tee $2 + local.tee $1 i32.const 16 i32.shl - i32.or - i32.store offset=4 - local.get $0 local.get $2 i32.const 16 i32.shr_u + i32.or + i32.store offset=4 + local.get $0 local.get $3 i32.load offset=10 local.tee $2 i32.const 16 i32.shl + local.get $1 + i32.const 16 + i32.shr_u i32.or i32.store offset=8 local.get $0 @@ -2122,25 +2117,25 @@ i32.or i32.store local.get $0 - local.get $2 - i32.const 8 - i32.shr_u local.get $3 i32.load offset=7 - local.tee $2 + local.tee $1 i32.const 24 i32.shl - i32.or - i32.store offset=4 - local.get $0 local.get $2 i32.const 8 i32.shr_u + i32.or + i32.store offset=4 + local.get $0 local.get $3 i32.load offset=11 local.tee $2 i32.const 24 i32.shl + local.get $1 + i32.const 8 + i32.shr_u i32.or i32.store offset=8 local.get $0 @@ -2739,13 +2734,13 @@ i64.const 100000000 i64.ge_u if - local.get $2 local.get $1 i32.const 4 i32.sub local.tee $1 i32.const 1 i32.shl + local.get $2 i32.add local.get $0 local.get $0 @@ -2779,13 +2774,13 @@ i64.shl i64.or i64.store - local.get $2 local.get $1 i32.const 4 i32.sub local.tee $1 i32.const 1 i32.shl + local.get $2 i32.add local.get $3 i32.const 10000 @@ -2935,40 +2930,40 @@ local.tee $5 i32.const 0 i32.store - i32.const 1056 - local.set $0 i32.const 8 local.set $7 + i32.const 1056 + local.set $3 block $~lib/util/memory/memmove|inlined.0 i32.const 8 i32.const 0 call $~lib/rt/itcms/__new local.tee $4 - local.tee $3 + local.tee $0 i32.const 1056 i32.eq br_if $~lib/util/memory/memmove|inlined.0 i32.const 1048 - local.get $3 + local.get $0 i32.sub i32.const -16 i32.le_u if - local.get $3 + local.get $0 call $~lib/util/memory/memcpy br $~lib/util/memory/memmove|inlined.0 end - local.get $3 + local.get $0 i32.const 1056 i32.lt_u if - local.get $3 + local.get $0 i32.const 7 i32.and i32.eqz if loop $while-continue|0 - local.get $3 + local.get $0 i32.const 7 i32.and if @@ -2979,16 +2974,16 @@ i32.const 1 i32.sub local.set $7 - local.get $3 + local.get $0 local.tee $2 i32.const 1 i32.add - local.set $3 - local.get $0 + local.set $0 + local.get $3 local.tee $1 i32.const 1 i32.add - local.set $0 + local.set $3 local.get $2 local.get $1 i32.load8_u @@ -3001,22 +2996,22 @@ i32.const 8 i32.ge_u if - local.get $3 local.get $0 + local.get $3 i64.load i64.store local.get $7 i32.const 8 i32.sub local.set $7 - local.get $3 - i32.const 8 - i32.add - local.set $3 local.get $0 i32.const 8 i32.add local.set $0 + local.get $3 + i32.const 8 + i32.add + local.set $3 br $while-continue|1 end end @@ -3024,16 +3019,16 @@ loop $while-continue|2 local.get $7 if - local.get $3 + local.get $0 local.tee $2 i32.const 1 i32.add - local.set $3 - local.get $0 + local.set $0 + local.get $3 local.tee $1 i32.const 1 i32.add - local.set $0 + local.set $3 local.get $2 local.get $1 i32.load8_u @@ -3046,13 +3041,13 @@ end end else - local.get $3 + local.get $0 i32.const 7 i32.and i32.eqz if loop $while-continue|3 - local.get $3 + local.get $0 local.get $7 i32.add i32.const 7 @@ -3061,7 +3056,7 @@ local.get $7 i32.eqz br_if $~lib/util/memory/memmove|inlined.0 - local.get $3 + local.get $0 local.get $7 i32.const 1 i32.sub @@ -3080,7 +3075,7 @@ i32.const 8 i32.ge_u if - local.get $3 + local.get $0 local.get $7 i32.const 8 i32.sub @@ -3098,7 +3093,7 @@ loop $while-continue|5 local.get $7 if - local.get $3 + local.get $0 local.get $7 i32.const 1 i32.sub @@ -3125,7 +3120,6 @@ local.get $0 i32.store local.get $0 - local.tee $1 if local.get $3 i32.eqz @@ -3138,7 +3132,7 @@ unreachable end global.get $~lib/rt/itcms/white - local.get $1 + local.get $0 i32.const 20 i32.sub local.tee $2 diff --git a/tests/compiler/resolve-binary.optimized.wat b/tests/compiler/resolve-binary.optimized.wat index f09953a61a..b29cfdffc0 100644 --- a/tests/compiler/resolve-binary.optimized.wat +++ b/tests/compiler/resolve-binary.optimized.wat @@ -440,8 +440,8 @@ i32.and i32.eq if - local.get $0 global.get $~lib/rt/itcms/iter + local.get $0 i32.eq if local.get $0 @@ -501,11 +501,11 @@ local.get $1 i32.store offset=8 local.get $1 - local.get $2 local.get $1 i32.load offset=4 i32.const 3 i32.and + local.get $2 i32.or i32.store offset=4 end @@ -519,10 +519,10 @@ if (result i32) i32.const 1 else - local.get $1 i32.const 11248 i32.load - i32.gt_u + local.get $1 + i32.lt_u if i32.const 1632 i32.const 1696 @@ -559,11 +559,11 @@ local.get $1 i32.store offset=8 local.get $1 - local.get $0 local.get $1 i32.load offset=4 i32.const 3 i32.and + local.get $0 i32.or i32.store offset=4 local.get $2 @@ -702,22 +702,22 @@ local.get $4 i32.eqz if - local.get $0 local.get $3 i32.const 2 i32.shl + local.get $0 i32.add - local.tee $1 + local.tee $4 i32.load offset=4 i32.const -2 local.get $2 i32.rotl i32.and - local.set $2 + local.set $1 + local.get $4 local.get $1 - local.get $2 i32.store offset=4 - local.get $2 + local.get $1 i32.eqz if local.get $0 @@ -965,10 +965,10 @@ i32.shl i32.or i32.store - local.get $0 local.get $5 i32.const 2 i32.shl + local.get $0 i32.add local.tee $0 local.get $0 @@ -1008,11 +1008,11 @@ i32.load offset=1568 local.tee $2 if + local.get $1 local.get $2 i32.const 4 i32.add - local.get $1 - i32.gt_u + i32.lt_u if i32.const 0 i32.const 1776 @@ -1036,11 +1036,11 @@ local.set $1 end else + local.get $1 local.get $0 i32.const 1572 i32.add - local.get $1 - i32.gt_u + i32.lt_u if i32.const 0 i32.const 1776 @@ -1327,13 +1327,13 @@ if local.get $0 i32.load offset=4 + local.tee $1 i32.const -4 i32.and global.set $~lib/rt/itcms/iter global.get $~lib/rt/itcms/white i32.eqz - local.get $0 - i32.load offset=4 + local.get $1 i32.const 3 i32.and i32.ne @@ -1420,10 +1420,10 @@ end global.get $~lib/rt/itcms/toSpace local.tee $0 - local.get $0 + local.tee $1 + local.get $1 i32.store offset=4 - global.get $~lib/rt/itcms/toSpace - local.tee $0 + local.get $0 local.get $0 i32.store offset=8 i32.const 0 @@ -1672,7 +1672,6 @@ i32.const 536870910 i32.lt_u if (result i32) - local.get $3 i32.const 1 i32.const 27 local.get $3 @@ -1681,6 +1680,7 @@ i32.shl i32.const 1 i32.sub + local.get $3 i32.add else local.get $3 @@ -1741,12 +1741,12 @@ unreachable end end - local.get $3 local.get $2 i32.load i32.const -4 i32.and - i32.gt_u + local.get $3 + i32.lt_u if i32.const 0 i32.const 1776 @@ -1784,10 +1784,10 @@ i32.ge_u if local.get $2 - local.get $3 local.get $5 i32.const 2 i32.and + local.get $3 i32.or i32.store local.get $3 @@ -1814,18 +1814,13 @@ local.get $2 i32.const 4 i32.add - local.tee $3 local.get $2 i32.load i32.const -4 i32.and i32.add + local.tee $3 local.get $3 - local.get $2 - i32.load - i32.const -4 - i32.and - i32.add i32.load i32.const -3 i32.and @@ -1842,19 +1837,19 @@ i32.load offset=8 local.set $3 local.get $2 - local.get $1 global.get $~lib/rt/itcms/white + local.get $1 i32.or i32.store offset=4 local.get $2 local.get $3 i32.store offset=8 local.get $3 - local.get $2 local.get $3 i32.load offset=4 i32.const 3 i32.and + local.get $2 i32.or i32.store offset=4 local.get $1 @@ -2582,9 +2577,6 @@ br $while-continue|0 end end - local.get $10 - i64.extend_i32_s - local.set $0 loop $while-continue|4 local.get $3 i64.const 10 @@ -2593,10 +2585,11 @@ local.get $6 i64.const 10 i64.mul - local.tee $1 - local.get $0 + local.tee $0 + local.get $10 + i64.extend_i32_s i64.shr_u - local.tee $6 + local.tee $1 local.get $4 i64.extend_i32_s i64.or @@ -2613,7 +2606,7 @@ i32.shl i32.const 9760 i32.add - local.get $6 + local.get $1 i32.wrap_i64 i32.const 65535 i32.and @@ -2626,7 +2619,7 @@ i32.sub local.set $8 local.get $3 - local.get $1 + local.get $0 local.get $12 i64.and local.tee $6 @@ -2639,7 +2632,6 @@ global.set $~lib/util/number/_K local.get $6 local.set $0 - local.get $9 i32.const 0 local.get $8 i32.sub @@ -2648,6 +2640,7 @@ i32.const 10688 i32.add i64.load32_u + local.get $9 i64.mul local.set $1 local.get $4 @@ -2718,17 +2711,17 @@ select if local.get $0 - local.tee $3 + local.tee $4 i32.const 1 i32.add local.set $0 local.get $1 - local.tee $4 + local.tee $3 i32.const 1 i32.add local.set $1 - local.get $3 local.get $4 + local.get $3 i32.load8_u i32.store8 local.get $2 @@ -2874,19 +2867,19 @@ local.get $0 i32.const 2 i32.add - local.tee $3 + local.tee $4 i32.const 1 i32.add local.set $0 local.get $1 i32.const 2 i32.add - local.tee $4 + local.tee $3 i32.const 1 i32.add local.set $1 - local.get $3 local.get $4 + local.get $3 i32.load8_u i32.store8 local.get $2 @@ -2901,7 +2894,7 @@ local.get $0 local.get $1 i32.load offset=1 - local.tee $3 + local.tee $4 i32.const 8 i32.shl local.get $5 @@ -2912,10 +2905,10 @@ local.get $0 local.get $1 i32.load offset=5 - local.tee $4 + local.tee $3 i32.const 8 i32.shl - local.get $3 + local.get $4 i32.const 24 i32.shr_u i32.or @@ -2923,10 +2916,10 @@ local.get $0 local.get $1 i32.load offset=9 - local.tee $3 + local.tee $4 i32.const 8 i32.shl - local.get $4 + local.get $3 i32.const 24 i32.shr_u i32.or @@ -2937,7 +2930,7 @@ local.tee $5 i32.const 8 i32.shl - local.get $3 + local.get $4 i32.const 24 i32.shr_u i32.or @@ -2992,7 +2985,7 @@ local.get $0 local.get $1 i32.load offset=2 - local.tee $3 + local.tee $4 i32.const 16 i32.shl local.get $5 @@ -3003,10 +2996,10 @@ local.get $0 local.get $1 i32.load offset=6 - local.tee $4 + local.tee $3 i32.const 16 i32.shl - local.get $3 + local.get $4 i32.const 16 i32.shr_u i32.or @@ -3014,10 +3007,10 @@ local.get $0 local.get $1 i32.load offset=10 - local.tee $3 + local.tee $4 i32.const 16 i32.shl - local.get $4 + local.get $3 i32.const 16 i32.shr_u i32.or @@ -3028,7 +3021,7 @@ local.tee $5 i32.const 16 i32.shl - local.get $3 + local.get $4 i32.const 16 i32.shr_u i32.or @@ -3054,17 +3047,17 @@ i32.load local.set $5 local.get $0 - local.tee $3 + local.tee $4 i32.const 1 i32.add local.set $0 local.get $1 - local.tee $4 + local.tee $3 i32.const 1 i32.add local.set $1 - local.get $3 local.get $4 + local.get $3 i32.load8_u i32.store8 local.get $2 @@ -3079,7 +3072,7 @@ local.get $0 local.get $1 i32.load offset=3 - local.tee $3 + local.tee $4 i32.const 24 i32.shl local.get $5 @@ -3090,10 +3083,10 @@ local.get $0 local.get $1 i32.load offset=7 - local.tee $4 + local.tee $3 i32.const 24 i32.shl - local.get $3 + local.get $4 i32.const 8 i32.shr_u i32.or @@ -3101,10 +3094,10 @@ local.get $0 local.get $1 i32.load offset=11 - local.tee $3 + local.tee $4 i32.const 24 i32.shl - local.get $4 + local.get $3 i32.const 8 i32.shr_u i32.or @@ -3115,7 +3108,7 @@ local.tee $5 i32.const 24 i32.shl - local.get $3 + local.get $4 i32.const 8 i32.shr_u i32.or @@ -3146,145 +3139,137 @@ i32.load8_u i32.store8 local.get $0 - local.tee $4 - i32.const 2 - i32.add - local.set $0 local.get $1 - local.tee $3 - i32.const 2 - i32.add - local.set $1 - local.get $4 - local.get $3 i32.load8_u offset=1 i32.store8 offset=1 local.get $0 - local.get $1 - i32.load8_u - i32.store8 - local.get $0 - local.tee $4 i32.const 2 i32.add - local.set $0 + local.tee $4 local.get $1 + i32.const 2 + i32.add local.tee $3 + i32.load8_u + i32.store8 + local.get $3 + local.tee $0 i32.const 2 i32.add - local.set $1 + local.set $3 local.get $4 - local.get $3 + local.get $0 i32.load8_u offset=1 i32.store8 offset=1 - local.get $0 - local.get $1 + local.get $4 + i32.const 2 + i32.add + local.tee $1 + local.get $3 i32.load8_u i32.store8 - local.get $0 + local.get $1 local.tee $4 i32.const 2 i32.add - local.set $0 - local.get $1 - local.tee $3 + local.set $1 + local.get $3 + local.tee $0 i32.const 2 i32.add - local.set $1 + local.set $3 local.get $4 - local.get $3 + local.get $0 i32.load8_u offset=1 i32.store8 offset=1 - local.get $0 local.get $1 + local.get $3 i32.load8_u i32.store8 - local.get $0 + local.get $1 local.tee $4 i32.const 2 i32.add - local.set $0 - local.get $1 - local.tee $3 + local.set $1 + local.get $3 + local.tee $0 i32.const 2 i32.add - local.set $1 + local.set $3 local.get $4 - local.get $3 + local.get $0 i32.load8_u offset=1 i32.store8 offset=1 - local.get $0 local.get $1 + local.get $3 i32.load8_u i32.store8 - local.get $0 + local.get $1 local.tee $4 i32.const 2 i32.add - local.set $0 - local.get $1 - local.tee $3 + local.set $1 + local.get $3 + local.tee $0 i32.const 2 i32.add - local.set $1 + local.set $3 local.get $4 - local.get $3 + local.get $0 i32.load8_u offset=1 i32.store8 offset=1 - local.get $0 local.get $1 + local.get $3 i32.load8_u i32.store8 - local.get $0 + local.get $1 local.tee $4 i32.const 2 i32.add - local.set $0 - local.get $1 - local.tee $3 + local.set $1 + local.get $3 + local.tee $0 i32.const 2 i32.add - local.set $1 + local.set $3 local.get $4 - local.get $3 + local.get $0 i32.load8_u offset=1 i32.store8 offset=1 - local.get $0 local.get $1 + local.get $3 i32.load8_u i32.store8 - local.get $0 + local.get $1 local.tee $4 i32.const 2 i32.add - local.set $0 - local.get $1 - local.tee $3 + local.set $1 + local.get $3 + local.tee $0 i32.const 2 i32.add - local.set $1 + local.set $3 local.get $4 - local.get $3 + local.get $0 i32.load8_u offset=1 i32.store8 offset=1 - local.get $0 local.get $1 + local.get $3 i32.load8_u i32.store8 - local.get $0 - local.tee $4 + local.get $1 i32.const 2 i32.add local.set $0 local.get $1 - local.tee $3 - i32.const 2 - i32.add - local.set $1 - local.get $4 local.get $3 i32.load8_u offset=1 i32.store8 offset=1 + local.get $3 + i32.const 2 + i32.add + local.set $1 end local.get $2 i32.const 8 @@ -3295,73 +3280,65 @@ i32.load8_u i32.store8 local.get $0 - local.tee $4 - i32.const 2 - i32.add - local.set $0 local.get $1 - local.tee $3 - i32.const 2 - i32.add - local.set $1 - local.get $4 - local.get $3 i32.load8_u offset=1 i32.store8 offset=1 local.get $0 - local.get $1 - i32.load8_u - i32.store8 - local.get $0 - local.tee $4 i32.const 2 i32.add - local.set $0 + local.tee $4 local.get $1 + i32.const 2 + i32.add local.tee $3 + i32.load8_u + i32.store8 + local.get $3 + local.tee $0 i32.const 2 i32.add - local.set $1 + local.set $3 local.get $4 - local.get $3 + local.get $0 i32.load8_u offset=1 i32.store8 offset=1 - local.get $0 - local.get $1 + local.get $4 + i32.const 2 + i32.add + local.tee $1 + local.get $3 i32.load8_u i32.store8 - local.get $0 + local.get $1 local.tee $4 i32.const 2 i32.add - local.set $0 - local.get $1 - local.tee $3 + local.set $1 + local.get $3 + local.tee $0 i32.const 2 i32.add - local.set $1 + local.set $3 local.get $4 - local.get $3 + local.get $0 i32.load8_u offset=1 i32.store8 offset=1 - local.get $0 local.get $1 + local.get $3 i32.load8_u i32.store8 - local.get $0 - local.tee $4 + local.get $1 i32.const 2 i32.add local.set $0 local.get $1 - local.tee $3 - i32.const 2 - i32.add - local.set $1 - local.get $4 local.get $3 i32.load8_u offset=1 i32.store8 offset=1 + local.get $3 + i32.const 2 + i32.add + local.set $1 end local.get $2 i32.const 4 @@ -3372,30 +3349,20 @@ i32.load8_u i32.store8 local.get $0 - local.tee $4 - i32.const 2 - i32.add - local.set $0 local.get $1 - local.tee $3 - i32.const 2 - i32.add - local.set $1 - local.get $4 - local.get $3 i32.load8_u offset=1 i32.store8 offset=1 local.get $0 - local.get $1 - i32.load8_u - i32.store8 - local.get $0 - local.tee $4 i32.const 2 i32.add - local.set $0 + local.tee $4 local.get $1 + i32.const 2 + i32.add local.tee $3 + i32.load8_u + i32.store8 + local.get $3 i32.const 2 i32.add local.set $1 @@ -3403,6 +3370,10 @@ local.get $3 i32.load8_u offset=1 i32.store8 offset=1 + local.get $4 + i32.const 2 + i32.add + local.set $0 end local.get $2 i32.const 2 @@ -3965,10 +3936,9 @@ (local $0 i64) (local $1 i64) (local $2 i64) - (local $3 i32) - (local $4 i64) + (local $3 i64) + (local $4 i32) (local $5 i32) - (local $6 f64) global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub @@ -3996,14 +3966,17 @@ i32.load16_s global.set $~lib/util/number/_exp_pow global.get $~lib/util/number/_frc_pow - local.tee $4 + local.tee $0 i64.const 4294967295 i64.and - local.set $1 - local.get $4 + local.tee $1 + i64.const 31 + i64.shl + local.set $3 + local.get $0 i64.const 32 i64.shr_u - local.tee $4 + local.tee $0 i64.const 31 i64.shl local.get $1 @@ -4022,7 +3995,7 @@ local.get $2 i64.const 4294967295 i64.and - local.get $4 + local.get $0 i64.const 10 i64.shl i64.add @@ -4033,18 +4006,15 @@ i64.add i64.const 1 i64.sub - local.set $0 - local.get $4 - i64.const 31 - i64.shl - local.get $1 + local.set $2 + local.get $0 i64.const 31 i64.shl - local.tee $2 + local.get $3 i64.const 32 i64.shr_u i64.add - local.get $2 + local.get $3 i64.const 4294967295 i64.and i64.const 2147483647 @@ -4052,12 +4022,12 @@ i64.const 32 i64.shr_u i64.add - local.get $0 + local.get $2 global.get $~lib/util/number/_exp_pow i32.const 3 i32.add + local.get $2 local.get $0 - local.get $4 i64.const 2147483647 i64.mul local.get $1 @@ -4069,14 +4039,14 @@ i64.const 32 i64.shr_u i64.add - local.tee $0 + local.tee $1 i64.const 32 i64.shr_u i64.add - local.get $4 + local.get $0 i64.const 4294966784 i64.mul - local.get $0 + local.get $1 i64.const 4294967295 i64.and i64.add @@ -4091,25 +4061,24 @@ call $~lib/util/number/genDigits global.get $~lib/util/number/_K call $~lib/util/number/prettify - local.set $3 - global.get $~lib/memory/__stack_pointer - local.get $3 i32.const 1 i32.shl - local.tee $5 + local.set $4 + global.get $~lib/memory/__stack_pointer + local.get $4 i32.const 1 call $~lib/rt/itcms/__new - local.tee $3 + local.tee $5 i32.store - local.get $3 - i32.const 9760 local.get $5 + i32.const 9760 + local.get $4 call $~lib/memory/memory.copy global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $3 + local.get $5 ) (func $~lib/rt/__visit_members (param $0 i32) block $invalid @@ -5108,13 +5077,13 @@ local.get $0 local.get $1 i32.store offset=16 - local.get $0 + global.get $~lib/memory/__stack_pointer i32.const 10880 i32.store offset=8 - local.get $0 + global.get $~lib/memory/__stack_pointer i32.const 10880 i32.store - local.get $0 + global.get $~lib/memory/__stack_pointer i32.const 10880 i32.store offset=4 i32.const 10880 diff --git a/tests/compiler/resolve-elementaccess.optimized.wat b/tests/compiler/resolve-elementaccess.optimized.wat index 36df4b5dc9..eae73f314d 100644 --- a/tests/compiler/resolve-elementaccess.optimized.wat +++ b/tests/compiler/resolve-elementaccess.optimized.wat @@ -157,8 +157,8 @@ (local $1 i32) (local $2 i32) (local $3 i32) - local.get $0 global.get $~lib/rt/itcms/iter + local.get $0 i32.eq if local.get $0 @@ -218,11 +218,11 @@ local.get $1 i32.store offset=8 local.get $1 - local.get $2 local.get $1 i32.load offset=4 i32.const 3 i32.and + local.get $2 i32.or i32.store offset=4 end @@ -236,10 +236,10 @@ if (result i32) i32.const 1 else - local.get $1 i32.const 4800 i32.load - i32.gt_u + local.get $1 + i32.lt_u if i32.const 1360 i32.const 1424 @@ -276,11 +276,11 @@ local.get $1 i32.store offset=8 local.get $1 - local.get $0 local.get $1 i32.load offset=4 i32.const 3 i32.and + local.get $0 i32.or i32.store offset=4 local.get $2 @@ -438,22 +438,22 @@ local.get $4 i32.eqz if - local.get $0 local.get $3 i32.const 2 i32.shl + local.get $0 i32.add - local.tee $1 + local.tee $4 i32.load offset=4 i32.const -2 local.get $2 i32.rotl i32.and - local.set $2 + local.set $1 + local.get $4 local.get $1 - local.get $2 i32.store offset=4 - local.get $2 + local.get $1 i32.eqz if local.get $0 @@ -701,10 +701,10 @@ i32.shl i32.or i32.store - local.get $0 local.get $5 i32.const 2 i32.shl + local.get $0 i32.add local.tee $0 local.get $0 @@ -744,11 +744,11 @@ i32.load offset=1568 local.tee $2 if + local.get $1 local.get $2 i32.const 4 i32.add - local.get $1 - i32.gt_u + i32.lt_u if i32.const 0 i32.const 1504 @@ -772,11 +772,11 @@ local.set $1 end else + local.get $1 local.get $0 i32.const 1572 i32.add - local.get $1 - i32.gt_u + i32.lt_u if i32.const 0 i32.const 1504 @@ -1063,13 +1063,13 @@ if local.get $0 i32.load offset=4 + local.tee $1 i32.const -4 i32.and global.set $~lib/rt/itcms/iter global.get $~lib/rt/itcms/white i32.eqz - local.get $0 - i32.load offset=4 + local.get $1 i32.const 3 i32.and i32.ne @@ -1156,10 +1156,10 @@ end global.get $~lib/rt/itcms/toSpace local.tee $0 - local.get $0 + local.tee $1 + local.get $1 i32.store offset=4 - global.get $~lib/rt/itcms/toSpace - local.tee $0 + local.get $0 local.get $0 i32.store offset=8 i32.const 0 @@ -1584,7 +1584,6 @@ i32.const 536870910 i32.lt_u if (result i32) - local.get $2 i32.const 1 i32.const 27 local.get $2 @@ -1593,6 +1592,7 @@ i32.shl i32.const 1 i32.sub + local.get $2 i32.add else local.get $2 @@ -1653,12 +1653,12 @@ unreachable end end - local.get $2 local.get $3 i32.load i32.const -4 i32.and - i32.gt_u + local.get $2 + i32.lt_u if i32.const 0 i32.const 1504 @@ -1696,10 +1696,10 @@ i32.ge_u if local.get $3 - local.get $2 local.get $4 i32.const 2 i32.and + local.get $2 i32.or i32.store local.get $2 @@ -1726,18 +1726,13 @@ local.get $3 i32.const 4 i32.add - local.tee $2 local.get $3 i32.load i32.const -4 i32.and i32.add + local.tee $2 local.get $2 - local.get $3 - i32.load - i32.const -4 - i32.and - i32.add i32.load i32.const -3 i32.and @@ -1754,19 +1749,19 @@ i32.load offset=8 local.set $2 local.get $3 - local.get $1 global.get $~lib/rt/itcms/white + local.get $1 i32.or i32.store offset=4 local.get $3 local.get $2 i32.store offset=8 local.get $2 - local.get $3 local.get $2 i32.load offset=4 i32.const 3 i32.and + local.get $3 i32.or i32.store offset=4 local.get $1 @@ -2202,9 +2197,6 @@ br $while-continue|0 end end - local.get $10 - i64.extend_i32_s - local.set $0 loop $while-continue|4 local.get $3 i64.const 10 @@ -2213,10 +2205,11 @@ local.get $6 i64.const 10 i64.mul - local.tee $1 - local.get $0 + local.tee $0 + local.get $10 + i64.extend_i32_s i64.shr_u - local.tee $6 + local.tee $1 local.get $4 i64.extend_i32_s i64.or @@ -2233,7 +2226,7 @@ i32.shl i32.const 1776 i32.add - local.get $6 + local.get $1 i32.wrap_i64 i32.const 65535 i32.and @@ -2246,7 +2239,7 @@ i32.sub local.set $8 local.get $3 - local.get $1 + local.get $0 local.get $12 i64.and local.tee $6 @@ -2259,7 +2252,6 @@ global.set $~lib/util/number/_K local.get $6 local.set $0 - local.get $9 i32.const 0 local.get $8 i32.sub @@ -2268,6 +2260,7 @@ i32.const 2704 i32.add i64.load32_u + local.get $9 i64.mul local.set $1 local.get $4 @@ -2338,17 +2331,17 @@ select if local.get $0 - local.tee $3 + local.tee $4 i32.const 1 i32.add local.set $0 local.get $1 - local.tee $4 + local.tee $3 i32.const 1 i32.add local.set $1 - local.get $3 local.get $4 + local.get $3 i32.load8_u i32.store8 local.get $2 @@ -2494,19 +2487,19 @@ local.get $0 i32.const 2 i32.add - local.tee $3 + local.tee $4 i32.const 1 i32.add local.set $0 local.get $1 i32.const 2 i32.add - local.tee $4 + local.tee $3 i32.const 1 i32.add local.set $1 - local.get $3 local.get $4 + local.get $3 i32.load8_u i32.store8 local.get $2 @@ -2521,7 +2514,7 @@ local.get $0 local.get $1 i32.load offset=1 - local.tee $3 + local.tee $4 i32.const 8 i32.shl local.get $5 @@ -2532,10 +2525,10 @@ local.get $0 local.get $1 i32.load offset=5 - local.tee $4 + local.tee $3 i32.const 8 i32.shl - local.get $3 + local.get $4 i32.const 24 i32.shr_u i32.or @@ -2543,10 +2536,10 @@ local.get $0 local.get $1 i32.load offset=9 - local.tee $3 + local.tee $4 i32.const 8 i32.shl - local.get $4 + local.get $3 i32.const 24 i32.shr_u i32.or @@ -2557,7 +2550,7 @@ local.tee $5 i32.const 8 i32.shl - local.get $3 + local.get $4 i32.const 24 i32.shr_u i32.or @@ -2612,7 +2605,7 @@ local.get $0 local.get $1 i32.load offset=2 - local.tee $3 + local.tee $4 i32.const 16 i32.shl local.get $5 @@ -2623,10 +2616,10 @@ local.get $0 local.get $1 i32.load offset=6 - local.tee $4 + local.tee $3 i32.const 16 i32.shl - local.get $3 + local.get $4 i32.const 16 i32.shr_u i32.or @@ -2634,10 +2627,10 @@ local.get $0 local.get $1 i32.load offset=10 - local.tee $3 + local.tee $4 i32.const 16 i32.shl - local.get $4 + local.get $3 i32.const 16 i32.shr_u i32.or @@ -2648,7 +2641,7 @@ local.tee $5 i32.const 16 i32.shl - local.get $3 + local.get $4 i32.const 16 i32.shr_u i32.or @@ -2674,17 +2667,17 @@ i32.load local.set $5 local.get $0 - local.tee $3 + local.tee $4 i32.const 1 i32.add local.set $0 local.get $1 - local.tee $4 + local.tee $3 i32.const 1 i32.add local.set $1 - local.get $3 local.get $4 + local.get $3 i32.load8_u i32.store8 local.get $2 @@ -2699,7 +2692,7 @@ local.get $0 local.get $1 i32.load offset=3 - local.tee $3 + local.tee $4 i32.const 24 i32.shl local.get $5 @@ -2710,10 +2703,10 @@ local.get $0 local.get $1 i32.load offset=7 - local.tee $4 + local.tee $3 i32.const 24 i32.shl - local.get $3 + local.get $4 i32.const 8 i32.shr_u i32.or @@ -2721,10 +2714,10 @@ local.get $0 local.get $1 i32.load offset=11 - local.tee $3 + local.tee $4 i32.const 24 i32.shl - local.get $4 + local.get $3 i32.const 8 i32.shr_u i32.or @@ -2735,7 +2728,7 @@ local.tee $5 i32.const 24 i32.shl - local.get $3 + local.get $4 i32.const 8 i32.shr_u i32.or @@ -2766,145 +2759,137 @@ i32.load8_u i32.store8 local.get $0 - local.tee $4 - i32.const 2 - i32.add - local.set $0 local.get $1 - local.tee $3 - i32.const 2 - i32.add - local.set $1 - local.get $4 - local.get $3 i32.load8_u offset=1 i32.store8 offset=1 local.get $0 - local.get $1 - i32.load8_u - i32.store8 - local.get $0 - local.tee $4 i32.const 2 i32.add - local.set $0 + local.tee $4 local.get $1 + i32.const 2 + i32.add local.tee $3 + i32.load8_u + i32.store8 + local.get $3 + local.tee $0 i32.const 2 i32.add - local.set $1 + local.set $3 local.get $4 - local.get $3 + local.get $0 i32.load8_u offset=1 i32.store8 offset=1 - local.get $0 - local.get $1 + local.get $4 + i32.const 2 + i32.add + local.tee $1 + local.get $3 i32.load8_u i32.store8 - local.get $0 + local.get $1 local.tee $4 i32.const 2 i32.add - local.set $0 - local.get $1 - local.tee $3 + local.set $1 + local.get $3 + local.tee $0 i32.const 2 i32.add - local.set $1 + local.set $3 local.get $4 - local.get $3 + local.get $0 i32.load8_u offset=1 i32.store8 offset=1 - local.get $0 local.get $1 + local.get $3 i32.load8_u i32.store8 - local.get $0 + local.get $1 local.tee $4 i32.const 2 i32.add - local.set $0 - local.get $1 - local.tee $3 + local.set $1 + local.get $3 + local.tee $0 i32.const 2 i32.add - local.set $1 + local.set $3 local.get $4 - local.get $3 + local.get $0 i32.load8_u offset=1 i32.store8 offset=1 - local.get $0 local.get $1 + local.get $3 i32.load8_u i32.store8 - local.get $0 + local.get $1 local.tee $4 i32.const 2 i32.add - local.set $0 - local.get $1 - local.tee $3 + local.set $1 + local.get $3 + local.tee $0 i32.const 2 i32.add - local.set $1 + local.set $3 local.get $4 - local.get $3 + local.get $0 i32.load8_u offset=1 i32.store8 offset=1 - local.get $0 local.get $1 + local.get $3 i32.load8_u i32.store8 - local.get $0 + local.get $1 local.tee $4 i32.const 2 i32.add - local.set $0 - local.get $1 - local.tee $3 + local.set $1 + local.get $3 + local.tee $0 i32.const 2 i32.add - local.set $1 + local.set $3 local.get $4 - local.get $3 + local.get $0 i32.load8_u offset=1 i32.store8 offset=1 - local.get $0 local.get $1 + local.get $3 i32.load8_u i32.store8 - local.get $0 + local.get $1 local.tee $4 i32.const 2 i32.add - local.set $0 - local.get $1 - local.tee $3 + local.set $1 + local.get $3 + local.tee $0 i32.const 2 i32.add - local.set $1 + local.set $3 local.get $4 - local.get $3 + local.get $0 i32.load8_u offset=1 i32.store8 offset=1 - local.get $0 local.get $1 + local.get $3 i32.load8_u i32.store8 - local.get $0 - local.tee $4 + local.get $1 i32.const 2 i32.add local.set $0 local.get $1 - local.tee $3 - i32.const 2 - i32.add - local.set $1 - local.get $4 local.get $3 i32.load8_u offset=1 i32.store8 offset=1 + local.get $3 + i32.const 2 + i32.add + local.set $1 end local.get $2 i32.const 8 @@ -2915,73 +2900,65 @@ i32.load8_u i32.store8 local.get $0 - local.tee $4 - i32.const 2 - i32.add - local.set $0 local.get $1 - local.tee $3 - i32.const 2 - i32.add - local.set $1 - local.get $4 - local.get $3 i32.load8_u offset=1 i32.store8 offset=1 local.get $0 + i32.const 2 + i32.add + local.tee $4 local.get $1 + i32.const 2 + i32.add + local.tee $3 i32.load8_u i32.store8 - local.get $0 - local.tee $4 - i32.const 2 - i32.add - local.set $0 - local.get $1 - local.tee $3 + local.get $3 + local.tee $0 i32.const 2 i32.add - local.set $1 + local.set $3 local.get $4 - local.get $3 + local.get $0 i32.load8_u offset=1 i32.store8 offset=1 - local.get $0 - local.get $1 + local.get $4 + i32.const 2 + i32.add + local.tee $1 + local.get $3 i32.load8_u i32.store8 - local.get $0 + local.get $1 local.tee $4 i32.const 2 i32.add - local.set $0 - local.get $1 - local.tee $3 + local.set $1 + local.get $3 + local.tee $0 i32.const 2 i32.add - local.set $1 + local.set $3 local.get $4 - local.get $3 + local.get $0 i32.load8_u offset=1 i32.store8 offset=1 - local.get $0 local.get $1 + local.get $3 i32.load8_u i32.store8 - local.get $0 - local.tee $4 + local.get $1 i32.const 2 i32.add local.set $0 local.get $1 - local.tee $3 - i32.const 2 - i32.add - local.set $1 - local.get $4 local.get $3 i32.load8_u offset=1 i32.store8 offset=1 + local.get $3 + i32.const 2 + i32.add + local.set $1 end local.get $2 i32.const 4 @@ -2992,30 +2969,20 @@ i32.load8_u i32.store8 local.get $0 - local.tee $4 - i32.const 2 - i32.add - local.set $0 local.get $1 - local.tee $3 - i32.const 2 - i32.add - local.set $1 - local.get $4 - local.get $3 i32.load8_u offset=1 i32.store8 offset=1 local.get $0 - local.get $1 - i32.load8_u - i32.store8 - local.get $0 - local.tee $4 i32.const 2 i32.add - local.set $0 + local.tee $4 local.get $1 + i32.const 2 + i32.add local.tee $3 + i32.load8_u + i32.store8 + local.get $3 i32.const 2 i32.add local.set $1 @@ -3023,6 +2990,10 @@ local.get $3 i32.load8_u offset=1 i32.store8 offset=1 + local.get $4 + i32.const 2 + i32.add + local.set $0 end local.get $2 i32.const 2 @@ -3360,10 +3331,10 @@ local.get $2 i32.eqz if - local.get $0 local.get $1 i32.const 1 i32.shl + local.get $0 i32.add i32.const 3145774 i32.store @@ -3389,10 +3360,10 @@ local.get $4 i32.lt_s if - local.get $0 local.get $1 i32.const 1 i32.shl + local.get $0 i32.add i32.const 48 i32.store16 @@ -3403,10 +3374,10 @@ br $for-loop|0 end end - local.get $0 local.get $4 i32.const 1 i32.shl + local.get $0 i32.add i32.const 3145774 i32.store @@ -3423,10 +3394,10 @@ i32.gt_s select if (result i32) - local.get $0 local.get $4 i32.const 1 i32.shl + local.get $0 i32.add local.tee $0 i32.const 2 @@ -3454,13 +3425,13 @@ i32.gt_s select if (result i32) - local.get $0 i32.const 2 local.get $4 i32.sub local.tee $5 i32.const 1 i32.shl + local.get $0 i32.add local.get $0 local.get $1 @@ -3477,10 +3448,10 @@ local.get $5 i32.lt_s if - local.get $0 local.get $2 i32.const 1 i32.shl + local.get $0 i32.add i32.const 48 i32.store16 @@ -3694,18 +3665,24 @@ ) (func $~lib/util/number/dtoa_core (param $0 f64) (result i32) (local $1 i64) - (local $2 i64) + (local $2 i32) (local $3 i64) (local $4 i32) (local $5 i32) (local $6 i64) (local $7 i64) - (local $8 i32) + (local $8 i64) (local $9 i32) + (local $10 i64) + (local $11 i64) + (local $12 i64) + (local $13 i64) + (local $14 i64) + (local $15 i64) local.get $0 f64.const 0 f64.lt - local.tee $8 + local.tee $5 if (result f64) i32.const 1776 i32.const 45 @@ -3722,66 +3699,66 @@ i64.const 52 i64.shr_u i32.wrap_i64 - local.tee $4 + local.tee $2 + i32.const 1 + local.get $2 + select + i32.const 1075 + i32.sub + local.tee $9 + i32.const 1 + i32.sub + local.get $1 + i64.const 4503599627370495 + i64.and + local.get $2 i32.const 0 i32.ne i64.extend_i32_u i64.const 52 i64.shl - local.get $1 - i64.const 4503599627370495 - i64.and i64.add - local.tee $2 + local.tee $1 i64.const 1 i64.shl i64.const 1 i64.add - local.tee $1 - local.get $1 + local.tee $3 i64.clz i32.wrap_i64 - local.tee $5 + local.tee $4 + i32.sub + local.set $2 + local.get $3 + local.get $4 i64.extend_i32_s i64.shl global.set $~lib/util/number/_frc_plus - local.get $4 - i32.const 1 - local.get $4 - select - i32.const 1075 - i32.sub - local.tee $9 - i32.const 1 - i32.sub - local.get $5 - i32.sub - local.set $4 - local.get $2 - local.get $2 + local.get $1 + local.get $1 i64.const 4503599627370496 i64.eq i32.const 1 i32.add - local.tee $5 + local.tee $4 i64.extend_i32_s i64.shl i64.const 1 i64.sub local.get $9 - local.get $5 - i32.sub local.get $4 i32.sub + local.get $2 + i32.sub i64.extend_i32_s i64.shl global.set $~lib/util/number/_frc_minus - local.get $4 + local.get $2 global.set $~lib/util/number/_exp i32.const 348 i32.const -61 global.get $~lib/util/number/_exp - local.tee $4 + local.tee $9 i32.sub f64.convert_i32_s f64.const 0.30102999566398114 @@ -3790,9 +3767,9 @@ f64.add local.tee $0 i32.trunc_f64_s - local.tee $5 + local.tee $2 local.get $0 - local.get $5 + local.get $2 f64.convert_i32_s f64.ne i32.add @@ -3800,103 +3777,123 @@ i32.shr_s i32.const 1 i32.add - local.tee $5 + local.tee $2 i32.const 3 i32.shl - local.tee $9 + local.tee $4 i32.sub global.set $~lib/util/number/_K - local.get $9 + local.get $4 i32.const 1832 i32.add i64.load global.set $~lib/util/number/_frc_pow - local.get $5 + local.get $2 i32.const 1 i32.shl i32.const 2528 i32.add i32.load16_s global.set $~lib/util/number/_exp_pow + local.get $1 + local.get $1 + i64.clz + i64.shl + local.tee $1 + i64.const 4294967295 + i64.and + local.set $3 + local.get $1 + i64.const 32 + i64.shr_u + local.tee $10 global.get $~lib/util/number/_frc_pow - local.tee $6 + local.tee $13 i64.const 4294967295 i64.and - local.set $1 + local.tee $1 + local.tee $6 + i64.mul + local.get $3 local.get $6 + i64.mul i64.const 32 i64.shr_u - local.tee $6 + i64.add + local.set $6 global.get $~lib/util/number/_frc_plus - local.tee $3 + local.tee $7 + i64.const 4294967295 + i64.and + local.set $11 + local.get $7 i64.const 32 i64.shr_u - local.tee $7 - i64.mul + local.tee $14 local.get $1 - local.get $7 i64.mul local.get $1 - local.get $3 - i64.const 4294967295 - i64.and - local.tee $3 + local.get $11 i64.mul i64.const 32 i64.shr_u i64.add - local.tee $7 + local.set $7 + global.get $~lib/util/number/_frc_minus + local.tee $8 + i64.const 4294967295 + i64.and + local.set $12 + local.get $8 i64.const 32 i64.shr_u - i64.add - local.get $3 - local.get $6 + local.tee $15 + local.get $1 + i64.mul + local.get $1 + local.get $12 i64.mul - local.get $7 - i64.const 4294967295 - i64.and - i64.add - i64.const 2147483647 - i64.add i64.const 32 i64.shr_u i64.add - i64.const 1 - i64.sub - local.set $3 - local.get $8 + local.set $8 + local.get $5 i32.const 1 i32.shl i32.const 1776 i32.add - local.get $6 - local.get $2 - local.get $2 - i64.clz - i64.shl - local.tee $2 + local.get $10 + local.get $13 i64.const 32 i64.shr_u - local.tee $7 + local.tee $1 + local.tee $10 i64.mul - local.get $1 - local.get $7 + local.get $6 + i64.const 32 + i64.shr_u + i64.add + local.get $3 + local.get $10 i64.mul - local.get $1 - local.get $2 + local.get $6 i64.const 4294967295 i64.and - local.tee $2 - i64.mul + i64.add + i64.const 2147483647 + i64.add i64.const 32 i64.shr_u i64.add - local.tee $7 + local.get $1 + local.get $14 + i64.mul + local.get $7 i64.const 32 i64.shr_u i64.add - local.get $2 - local.get $6 + local.get $1 + local.get $11 i64.mul local.get $7 i64.const 4294967295 @@ -3907,40 +3904,26 @@ i64.const 32 i64.shr_u i64.add - local.get $3 - local.get $4 + i64.const 1 + i64.sub + local.tee $3 global.get $~lib/util/number/_exp_pow + local.get $9 i32.add i32.const -64 i32.sub local.get $3 - local.get $6 - global.get $~lib/util/number/_frc_minus - local.tee $2 - i64.const 32 - i64.shr_u - local.tee $3 - i64.mul local.get $1 - local.get $3 + local.get $15 i64.mul - local.get $1 - local.get $2 - i64.const 4294967295 - i64.and - local.tee $1 - i64.mul - i64.const 32 - i64.shr_u - i64.add - local.tee $2 + local.get $8 i64.const 32 i64.shr_u i64.add local.get $1 - local.get $6 + local.get $12 i64.mul - local.get $2 + local.get $8 i64.const 4294967295 i64.and i64.add @@ -3952,13 +3935,13 @@ i64.const 1 i64.add i64.sub - local.get $8 + local.get $5 call $~lib/util/number/genDigits - local.get $8 + local.get $5 i32.sub global.get $~lib/util/number/_K call $~lib/util/number/prettify - local.get $8 + local.get $5 i32.add ) (func $~lib/number/F32#toString (param $0 f32) (result i32) @@ -4441,10 +4424,9 @@ call $~lib/number/F32#toString local.set $0 global.get $~lib/memory/__stack_pointer - local.tee $1 local.get $0 i32.store - local.get $1 + global.get $~lib/memory/__stack_pointer i32.const 3168 i32.store offset=4 local.get $0 @@ -4469,10 +4451,9 @@ call $~lib/number/F32#toString local.set $0 global.get $~lib/memory/__stack_pointer - local.tee $1 local.get $0 i32.store - local.get $1 + global.get $~lib/memory/__stack_pointer i32.const 3280 i32.store offset=4 local.get $0 @@ -4509,10 +4490,9 @@ call $~lib/number/F32#toString local.set $0 global.get $~lib/memory/__stack_pointer - local.tee $1 local.get $0 i32.store - local.get $1 + global.get $~lib/memory/__stack_pointer i32.const 3312 i32.store offset=4 local.get $0 @@ -4579,7 +4559,7 @@ local.tee $0 i32.store global.get $~lib/memory/__stack_pointer - local.tee $1 + global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub global.set $~lib/memory/__stack_pointer @@ -4610,7 +4590,6 @@ i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $1 local.get $0 i32.store global.get $~lib/memory/__stack_pointer @@ -4645,10 +4624,9 @@ call $~lib/number/U8#toString local.set $0 global.get $~lib/memory/__stack_pointer - local.tee $1 local.get $0 i32.store - local.get $1 + global.get $~lib/memory/__stack_pointer i32.const 4720 i32.store offset=4 local.get $0 @@ -4673,10 +4651,9 @@ call $~lib/number/U8#toString local.set $0 global.get $~lib/memory/__stack_pointer - local.tee $1 local.get $0 i32.store - local.get $1 + global.get $~lib/memory/__stack_pointer i32.const 4752 i32.store offset=4 local.get $0 @@ -4713,10 +4690,9 @@ call $~lib/number/U8#toString local.set $0 global.get $~lib/memory/__stack_pointer - local.tee $1 local.get $0 i32.store - local.get $1 + global.get $~lib/memory/__stack_pointer i32.const 4784 i32.store offset=4 local.get $0 diff --git a/tests/compiler/resolve-function-expression.optimized.wat b/tests/compiler/resolve-function-expression.optimized.wat index e6d470de48..445a7cab22 100644 --- a/tests/compiler/resolve-function-expression.optimized.wat +++ b/tests/compiler/resolve-function-expression.optimized.wat @@ -139,8 +139,8 @@ i32.and i32.eq if - local.get $0 global.get $~lib/rt/itcms/iter + local.get $0 i32.eq if local.get $0 @@ -200,11 +200,11 @@ local.get $1 i32.store offset=8 local.get $1 - local.get $2 local.get $1 i32.load offset=4 i32.const 3 i32.and + local.get $2 i32.or i32.store offset=4 end @@ -218,10 +218,10 @@ if (result i32) i32.const 1 else - local.get $1 i32.const 3424 i32.load - i32.gt_u + local.get $1 + i32.lt_u if i32.const 1648 i32.const 1712 @@ -258,11 +258,11 @@ local.get $1 i32.store offset=8 local.get $1 - local.get $0 local.get $1 i32.load offset=4 i32.const 3 i32.and + local.get $0 i32.or i32.store offset=4 local.get $2 @@ -401,22 +401,22 @@ local.get $4 i32.eqz if - local.get $0 local.get $3 i32.const 2 i32.shl + local.get $0 i32.add - local.tee $1 + local.tee $4 i32.load offset=4 i32.const -2 local.get $2 i32.rotl i32.and - local.set $2 + local.set $1 + local.get $4 local.get $1 - local.get $2 i32.store offset=4 - local.get $2 + local.get $1 i32.eqz if local.get $0 @@ -664,10 +664,10 @@ i32.shl i32.or i32.store - local.get $0 local.get $5 i32.const 2 i32.shl + local.get $0 i32.add local.tee $0 local.get $0 @@ -707,11 +707,11 @@ i32.load offset=1568 local.tee $2 if + local.get $1 local.get $2 i32.const 4 i32.add - local.get $1 - i32.gt_u + i32.lt_u if i32.const 0 i32.const 1792 @@ -735,11 +735,11 @@ local.set $1 end else + local.get $1 local.get $0 i32.const 1572 i32.add - local.get $1 - i32.gt_u + i32.lt_u if i32.const 0 i32.const 1792 @@ -1026,13 +1026,13 @@ if local.get $0 i32.load offset=4 + local.tee $1 i32.const -4 i32.and global.set $~lib/rt/itcms/iter global.get $~lib/rt/itcms/white i32.eqz - local.get $0 - i32.load offset=4 + local.get $1 i32.const 3 i32.and i32.ne @@ -1119,10 +1119,10 @@ end global.get $~lib/rt/itcms/toSpace local.tee $0 - local.get $0 + local.tee $1 + local.get $1 i32.store offset=4 - global.get $~lib/rt/itcms/toSpace - local.tee $0 + local.get $0 local.get $0 i32.store offset=8 i32.const 0 @@ -1371,7 +1371,6 @@ i32.const 536870910 i32.lt_u if (result i32) - local.get $2 i32.const 1 i32.const 27 local.get $2 @@ -1380,6 +1379,7 @@ i32.shl i32.const 1 i32.sub + local.get $2 i32.add else local.get $2 @@ -1440,12 +1440,12 @@ unreachable end end - local.get $2 local.get $3 i32.load i32.const -4 i32.and - i32.gt_u + local.get $2 + i32.lt_u if i32.const 0 i32.const 1792 @@ -1483,10 +1483,10 @@ i32.ge_u if local.get $3 - local.get $2 local.get $4 i32.const 2 i32.and + local.get $2 i32.or i32.store local.get $2 @@ -1513,18 +1513,13 @@ local.get $3 i32.const 4 i32.add - local.tee $2 local.get $3 i32.load i32.const -4 i32.and i32.add + local.tee $2 local.get $2 - local.get $3 - i32.load - i32.const -4 - i32.and - i32.add i32.load i32.const -3 i32.and @@ -1541,19 +1536,19 @@ i32.load offset=8 local.set $1 local.get $3 - local.get $2 global.get $~lib/rt/itcms/white + local.get $2 i32.or i32.store offset=4 local.get $3 local.get $1 i32.store offset=8 local.get $1 - local.get $3 local.get $1 i32.load offset=4 i32.const 3 i32.and + local.get $3 i32.or i32.store offset=4 local.get $2 @@ -1862,7 +1857,7 @@ i32.const 1200 i32.load call_indirect $0 (type $i32_=>_i32) - local.set $1 + local.set $2 global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub @@ -1875,7 +1870,7 @@ i32.const 0 i32.store block $__inlined_func$~lib/util/number/itoa32 - local.get $1 + local.get $2 i32.eqz if global.get $~lib/memory/__stack_pointer @@ -1883,74 +1878,74 @@ i32.add global.set $~lib/memory/__stack_pointer i32.const 1424 - local.set $1 + local.set $2 br $__inlined_func$~lib/util/number/itoa32 end i32.const 0 - local.get $1 + local.get $2 i32.sub - local.get $1 - local.get $1 + local.get $2 + local.get $2 i32.const 31 i32.shr_u - local.tee $4 + local.tee $3 select local.tee $0 - local.set $1 + local.set $2 global.get $~lib/memory/__stack_pointer local.get $0 i32.const 100000 i32.lt_u if (result i32) - local.get $1 + local.get $2 i32.const 100 i32.lt_u if (result i32) - local.get $1 + local.get $2 i32.const 10 i32.ge_u i32.const 1 i32.add else - local.get $1 + local.get $2 i32.const 10000 i32.ge_u i32.const 3 i32.add - local.get $1 + local.get $2 i32.const 1000 i32.ge_u i32.add end else - local.get $1 + local.get $2 i32.const 10000000 i32.lt_u if (result i32) - local.get $1 + local.get $2 i32.const 1000000 i32.ge_u i32.const 6 i32.add else - local.get $1 + local.get $2 i32.const 1000000000 i32.ge_u i32.const 8 i32.add - local.get $1 + local.get $2 i32.const 100000000 i32.ge_u i32.add end end - local.get $4 + local.get $3 i32.add - local.tee $2 + local.tee $1 i32.const 1 i32.shl call $~lib/rt/itcms/__new - local.tee $1 + local.tee $2 i32.store loop $while-continue|0 local.get $0 @@ -1960,20 +1955,20 @@ local.get $0 i32.const 10000 i32.rem_u - local.set $3 + local.set $4 local.get $0 i32.const 10000 i32.div_u local.set $0 local.get $1 - local.get $2 i32.const 4 i32.sub - local.tee $2 + local.tee $1 i32.const 1 i32.shl + local.get $2 i32.add - local.get $3 + local.get $4 i32.const 100 i32.div_u i32.const 2 @@ -1981,7 +1976,7 @@ i32.const 1836 i32.add i64.load32_u - local.get $3 + local.get $4 i32.const 100 i32.rem_u i32.const 2 @@ -2001,12 +1996,12 @@ i32.ge_u if local.get $1 - local.get $2 i32.const 2 i32.sub - local.tee $2 + local.tee $1 i32.const 1 i32.shl + local.get $2 i32.add local.get $0 i32.const 100 @@ -2027,11 +2022,11 @@ i32.ge_u if local.get $1 - local.get $2 i32.const 2 i32.sub i32.const 1 i32.shl + local.get $2 i32.add local.get $0 i32.const 2 @@ -2042,20 +2037,20 @@ i32.store else local.get $1 - local.get $2 i32.const 1 i32.sub i32.const 1 i32.shl + local.get $2 i32.add local.get $0 i32.const 48 i32.add i32.store16 end - local.get $4 + local.get $3 if - local.get $1 + local.get $2 i32.const 45 i32.store16 end @@ -2066,34 +2061,31 @@ end global.get $~lib/memory/__stack_pointer local.tee $0 - local.get $1 + local.get $2 i32.store local.get $0 i32.const 3408 i32.store offset=4 block $__inlined_func$~lib/string/String.__eq (result i32) i32.const 1 - local.get $1 + local.get $2 i32.const 3408 i32.eq br_if $__inlined_func$~lib/string/String.__eq drop i32.const 0 - i32.const 3408 - i32.const 0 - local.get $1 - select + local.get $2 i32.eqz br_if $__inlined_func$~lib/string/String.__eq drop i32.const 0 - local.get $1 + local.get $2 i32.const 20 i32.sub i32.load offset=16 i32.const 1 i32.shr_u - local.tee $2 + local.tee $0 i32.const 3404 i32.load i32.const 1 @@ -2103,38 +2095,36 @@ drop block $__inlined_func$~lib/util/string/compareImpl (result i32) i32.const 3408 - local.set $4 - local.get $1 - local.tee $0 + local.set $3 + local.get $2 i32.const 7 i32.and i32.const 1 - local.get $2 - local.tee $1 + local.get $0 i32.const 4 i32.ge_u select i32.eqz if loop $do-continue|0 - local.get $0 + local.get $2 i64.load - local.get $4 + local.get $3 i64.load i64.eq if - local.get $0 + local.get $2 i32.const 8 i32.add - local.set $0 - local.get $4 + local.set $2 + local.get $3 i32.const 8 i32.add - local.set $4 - local.get $1 + local.set $3 + local.get $0 i32.const 4 i32.sub - local.tee $1 + local.tee $0 i32.const 4 i32.ge_u br_if $do-continue|0 @@ -2142,34 +2132,34 @@ end end loop $while-continue|1 - local.get $1 - local.tee $2 + local.get $0 + local.tee $1 i32.const 1 i32.sub - local.set $1 - local.get $2 + local.set $0 + local.get $1 if - local.get $4 + local.get $2 i32.load16_u - local.tee $2 - local.get $0 + local.tee $1 + local.get $3 i32.load16_u - local.tee $3 + local.tee $4 i32.ne if - local.get $3 - local.get $2 + local.get $1 + local.get $4 i32.sub br $__inlined_func$~lib/util/string/compareImpl end - local.get $0 + local.get $2 i32.const 2 i32.add - local.set $0 - local.get $4 + local.set $2 + local.get $3 i32.const 2 i32.add - local.set $4 + local.set $3 br $while-continue|1 end end diff --git a/tests/compiler/resolve-nested.optimized.wat b/tests/compiler/resolve-nested.optimized.wat index 2536a6c7ec..8916357988 100644 --- a/tests/compiler/resolve-nested.optimized.wat +++ b/tests/compiler/resolve-nested.optimized.wat @@ -108,8 +108,8 @@ i32.and i32.eq if - local.get $0 global.get $~lib/rt/itcms/iter + local.get $0 i32.eq if local.get $0 @@ -169,11 +169,11 @@ local.get $1 i32.store offset=8 local.get $1 - local.get $2 local.get $1 i32.load offset=4 i32.const 3 i32.and + local.get $2 i32.or i32.store offset=4 end @@ -187,10 +187,10 @@ if (result i32) i32.const 1 else - local.get $1 i32.const 1440 i32.load - i32.gt_u + local.get $1 + i32.lt_u if i32.const 1248 i32.const 1312 @@ -227,11 +227,11 @@ local.get $1 i32.store offset=8 local.get $1 - local.get $0 local.get $1 i32.load offset=4 i32.const 3 i32.and + local.get $0 i32.or i32.store offset=4 local.get $2 @@ -370,22 +370,22 @@ local.get $4 i32.eqz if - local.get $0 local.get $3 i32.const 2 i32.shl + local.get $0 i32.add - local.tee $1 + local.tee $4 i32.load offset=4 i32.const -2 local.get $2 i32.rotl i32.and - local.set $2 + local.set $1 + local.get $4 local.get $1 - local.get $2 i32.store offset=4 - local.get $2 + local.get $1 i32.eqz if local.get $0 @@ -633,10 +633,10 @@ i32.shl i32.or i32.store - local.get $0 local.get $5 i32.const 2 i32.shl + local.get $0 i32.add local.tee $0 local.get $0 @@ -676,11 +676,11 @@ i32.load offset=1568 local.tee $2 if + local.get $1 local.get $2 i32.const 4 i32.add - local.get $1 - i32.gt_u + i32.lt_u if i32.const 0 i32.const 1392 @@ -704,11 +704,11 @@ local.set $1 end else + local.get $1 local.get $0 i32.const 1572 i32.add - local.get $1 - i32.gt_u + i32.lt_u if i32.const 0 i32.const 1392 @@ -995,13 +995,13 @@ if local.get $0 i32.load offset=4 + local.tee $1 i32.const -4 i32.and global.set $~lib/rt/itcms/iter global.get $~lib/rt/itcms/white i32.eqz - local.get $0 - i32.load offset=4 + local.get $1 i32.const 3 i32.and i32.ne @@ -1088,10 +1088,10 @@ end global.get $~lib/rt/itcms/toSpace local.tee $0 - local.get $0 + local.tee $1 + local.get $1 i32.store offset=4 - global.get $~lib/rt/itcms/toSpace - local.tee $0 + local.get $0 local.get $0 i32.store offset=8 i32.const 0 @@ -1111,11 +1111,11 @@ i32.and local.tee $2 if (result i32) - local.get $0 local.get $2 i32.ctz i32.const 2 i32.shl + local.get $0 i32.add i32.load offset=96 else @@ -1125,12 +1125,12 @@ i32.and local.tee $1 if (result i32) - local.get $0 local.get $1 i32.ctz local.tee $1 i32.const 2 i32.shl + local.get $0 i32.add i32.load offset=4 local.tee $2 @@ -1143,7 +1143,6 @@ call $~lib/builtins/abort unreachable end - local.get $0 local.get $2 i32.ctz local.get $1 @@ -1152,6 +1151,7 @@ i32.add i32.const 2 i32.shl + local.get $0 i32.add i32.load offset=96 else @@ -1333,18 +1333,13 @@ local.get $1 i32.const 4 i32.add - local.tee $2 local.get $1 i32.load i32.const -4 i32.and i32.add + local.tee $2 local.get $2 - local.get $1 - i32.load - i32.const -4 - i32.and - i32.add i32.load i32.const -3 i32.and @@ -1361,19 +1356,19 @@ i32.load offset=8 local.set $2 local.get $1 - local.get $0 global.get $~lib/rt/itcms/white + local.get $0 i32.or i32.store offset=4 local.get $1 local.get $2 i32.store offset=8 local.get $2 - local.get $1 local.get $2 i32.load offset=4 i32.const 3 i32.and + local.get $1 i32.or i32.store offset=4 local.get $0 diff --git a/tests/compiler/resolve-new.optimized.wat b/tests/compiler/resolve-new.optimized.wat index 2bc063e3b9..aa996c86d2 100644 --- a/tests/compiler/resolve-new.optimized.wat +++ b/tests/compiler/resolve-new.optimized.wat @@ -104,8 +104,8 @@ i32.and i32.eq if - local.get $0 global.get $~lib/rt/itcms/iter + local.get $0 i32.eq if local.get $0 @@ -165,11 +165,11 @@ local.get $1 i32.store offset=8 local.get $1 - local.get $2 local.get $1 i32.load offset=4 i32.const 3 i32.and + local.get $2 i32.or i32.store offset=4 end @@ -183,10 +183,10 @@ if (result i32) i32.const 1 else - local.get $1 i32.const 1440 i32.load - i32.gt_u + local.get $1 + i32.lt_u if i32.const 1248 i32.const 1312 @@ -223,11 +223,11 @@ local.get $1 i32.store offset=8 local.get $1 - local.get $0 local.get $1 i32.load offset=4 i32.const 3 i32.and + local.get $0 i32.or i32.store offset=4 local.get $2 @@ -366,22 +366,22 @@ local.get $4 i32.eqz if - local.get $0 local.get $3 i32.const 2 i32.shl + local.get $0 i32.add - local.tee $1 + local.tee $4 i32.load offset=4 i32.const -2 local.get $2 i32.rotl i32.and - local.set $2 + local.set $1 + local.get $4 local.get $1 - local.get $2 i32.store offset=4 - local.get $2 + local.get $1 i32.eqz if local.get $0 @@ -629,10 +629,10 @@ i32.shl i32.or i32.store - local.get $0 local.get $5 i32.const 2 i32.shl + local.get $0 i32.add local.tee $0 local.get $0 @@ -672,11 +672,11 @@ i32.load offset=1568 local.tee $2 if + local.get $1 local.get $2 i32.const 4 i32.add - local.get $1 - i32.gt_u + i32.lt_u if i32.const 0 i32.const 1392 @@ -700,11 +700,11 @@ local.set $1 end else + local.get $1 local.get $0 i32.const 1572 i32.add - local.get $1 - i32.gt_u + i32.lt_u if i32.const 0 i32.const 1392 @@ -991,13 +991,13 @@ if local.get $0 i32.load offset=4 + local.tee $1 i32.const -4 i32.and global.set $~lib/rt/itcms/iter global.get $~lib/rt/itcms/white i32.eqz - local.get $0 - i32.load offset=4 + local.get $1 i32.const 3 i32.and i32.ne @@ -1084,10 +1084,10 @@ end global.get $~lib/rt/itcms/toSpace local.tee $0 - local.get $0 + local.tee $1 + local.get $1 i32.store offset=4 - global.get $~lib/rt/itcms/toSpace - local.tee $0 + local.get $0 local.get $0 i32.store offset=8 i32.const 0 @@ -1107,11 +1107,11 @@ i32.and local.tee $2 if (result i32) - local.get $0 local.get $2 i32.ctz i32.const 2 i32.shl + local.get $0 i32.add i32.load offset=96 else @@ -1121,12 +1121,12 @@ i32.and local.tee $1 if (result i32) - local.get $0 local.get $1 i32.ctz local.tee $1 i32.const 2 i32.shl + local.get $0 i32.add i32.load offset=4 local.tee $2 @@ -1139,7 +1139,6 @@ call $~lib/builtins/abort unreachable end - local.get $0 local.get $2 i32.ctz local.get $1 @@ -1148,6 +1147,7 @@ i32.add i32.const 2 i32.shl + local.get $0 i32.add i32.load offset=96 else @@ -1186,7 +1186,6 @@ ) (func $~start (local $0 i32) - (local $1 i32) global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub @@ -1242,10 +1241,9 @@ call $resolve-new/Foo#constructor local.set $0 global.get $~lib/memory/__stack_pointer - local.tee $1 local.get $0 i32.store - local.get $1 + global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer @@ -1444,18 +1442,13 @@ local.get $0 i32.const 4 i32.add - local.tee $1 local.get $0 i32.load i32.const -4 i32.and i32.add + local.tee $1 local.get $1 - local.get $0 - i32.load - i32.const -4 - i32.and - i32.add i32.load i32.const -3 i32.and @@ -1472,19 +1465,19 @@ i32.load offset=8 local.set $3 local.get $0 - local.get $1 global.get $~lib/rt/itcms/white + local.get $1 i32.or i32.store offset=4 local.get $0 local.get $3 i32.store offset=8 local.get $3 - local.get $0 local.get $3 i32.load offset=4 i32.const 3 i32.and + local.get $0 i32.or i32.store offset=4 local.get $1 diff --git a/tests/compiler/resolve-propertyaccess.optimized.wat b/tests/compiler/resolve-propertyaccess.optimized.wat index 8f2d7d0c12..a90ff9db80 100644 --- a/tests/compiler/resolve-propertyaccess.optimized.wat +++ b/tests/compiler/resolve-propertyaccess.optimized.wat @@ -139,8 +139,8 @@ i32.and i32.eq if - local.get $0 global.get $~lib/rt/itcms/iter + local.get $0 i32.eq if local.get $0 @@ -200,11 +200,11 @@ local.get $1 i32.store offset=8 local.get $1 - local.get $2 local.get $1 i32.load offset=4 i32.const 3 i32.and + local.get $2 i32.or i32.store offset=4 end @@ -218,10 +218,10 @@ if (result i32) i32.const 1 else - local.get $1 i32.const 3680 i32.load - i32.gt_u + local.get $1 + i32.lt_u if i32.const 1472 i32.const 1536 @@ -258,11 +258,11 @@ local.get $1 i32.store offset=8 local.get $1 - local.get $0 local.get $1 i32.load offset=4 i32.const 3 i32.and + local.get $0 i32.or i32.store offset=4 local.get $2 @@ -401,22 +401,22 @@ local.get $4 i32.eqz if - local.get $0 local.get $3 i32.const 2 i32.shl + local.get $0 i32.add - local.tee $1 + local.tee $4 i32.load offset=4 i32.const -2 local.get $2 i32.rotl i32.and - local.set $2 + local.set $1 + local.get $4 local.get $1 - local.get $2 i32.store offset=4 - local.get $2 + local.get $1 i32.eqz if local.get $0 @@ -664,10 +664,10 @@ i32.shl i32.or i32.store - local.get $0 local.get $5 i32.const 2 i32.shl + local.get $0 i32.add local.tee $0 local.get $0 @@ -707,11 +707,11 @@ i32.load offset=1568 local.tee $2 if + local.get $1 local.get $2 i32.const 4 i32.add - local.get $1 - i32.gt_u + i32.lt_u if i32.const 0 i32.const 1616 @@ -735,11 +735,11 @@ local.set $1 end else + local.get $1 local.get $0 i32.const 1572 i32.add - local.get $1 - i32.gt_u + i32.lt_u if i32.const 0 i32.const 1616 @@ -1026,13 +1026,13 @@ if local.get $0 i32.load offset=4 + local.tee $1 i32.const -4 i32.and global.set $~lib/rt/itcms/iter global.get $~lib/rt/itcms/white i32.eqz - local.get $0 - i32.load offset=4 + local.get $1 i32.const 3 i32.and i32.ne @@ -1119,10 +1119,10 @@ end global.get $~lib/rt/itcms/toSpace local.tee $0 - local.get $0 + local.tee $1 + local.get $1 i32.store offset=4 - global.get $~lib/rt/itcms/toSpace - local.tee $0 + local.get $0 local.get $0 i32.store offset=8 i32.const 0 @@ -1371,7 +1371,6 @@ i32.const 536870910 i32.lt_u if (result i32) - local.get $3 i32.const 1 i32.const 27 local.get $3 @@ -1380,6 +1379,7 @@ i32.shl i32.const 1 i32.sub + local.get $3 i32.add else local.get $3 @@ -1440,12 +1440,12 @@ unreachable end end - local.get $3 local.get $2 i32.load i32.const -4 i32.and - i32.gt_u + local.get $3 + i32.lt_u if i32.const 0 i32.const 1616 @@ -1483,10 +1483,10 @@ i32.ge_u if local.get $2 - local.get $3 local.get $5 i32.const 2 i32.and + local.get $3 i32.or i32.store local.get $3 @@ -1513,18 +1513,13 @@ local.get $2 i32.const 4 i32.add - local.tee $3 local.get $2 i32.load i32.const -4 i32.and i32.add + local.tee $3 local.get $3 - local.get $2 - i32.load - i32.const -4 - i32.and - i32.add i32.load i32.const -3 i32.and @@ -1541,19 +1536,19 @@ i32.load offset=8 local.set $3 local.get $2 - local.get $1 global.get $~lib/rt/itcms/white + local.get $1 i32.or i32.store offset=4 local.get $2 local.get $3 i32.store offset=8 local.get $3 - local.get $2 local.get $3 i32.load offset=4 i32.const 3 i32.and + local.get $2 i32.or i32.store offset=4 local.get $1 @@ -1863,13 +1858,13 @@ i32.const 10000 i32.div_u local.set $0 - local.get $1 local.get $2 i32.const 4 i32.sub local.tee $2 i32.const 1 i32.shl + local.get $1 i32.add local.get $4 i32.const 100 @@ -1898,13 +1893,13 @@ i32.const 100 i32.ge_u if - local.get $1 local.get $2 i32.const 2 i32.sub local.tee $2 i32.const 1 i32.shl + local.get $1 i32.add local.get $0 i32.const 100 @@ -1924,12 +1919,12 @@ i32.const 10 i32.ge_u if - local.get $1 local.get $2 i32.const 2 i32.sub i32.const 1 i32.shl + local.get $1 i32.add local.get $0 i32.const 2 @@ -1939,12 +1934,12 @@ i32.load i32.store else - local.get $1 local.get $2 i32.const 1 i32.sub i32.const 1 i32.shl + local.get $1 i32.add local.get $0 i32.const 48 @@ -2167,10 +2162,9 @@ call $~lib/number/I32#toString local.set $0 global.get $~lib/memory/__stack_pointer - local.tee $1 local.get $0 i32.store - local.get $1 + global.get $~lib/memory/__stack_pointer i32.const 3232 i32.store offset=4 local.get $0 @@ -2384,7 +2378,8 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $1 + local.tee $0 + local.get $0 i32.const 4 i32.sub global.set $~lib/memory/__stack_pointer @@ -2409,7 +2404,6 @@ i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $1 local.get $0 i32.store offset=8 local.get $0 diff --git a/tests/compiler/resolve-ternary.optimized.wat b/tests/compiler/resolve-ternary.optimized.wat index fd989e47d8..aa987b9856 100644 --- a/tests/compiler/resolve-ternary.optimized.wat +++ b/tests/compiler/resolve-ternary.optimized.wat @@ -143,8 +143,8 @@ i32.and i32.eq if - local.get $0 global.get $~lib/rt/itcms/iter + local.get $0 i32.eq if local.get $0 @@ -204,11 +204,11 @@ local.get $1 i32.store offset=8 local.get $1 - local.get $2 local.get $1 i32.load offset=4 i32.const 3 i32.and + local.get $2 i32.or i32.store offset=4 end @@ -222,10 +222,10 @@ if (result i32) i32.const 1 else - local.get $1 i32.const 4608 i32.load - i32.gt_u + local.get $1 + i32.lt_u if i32.const 1472 i32.const 1536 @@ -262,11 +262,11 @@ local.get $1 i32.store offset=8 local.get $1 - local.get $0 local.get $1 i32.load offset=4 i32.const 3 i32.and + local.get $0 i32.or i32.store offset=4 local.get $2 @@ -405,22 +405,22 @@ local.get $4 i32.eqz if - local.get $0 local.get $3 i32.const 2 i32.shl + local.get $0 i32.add - local.tee $1 + local.tee $4 i32.load offset=4 i32.const -2 local.get $2 i32.rotl i32.and - local.set $2 + local.set $1 + local.get $4 local.get $1 - local.get $2 i32.store offset=4 - local.get $2 + local.get $1 i32.eqz if local.get $0 @@ -668,10 +668,10 @@ i32.shl i32.or i32.store - local.get $0 local.get $5 i32.const 2 i32.shl + local.get $0 i32.add local.tee $0 local.get $0 @@ -711,11 +711,11 @@ i32.load offset=1568 local.tee $2 if + local.get $1 local.get $2 i32.const 4 i32.add - local.get $1 - i32.gt_u + i32.lt_u if i32.const 0 i32.const 1616 @@ -739,11 +739,11 @@ local.set $1 end else + local.get $1 local.get $0 i32.const 1572 i32.add - local.get $1 - i32.gt_u + i32.lt_u if i32.const 0 i32.const 1616 @@ -1030,13 +1030,13 @@ if local.get $0 i32.load offset=4 + local.tee $1 i32.const -4 i32.and global.set $~lib/rt/itcms/iter global.get $~lib/rt/itcms/white i32.eqz - local.get $0 - i32.load offset=4 + local.get $1 i32.const 3 i32.and i32.ne @@ -1123,10 +1123,10 @@ end global.get $~lib/rt/itcms/toSpace local.tee $0 - local.get $0 + local.tee $1 + local.get $1 i32.store offset=4 - global.get $~lib/rt/itcms/toSpace - local.tee $0 + local.get $0 local.get $0 i32.store offset=8 i32.const 0 @@ -1375,7 +1375,6 @@ i32.const 536870910 i32.lt_u if (result i32) - local.get $2 i32.const 1 i32.const 27 local.get $2 @@ -1384,6 +1383,7 @@ i32.shl i32.const 1 i32.sub + local.get $2 i32.add else local.get $2 @@ -1444,12 +1444,12 @@ unreachable end end - local.get $2 local.get $3 i32.load i32.const -4 i32.and - i32.gt_u + local.get $2 + i32.lt_u if i32.const 0 i32.const 1616 @@ -1487,10 +1487,10 @@ i32.ge_u if local.get $3 - local.get $2 local.get $4 i32.const 2 i32.and + local.get $2 i32.or i32.store local.get $2 @@ -1517,18 +1517,13 @@ local.get $3 i32.const 4 i32.add - local.tee $2 local.get $3 i32.load i32.const -4 i32.and i32.add + local.tee $2 local.get $2 - local.get $3 - i32.load - i32.const -4 - i32.and - i32.add i32.load i32.const -3 i32.and @@ -1545,19 +1540,19 @@ i32.load offset=8 local.set $1 local.get $3 - local.get $2 global.get $~lib/rt/itcms/white + local.get $2 i32.or i32.store offset=4 local.get $3 local.get $1 i32.store offset=8 local.get $1 - local.get $3 local.get $1 i32.load offset=4 i32.const 3 i32.and + local.get $3 i32.or i32.store offset=4 local.get $2 @@ -2284,9 +2279,6 @@ br $while-continue|0 end end - local.get $10 - i64.extend_i32_s - local.set $0 loop $while-continue|4 local.get $3 i64.const 10 @@ -2295,10 +2287,11 @@ local.get $6 i64.const 10 i64.mul - local.tee $1 - local.get $0 + local.tee $0 + local.get $10 + i64.extend_i32_s i64.shr_u - local.tee $6 + local.tee $1 local.get $4 i64.extend_i32_s i64.or @@ -2315,7 +2308,7 @@ i32.shl i32.const 3472 i32.add - local.get $6 + local.get $1 i32.wrap_i64 i32.const 65535 i32.and @@ -2328,7 +2321,7 @@ i32.sub local.set $8 local.get $3 - local.get $1 + local.get $0 local.get $12 i64.and local.tee $6 @@ -2341,7 +2334,6 @@ global.set $~lib/util/number/_K local.get $6 local.set $0 - local.get $9 i32.const 0 local.get $8 i32.sub @@ -2350,6 +2342,7 @@ i32.const 4400 i32.add i64.load32_u + local.get $9 i64.mul local.set $1 local.get $4 @@ -2420,17 +2413,17 @@ select if local.get $0 - local.tee $3 + local.tee $4 i32.const 1 i32.add local.set $0 local.get $1 - local.tee $4 + local.tee $3 i32.const 1 i32.add local.set $1 - local.get $3 local.get $4 + local.get $3 i32.load8_u i32.store8 local.get $2 @@ -2576,19 +2569,19 @@ local.get $0 i32.const 2 i32.add - local.tee $3 + local.tee $4 i32.const 1 i32.add local.set $0 local.get $1 i32.const 2 i32.add - local.tee $4 + local.tee $3 i32.const 1 i32.add local.set $1 - local.get $3 local.get $4 + local.get $3 i32.load8_u i32.store8 local.get $2 @@ -2603,7 +2596,7 @@ local.get $0 local.get $1 i32.load offset=1 - local.tee $3 + local.tee $4 i32.const 8 i32.shl local.get $5 @@ -2614,10 +2607,10 @@ local.get $0 local.get $1 i32.load offset=5 - local.tee $4 + local.tee $3 i32.const 8 i32.shl - local.get $3 + local.get $4 i32.const 24 i32.shr_u i32.or @@ -2625,10 +2618,10 @@ local.get $0 local.get $1 i32.load offset=9 - local.tee $3 + local.tee $4 i32.const 8 i32.shl - local.get $4 + local.get $3 i32.const 24 i32.shr_u i32.or @@ -2639,7 +2632,7 @@ local.tee $5 i32.const 8 i32.shl - local.get $3 + local.get $4 i32.const 24 i32.shr_u i32.or @@ -2694,7 +2687,7 @@ local.get $0 local.get $1 i32.load offset=2 - local.tee $3 + local.tee $4 i32.const 16 i32.shl local.get $5 @@ -2705,10 +2698,10 @@ local.get $0 local.get $1 i32.load offset=6 - local.tee $4 + local.tee $3 i32.const 16 i32.shl - local.get $3 + local.get $4 i32.const 16 i32.shr_u i32.or @@ -2716,10 +2709,10 @@ local.get $0 local.get $1 i32.load offset=10 - local.tee $3 + local.tee $4 i32.const 16 i32.shl - local.get $4 + local.get $3 i32.const 16 i32.shr_u i32.or @@ -2730,7 +2723,7 @@ local.tee $5 i32.const 16 i32.shl - local.get $3 + local.get $4 i32.const 16 i32.shr_u i32.or @@ -2756,17 +2749,17 @@ i32.load local.set $5 local.get $0 - local.tee $3 + local.tee $4 i32.const 1 i32.add local.set $0 local.get $1 - local.tee $4 + local.tee $3 i32.const 1 i32.add local.set $1 - local.get $3 local.get $4 + local.get $3 i32.load8_u i32.store8 local.get $2 @@ -2781,7 +2774,7 @@ local.get $0 local.get $1 i32.load offset=3 - local.tee $3 + local.tee $4 i32.const 24 i32.shl local.get $5 @@ -2792,10 +2785,10 @@ local.get $0 local.get $1 i32.load offset=7 - local.tee $4 + local.tee $3 i32.const 24 i32.shl - local.get $3 + local.get $4 i32.const 8 i32.shr_u i32.or @@ -2803,10 +2796,10 @@ local.get $0 local.get $1 i32.load offset=11 - local.tee $3 + local.tee $4 i32.const 24 i32.shl - local.get $4 + local.get $3 i32.const 8 i32.shr_u i32.or @@ -2817,7 +2810,7 @@ local.tee $5 i32.const 24 i32.shl - local.get $3 + local.get $4 i32.const 8 i32.shr_u i32.or @@ -2848,145 +2841,137 @@ i32.load8_u i32.store8 local.get $0 - local.tee $4 - i32.const 2 - i32.add - local.set $0 local.get $1 - local.tee $3 - i32.const 2 - i32.add - local.set $1 - local.get $4 - local.get $3 i32.load8_u offset=1 i32.store8 offset=1 local.get $0 - local.get $1 - i32.load8_u - i32.store8 - local.get $0 - local.tee $4 i32.const 2 i32.add - local.set $0 + local.tee $4 local.get $1 + i32.const 2 + i32.add local.tee $3 + i32.load8_u + i32.store8 + local.get $3 + local.tee $0 i32.const 2 i32.add - local.set $1 + local.set $3 local.get $4 - local.get $3 + local.get $0 i32.load8_u offset=1 i32.store8 offset=1 - local.get $0 - local.get $1 + local.get $4 + i32.const 2 + i32.add + local.tee $1 + local.get $3 i32.load8_u i32.store8 - local.get $0 + local.get $1 local.tee $4 i32.const 2 i32.add - local.set $0 - local.get $1 - local.tee $3 + local.set $1 + local.get $3 + local.tee $0 i32.const 2 i32.add - local.set $1 + local.set $3 local.get $4 - local.get $3 + local.get $0 i32.load8_u offset=1 i32.store8 offset=1 - local.get $0 local.get $1 + local.get $3 i32.load8_u i32.store8 - local.get $0 + local.get $1 local.tee $4 i32.const 2 i32.add - local.set $0 - local.get $1 - local.tee $3 + local.set $1 + local.get $3 + local.tee $0 i32.const 2 i32.add - local.set $1 + local.set $3 local.get $4 - local.get $3 + local.get $0 i32.load8_u offset=1 i32.store8 offset=1 - local.get $0 local.get $1 + local.get $3 i32.load8_u i32.store8 - local.get $0 + local.get $1 local.tee $4 i32.const 2 i32.add - local.set $0 - local.get $1 - local.tee $3 + local.set $1 + local.get $3 + local.tee $0 i32.const 2 i32.add - local.set $1 + local.set $3 local.get $4 - local.get $3 + local.get $0 i32.load8_u offset=1 i32.store8 offset=1 - local.get $0 local.get $1 + local.get $3 i32.load8_u i32.store8 - local.get $0 + local.get $1 local.tee $4 i32.const 2 i32.add - local.set $0 - local.get $1 - local.tee $3 + local.set $1 + local.get $3 + local.tee $0 i32.const 2 i32.add - local.set $1 + local.set $3 local.get $4 - local.get $3 + local.get $0 i32.load8_u offset=1 i32.store8 offset=1 - local.get $0 local.get $1 + local.get $3 i32.load8_u i32.store8 - local.get $0 + local.get $1 local.tee $4 i32.const 2 i32.add - local.set $0 - local.get $1 - local.tee $3 + local.set $1 + local.get $3 + local.tee $0 i32.const 2 i32.add - local.set $1 + local.set $3 local.get $4 - local.get $3 + local.get $0 i32.load8_u offset=1 i32.store8 offset=1 - local.get $0 local.get $1 + local.get $3 i32.load8_u i32.store8 - local.get $0 - local.tee $4 + local.get $1 i32.const 2 i32.add local.set $0 local.get $1 - local.tee $3 - i32.const 2 - i32.add - local.set $1 - local.get $4 local.get $3 i32.load8_u offset=1 i32.store8 offset=1 + local.get $3 + i32.const 2 + i32.add + local.set $1 end local.get $2 i32.const 8 @@ -2997,73 +2982,65 @@ i32.load8_u i32.store8 local.get $0 - local.tee $4 - i32.const 2 - i32.add - local.set $0 local.get $1 - local.tee $3 - i32.const 2 - i32.add - local.set $1 - local.get $4 - local.get $3 i32.load8_u offset=1 i32.store8 offset=1 local.get $0 - local.get $1 - i32.load8_u - i32.store8 - local.get $0 - local.tee $4 i32.const 2 i32.add - local.set $0 + local.tee $4 local.get $1 + i32.const 2 + i32.add local.tee $3 + i32.load8_u + i32.store8 + local.get $3 + local.tee $0 i32.const 2 i32.add - local.set $1 + local.set $3 local.get $4 - local.get $3 + local.get $0 i32.load8_u offset=1 i32.store8 offset=1 - local.get $0 - local.get $1 + local.get $4 + i32.const 2 + i32.add + local.tee $1 + local.get $3 i32.load8_u i32.store8 - local.get $0 + local.get $1 local.tee $4 i32.const 2 i32.add - local.set $0 - local.get $1 - local.tee $3 + local.set $1 + local.get $3 + local.tee $0 i32.const 2 i32.add - local.set $1 + local.set $3 local.get $4 - local.get $3 + local.get $0 i32.load8_u offset=1 i32.store8 offset=1 - local.get $0 local.get $1 + local.get $3 i32.load8_u i32.store8 - local.get $0 - local.tee $4 + local.get $1 i32.const 2 i32.add local.set $0 local.get $1 - local.tee $3 - i32.const 2 - i32.add - local.set $1 - local.get $4 local.get $3 i32.load8_u offset=1 i32.store8 offset=1 + local.get $3 + i32.const 2 + i32.add + local.set $1 end local.get $2 i32.const 4 @@ -3074,30 +3051,20 @@ i32.load8_u i32.store8 local.get $0 - local.tee $4 - i32.const 2 - i32.add - local.set $0 local.get $1 - local.tee $3 - i32.const 2 - i32.add - local.set $1 - local.get $4 - local.get $3 i32.load8_u offset=1 i32.store8 offset=1 local.get $0 - local.get $1 - i32.load8_u - i32.store8 - local.get $0 - local.tee $4 i32.const 2 i32.add - local.set $0 + local.tee $4 local.get $1 + i32.const 2 + i32.add local.tee $3 + i32.load8_u + i32.store8 + local.get $3 i32.const 2 i32.add local.set $1 @@ -3105,6 +3072,10 @@ local.get $3 i32.load8_u offset=1 i32.store8 offset=1 + local.get $4 + i32.const 2 + i32.add + local.set $0 end local.get $2 i32.const 2 @@ -3717,8 +3688,8 @@ ) (func $~start (local $0 i32) - (local $1 i64) - (local $2 i32) + (local $1 i32) + (local $2 i64) (local $3 i64) (local $4 i64) (local $5 i64) @@ -3794,10 +3765,10 @@ i32.add global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - local.tee $2 + local.tee $1 local.get $0 i32.store - local.get $2 + local.get $1 i32.const 3232 i32.store offset=4 local.get $0 @@ -3832,34 +3803,36 @@ i32.load16_s global.set $~lib/util/number/_exp_pow global.get $~lib/util/number/_frc_pow - local.tee $1 - i64.const 32 - i64.shr_u + local.tee $3 + i64.const 4294967295 + i64.and local.tee $4 i64.const 31 i64.shl - local.tee $6 - local.get $1 - i64.const 4294967295 - i64.and - local.tee $1 + local.tee $2 + local.set $5 + local.get $3 + i64.const 32 + i64.shr_u + local.tee $3 i64.const 31 i64.shl - local.tee $5 - local.get $1 + local.tee $6 + local.get $4 i64.const 10 i64.shl i64.const 32 i64.shr_u + local.get $2 i64.add - local.tee $3 + local.tee $2 i64.const 32 i64.shr_u i64.add - local.get $3 + local.get $2 i64.const 4294967295 i64.and - local.get $4 + local.get $3 i64.const 10 i64.shl i64.add @@ -3870,11 +3843,11 @@ i64.add i64.const 1 i64.sub - local.set $3 - local.get $6 + local.set $2 local.get $5 i64.const 32 i64.shr_u + local.get $6 i64.add local.get $5 i64.const 4294967295 @@ -3884,31 +3857,31 @@ i64.const 32 i64.shr_u i64.add - local.get $3 + local.get $2 global.get $~lib/util/number/_exp_pow i32.const 1 i32.add + local.get $2 local.get $3 - local.get $4 i64.const 2147483647 i64.mul - local.get $1 + local.get $4 i64.const 2147483647 i64.mul - local.get $1 + local.get $4 i64.const 4294966784 i64.mul i64.const 32 i64.shr_u i64.add - local.tee $1 + local.tee $4 i64.const 32 i64.shr_u i64.add - local.get $4 + local.get $3 i64.const 4294966784 i64.mul - local.get $1 + local.get $4 i64.const 4294967295 i64.and i64.add @@ -3925,25 +3898,25 @@ call $~lib/util/number/prettify i32.const 1 i32.shl - local.set $2 + local.set $1 global.get $~lib/memory/__stack_pointer - local.get $2 + local.get $1 call $~lib/rt/itcms/__new local.tee $0 i32.store local.get $0 i32.const 3472 - local.get $2 + local.get $1 call $~lib/memory/memory.copy global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - local.tee $2 + local.tee $1 local.get $0 i32.store - local.get $2 + local.get $1 i32.const 4464 i32.store offset=4 local.get $0 diff --git a/tests/compiler/resolve-unary.optimized.wat b/tests/compiler/resolve-unary.optimized.wat index 2bb32c9ef1..8856bdb4eb 100644 --- a/tests/compiler/resolve-unary.optimized.wat +++ b/tests/compiler/resolve-unary.optimized.wat @@ -159,8 +159,8 @@ i32.and i32.eq if - local.get $0 global.get $~lib/rt/itcms/iter + local.get $0 i32.eq if local.get $0 @@ -220,11 +220,11 @@ local.get $1 i32.store offset=8 local.get $1 - local.get $2 local.get $1 i32.load offset=4 i32.const 3 i32.and + local.get $2 i32.or i32.store offset=4 end @@ -238,10 +238,10 @@ if (result i32) i32.const 1 else - local.get $1 i32.const 3728 i32.load - i32.gt_u + local.get $1 + i32.lt_u if i32.const 1472 i32.const 1536 @@ -278,11 +278,11 @@ local.get $1 i32.store offset=8 local.get $1 - local.get $0 local.get $1 i32.load offset=4 i32.const 3 i32.and + local.get $0 i32.or i32.store offset=4 local.get $2 @@ -421,22 +421,22 @@ local.get $4 i32.eqz if - local.get $0 local.get $3 i32.const 2 i32.shl + local.get $0 i32.add - local.tee $1 + local.tee $4 i32.load offset=4 i32.const -2 local.get $2 i32.rotl i32.and - local.set $2 + local.set $1 + local.get $4 local.get $1 - local.get $2 i32.store offset=4 - local.get $2 + local.get $1 i32.eqz if local.get $0 @@ -684,10 +684,10 @@ i32.shl i32.or i32.store - local.get $0 local.get $5 i32.const 2 i32.shl + local.get $0 i32.add local.tee $0 local.get $0 @@ -727,11 +727,11 @@ i32.load offset=1568 local.tee $2 if + local.get $1 local.get $2 i32.const 4 i32.add - local.get $1 - i32.gt_u + i32.lt_u if i32.const 0 i32.const 1616 @@ -755,11 +755,11 @@ local.set $1 end else + local.get $1 local.get $0 i32.const 1572 i32.add - local.get $1 - i32.gt_u + i32.lt_u if i32.const 0 i32.const 1616 @@ -1046,13 +1046,13 @@ if local.get $0 i32.load offset=4 + local.tee $1 i32.const -4 i32.and global.set $~lib/rt/itcms/iter global.get $~lib/rt/itcms/white i32.eqz - local.get $0 - i32.load offset=4 + local.get $1 i32.const 3 i32.and i32.ne @@ -1139,10 +1139,10 @@ end global.get $~lib/rt/itcms/toSpace local.tee $0 - local.get $0 + local.tee $1 + local.get $1 i32.store offset=4 - global.get $~lib/rt/itcms/toSpace - local.tee $0 + local.get $0 local.get $0 i32.store offset=8 i32.const 0 @@ -1391,7 +1391,6 @@ i32.const 536870910 i32.lt_u if (result i32) - local.get $3 i32.const 1 i32.const 27 local.get $3 @@ -1400,6 +1399,7 @@ i32.shl i32.const 1 i32.sub + local.get $3 i32.add else local.get $3 @@ -1460,12 +1460,12 @@ unreachable end end - local.get $3 local.get $2 i32.load i32.const -4 i32.and - i32.gt_u + local.get $3 + i32.lt_u if i32.const 0 i32.const 1616 @@ -1503,10 +1503,10 @@ i32.ge_u if local.get $2 - local.get $3 local.get $5 i32.const 2 i32.and + local.get $3 i32.or i32.store local.get $3 @@ -1533,18 +1533,13 @@ local.get $2 i32.const 4 i32.add - local.tee $3 local.get $2 i32.load i32.const -4 i32.and i32.add + local.tee $3 local.get $3 - local.get $2 - i32.load - i32.const -4 - i32.and - i32.add i32.load i32.const -3 i32.and @@ -1561,19 +1556,19 @@ i32.load offset=8 local.set $3 local.get $2 - local.get $1 global.get $~lib/rt/itcms/white + local.get $1 i32.or i32.store offset=4 local.get $2 local.get $3 i32.store offset=8 local.get $3 - local.get $2 local.get $3 i32.load offset=4 i32.const 3 i32.and + local.get $2 i32.or i32.store offset=4 local.get $1 @@ -1883,13 +1878,13 @@ i32.const 10000 i32.div_u local.set $0 - local.get $1 local.get $2 i32.const 4 i32.sub local.tee $2 i32.const 1 i32.shl + local.get $1 i32.add local.get $4 i32.const 100 @@ -1918,13 +1913,13 @@ i32.const 100 i32.ge_u if - local.get $1 local.get $2 i32.const 2 i32.sub local.tee $2 i32.const 1 i32.shl + local.get $1 i32.add local.get $0 i32.const 100 @@ -1944,12 +1939,12 @@ i32.const 10 i32.ge_u if - local.get $1 local.get $2 i32.const 2 i32.sub i32.const 1 i32.shl + local.get $1 i32.add local.get $0 i32.const 2 @@ -1959,12 +1954,12 @@ i32.load i32.store else - local.get $1 local.get $2 i32.const 1 i32.sub i32.const 1 i32.shl + local.get $1 i32.add local.get $0 i32.const 48 @@ -2193,10 +2188,9 @@ call $~lib/number/I32#toString local.set $0 global.get $~lib/memory/__stack_pointer - local.tee $1 local.get $0 i32.store - local.get $1 + global.get $~lib/memory/__stack_pointer i32.const 3232 i32.store offset=4 local.get $0 @@ -2434,16 +2428,15 @@ local.get $0 global.set $resolve-unary/foo global.get $~lib/memory/__stack_pointer - local.tee $0 global.get $resolve-unary/foo i32.store offset=12 - local.get $0 + global.get $~lib/memory/__stack_pointer i32.const 3488 i32.store offset=8 - local.get $0 + global.get $~lib/memory/__stack_pointer i32.const 3488 i32.store - local.get $0 + global.get $~lib/memory/__stack_pointer i32.const 3488 i32.store offset=4 i32.const 3488 @@ -2492,7 +2485,19 @@ global.set $resolve-unary/foo local.get $0 global.get $resolve-unary/foo + local.tee $0 i32.store + local.get $0 + global.get $resolve-unary/foo + i32.ne + if + i32.const 0 + i32.const 3264 + i32.const 101 + i32.const 1 + call $~lib/builtins/abort + unreachable + end global.get $~lib/memory/__stack_pointer local.tee $0 global.get $resolve-unary/foo @@ -2502,7 +2507,19 @@ global.set $resolve-unary/foo local.get $0 global.get $resolve-unary/foo + local.tee $0 i32.store + local.get $0 + global.get $resolve-unary/foo + i32.ne + if + i32.const 0 + i32.const 3264 + i32.const 106 + i32.const 1 + call $~lib/builtins/abort + unreachable + end global.get $~lib/memory/__stack_pointer local.tee $0 global.get $resolve-unary/foo @@ -2620,16 +2637,15 @@ local.get $0 global.set $resolve-unary/bar global.get $~lib/memory/__stack_pointer - local.tee $0 global.get $resolve-unary/bar i32.store offset=12 - local.get $0 + global.get $~lib/memory/__stack_pointer i32.const 3616 i32.store offset=8 - local.get $0 + global.get $~lib/memory/__stack_pointer i32.const 3616 i32.store - local.get $0 + global.get $~lib/memory/__stack_pointer i32.const 3616 i32.store offset=4 i32.const 3616 diff --git a/tests/compiler/retain-i32.optimized.wat b/tests/compiler/retain-i32.optimized.wat index 19b101878c..1abc3a7de7 100644 --- a/tests/compiler/retain-i32.optimized.wat +++ b/tests/compiler/retain-i32.optimized.wat @@ -24,8 +24,5 @@ i32.const 0 i32.load8_s drop - i32.const 0 - i32.load8_s - drop ) ) diff --git a/tests/compiler/rt/finalize.optimized.wat b/tests/compiler/rt/finalize.optimized.wat index a95686b7df..520c7591bc 100644 --- a/tests/compiler/rt/finalize.optimized.wat +++ b/tests/compiler/rt/finalize.optimized.wat @@ -102,8 +102,8 @@ i32.and i32.eq if - local.get $0 global.get $~lib/rt/itcms/iter + local.get $0 i32.eq if local.get $0 @@ -163,11 +163,11 @@ local.get $1 i32.store offset=8 local.get $1 - local.get $2 local.get $1 i32.load offset=4 i32.const 3 i32.and + local.get $2 i32.or i32.store offset=4 end @@ -181,10 +181,10 @@ if (result i32) i32.const 1 else - local.get $1 i32.const 1488 i32.load - i32.gt_u + local.get $1 + i32.lt_u if i32.const 1248 i32.const 1312 @@ -221,11 +221,11 @@ local.get $1 i32.store offset=8 local.get $1 - local.get $0 local.get $1 i32.load offset=4 i32.const 3 i32.and + local.get $0 i32.or i32.store offset=4 local.get $2 @@ -364,22 +364,22 @@ local.get $4 i32.eqz if - local.get $0 local.get $3 i32.const 2 i32.shl + local.get $0 i32.add - local.tee $1 + local.tee $4 i32.load offset=4 i32.const -2 local.get $2 i32.rotl i32.and - local.set $2 + local.set $1 + local.get $4 local.get $1 - local.get $2 i32.store offset=4 - local.get $2 + local.get $1 i32.eqz if local.get $0 @@ -627,10 +627,10 @@ i32.shl i32.or i32.store - local.get $0 local.get $5 i32.const 2 i32.shl + local.get $0 i32.add local.tee $0 local.get $0 @@ -670,11 +670,11 @@ i32.load offset=1568 local.tee $2 if + local.get $1 local.get $2 i32.const 4 i32.add - local.get $1 - i32.gt_u + i32.lt_u if i32.const 0 i32.const 1440 @@ -698,11 +698,11 @@ local.set $1 end else + local.get $1 local.get $0 i32.const 1572 i32.add - local.get $1 - i32.gt_u + i32.lt_u if i32.const 0 i32.const 1440 @@ -989,13 +989,13 @@ if local.get $0 i32.load offset=4 + local.tee $1 i32.const -4 i32.and global.set $~lib/rt/itcms/iter global.get $~lib/rt/itcms/white i32.eqz - local.get $0 - i32.load offset=4 + local.get $1 i32.const 3 i32.and i32.ne @@ -1097,10 +1097,10 @@ end global.get $~lib/rt/itcms/toSpace local.tee $0 - local.get $0 + local.tee $1 + local.get $1 i32.store offset=4 - global.get $~lib/rt/itcms/toSpace - local.tee $0 + local.get $0 local.get $0 i32.store offset=8 i32.const 0 @@ -1120,11 +1120,11 @@ i32.and local.tee $2 if (result i32) - local.get $0 local.get $2 i32.ctz i32.const 2 i32.shl + local.get $0 i32.add i32.load offset=96 else @@ -1134,12 +1134,12 @@ i32.and local.tee $1 if (result i32) - local.get $0 local.get $1 i32.ctz local.tee $1 i32.const 2 i32.shl + local.get $0 i32.add i32.load offset=4 local.tee $2 @@ -1152,7 +1152,6 @@ call $~lib/builtins/abort unreachable end - local.get $0 local.get $2 i32.ctz local.get $1 @@ -1161,6 +1160,7 @@ i32.add i32.const 2 i32.shl + local.get $0 i32.add i32.load offset=96 else @@ -1394,18 +1394,13 @@ local.get $0 i32.const 4 i32.add - local.tee $1 local.get $0 i32.load i32.const -4 i32.and i32.add + local.tee $1 local.get $1 - local.get $0 - i32.load - i32.const -4 - i32.and - i32.add i32.load i32.const -3 i32.and @@ -1422,19 +1417,19 @@ i32.load offset=8 local.set $3 local.get $0 - local.get $1 global.get $~lib/rt/itcms/white + local.get $1 i32.or i32.store offset=4 local.get $0 local.get $3 i32.store offset=8 local.get $3 - local.get $0 local.get $3 i32.load offset=4 i32.const 3 i32.and + local.get $0 i32.or i32.store offset=4 local.get $1 diff --git a/tests/compiler/rt/instanceof.optimized.wat b/tests/compiler/rt/instanceof.optimized.wat index 469909e781..6b303de27f 100644 --- a/tests/compiler/rt/instanceof.optimized.wat +++ b/tests/compiler/rt/instanceof.optimized.wat @@ -142,8 +142,8 @@ i32.and i32.eq if - local.get $0 global.get $~lib/rt/itcms/iter + local.get $0 i32.eq if local.get $0 @@ -203,11 +203,11 @@ local.get $1 i32.store offset=8 local.get $1 - local.get $2 local.get $1 i32.load offset=4 i32.const 3 i32.and + local.get $2 i32.or i32.store offset=4 end @@ -221,10 +221,10 @@ if (result i32) i32.const 1 else - local.get $1 i32.const 1504 i32.load - i32.gt_u + local.get $1 + i32.lt_u if i32.const 1248 i32.const 1312 @@ -261,11 +261,11 @@ local.get $1 i32.store offset=8 local.get $1 - local.get $0 local.get $1 i32.load offset=4 i32.const 3 i32.and + local.get $0 i32.or i32.store offset=4 local.get $2 @@ -404,22 +404,22 @@ local.get $4 i32.eqz if - local.get $0 local.get $3 i32.const 2 i32.shl + local.get $0 i32.add - local.tee $1 + local.tee $4 i32.load offset=4 i32.const -2 local.get $2 i32.rotl i32.and - local.set $2 + local.set $1 + local.get $4 local.get $1 - local.get $2 i32.store offset=4 - local.get $2 + local.get $1 i32.eqz if local.get $0 @@ -667,10 +667,10 @@ i32.shl i32.or i32.store - local.get $0 local.get $5 i32.const 2 i32.shl + local.get $0 i32.add local.tee $0 local.get $0 @@ -710,11 +710,11 @@ i32.load offset=1568 local.tee $2 if + local.get $1 local.get $2 i32.const 4 i32.add - local.get $1 - i32.gt_u + i32.lt_u if i32.const 0 i32.const 1392 @@ -738,11 +738,11 @@ local.set $1 end else + local.get $1 local.get $0 i32.const 1572 i32.add - local.get $1 - i32.gt_u + i32.lt_u if i32.const 0 i32.const 1392 @@ -1029,13 +1029,13 @@ if local.get $0 i32.load offset=4 + local.tee $1 i32.const -4 i32.and global.set $~lib/rt/itcms/iter global.get $~lib/rt/itcms/white i32.eqz - local.get $0 - i32.load offset=4 + local.get $1 i32.const 3 i32.and i32.ne @@ -1122,10 +1122,10 @@ end global.get $~lib/rt/itcms/toSpace local.tee $0 - local.get $0 + local.tee $1 + local.get $1 i32.store offset=4 - global.get $~lib/rt/itcms/toSpace - local.tee $0 + local.get $0 local.get $0 i32.store offset=8 i32.const 0 @@ -1145,11 +1145,11 @@ i32.and local.tee $2 if (result i32) - local.get $0 local.get $2 i32.ctz i32.const 2 i32.shl + local.get $0 i32.add i32.load offset=96 else @@ -1159,12 +1159,12 @@ i32.and local.tee $1 if (result i32) - local.get $0 local.get $1 i32.ctz local.tee $1 i32.const 2 i32.shl + local.get $0 i32.add i32.load offset=4 local.tee $2 @@ -1177,7 +1177,6 @@ call $~lib/builtins/abort unreachable end - local.get $0 local.get $2 i32.ctz local.get $1 @@ -1186,6 +1185,7 @@ i32.add i32.const 2 i32.shl + local.get $0 i32.add i32.load offset=96 else @@ -1367,18 +1367,13 @@ local.get $1 i32.const 4 i32.add - local.tee $2 local.get $1 i32.load i32.const -4 i32.and i32.add + local.tee $2 local.get $2 - local.get $1 - i32.load - i32.const -4 - i32.and - i32.add i32.load i32.const -3 i32.and @@ -1395,19 +1390,19 @@ i32.load offset=8 local.set $2 local.get $1 - local.get $0 global.get $~lib/rt/itcms/white + local.get $0 i32.or i32.store offset=4 local.get $1 local.get $2 i32.store offset=8 local.get $2 - local.get $1 local.get $2 i32.load offset=4 i32.const 3 i32.and + local.get $1 i32.or i32.store offset=4 local.get $0 diff --git a/tests/compiler/rt/runtime-incremental-export.optimized.wat b/tests/compiler/rt/runtime-incremental-export.optimized.wat index 1178f405c9..1fe41540de 100644 --- a/tests/compiler/rt/runtime-incremental-export.optimized.wat +++ b/tests/compiler/rt/runtime-incremental-export.optimized.wat @@ -146,8 +146,8 @@ (local $1 i32) (local $2 i32) (local $3 i32) - local.get $0 global.get $~lib/rt/itcms/iter + local.get $0 i32.eq if local.get $0 @@ -177,10 +177,10 @@ if (result i32) i32.const 1 else - local.get $1 i32.const 1568 i32.load - i32.gt_u + local.get $1 + i32.lt_u if i32.const 1248 i32.const 1312 @@ -217,11 +217,11 @@ local.get $1 i32.store offset=8 local.get $1 - local.get $0 local.get $1 i32.load offset=4 i32.const 3 i32.and + local.get $0 i32.or i32.store offset=4 local.get $2 @@ -379,22 +379,22 @@ local.get $4 i32.eqz if - local.get $0 local.get $3 i32.const 2 i32.shl + local.get $0 i32.add - local.tee $1 + local.tee $4 i32.load offset=4 i32.const -2 local.get $2 i32.rotl i32.and - local.set $2 + local.set $1 + local.get $4 local.get $1 - local.get $2 i32.store offset=4 - local.get $2 + local.get $1 i32.eqz if local.get $0 @@ -642,10 +642,10 @@ i32.shl i32.or i32.store - local.get $0 local.get $5 i32.const 2 i32.shl + local.get $0 i32.add local.tee $0 local.get $0 @@ -685,11 +685,11 @@ i32.load offset=1568 local.tee $2 if + local.get $1 local.get $2 i32.const 4 i32.add - local.get $1 - i32.gt_u + i32.lt_u if i32.const 0 i32.const 1392 @@ -713,11 +713,11 @@ local.set $1 end else + local.get $1 local.get $0 i32.const 1572 i32.add - local.get $1 - i32.gt_u + i32.lt_u if i32.const 0 i32.const 1392 @@ -1004,13 +1004,13 @@ if local.get $0 i32.load offset=4 + local.tee $1 i32.const -4 i32.and global.set $~lib/rt/itcms/iter global.get $~lib/rt/itcms/white i32.eqz - local.get $0 - i32.load offset=4 + local.get $1 i32.const 3 i32.and i32.ne @@ -1097,10 +1097,10 @@ end global.get $~lib/rt/itcms/toSpace local.tee $0 - local.get $0 + local.tee $1 + local.get $1 i32.store offset=4 - global.get $~lib/rt/itcms/toSpace - local.tee $0 + local.get $0 local.get $0 i32.store offset=8 i32.const 0 @@ -1349,7 +1349,6 @@ i32.const 536870910 i32.lt_u if (result i32) - local.get $3 i32.const 1 i32.const 27 local.get $3 @@ -1358,6 +1357,7 @@ i32.shl i32.const 1 i32.sub + local.get $3 i32.add else local.get $3 @@ -1418,12 +1418,12 @@ unreachable end end - local.get $3 local.get $2 i32.load i32.const -4 i32.and - i32.gt_u + local.get $3 + i32.lt_u if i32.const 0 i32.const 1392 @@ -1461,10 +1461,10 @@ i32.ge_u if local.get $2 - local.get $3 local.get $5 i32.const 2 i32.and + local.get $3 i32.or i32.store local.get $3 @@ -1491,18 +1491,13 @@ local.get $2 i32.const 4 i32.add - local.tee $3 local.get $2 i32.load i32.const -4 i32.and i32.add + local.tee $3 local.get $3 - local.get $2 - i32.load - i32.const -4 - i32.and - i32.add i32.load i32.const -3 i32.and @@ -1519,19 +1514,19 @@ i32.load offset=8 local.set $3 local.get $2 - local.get $1 global.get $~lib/rt/itcms/white + local.get $1 i32.or i32.store offset=4 local.get $2 local.get $3 i32.store offset=8 local.get $3 - local.get $2 local.get $3 i32.load offset=4 i32.const 3 i32.and + local.get $2 i32.or i32.store offset=4 local.get $1 @@ -1764,11 +1759,11 @@ local.get $2 i32.store offset=8 local.get $2 - local.get $1 local.get $2 i32.load offset=4 i32.const 3 i32.and + local.get $1 i32.or i32.store offset=4 local.get $3 @@ -1816,19 +1811,19 @@ i32.load offset=8 local.set $1 local.get $0 - local.get $2 global.get $~lib/rt/itcms/white + local.get $2 i32.or i32.store offset=4 local.get $0 local.get $1 i32.store offset=8 local.get $1 - local.get $0 local.get $1 i32.load offset=4 i32.const 3 i32.and + local.get $0 i32.or i32.store offset=4 local.get $2 diff --git a/tests/compiler/rt/runtime-minimal-export.optimized.wat b/tests/compiler/rt/runtime-minimal-export.optimized.wat index 87505befa3..a2c0f41a79 100644 --- a/tests/compiler/rt/runtime-minimal-export.optimized.wat +++ b/tests/compiler/rt/runtime-minimal-export.optimized.wat @@ -160,22 +160,22 @@ local.get $4 i32.eqz if - local.get $0 local.get $3 i32.const 2 i32.shl + local.get $0 i32.add - local.tee $1 + local.tee $4 i32.load offset=4 i32.const -2 local.get $2 i32.rotl i32.and - local.set $2 + local.set $1 + local.get $4 local.get $1 - local.get $2 i32.store offset=4 - local.get $2 + local.get $1 i32.eqz if local.get $0 @@ -423,10 +423,10 @@ i32.shl i32.or i32.store - local.get $0 local.get $5 i32.const 2 i32.shl + local.get $0 i32.add local.tee $0 local.get $0 @@ -466,11 +466,11 @@ i32.load offset=1568 local.tee $2 if + local.get $1 local.get $2 i32.const 4 i32.add - local.get $1 - i32.gt_u + i32.lt_u if i32.const 0 i32.const 1184 @@ -494,11 +494,11 @@ local.set $1 end else + local.get $1 local.get $0 i32.const 1572 i32.add - local.get $1 - i32.gt_u + i32.lt_u if i32.const 0 i32.const 1184 @@ -821,7 +821,6 @@ i32.const 536870910 i32.lt_u if (result i32) - local.get $3 i32.const 1 i32.const 27 local.get $3 @@ -830,6 +829,7 @@ i32.shl i32.const 1 i32.sub + local.get $3 i32.add else local.get $3 @@ -890,12 +890,12 @@ unreachable end end - local.get $3 local.get $2 i32.load i32.const -4 i32.and - i32.gt_u + local.get $3 + i32.lt_u if i32.const 0 i32.const 1184 @@ -933,10 +933,10 @@ i32.ge_u if local.get $2 - local.get $3 local.get $4 i32.const 2 i32.and + local.get $3 i32.or i32.store local.get $3 @@ -963,18 +963,13 @@ local.get $2 i32.const 4 i32.add - local.tee $3 local.get $2 i32.load i32.const -4 i32.and i32.add + local.tee $3 local.get $3 - local.get $2 - i32.load - i32.const -4 - i32.and - i32.add i32.load i32.const -3 i32.and @@ -991,19 +986,19 @@ i32.load offset=8 local.set $1 local.get $2 - local.get $0 global.get $~lib/rt/tcms/white + local.get $0 i32.or i32.store offset=4 local.get $2 local.get $1 i32.store offset=8 local.get $1 - local.get $2 local.get $1 i32.load offset=4 i32.const 3 i32.and + local.get $2 i32.or i32.store offset=4 local.get $0 @@ -1111,11 +1106,11 @@ local.get $2 i32.store offset=8 local.get $2 - local.get $1 local.get $2 i32.load offset=4 i32.const 3 i32.and + local.get $1 i32.or i32.store offset=4 local.get $3 @@ -1156,19 +1151,19 @@ i32.load offset=8 local.set $1 local.get $0 - local.get $2 global.get $~lib/rt/tcms/white + local.get $2 i32.or i32.store offset=4 local.get $0 local.get $1 i32.store offset=8 local.get $1 - local.get $0 local.get $1 i32.load offset=4 i32.const 3 i32.and + local.get $0 i32.or i32.store offset=4 local.get $2 @@ -1407,20 +1402,20 @@ i32.load offset=8 local.set $1 local.get $0 - local.get $2 global.get $~lib/rt/tcms/white i32.eqz + local.get $2 i32.or i32.store offset=4 local.get $0 local.get $1 i32.store offset=8 local.get $1 - local.get $0 local.get $1 i32.load offset=4 i32.const 3 i32.and + local.get $0 i32.or i32.store offset=4 local.get $2 diff --git a/tests/compiler/std-wasi/console.optimized.wat b/tests/compiler/std-wasi/console.optimized.wat index 93d60424a6..ef33924c32 100644 --- a/tests/compiler/std-wasi/console.optimized.wat +++ b/tests/compiler/std-wasi/console.optimized.wat @@ -292,10 +292,10 @@ end unreachable end - local.get $0 local.get $1 i32.const 1 i32.shl + local.get $0 i32.add local.set $4 local.get $2 @@ -1130,22 +1130,22 @@ local.get $4 i32.eqz if - local.get $0 local.get $3 i32.const 2 i32.shl + local.get $0 i32.add - local.tee $1 + local.tee $4 i32.load offset=4 i32.const -2 local.get $2 i32.rotl i32.and - local.set $2 + local.set $1 + local.get $4 local.get $1 - local.get $2 i32.store offset=4 - local.get $2 + local.get $1 i32.eqz if local.get $0 @@ -1393,10 +1393,10 @@ i32.shl i32.or i32.store - local.get $0 local.get $5 i32.const 2 i32.shl + local.get $0 i32.add local.tee $0 local.get $0 @@ -1436,11 +1436,11 @@ i32.load offset=1568 local.tee $2 if + local.get $1 local.get $2 i32.const 4 i32.add - local.get $1 - i32.gt_u + i32.lt_u if i32.const 0 i32.const 4336 @@ -1464,11 +1464,11 @@ local.set $1 end else + local.get $1 local.get $0 i32.const 1572 i32.add - local.get $1 - i32.gt_u + i32.lt_u if i32.const 0 i32.const 4336 @@ -1775,7 +1775,6 @@ i32.const 536870910 i32.lt_u if (result i32) - local.get $0 i32.const 1 i32.const 27 local.get $0 @@ -1784,6 +1783,7 @@ i32.shl i32.const 1 i32.sub + local.get $0 i32.add else local.get $0 @@ -1844,12 +1844,12 @@ unreachable end end - local.get $0 local.get $1 i32.load i32.const -4 i32.and - i32.gt_u + local.get $0 + i32.lt_u if i32.const 0 i32.const 4336 @@ -1887,10 +1887,10 @@ i32.ge_u if local.get $1 - local.get $0 local.get $2 i32.const 2 i32.and + local.get $0 i32.or i32.store local.get $0 @@ -1917,18 +1917,13 @@ local.get $1 i32.const 4 i32.add - local.tee $0 local.get $1 i32.load i32.const -4 i32.and i32.add + local.tee $0 local.get $0 - local.get $1 - i32.load - i32.const -4 - i32.and - i32.add i32.load i32.const -3 i32.and @@ -2085,10 +2080,10 @@ local.get $1 local.tee $5 local.tee $4 + local.get $4 i32.const 20 i32.sub i32.load offset=16 - local.get $4 i32.add local.set $1 loop $while-continue|0 @@ -2270,8 +2265,8 @@ (local $1 i32) (local $2 i32) (local $3 i32) - local.get $0 global.get $~lib/rt/itcms/iter + local.get $0 i32.eq if local.get $0 @@ -2331,11 +2326,11 @@ local.get $1 i32.store offset=8 local.get $1 - local.get $2 local.get $1 i32.load offset=4 i32.const 3 i32.and + local.get $2 i32.or i32.store offset=4 end @@ -2349,10 +2344,10 @@ if (result i32) i32.const 1 else - local.get $1 i32.const 7936 i32.load - i32.gt_u + local.get $1 + i32.lt_u if i32.const 5120 i32.const 5184 @@ -2389,11 +2384,11 @@ local.get $1 i32.store offset=8 local.get $1 - local.get $0 local.get $1 i32.load offset=4 i32.const 3 i32.and + local.get $0 i32.or i32.store offset=4 local.get $2 @@ -2580,13 +2575,13 @@ if local.get $0 i32.load offset=4 + local.tee $1 i32.const -4 i32.and global.set $~lib/rt/itcms/iter global.get $~lib/rt/itcms/white i32.eqz - local.get $0 - i32.load offset=4 + local.get $1 i32.const 3 i32.and i32.ne @@ -2628,10 +2623,10 @@ end global.get $~lib/rt/itcms/toSpace local.tee $0 - local.get $0 + local.tee $1 + local.get $1 i32.store offset=4 - global.get $~lib/rt/itcms/toSpace - local.tee $0 + local.get $0 local.get $0 i32.store offset=8 i32.const 0 @@ -2894,19 +2889,19 @@ i32.load offset=8 local.set $1 local.get $2 - local.get $3 global.get $~lib/rt/itcms/white + local.get $3 i32.or i32.store offset=4 local.get $2 local.get $1 i32.store offset=8 local.get $1 - local.get $2 local.get $1 i32.load offset=4 i32.const 3 i32.and + local.get $2 i32.or i32.store offset=4 local.get $3 @@ -3290,13 +3285,13 @@ i64.load offset=8 i64.store offset=8 local.get $2 - local.get $6 local.get $7 call $~lib/util/hash/HASH<~lib/string/String> local.get $1 i32.and i32.const 2 i32.shl + local.get $6 i32.add local.tee $7 i32.load @@ -3613,13 +3608,13 @@ i64.const 100000000 i64.ge_u if - local.get $2 local.get $1 i32.const 4 i32.sub local.tee $1 i32.const 1 i32.shl + local.get $2 i32.add local.get $0 local.get $0 @@ -3653,13 +3648,13 @@ i64.shl i64.or i64.store - local.get $2 local.get $1 i32.const 4 i32.sub local.tee $1 i32.const 1 i32.shl + local.get $2 i32.add local.get $3 i32.const 10000 @@ -3731,38 +3726,38 @@ i32.load call $~lib/rt/itcms/__visit local.get $0 - i32.load offset=8 - local.tee $2 - local.tee $1 - local.get $0 i32.load offset=16 i32.const 24 i32.mul + local.get $0 + i32.load offset=8 + local.tee $1 + local.tee $0 i32.add - local.set $0 + local.set $2 loop $while-continue|0 local.get $0 - local.get $1 - i32.gt_u + local.get $2 + i32.lt_u if - local.get $1 + local.get $0 i32.load offset=16 i32.const 1 i32.and i32.eqz if - local.get $1 + local.get $0 i32.load call $~lib/rt/itcms/__visit end - local.get $1 + local.get $0 i32.const 24 i32.add - local.set $1 + local.set $0 br $while-continue|0 end end - local.get $2 + local.get $1 call $~lib/rt/itcms/__visit return end @@ -3879,9 +3874,9 @@ i32.store local.get $0 i32.load - local.get $2 local.get $0 i32.load offset=4 + local.get $2 i32.and i32.const 2 i32.shl @@ -4156,10 +4151,10 @@ i32.const 1 i32.add i32.store offset=16 - local.get $2 local.get $5 i32.const 24 i32.mul + local.get $2 i32.add local.tee $2 local.get $0 @@ -4180,9 +4175,9 @@ local.get $2 local.get $1 i32.load - local.get $4 local.get $1 i32.load offset=4 + local.get $4 i32.and i32.const 2 i32.shl @@ -4505,10 +4500,9 @@ i32.const 4528 call $~lib/console/console.log global.get $~lib/memory/__stack_pointer - local.tee $0 i32.const 4576 i32.store offset=4 - local.get $0 + global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub global.set $~lib/memory/__stack_pointer @@ -4540,10 +4534,9 @@ i32.add global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - local.tee $0 i32.const 4672 i32.store offset=4 - local.get $0 + global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub global.set $~lib/memory/__stack_pointer @@ -4575,10 +4568,9 @@ i32.add global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - local.tee $0 i32.const 4752 i32.store offset=4 - local.get $0 + global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub global.set $~lib/memory/__stack_pointer @@ -4610,10 +4602,9 @@ i32.add global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - local.tee $0 i32.const 4848 i32.store offset=4 - local.get $0 + global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub global.set $~lib/memory/__stack_pointer diff --git a/tests/compiler/std-wasi/crypto.optimized.wat b/tests/compiler/std-wasi/crypto.optimized.wat index 80619232b0..9918702766 100644 --- a/tests/compiler/std-wasi/crypto.optimized.wat +++ b/tests/compiler/std-wasi/crypto.optimized.wat @@ -1,7 +1,7 @@ (module (type $i32_=>_none (func (param i32))) - (type $i32_i32_=>_i32 (func (param i32 i32) (result i32))) (type $i32_=>_i32 (func (param i32) (result i32))) + (type $i32_i32_=>_i32 (func (param i32 i32) (result i32))) (type $none_=>_none (func)) (type $i32_i32_=>_none (func (param i32 i32))) (type $i32_i32_i32_=>_none (func (param i32 i32 i32))) @@ -248,10 +248,10 @@ end unreachable end - local.get $0 local.get $1 i32.const 1 i32.shl + local.get $0 i32.add local.set $4 local.get $2 @@ -723,8 +723,8 @@ (local $1 i32) (local $2 i32) (local $3 i32) - local.get $0 global.get $~lib/rt/itcms/iter + local.get $0 i32.eq if local.get $0 @@ -784,11 +784,11 @@ local.get $1 i32.store offset=8 local.get $1 - local.get $2 local.get $1 i32.load offset=4 i32.const 3 i32.and + local.get $2 i32.or i32.store offset=4 end @@ -802,10 +802,10 @@ if (result i32) i32.const 1 else - local.get $1 i32.const 6864 i32.load - i32.gt_u + local.get $1 + i32.lt_u if i32.const 1472 i32.const 1536 @@ -842,11 +842,11 @@ local.get $1 i32.store offset=8 local.get $1 - local.get $0 local.get $1 i32.load offset=4 i32.const 3 i32.and + local.get $0 i32.or i32.store offset=4 local.get $2 @@ -1004,22 +1004,22 @@ local.get $4 i32.eqz if - local.get $0 local.get $3 i32.const 2 i32.shl + local.get $0 i32.add - local.tee $1 + local.tee $4 i32.load offset=4 i32.const -2 local.get $2 i32.rotl i32.and - local.set $2 + local.set $1 + local.get $4 local.get $1 - local.get $2 i32.store offset=4 - local.get $2 + local.get $1 i32.eqz if local.get $0 @@ -1267,10 +1267,10 @@ i32.shl i32.or i32.store - local.get $0 local.get $5 i32.const 2 i32.shl + local.get $0 i32.add local.tee $0 local.get $0 @@ -1310,11 +1310,11 @@ i32.load offset=1568 local.tee $2 if + local.get $1 local.get $2 i32.const 4 i32.add - local.get $1 - i32.gt_u + i32.lt_u if i32.const 0 i32.const 1616 @@ -1338,11 +1338,11 @@ local.set $1 end else + local.get $1 local.get $0 i32.const 1572 i32.add - local.get $1 - i32.gt_u + i32.lt_u if i32.const 0 i32.const 1616 @@ -1679,13 +1679,13 @@ if local.get $0 i32.load offset=4 + local.tee $1 i32.const -4 i32.and global.set $~lib/rt/itcms/iter global.get $~lib/rt/itcms/white i32.eqz - local.get $0 - i32.load offset=4 + local.get $1 i32.const 3 i32.and i32.ne @@ -1727,10 +1727,10 @@ end global.get $~lib/rt/itcms/toSpace local.tee $0 - local.get $0 + local.tee $1 + local.get $1 i32.store offset=4 - global.get $~lib/rt/itcms/toSpace - local.tee $0 + local.get $0 local.get $0 i32.store offset=8 i32.const 0 @@ -1918,7 +1918,6 @@ i32.const 536870910 i32.lt_u if (result i32) - local.get $0 i32.const 1 i32.const 27 local.get $0 @@ -1927,6 +1926,7 @@ i32.shl i32.const 1 i32.sub + local.get $0 i32.add else local.get $0 @@ -1987,12 +1987,12 @@ unreachable end end - local.get $0 local.get $1 i32.load i32.const -4 i32.and - i32.gt_u + local.get $0 + i32.lt_u if i32.const 0 i32.const 1616 @@ -2030,10 +2030,10 @@ i32.ge_u if local.get $1 - local.get $0 local.get $2 i32.const 2 i32.and + local.get $0 i32.or i32.store local.get $0 @@ -2060,18 +2060,13 @@ local.get $1 i32.const 4 i32.add - local.tee $0 local.get $1 i32.load i32.const -4 i32.and i32.add + local.tee $0 local.get $0 - local.get $1 - i32.load - i32.const -4 - i32.and - i32.add i32.load i32.const -3 i32.and @@ -2333,19 +2328,19 @@ i32.load offset=8 local.set $1 local.get $2 - local.get $3 global.get $~lib/rt/itcms/white + local.get $3 i32.or i32.store offset=4 local.get $2 local.get $1 i32.store offset=8 local.get $1 - local.get $2 local.get $1 i32.load offset=4 i32.const 3 i32.and + local.get $2 i32.or i32.store offset=4 local.get $3 @@ -2741,12 +2736,13 @@ i32.const 4672 ) (func $~lib/crypto/crypto.getRandomValues (param $0 i32) + (local $1 i32) local.get $0 i32.load + local.tee $1 local.get $0 i32.load offset=4 - local.get $0 - i32.load + local.get $1 i32.sub i32.add local.get $0 @@ -2957,17 +2953,17 @@ select if local.get $0 - local.tee $3 + local.tee $4 i32.const 1 i32.add local.set $0 local.get $1 - local.tee $4 + local.tee $3 i32.const 1 i32.add local.set $1 - local.get $3 local.get $4 + local.get $3 i32.load8_u i32.store8 local.get $2 @@ -3113,19 +3109,19 @@ local.get $0 i32.const 2 i32.add - local.tee $3 + local.tee $4 i32.const 1 i32.add local.set $0 local.get $1 i32.const 2 i32.add - local.tee $4 + local.tee $3 i32.const 1 i32.add local.set $1 - local.get $3 local.get $4 + local.get $3 i32.load8_u i32.store8 local.get $2 @@ -3140,7 +3136,7 @@ local.get $0 local.get $1 i32.load offset=1 - local.tee $3 + local.tee $4 i32.const 8 i32.shl local.get $5 @@ -3151,10 +3147,10 @@ local.get $0 local.get $1 i32.load offset=5 - local.tee $4 + local.tee $3 i32.const 8 i32.shl - local.get $3 + local.get $4 i32.const 24 i32.shr_u i32.or @@ -3162,10 +3158,10 @@ local.get $0 local.get $1 i32.load offset=9 - local.tee $3 + local.tee $4 i32.const 8 i32.shl - local.get $4 + local.get $3 i32.const 24 i32.shr_u i32.or @@ -3176,7 +3172,7 @@ local.tee $5 i32.const 8 i32.shl - local.get $3 + local.get $4 i32.const 24 i32.shr_u i32.or @@ -3231,7 +3227,7 @@ local.get $0 local.get $1 i32.load offset=2 - local.tee $3 + local.tee $4 i32.const 16 i32.shl local.get $5 @@ -3242,10 +3238,10 @@ local.get $0 local.get $1 i32.load offset=6 - local.tee $4 + local.tee $3 i32.const 16 i32.shl - local.get $3 + local.get $4 i32.const 16 i32.shr_u i32.or @@ -3253,10 +3249,10 @@ local.get $0 local.get $1 i32.load offset=10 - local.tee $3 + local.tee $4 i32.const 16 i32.shl - local.get $4 + local.get $3 i32.const 16 i32.shr_u i32.or @@ -3267,7 +3263,7 @@ local.tee $5 i32.const 16 i32.shl - local.get $3 + local.get $4 i32.const 16 i32.shr_u i32.or @@ -3293,17 +3289,17 @@ i32.load local.set $5 local.get $0 - local.tee $3 + local.tee $4 i32.const 1 i32.add local.set $0 local.get $1 - local.tee $4 + local.tee $3 i32.const 1 i32.add local.set $1 - local.get $3 local.get $4 + local.get $3 i32.load8_u i32.store8 local.get $2 @@ -3318,7 +3314,7 @@ local.get $0 local.get $1 i32.load offset=3 - local.tee $3 + local.tee $4 i32.const 24 i32.shl local.get $5 @@ -3329,10 +3325,10 @@ local.get $0 local.get $1 i32.load offset=7 - local.tee $4 + local.tee $3 i32.const 24 i32.shl - local.get $3 + local.get $4 i32.const 8 i32.shr_u i32.or @@ -3340,10 +3336,10 @@ local.get $0 local.get $1 i32.load offset=11 - local.tee $3 + local.tee $4 i32.const 24 i32.shl - local.get $4 + local.get $3 i32.const 8 i32.shr_u i32.or @@ -3354,7 +3350,7 @@ local.tee $5 i32.const 24 i32.shl - local.get $3 + local.get $4 i32.const 8 i32.shr_u i32.or @@ -3385,145 +3381,137 @@ i32.load8_u i32.store8 local.get $0 - local.tee $4 - i32.const 2 - i32.add - local.set $0 local.get $1 - local.tee $3 - i32.const 2 - i32.add - local.set $1 - local.get $4 - local.get $3 i32.load8_u offset=1 i32.store8 offset=1 local.get $0 - local.get $1 - i32.load8_u - i32.store8 - local.get $0 - local.tee $4 i32.const 2 i32.add - local.set $0 + local.tee $4 local.get $1 + i32.const 2 + i32.add local.tee $3 + i32.load8_u + i32.store8 + local.get $3 + local.tee $0 i32.const 2 i32.add - local.set $1 + local.set $3 local.get $4 - local.get $3 + local.get $0 i32.load8_u offset=1 i32.store8 offset=1 - local.get $0 - local.get $1 + local.get $4 + i32.const 2 + i32.add + local.tee $1 + local.get $3 i32.load8_u i32.store8 - local.get $0 + local.get $1 local.tee $4 i32.const 2 i32.add - local.set $0 - local.get $1 - local.tee $3 + local.set $1 + local.get $3 + local.tee $0 i32.const 2 i32.add - local.set $1 + local.set $3 local.get $4 - local.get $3 + local.get $0 i32.load8_u offset=1 i32.store8 offset=1 - local.get $0 local.get $1 + local.get $3 i32.load8_u i32.store8 - local.get $0 + local.get $1 local.tee $4 i32.const 2 i32.add - local.set $0 - local.get $1 - local.tee $3 + local.set $1 + local.get $3 + local.tee $0 i32.const 2 i32.add - local.set $1 + local.set $3 local.get $4 - local.get $3 + local.get $0 i32.load8_u offset=1 i32.store8 offset=1 - local.get $0 local.get $1 + local.get $3 i32.load8_u i32.store8 - local.get $0 + local.get $1 local.tee $4 i32.const 2 i32.add - local.set $0 - local.get $1 - local.tee $3 + local.set $1 + local.get $3 + local.tee $0 i32.const 2 i32.add - local.set $1 + local.set $3 local.get $4 - local.get $3 + local.get $0 i32.load8_u offset=1 i32.store8 offset=1 - local.get $0 local.get $1 + local.get $3 i32.load8_u i32.store8 - local.get $0 + local.get $1 local.tee $4 i32.const 2 i32.add - local.set $0 - local.get $1 - local.tee $3 + local.set $1 + local.get $3 + local.tee $0 i32.const 2 i32.add - local.set $1 + local.set $3 local.get $4 - local.get $3 + local.get $0 i32.load8_u offset=1 i32.store8 offset=1 - local.get $0 local.get $1 + local.get $3 i32.load8_u i32.store8 - local.get $0 + local.get $1 local.tee $4 i32.const 2 i32.add - local.set $0 - local.get $1 - local.tee $3 + local.set $1 + local.get $3 + local.tee $0 i32.const 2 i32.add - local.set $1 + local.set $3 local.get $4 - local.get $3 + local.get $0 i32.load8_u offset=1 i32.store8 offset=1 - local.get $0 local.get $1 + local.get $3 i32.load8_u i32.store8 - local.get $0 - local.tee $4 + local.get $1 i32.const 2 i32.add local.set $0 local.get $1 - local.tee $3 - i32.const 2 - i32.add - local.set $1 - local.get $4 local.get $3 i32.load8_u offset=1 i32.store8 offset=1 + local.get $3 + i32.const 2 + i32.add + local.set $1 end local.get $2 i32.const 8 @@ -3534,73 +3522,65 @@ i32.load8_u i32.store8 local.get $0 - local.tee $4 - i32.const 2 - i32.add - local.set $0 local.get $1 - local.tee $3 - i32.const 2 - i32.add - local.set $1 - local.get $4 - local.get $3 i32.load8_u offset=1 i32.store8 offset=1 local.get $0 - local.get $1 - i32.load8_u - i32.store8 - local.get $0 - local.tee $4 i32.const 2 i32.add - local.set $0 + local.tee $4 local.get $1 - local.tee $3 i32.const 2 i32.add - local.set $1 - local.get $4 + local.tee $3 + i32.load8_u + i32.store8 local.get $3 + local.tee $0 + i32.const 2 + i32.add + local.set $3 + local.get $4 + local.get $0 i32.load8_u offset=1 i32.store8 offset=1 - local.get $0 - local.get $1 + local.get $4 + i32.const 2 + i32.add + local.tee $1 + local.get $3 i32.load8_u i32.store8 - local.get $0 + local.get $1 local.tee $4 i32.const 2 i32.add - local.set $0 - local.get $1 - local.tee $3 + local.set $1 + local.get $3 + local.tee $0 i32.const 2 i32.add - local.set $1 + local.set $3 local.get $4 - local.get $3 + local.get $0 i32.load8_u offset=1 i32.store8 offset=1 - local.get $0 local.get $1 + local.get $3 i32.load8_u i32.store8 - local.get $0 - local.tee $4 + local.get $1 i32.const 2 i32.add local.set $0 local.get $1 - local.tee $3 - i32.const 2 - i32.add - local.set $1 - local.get $4 local.get $3 i32.load8_u offset=1 i32.store8 offset=1 + local.get $3 + i32.const 2 + i32.add + local.set $1 end local.get $2 i32.const 4 @@ -3611,30 +3591,20 @@ i32.load8_u i32.store8 local.get $0 - local.tee $4 - i32.const 2 - i32.add - local.set $0 local.get $1 - local.tee $3 - i32.const 2 - i32.add - local.set $1 - local.get $4 - local.get $3 i32.load8_u offset=1 i32.store8 offset=1 local.get $0 - local.get $1 - i32.load8_u - i32.store8 - local.get $0 - local.tee $4 i32.const 2 i32.add - local.set $0 + local.tee $4 local.get $1 + i32.const 2 + i32.add local.tee $3 + i32.load8_u + i32.store8 + local.get $3 i32.const 2 i32.add local.set $1 @@ -3642,6 +3612,10 @@ local.get $3 i32.load8_u offset=1 i32.store8 offset=1 + local.get $4 + i32.const 2 + i32.add + local.set $0 end local.get $2 i32.const 2 @@ -3867,245 +3841,589 @@ end end ) - (func $~lib/string/String.__concat (param $0 i32) (result i32) + (func $~lib/typedarray/Uint8Array#join (param $0 i32) (result i32) (local $1 i32) (local $2 i32) (local $3 i32) + (local $4 i32) + (local $5 i32) + (local $6 i32) + local.get $0 + i32.load offset=4 + local.set $3 + local.get $0 + i32.load offset=8 + local.set $1 + i32.const 0 + local.set $0 global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub global.set $~lib/memory/__stack_pointer - global.get $~lib/memory/__stack_pointer - i32.const 6900 - i32.lt_s - if - i32.const 23312 - i32.const 23360 - i32.const 1 - i32.const 1 - call $~lib/wasi/index/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store - block $__inlined_func$~lib/string/String#concat - i32.const 4764 - i32.load - i32.const 1 - i32.shr_u - i32.const 1 - i32.shl - local.tee $2 - local.get $0 - i32.const 20 - i32.sub - i32.load offset=16 - i32.const 1 - i32.shr_u - i32.const 1 - i32.shl - local.tee $3 - i32.add - local.tee $1 - i32.eqz - if - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - i32.const 4848 - local.set $1 - br $__inlined_func$~lib/string/String#concat - end + block $folding-inner1 global.get $~lib/memory/__stack_pointer - local.get $1 - i32.const 1 - call $~lib/rt/itcms/__new - local.tee $1 - i32.store - local.get $1 - i32.const 4768 - local.get $2 - call $~lib/memory/memory.copy - local.get $1 - local.get $2 - i32.add - local.get $0 - local.get $3 - call $~lib/memory/memory.copy + i32.const 6900 + i32.lt_s + br_if $folding-inner1 global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - end - local.get $1 - ) - (func $~lib/process/writeString (param $0 i32) - (local $1 i32) - (local $2 i32) - (local $3 i32) - (local $4 i32) - (local $5 i32) - block $break|0 - block $case4|0 - block $case3|0 - block $case2|0 - block $case1|0 - block $case0|0 - local.get $0 - i32.const 20 - i32.sub - i32.load offset=16 - i32.const 1 - i32.shr_u - local.tee $5 - br_table $case4|0 $case3|0 $case2|0 $case1|0 $case0|0 $break|0 - end - local.get $0 - i32.load16_u offset=6 - local.tee $1 - i32.const 128 - i32.ge_u - br_if $break|0 - end - local.get $0 - i32.load16_u offset=4 - local.tee $2 - i32.const 128 - i32.ge_u - br_if $break|0 - end - local.get $0 - i32.load16_u offset=2 - local.tee $3 - i32.const 128 - i32.ge_u - br_if $break|0 - end - local.get $0 - i32.load16_u - local.tee $4 - i32.const 128 - i32.ge_u - br_if $break|0 - i32.const 6672 - i32.const 6680 - i32.store - i32.const 6676 - local.get $5 - i32.store - i32.const 6680 - local.get $4 - local.get $3 - i32.const 8 - i32.shl - i32.or - local.get $2 - i32.const 16 - i32.shl - i32.or + i32.const 0 + i32.store + block $__inlined_func$~lib/util/string/joinIntegerArray local.get $1 - i32.const 24 - i32.shl - i32.or - i32.store - i32.const 1 - i32.const 6672 i32.const 1 - i32.const 6684 - call $~lib/bindings/wasi_snapshot_preview1/fd_write - local.tee $0 - i32.const 65535 - i32.and + i32.sub + local.tee $2 + i32.const 0 + i32.lt_s if - local.get $0 - call $~lib/bindings/wasi_snapshot_preview1/errnoToString - i32.const 6720 - i32.const 180 - i32.const 16 - call $~lib/wasi/index/abort - unreachable + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + i32.const 4848 + local.set $0 + br $__inlined_func$~lib/util/string/joinIntegerArray end - end - return - end - local.get $0 - local.set $1 - i32.const 0 - local.set $2 - local.get $0 - local.get $0 - i32.const 20 - i32.sub - i32.load offset=16 - i32.add - local.set $3 - loop $while-continue|0 - local.get $1 - local.get $3 - i32.lt_u - if - local.get $1 - i32.load16_u - local.tee $4 - i32.const 128 - i32.lt_u - if (result i32) + block $folding-inner0 + local.get $2 + i32.eqz + if + block $__inlined_func$~lib/util/number/utoa32 (result i32) + local.get $3 + i32.load8_u + local.set $1 + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.sub + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 6900 + i32.lt_s + br_if $folding-inner1 + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store + local.get $1 + i32.eqz + if + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + i32.const 5072 + br $__inlined_func$~lib/util/number/utoa32 + end + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.const 100000 + i32.lt_u + if (result i32) + local.get $1 + i32.const 100 + i32.lt_u + if (result i32) + local.get $1 + i32.const 10 + i32.ge_u + i32.const 1 + i32.add + else + local.get $1 + i32.const 10000 + i32.ge_u + i32.const 3 + i32.add + local.get $1 + i32.const 1000 + i32.ge_u + i32.add + end + else + local.get $1 + i32.const 10000000 + i32.lt_u + if (result i32) + local.get $1 + i32.const 1000000 + i32.ge_u + i32.const 6 + i32.add + else + local.get $1 + i32.const 1000000000 + i32.ge_u + i32.const 8 + i32.add + local.get $1 + i32.const 100000000 + i32.ge_u + i32.add + end + end + local.tee $0 + i32.const 1 + i32.shl + i32.const 1 + call $~lib/rt/itcms/__new + local.tee $2 + i32.store + local.get $2 + local.get $1 + local.get $0 + call $~lib/util/number/utoa32_dec_lut + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $2 + end + local.set $0 + br $folding-inner0 + end + global.get $~lib/memory/__stack_pointer local.get $2 + i32.const 6652 + i32.load i32.const 1 + i32.shr_u + local.tee $4 + i32.const 10 i32.add - else - local.get $4 - i32.const 2048 - i32.lt_u - if (result i32) + i32.mul + i32.const 10 + i32.add + local.tee $6 + i32.const 1 + i32.shl + i32.const 1 + call $~lib/rt/itcms/__new + local.tee $1 + i32.store + loop $for-loop|0 local.get $2 - i32.const 2 - i32.add - else - local.get $3 + local.get $5 + i32.gt_s + if + local.get $0 + i32.const 1 + i32.shl + local.get $1 + i32.add + local.get $3 + local.get $5 + i32.add + i32.load8_u + call $~lib/util/number/itoa_buffered + local.get $0 + i32.add + local.set $0 + local.get $4 + if + local.get $0 + i32.const 1 + i32.shl + local.get $1 + i32.add + i32.const 6656 + local.get $4 + i32.const 1 + i32.shl + call $~lib/memory/memory.copy + local.get $0 + local.get $4 + i32.add + local.set $0 + end + local.get $5 + i32.const 1 + i32.add + local.set $5 + br $for-loop|0 + end + end + local.get $6 + local.get $0 + i32.const 1 + i32.shl + local.get $1 + i32.add + local.get $2 + local.get $3 + i32.add + i32.load8_u + call $~lib/util/number/itoa_buffered + local.get $0 + i32.add + local.tee $2 + i32.gt_s + if local.get $1 - i32.const 2 - i32.add - i32.gt_u + local.set $0 + local.get $2 + local.set $1 + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.sub + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 6900 + i32.lt_s + br_if $folding-inner1 + global.get $~lib/memory/__stack_pointer i32.const 0 - local.get $4 - i32.const 64512 - i32.and - i32.const 55296 - i32.eq + i32.store + i32.const 0 + local.get $0 + i32.const 20 + i32.sub + i32.load offset=16 + i32.const 1 + i32.shr_u + local.tee $2 + local.get $2 select - if + local.tee $3 + local.get $1 + i32.const 0 + local.get $1 + i32.const 0 + i32.gt_s + select + local.tee $1 + local.get $2 + local.get $1 + local.get $2 + i32.lt_s + select + local.tee $1 + local.get $1 + local.get $3 + i32.gt_s + select + i32.const 1 + i32.shl + local.set $4 + block $__inlined_func$~lib/string/String#substring + local.get $3 local.get $1 - i32.load16_u offset=2 - i32.const 64512 - i32.and - i32.const 56320 - i32.eq + local.get $1 + local.get $3 + i32.lt_s + select + i32.const 1 + i32.shl + local.tee $1 + local.get $4 + i32.sub + local.tee $3 + i32.eqz if - local.get $2 + global.get $~lib/memory/__stack_pointer i32.const 4 i32.add - local.set $2 - local.get $1 + global.set $~lib/memory/__stack_pointer + i32.const 4848 + local.set $0 + br $__inlined_func$~lib/string/String#substring + end + i32.const 0 + local.get $2 + i32.const 1 + i32.shl + local.get $1 + i32.eq + local.get $4 + select + if + global.get $~lib/memory/__stack_pointer i32.const 4 i32.add - local.set $1 - br $while-continue|0 + global.set $~lib/memory/__stack_pointer + br $__inlined_func$~lib/string/String#substring end + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.const 1 + call $~lib/rt/itcms/__new + local.tee $1 + i32.store + local.get $1 + local.get $0 + local.get $4 + i32.add + local.get $3 + call $~lib/memory/memory.copy + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $1 + local.set $0 end - local.get $2 - i32.const 3 - i32.add + br $folding-inner0 end + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $1 + local.set $0 + br $__inlined_func$~lib/util/string/joinIntegerArray end - local.set $2 - local.get $1 - i32.const 2 + global.get $~lib/memory/__stack_pointer + i32.const 4 i32.add - local.set $1 - br $while-continue|0 + global.set $~lib/memory/__stack_pointer + end + local.get $0 + return + end + i32.const 23312 + i32.const 23360 + i32.const 1 + i32.const 1 + call $~lib/wasi/index/abort + unreachable + ) + (func $~lib/string/String.__concat (param $0 i32) (result i32) + (local $1 i32) + (local $2 i32) + (local $3 i32) + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.sub + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 6900 + i32.lt_s + if + i32.const 23312 + i32.const 23360 + i32.const 1 + i32.const 1 + call $~lib/wasi/index/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store + block $__inlined_func$~lib/string/String#concat + i32.const 4764 + i32.load + i32.const 1 + i32.shr_u + i32.const 1 + i32.shl + local.tee $2 + local.get $0 + i32.const 20 + i32.sub + i32.load offset=16 + i32.const 1 + i32.shr_u + i32.const 1 + i32.shl + local.tee $3 + i32.add + local.tee $1 + i32.eqz + if + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + i32.const 4848 + local.set $1 + br $__inlined_func$~lib/string/String#concat + end + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.const 1 + call $~lib/rt/itcms/__new + local.tee $1 + i32.store + local.get $1 + i32.const 4768 + local.get $2 + call $~lib/memory/memory.copy + local.get $1 + local.get $2 + i32.add + local.get $0 + local.get $3 + call $~lib/memory/memory.copy + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + end + local.get $1 + ) + (func $~lib/process/writeString (param $0 i32) + (local $1 i32) + (local $2 i32) + (local $3 i32) + (local $4 i32) + (local $5 i32) + block $break|0 + block $case4|0 + block $case3|0 + block $case2|0 + block $case1|0 + block $case0|0 + local.get $0 + i32.const 20 + i32.sub + i32.load offset=16 + i32.const 1 + i32.shr_u + local.tee $5 + br_table $case4|0 $case3|0 $case2|0 $case1|0 $case0|0 $break|0 + end + local.get $0 + i32.load16_u offset=6 + local.tee $1 + i32.const 128 + i32.ge_u + br_if $break|0 + end + local.get $0 + i32.load16_u offset=4 + local.tee $2 + i32.const 128 + i32.ge_u + br_if $break|0 + end + local.get $0 + i32.load16_u offset=2 + local.tee $3 + i32.const 128 + i32.ge_u + br_if $break|0 + end + local.get $0 + i32.load16_u + local.tee $4 + i32.const 128 + i32.ge_u + br_if $break|0 + i32.const 6672 + i32.const 6680 + i32.store + i32.const 6676 + local.get $5 + i32.store + i32.const 6680 + local.get $3 + i32.const 8 + i32.shl + local.get $4 + i32.or + local.get $2 + i32.const 16 + i32.shl + i32.or + local.get $1 + i32.const 24 + i32.shl + i32.or + i32.store + i32.const 1 + i32.const 6672 + i32.const 1 + i32.const 6684 + call $~lib/bindings/wasi_snapshot_preview1/fd_write + local.tee $0 + i32.const 65535 + i32.and + if + local.get $0 + call $~lib/bindings/wasi_snapshot_preview1/errnoToString + i32.const 6720 + i32.const 180 + i32.const 16 + call $~lib/wasi/index/abort + unreachable + end + end + return + end + local.get $0 + local.set $1 + i32.const 0 + local.set $2 + local.get $0 + i32.const 20 + i32.sub + i32.load offset=16 + local.get $0 + i32.add + local.set $3 + loop $while-continue|0 + local.get $1 + local.get $3 + i32.lt_u + if + local.get $1 + i32.load16_u + local.tee $4 + i32.const 128 + i32.lt_u + if (result i32) + local.get $2 + i32.const 1 + i32.add + else + local.get $4 + i32.const 2048 + i32.lt_u + if (result i32) + local.get $2 + i32.const 2 + i32.add + else + local.get $3 + local.get $1 + i32.const 2 + i32.add + i32.gt_u + i32.const 0 + local.get $4 + i32.const 64512 + i32.and + i32.const 55296 + i32.eq + select + if + local.get $1 + i32.load16_u offset=2 + i32.const 64512 + i32.and + i32.const 56320 + i32.eq + if + local.get $2 + i32.const 4 + i32.add + local.set $2 + local.get $1 + i32.const 4 + i32.add + local.set $1 + br $while-continue|0 + end + end + local.get $2 + i32.const 3 + i32.add + end + end + local.set $2 + local.get $1 + i32.const 2 + i32.add + local.set $1 + br $while-continue|0 end end local.get $2 @@ -4232,10 +4550,7 @@ i32.const 6656 i32.store local.get $0 - i32.load offset=4 - local.get $0 - i32.load offset=8 - call $~lib/util/string/joinIntegerArray + call $~lib/typedarray/Uint8Array#join global.get $~lib/memory/__stack_pointer i32.const 4 i32.add @@ -4367,10 +4682,9 @@ local.get $0 call $~lib/crypto/crypto.getRandomValues global.get $~lib/memory/__stack_pointer - local.tee $0 i32.const 4768 i32.store offset=4 - local.get $0 + global.get $~lib/memory/__stack_pointer global.get $std-wasi/crypto/buf local.tee $0 i32.store offset=12 @@ -4411,10 +4725,9 @@ local.get $0 call $~lib/crypto/crypto.getRandomValues global.get $~lib/memory/__stack_pointer - local.tee $0 i32.const 4768 i32.store offset=4 - local.get $0 + global.get $~lib/memory/__stack_pointer global.get $std-wasi/crypto/buf local.tee $0 i32.store offset=12 @@ -4499,463 +4812,39 @@ local.tee $0 i32.store local.get $0 - local.get $1 - i32.const 4 - i32.add - call $~lib/typedarray/Uint8Array#__get - local.set $0 - global.get $~lib/memory/__stack_pointer - global.get $std-wasi/crypto/b2 - local.tee $2 - i32.store - local.get $2 - local.get $1 - call $~lib/typedarray/Uint8Array#__get - local.get $0 - i32.ne - if - i32.const 0 - i32.const 6816 - i32.const 20 - i32.const 3 - call $~lib/wasi/index/abort - unreachable - end - local.get $1 - i32.const 1 - i32.add - local.set $1 - br $for-loop|1 - end - end - global.get $~lib/memory/__stack_pointer - i32.const 16 - i32.add - global.set $~lib/memory/__stack_pointer - return - end - i32.const 23312 - i32.const 23360 - i32.const 1 - i32.const 1 - call $~lib/wasi/index/abort - unreachable - ) - (func $~lib/typedarray/Uint8Array.wrap (param $0 i32) (param $1 i32) (param $2 i32) (result i32) - (local $3 i32) - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.sub - global.set $~lib/memory/__stack_pointer - global.get $~lib/memory/__stack_pointer - i32.const 6900 - i32.lt_s - if - i32.const 23312 - i32.const 23360 - i32.const 1 - i32.const 1 - call $~lib/wasi/index/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store - local.get $1 - local.get $0 - i32.const 20 - i32.sub - i32.load offset=16 - local.tee $3 - i32.gt_u - if - i32.const 1472 - i32.const 1680 - i32.const 1870 - i32.const 5 - call $~lib/wasi/index/abort - unreachable - end - local.get $2 - i32.const 0 - i32.lt_s - if - local.get $2 - i32.const -1 - i32.eq - if (result i32) - local.get $3 - local.get $1 - i32.sub - else - i32.const 1168 - i32.const 1680 - i32.const 1879 - i32.const 7 - call $~lib/wasi/index/abort - unreachable - end - local.set $2 - else - local.get $3 - local.get $1 - local.get $2 - i32.add - i32.lt_s - if - i32.const 1168 - i32.const 1680 - i32.const 1884 - i32.const 7 - call $~lib/wasi/index/abort - unreachable - end - end - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.const 3 - call $~lib/rt/itcms/__new - local.tee $3 - i32.store - local.get $3 - local.get $0 - i32.store - local.get $3 - local.get $0 - call $~lib/rt/itcms/__link - local.get $3 - local.get $2 - i32.store offset=8 - local.get $3 - local.get $0 - local.get $1 - i32.add - i32.store offset=4 - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $3 - ) - (func $~lib/util/string/joinIntegerArray (param $0 i32) (param $1 i32) (result i32) - (local $2 i32) - (local $3 i32) - (local $4 i32) - (local $5 i32) - (local $6 i32) - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.sub - global.set $~lib/memory/__stack_pointer - block $folding-inner1 - global.get $~lib/memory/__stack_pointer - i32.const 6900 - i32.lt_s - br_if $folding-inner1 - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store - local.get $1 - i32.const 1 - i32.sub - local.tee $3 - i32.const 0 - i32.lt_s - if - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - i32.const 4848 - return - end - block $folding-inner0 - local.get $3 - i32.eqz - if - local.get $0 - i32.load8_u - local.set $2 - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.sub - global.set $~lib/memory/__stack_pointer - global.get $~lib/memory/__stack_pointer - i32.const 6900 - i32.lt_s - br_if $folding-inner1 - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store - block $__inlined_func$~lib/util/number/utoa32 - local.get $2 - i32.eqz - if - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - i32.const 5072 - local.set $0 - br $__inlined_func$~lib/util/number/utoa32 - end - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.const 100000 - i32.lt_u - if (result i32) - local.get $2 - i32.const 100 - i32.lt_u - if (result i32) - local.get $2 - i32.const 10 - i32.ge_u - i32.const 1 - i32.add - else - local.get $2 - i32.const 10000 - i32.ge_u - i32.const 3 - i32.add - local.get $2 - i32.const 1000 - i32.ge_u - i32.add - end - else - local.get $2 - i32.const 10000000 - i32.lt_u - if (result i32) - local.get $2 - i32.const 1000000 - i32.ge_u - i32.const 6 - i32.add - else - local.get $2 - i32.const 1000000000 - i32.ge_u - i32.const 8 - i32.add - local.get $2 - i32.const 100000000 - i32.ge_u - i32.add - end - end - local.tee $1 - i32.const 1 - i32.shl - i32.const 1 - call $~lib/rt/itcms/__new - local.tee $0 - i32.store - local.get $0 - local.get $2 - local.get $1 - call $~lib/util/number/utoa32_dec_lut - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - end - br $folding-inner0 - end - global.get $~lib/memory/__stack_pointer - local.get $3 - i32.const 6652 - i32.load - i32.const 1 - i32.shr_u - local.tee $4 - i32.const 10 - i32.add - i32.mul - i32.const 10 - i32.add - local.tee $6 - i32.const 1 - i32.shl - i32.const 1 - call $~lib/rt/itcms/__new - local.tee $1 - i32.store - loop $for-loop|0 - local.get $3 - local.get $5 - i32.gt_s - if - local.get $1 - local.get $2 - i32.const 1 - i32.shl - i32.add - local.get $0 - local.get $5 - i32.add - i32.load8_u - call $~lib/util/number/itoa_buffered - local.get $2 - i32.add - local.set $2 - local.get $4 - if - local.get $1 - local.get $2 - i32.const 1 - i32.shl - i32.add - i32.const 6656 - local.get $4 - i32.const 1 - i32.shl - call $~lib/memory/memory.copy - local.get $2 - local.get $4 - i32.add - local.set $2 - end - local.get $5 - i32.const 1 - i32.add - local.set $5 - br $for-loop|0 - end - end - local.get $6 - local.get $1 - local.get $2 - i32.const 1 - i32.shl - i32.add - local.get $0 - local.get $3 - i32.add - i32.load8_u - call $~lib/util/number/itoa_buffered - local.get $2 - i32.add - local.tee $3 - i32.gt_s - if - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.sub - global.set $~lib/memory/__stack_pointer - global.get $~lib/memory/__stack_pointer - i32.const 6900 - i32.lt_s - br_if $folding-inner1 + local.get $1 + i32.const 4 + i32.add + call $~lib/typedarray/Uint8Array#__get + local.set $0 global.get $~lib/memory/__stack_pointer - i32.const 0 + global.get $std-wasi/crypto/b2 + local.tee $2 i32.store - block $__inlined_func$~lib/string/String#substring + local.get $2 + local.get $1 + call $~lib/typedarray/Uint8Array#__get + local.get $0 + i32.ne + if i32.const 0 - local.get $1 - local.tee $0 + i32.const 6816 i32.const 20 - i32.sub - i32.load offset=16 - i32.const 1 - i32.shr_u - local.tee $1 - local.get $1 - i32.const 0 - i32.gt_s - select - local.tee $2 - local.get $3 - i32.const 0 - local.get $3 - i32.const 0 - i32.gt_s - select - local.tee $3 - local.get $1 - local.get $1 - local.get $3 - i32.gt_s - select - local.tee $3 - local.get $2 - local.get $3 - i32.gt_s - select - i32.const 1 - i32.shl - local.tee $4 - local.get $2 - local.get $3 - local.get $2 - local.get $3 - i32.lt_s - select - i32.const 1 - i32.shl - local.tee $2 - i32.sub - local.tee $3 - i32.eqz - if - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - i32.const 4848 - local.set $0 - br $__inlined_func$~lib/string/String#substring - end - i32.const 0 - local.get $4 - local.get $1 - i32.const 1 - i32.shl - i32.eq - local.get $2 - select - if - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - br $__inlined_func$~lib/string/String#substring - end - global.get $~lib/memory/__stack_pointer - local.get $3 - i32.const 1 - call $~lib/rt/itcms/__new - local.tee $1 - i32.store - local.get $1 - local.get $0 - local.get $2 - i32.add - local.get $3 - call $~lib/memory/memory.copy - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $1 - local.set $0 + i32.const 3 + call $~lib/wasi/index/abort + unreachable end - br $folding-inner0 + local.get $1 + i32.const 1 + i32.add + local.set $1 + br $for-loop|1 end - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $1 - return end global.get $~lib/memory/__stack_pointer - i32.const 4 + i32.const 16 i32.add global.set $~lib/memory/__stack_pointer - local.get $0 return end i32.const 23312 @@ -4965,6 +4854,102 @@ call $~lib/wasi/index/abort unreachable ) + (func $~lib/typedarray/Uint8Array.wrap (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (local $3 i32) + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.sub + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 6900 + i32.lt_s + if + i32.const 23312 + i32.const 23360 + i32.const 1 + i32.const 1 + call $~lib/wasi/index/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store + local.get $1 + local.get $0 + i32.const 20 + i32.sub + i32.load offset=16 + local.tee $3 + i32.gt_u + if + i32.const 1472 + i32.const 1680 + i32.const 1870 + i32.const 5 + call $~lib/wasi/index/abort + unreachable + end + local.get $2 + i32.const 0 + i32.lt_s + if + local.get $2 + i32.const -1 + i32.eq + if (result i32) + local.get $3 + local.get $1 + i32.sub + else + i32.const 1168 + i32.const 1680 + i32.const 1879 + i32.const 7 + call $~lib/wasi/index/abort + unreachable + end + local.set $2 + else + local.get $3 + local.get $1 + local.get $2 + i32.add + i32.lt_s + if + i32.const 1168 + i32.const 1680 + i32.const 1884 + i32.const 7 + call $~lib/wasi/index/abort + unreachable + end + end + global.get $~lib/memory/__stack_pointer + i32.const 12 + i32.const 3 + call $~lib/rt/itcms/__new + local.tee $3 + i32.store + local.get $3 + local.get $0 + i32.store + local.get $3 + local.get $0 + call $~lib/rt/itcms/__link + local.get $3 + local.get $2 + i32.store offset=8 + local.get $3 + local.get $0 + local.get $1 + i32.add + i32.store offset=4 + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $3 + ) (func $~lib/typedarray/Uint8Array#slice (param $0 i32) (result i32) (local $1 i32) (local $2 i32) @@ -4988,19 +4973,20 @@ i32.store i32.const 0 local.get $0 - i32.load offset=8 local.tee $1 - local.get $1 + i32.load offset=8 + local.tee $0 + local.get $0 i32.const 0 i32.gt_s select local.set $5 - local.get $1 + local.get $0 local.get $5 i32.sub - local.tee $1 + local.tee $0 i32.const 0 - local.get $1 + local.get $0 i32.const 0 i32.gt_s select @@ -5015,17 +5001,17 @@ i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer - local.tee $1 + local.tee $0 i32.const 0 i32.store - local.get $1 + local.get $0 i32.const 12 i32.const 3 call $~lib/rt/itcms/__new - local.tee $1 + local.tee $0 i32.store global.get $~lib/memory/__stack_pointer - local.tee $7 + global.get $~lib/memory/__stack_pointer i32.const 8 i32.sub global.set $~lib/memory/__stack_pointer @@ -5036,26 +5022,26 @@ global.get $~lib/memory/__stack_pointer i64.const 0 i64.store - local.get $1 + local.get $0 i32.eqz if global.get $~lib/memory/__stack_pointer i32.const 12 i32.const 2 call $~lib/rt/itcms/__new - local.tee $1 + local.tee $0 i32.store end - local.get $1 + local.get $0 i32.const 0 i32.store - local.get $1 + local.get $0 i32.const 0 call $~lib/rt/itcms/__link - local.get $1 + local.get $0 i32.const 0 i32.store offset=4 - local.get $1 + local.get $0 i32.const 0 i32.store offset=8 local.get $2 @@ -5078,36 +5064,35 @@ local.get $3 local.get $2 call $~lib/memory/memory.fill - local.get $1 + local.get $0 local.get $3 i32.store - local.get $1 + local.get $0 local.get $3 call $~lib/rt/itcms/__link - local.get $1 + local.get $0 local.get $3 i32.store offset=4 - local.get $1 + local.get $0 local.get $2 i32.store offset=8 global.get $~lib/memory/__stack_pointer i32.const 8 i32.add global.set $~lib/memory/__stack_pointer - local.get $7 - local.get $1 + local.get $0 i32.store global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer local.get $4 - local.get $1 + local.get $0 i32.store - local.get $1 + local.get $0 i32.load offset=4 local.get $5 - local.get $0 + local.get $1 i32.load offset=4 i32.add local.get $6 @@ -5116,7 +5101,7 @@ i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $1 + local.get $0 return end i32.const 23312 diff --git a/tests/compiler/std-wasi/process.optimized.wat b/tests/compiler/std-wasi/process.optimized.wat index 93078f79cf..6367cbbb29 100644 --- a/tests/compiler/std-wasi/process.optimized.wat +++ b/tests/compiler/std-wasi/process.optimized.wat @@ -278,10 +278,10 @@ end unreachable end - local.get $0 local.get $1 i32.const 1 i32.shl + local.get $0 i32.add local.set $4 local.get $2 @@ -1116,22 +1116,22 @@ local.get $4 i32.eqz if - local.get $0 local.get $3 i32.const 2 i32.shl + local.get $0 i32.add - local.tee $1 + local.tee $4 i32.load offset=4 i32.const -2 local.get $2 i32.rotl i32.and - local.set $2 + local.set $1 + local.get $4 local.get $1 - local.get $2 i32.store offset=4 - local.get $2 + local.get $1 i32.eqz if local.get $0 @@ -1379,10 +1379,10 @@ i32.shl i32.or i32.store - local.get $0 local.get $5 i32.const 2 i32.shl + local.get $0 i32.add local.tee $0 local.get $0 @@ -1422,11 +1422,11 @@ i32.load offset=1568 local.tee $2 if + local.get $1 local.get $2 i32.const 4 i32.add - local.get $1 - i32.gt_u + i32.lt_u if i32.const 0 i32.const 4288 @@ -1450,11 +1450,11 @@ local.set $1 end else + local.get $1 local.get $0 i32.const 1572 i32.add - local.get $1 - i32.gt_u + i32.lt_u if i32.const 0 i32.const 4288 @@ -1761,7 +1761,6 @@ i32.const 536870910 i32.lt_u if (result i32) - local.get $0 i32.const 1 i32.const 27 local.get $0 @@ -1770,6 +1769,7 @@ i32.shl i32.const 1 i32.sub + local.get $0 i32.add else local.get $0 @@ -1830,12 +1830,12 @@ unreachable end end - local.get $0 local.get $1 i32.load i32.const -4 i32.and - i32.gt_u + local.get $0 + i32.lt_u if i32.const 0 i32.const 4288 @@ -1873,10 +1873,10 @@ i32.ge_u if local.get $1 - local.get $0 local.get $2 i32.const 2 i32.and + local.get $0 i32.or i32.store local.get $0 @@ -1903,18 +1903,13 @@ local.get $1 i32.const 4 i32.add - local.tee $0 local.get $1 i32.load i32.const -4 i32.and i32.add + local.tee $0 local.get $0 - local.get $1 - i32.load - i32.const -4 - i32.and - i32.add i32.load i32.const -3 i32.and @@ -2030,10 +2025,10 @@ local.get $5 i32.store i32.const 1096 - local.get $4 local.get $3 i32.const 8 i32.shl + local.get $4 i32.or local.get $2 i32.const 16 @@ -2069,10 +2064,10 @@ i32.const 0 local.set $2 local.get $0 - local.get $0 i32.const 20 i32.sub i32.load offset=16 + local.get $0 i32.add local.set $3 loop $while-continue|0 @@ -2283,8 +2278,8 @@ (local $1 i32) (local $2 i32) (local $3 i32) - local.get $0 global.get $~lib/rt/itcms/iter + local.get $0 i32.eq if local.get $0 @@ -2344,11 +2339,11 @@ local.get $1 i32.store offset=8 local.get $1 - local.get $2 local.get $1 i32.load offset=4 i32.const 3 i32.and + local.get $2 i32.or i32.store offset=4 end @@ -2362,10 +2357,10 @@ if (result i32) i32.const 1 else - local.get $1 i32.const 7360 i32.load - i32.gt_u + local.get $1 + i32.lt_u if i32.const 4784 i32.const 4848 @@ -2402,11 +2397,11 @@ local.get $1 i32.store offset=8 local.get $1 - local.get $0 local.get $1 i32.load offset=4 i32.const 3 i32.and + local.get $0 i32.or i32.store offset=4 local.get $2 @@ -2593,13 +2588,13 @@ if local.get $0 i32.load offset=4 + local.tee $1 i32.const -4 i32.and global.set $~lib/rt/itcms/iter global.get $~lib/rt/itcms/white i32.eqz - local.get $0 - i32.load offset=4 + local.get $1 i32.const 3 i32.and i32.ne @@ -2641,10 +2636,10 @@ end global.get $~lib/rt/itcms/toSpace local.tee $0 - local.get $0 + local.tee $1 + local.get $1 i32.store offset=4 - global.get $~lib/rt/itcms/toSpace - local.tee $0 + local.get $0 local.get $0 i32.store offset=8 i32.const 0 @@ -2907,19 +2902,19 @@ i32.load offset=8 local.set $1 local.get $2 - local.get $3 global.get $~lib/rt/itcms/white + local.get $3 i32.or i32.store offset=4 local.get $2 local.get $1 i32.store offset=8 local.get $1 - local.get $2 local.get $1 i32.load offset=4 i32.const 3 i32.and + local.get $2 i32.or i32.store offset=4 local.get $3 @@ -3015,17 +3010,17 @@ select if local.get $0 - local.tee $3 + local.tee $4 i32.const 1 i32.add local.set $0 local.get $1 - local.tee $4 + local.tee $3 i32.const 1 i32.add local.set $1 - local.get $3 local.get $4 + local.get $3 i32.load8_u i32.store8 local.get $2 @@ -3171,19 +3166,19 @@ local.get $0 i32.const 2 i32.add - local.tee $3 + local.tee $4 i32.const 1 i32.add local.set $0 local.get $1 i32.const 2 i32.add - local.tee $4 + local.tee $3 i32.const 1 i32.add local.set $1 - local.get $3 local.get $4 + local.get $3 i32.load8_u i32.store8 local.get $2 @@ -3198,7 +3193,7 @@ local.get $0 local.get $1 i32.load offset=1 - local.tee $3 + local.tee $4 i32.const 8 i32.shl local.get $5 @@ -3209,10 +3204,10 @@ local.get $0 local.get $1 i32.load offset=5 - local.tee $4 + local.tee $3 i32.const 8 i32.shl - local.get $3 + local.get $4 i32.const 24 i32.shr_u i32.or @@ -3220,10 +3215,10 @@ local.get $0 local.get $1 i32.load offset=9 - local.tee $3 + local.tee $4 i32.const 8 i32.shl - local.get $4 + local.get $3 i32.const 24 i32.shr_u i32.or @@ -3234,7 +3229,7 @@ local.tee $5 i32.const 8 i32.shl - local.get $3 + local.get $4 i32.const 24 i32.shr_u i32.or @@ -3289,7 +3284,7 @@ local.get $0 local.get $1 i32.load offset=2 - local.tee $3 + local.tee $4 i32.const 16 i32.shl local.get $5 @@ -3300,10 +3295,10 @@ local.get $0 local.get $1 i32.load offset=6 - local.tee $4 + local.tee $3 i32.const 16 i32.shl - local.get $3 + local.get $4 i32.const 16 i32.shr_u i32.or @@ -3311,10 +3306,10 @@ local.get $0 local.get $1 i32.load offset=10 - local.tee $3 + local.tee $4 i32.const 16 i32.shl - local.get $4 + local.get $3 i32.const 16 i32.shr_u i32.or @@ -3325,7 +3320,7 @@ local.tee $5 i32.const 16 i32.shl - local.get $3 + local.get $4 i32.const 16 i32.shr_u i32.or @@ -3351,17 +3346,17 @@ i32.load local.set $5 local.get $0 - local.tee $3 + local.tee $4 i32.const 1 i32.add local.set $0 local.get $1 - local.tee $4 + local.tee $3 i32.const 1 i32.add local.set $1 - local.get $3 local.get $4 + local.get $3 i32.load8_u i32.store8 local.get $2 @@ -3376,7 +3371,7 @@ local.get $0 local.get $1 i32.load offset=3 - local.tee $3 + local.tee $4 i32.const 24 i32.shl local.get $5 @@ -3387,10 +3382,10 @@ local.get $0 local.get $1 i32.load offset=7 - local.tee $4 + local.tee $3 i32.const 24 i32.shl - local.get $3 + local.get $4 i32.const 8 i32.shr_u i32.or @@ -3398,10 +3393,10 @@ local.get $0 local.get $1 i32.load offset=11 - local.tee $3 + local.tee $4 i32.const 24 i32.shl - local.get $4 + local.get $3 i32.const 8 i32.shr_u i32.or @@ -3412,7 +3407,7 @@ local.tee $5 i32.const 24 i32.shl - local.get $3 + local.get $4 i32.const 8 i32.shr_u i32.or @@ -3443,145 +3438,137 @@ i32.load8_u i32.store8 local.get $0 - local.tee $4 - i32.const 2 - i32.add - local.set $0 local.get $1 - local.tee $3 - i32.const 2 - i32.add - local.set $1 - local.get $4 - local.get $3 i32.load8_u offset=1 i32.store8 offset=1 local.get $0 - local.get $1 - i32.load8_u - i32.store8 - local.get $0 - local.tee $4 i32.const 2 i32.add - local.set $0 + local.tee $4 local.get $1 + i32.const 2 + i32.add local.tee $3 + i32.load8_u + i32.store8 + local.get $3 + local.tee $0 i32.const 2 i32.add - local.set $1 + local.set $3 local.get $4 - local.get $3 + local.get $0 i32.load8_u offset=1 i32.store8 offset=1 - local.get $0 - local.get $1 + local.get $4 + i32.const 2 + i32.add + local.tee $1 + local.get $3 i32.load8_u i32.store8 - local.get $0 + local.get $1 local.tee $4 i32.const 2 i32.add - local.set $0 - local.get $1 - local.tee $3 + local.set $1 + local.get $3 + local.tee $0 i32.const 2 i32.add - local.set $1 + local.set $3 local.get $4 - local.get $3 + local.get $0 i32.load8_u offset=1 i32.store8 offset=1 - local.get $0 local.get $1 + local.get $3 i32.load8_u i32.store8 - local.get $0 + local.get $1 local.tee $4 i32.const 2 i32.add - local.set $0 - local.get $1 - local.tee $3 + local.set $1 + local.get $3 + local.tee $0 i32.const 2 i32.add - local.set $1 + local.set $3 local.get $4 - local.get $3 + local.get $0 i32.load8_u offset=1 i32.store8 offset=1 - local.get $0 local.get $1 + local.get $3 i32.load8_u i32.store8 - local.get $0 + local.get $1 local.tee $4 i32.const 2 i32.add - local.set $0 - local.get $1 - local.tee $3 + local.set $1 + local.get $3 + local.tee $0 i32.const 2 i32.add - local.set $1 + local.set $3 local.get $4 - local.get $3 + local.get $0 i32.load8_u offset=1 i32.store8 offset=1 - local.get $0 local.get $1 + local.get $3 i32.load8_u i32.store8 - local.get $0 + local.get $1 local.tee $4 i32.const 2 i32.add - local.set $0 - local.get $1 - local.tee $3 + local.set $1 + local.get $3 + local.tee $0 i32.const 2 i32.add - local.set $1 + local.set $3 local.get $4 - local.get $3 + local.get $0 i32.load8_u offset=1 i32.store8 offset=1 - local.get $0 local.get $1 + local.get $3 i32.load8_u i32.store8 - local.get $0 + local.get $1 local.tee $4 i32.const 2 i32.add - local.set $0 - local.get $1 - local.tee $3 + local.set $1 + local.get $3 + local.tee $0 i32.const 2 i32.add - local.set $1 + local.set $3 local.get $4 - local.get $3 + local.get $0 i32.load8_u offset=1 i32.store8 offset=1 - local.get $0 local.get $1 + local.get $3 i32.load8_u i32.store8 - local.get $0 - local.tee $4 + local.get $1 i32.const 2 i32.add local.set $0 local.get $1 - local.tee $3 - i32.const 2 - i32.add - local.set $1 - local.get $4 local.get $3 i32.load8_u offset=1 i32.store8 offset=1 + local.get $3 + i32.const 2 + i32.add + local.set $1 end local.get $2 i32.const 8 @@ -3592,73 +3579,65 @@ i32.load8_u i32.store8 local.get $0 - local.tee $4 - i32.const 2 - i32.add - local.set $0 local.get $1 - local.tee $3 - i32.const 2 - i32.add - local.set $1 - local.get $4 - local.get $3 i32.load8_u offset=1 i32.store8 offset=1 local.get $0 - local.get $1 - i32.load8_u - i32.store8 - local.get $0 - local.tee $4 i32.const 2 i32.add - local.set $0 + local.tee $4 local.get $1 + i32.const 2 + i32.add local.tee $3 + i32.load8_u + i32.store8 + local.get $3 + local.tee $0 i32.const 2 i32.add - local.set $1 + local.set $3 local.get $4 - local.get $3 + local.get $0 i32.load8_u offset=1 i32.store8 offset=1 - local.get $0 - local.get $1 + local.get $4 + i32.const 2 + i32.add + local.tee $1 + local.get $3 i32.load8_u i32.store8 - local.get $0 + local.get $1 local.tee $4 i32.const 2 i32.add - local.set $0 - local.get $1 - local.tee $3 + local.set $1 + local.get $3 + local.tee $0 i32.const 2 i32.add - local.set $1 + local.set $3 local.get $4 - local.get $3 + local.get $0 i32.load8_u offset=1 i32.store8 offset=1 - local.get $0 local.get $1 + local.get $3 i32.load8_u i32.store8 - local.get $0 - local.tee $4 + local.get $1 i32.const 2 i32.add local.set $0 local.get $1 - local.tee $3 - i32.const 2 - i32.add - local.set $1 - local.get $4 local.get $3 i32.load8_u offset=1 i32.store8 offset=1 + local.get $3 + i32.const 2 + i32.add + local.set $1 end local.get $2 i32.const 4 @@ -3669,30 +3648,20 @@ i32.load8_u i32.store8 local.get $0 - local.tee $4 - i32.const 2 - i32.add - local.set $0 local.get $1 - local.tee $3 - i32.const 2 - i32.add - local.set $1 - local.get $4 - local.get $3 i32.load8_u offset=1 i32.store8 offset=1 local.get $0 - local.get $1 - i32.load8_u - i32.store8 - local.get $0 - local.tee $4 i32.const 2 i32.add - local.set $0 + local.tee $4 local.get $1 + i32.const 2 + i32.add local.tee $3 + i32.load8_u + i32.store8 + local.get $3 i32.const 2 i32.add local.set $1 @@ -3700,6 +3669,10 @@ local.get $3 i32.load8_u offset=1 i32.store8 offset=1 + local.get $4 + i32.const 2 + i32.add + local.set $0 end local.get $2 i32.const 2 @@ -3966,13 +3939,13 @@ (func $~lib/array/ensureCapacity (param $0 i32) (param $1 i32) (param $2 i32) (local $3 i32) (local $4 i32) - local.get $1 local.get $0 i32.load offset=8 local.tee $3 i32.const 2 i32.shr_u - i32.gt_u + local.get $1 + i32.lt_u if local.get $1 i32.const 268435455 @@ -4089,10 +4062,10 @@ ) (func $~lib/util/string/compareImpl (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (result i32) (local $4 i32) - local.get $0 local.get $1 i32.const 1 i32.shl + local.get $0 i32.add local.tee $1 i32.const 7 @@ -4472,6 +4445,14 @@ i64.const 100000000 i64.ge_u if + local.get $2 + i32.const 4 + i32.sub + local.tee $2 + i32.const 1 + i32.shl + local.get $0 + i32.add local.get $1 local.get $1 i64.const 100000000 @@ -4483,20 +4464,8 @@ i32.wrap_i64 local.tee $3 i32.const 10000 - i32.div_u - local.set $4 - local.get $2 - i32.const 4 - i32.sub - local.tee $2 - i32.const 1 - i32.shl - local.get $0 - i32.add - local.get $3 - i32.const 10000 i32.rem_u - local.tee $3 + local.tee $4 i32.const 100 i32.div_u i32.const 2 @@ -4504,7 +4473,7 @@ i32.const 5708 i32.add i64.load32_u - local.get $3 + local.get $4 i32.const 100 i32.rem_u i32.const 2 @@ -4524,7 +4493,10 @@ i32.shl local.get $0 i32.add - local.get $4 + local.get $3 + i32.const 10000 + i32.div_u + local.tee $3 i32.const 100 i32.div_u i32.const 2 @@ -4532,7 +4504,7 @@ i32.const 5708 i32.add i64.load32_u - local.get $4 + local.get $3 i32.const 100 i32.rem_u i32.const 2 @@ -4620,41 +4592,41 @@ i32.load call $~lib/rt/itcms/__visit local.get $0 - i32.load offset=8 - local.tee $2 - local.tee $1 - local.get $0 i32.load offset=16 i32.const 12 i32.mul + local.get $0 + i32.load offset=8 + local.tee $1 + local.tee $0 i32.add - local.set $0 + local.set $2 loop $while-continue|00 local.get $0 - local.get $1 - i32.gt_u + local.get $2 + i32.lt_u if - local.get $1 + local.get $0 i32.load offset=8 i32.const 1 i32.and i32.eqz if - local.get $1 + local.get $0 i32.load call $~lib/rt/itcms/__visit - local.get $1 + local.get $0 i32.load offset=4 call $~lib/rt/itcms/__visit end - local.get $1 + local.get $0 i32.const 12 i32.add - local.set $1 + local.set $0 br $while-continue|00 end end - local.get $2 + local.get $1 call $~lib/rt/itcms/__visit return end @@ -4723,9 +4695,9 @@ i32.store local.get $0 i32.load - local.get $2 local.get $0 i32.load offset=4 + local.get $2 i32.and i32.const 2 i32.shl @@ -4879,7 +4851,8 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $3 + local.tee $0 + local.get $0 i32.const 4 i32.sub global.set $~lib/memory/__stack_pointer @@ -4931,7 +4904,6 @@ i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $3 local.get $0 local.tee $1 i32.store @@ -4941,10 +4913,10 @@ i32.lt_u if global.get $~lib/memory/__stack_pointer - local.get $4 local.get $5 i32.const 2 i32.shl + local.get $4 i32.add i32.load local.tee $0 @@ -4983,8 +4955,6 @@ i32.const 0 local.get $2 local.get $2 - i32.const 0 - i32.gt_s select local.set $0 local.get $2 @@ -5213,10 +5183,10 @@ i32.lt_s if global.get $~lib/memory/__stack_pointer - local.get $1 local.get $3 i32.const 2 i32.shl + local.get $1 i32.add i32.load local.tee $7 @@ -5326,10 +5296,10 @@ local.get $4 i32.lt_s if - local.get $5 local.get $1 i32.const 12 i32.mul + local.get $5 i32.add local.tee $6 i32.load offset=8 @@ -6223,10 +6193,10 @@ global.get $~lib/memory/__stack_pointer i32.const 0 i32.store - local.get $1 local.get $0 i32.load offset=12 - i32.ge_u + local.get $1 + i32.le_u if i32.const 4784 i32.const 4608 @@ -6362,22 +6332,23 @@ local.tee $2 local.get $2 local.get $3 - i32.lt_s + i32.gt_s select i32.const 1 i32.shl - local.tee $4 + local.set $4 local.get $3 local.get $2 local.get $2 local.get $3 - i32.gt_s + i32.lt_s select i32.const 1 i32.shl - local.tee $2 - i32.sub local.tee $3 + local.get $4 + i32.sub + local.tee $2 i32.eqz if global.get $~lib/memory/__stack_pointer @@ -6388,12 +6359,12 @@ return end i32.const 0 - local.get $4 local.get $1 i32.const 1 i32.shl + local.get $3 i32.eq - local.get $2 + local.get $4 select if global.get $~lib/memory/__stack_pointer @@ -6404,16 +6375,16 @@ return end global.get $~lib/memory/__stack_pointer - local.get $3 + local.get $2 i32.const 1 call $~lib/rt/itcms/__new local.tee $1 i32.store local.get $1 local.get $0 - local.get $2 + local.get $4 i32.add - local.get $3 + local.get $2 call $~lib/memory/memory.copy global.get $~lib/memory/__stack_pointer i32.const 4 @@ -6558,13 +6529,13 @@ i32.load offset=4 i32.store offset=4 local.get $3 - local.get $8 local.get $9 call $~lib/util/hash/HASH<~lib/string/String> local.get $10 i32.and i32.const 2 i32.shl + local.get $8 i32.add local.tee $9 i32.load @@ -6625,10 +6596,10 @@ i32.const 1 i32.add i32.store offset=16 - local.get $3 local.get $10 i32.const 12 i32.mul + local.get $3 i32.add local.tee $3 local.get $1 @@ -6653,9 +6624,9 @@ local.get $3 local.get $0 i32.load - local.get $7 local.get $0 i32.load offset=4 + local.get $7 i32.and i32.const 2 i32.shl diff --git a/tests/compiler/std/array-access.optimized.wat b/tests/compiler/std/array-access.optimized.wat index b07202b45e..2f8c5a787e 100644 --- a/tests/compiler/std/array-access.optimized.wat +++ b/tests/compiler/std/array-access.optimized.wat @@ -31,19 +31,17 @@ i32.load offset=16 i32.const 1 i32.shr_u - local.tee $1 - local.get $1 - i32.const 0 - i32.gt_s + local.tee $2 + local.get $2 select - local.set $2 - local.get $1 + local.set $3 local.get $2 + local.get $3 i32.const 1292 i32.load i32.const 1 i32.shr_u - local.tee $1 + local.tee $2 i32.add i32.lt_s if @@ -52,42 +50,42 @@ end block $__inlined_func$~lib/util/string/compareImpl (result i32) i32.const 1296 - local.set $3 - local.get $0 - local.get $2 + local.set $4 + local.get $3 i32.const 1 i32.shl + local.get $0 i32.add - local.tee $2 + local.tee $3 i32.const 7 i32.and i32.const 1 - local.get $1 - local.tee $0 + local.get $2 + local.tee $1 i32.const 4 i32.ge_u select i32.eqz if loop $do-continue|0 - local.get $2 - i64.load local.get $3 i64.load + local.get $4 + i64.load i64.eq if - local.get $2 - i32.const 8 - i32.add - local.set $2 local.get $3 i32.const 8 i32.add local.set $3 - local.get $0 + local.get $4 + i32.const 8 + i32.add + local.set $4 + local.get $1 i32.const 4 i32.sub - local.tee $0 + local.tee $1 i32.const 4 i32.ge_u br_if $do-continue|0 @@ -95,34 +93,34 @@ end end loop $while-continue|1 - local.get $0 - local.tee $1 + local.get $1 + local.tee $0 i32.const 1 i32.sub - local.set $0 - local.get $1 + local.set $1 + local.get $0 if - local.get $2 + local.get $4 i32.load16_u - local.tee $1 + local.tee $0 local.get $3 i32.load16_u - local.tee $4 + local.tee $2 i32.ne if - local.get $1 - local.get $4 + local.get $2 + local.get $0 i32.sub br $__inlined_func$~lib/util/string/compareImpl end - local.get $2 - i32.const 2 - i32.add - local.set $2 local.get $3 i32.const 2 i32.add local.set $3 + local.get $4 + i32.const 2 + i32.add + local.set $4 br $while-continue|1 end end @@ -149,10 +147,10 @@ global.get $~lib/memory/__stack_pointer i32.const 0 i32.store - local.get $1 local.get $0 i32.load offset=12 - i32.ge_u + local.get $1 + i32.le_u if i32.const 1056 i32.const 1120 @@ -283,7 +281,6 @@ call $~lib/array/Array<~lib/array/Array>#__get local.set $0 global.get $~lib/memory/__stack_pointer - local.tee $1 local.get $0 i32.store local.get $0 @@ -292,7 +289,7 @@ i32.load offset=16 i32.const 1 i32.shr_u - local.get $1 + global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer @@ -340,10 +337,9 @@ call $~lib/array/Array<~lib/array/Array>#__get local.set $0 global.get $~lib/memory/__stack_pointer - local.tee $1 local.get $0 i32.store - local.get $1 + global.get $~lib/memory/__stack_pointer i32.const 1296 i32.store offset=4 local.get $0 @@ -403,7 +399,6 @@ call $~lib/array/Array<~lib/array/Array>#__get local.set $0 global.get $~lib/memory/__stack_pointer - local.tee $1 local.get $0 i32.store local.get $0 @@ -412,7 +407,7 @@ i32.load offset=16 i32.const 1 i32.shr_u - local.get $1 + global.get $~lib/memory/__stack_pointer i32.const 8 i32.add global.set $~lib/memory/__stack_pointer @@ -471,10 +466,9 @@ call $~lib/array/Array<~lib/array/Array>#__get local.set $0 global.get $~lib/memory/__stack_pointer - local.tee $1 local.get $0 i32.store - local.get $1 + global.get $~lib/memory/__stack_pointer i32.const 1296 i32.store offset=4 local.get $0 diff --git a/tests/compiler/std/array-literal.optimized.wat b/tests/compiler/std/array-literal.optimized.wat index d535c5ef97..2d1c9258ee 100644 --- a/tests/compiler/std/array-literal.optimized.wat +++ b/tests/compiler/std/array-literal.optimized.wat @@ -178,8 +178,8 @@ (local $1 i32) (local $2 i32) (local $3 i32) - local.get $0 global.get $~lib/rt/itcms/iter + local.get $0 i32.eq if local.get $0 @@ -239,11 +239,11 @@ local.get $1 i32.store offset=8 local.get $1 - local.get $2 local.get $1 i32.load offset=4 i32.const 3 i32.and + local.get $2 i32.or i32.store offset=4 end @@ -257,10 +257,10 @@ if (result i32) i32.const 1 else - local.get $1 i32.const 1792 i32.load - i32.gt_u + local.get $1 + i32.lt_u if i32.const 1200 i32.const 1664 @@ -297,11 +297,11 @@ local.get $1 i32.store offset=8 local.get $1 - local.get $0 local.get $1 i32.load offset=4 i32.const 3 i32.and + local.get $0 i32.or i32.store offset=4 local.get $2 @@ -459,22 +459,22 @@ local.get $4 i32.eqz if - local.get $0 local.get $3 i32.const 2 i32.shl + local.get $0 i32.add - local.tee $1 + local.tee $4 i32.load offset=4 i32.const -2 local.get $2 i32.rotl i32.and - local.set $2 + local.set $1 + local.get $4 local.get $1 - local.get $2 i32.store offset=4 - local.get $2 + local.get $1 i32.eqz if local.get $0 @@ -722,10 +722,10 @@ i32.shl i32.or i32.store - local.get $0 local.get $5 i32.const 2 i32.shl + local.get $0 i32.add local.tee $0 local.get $0 @@ -765,11 +765,11 @@ i32.load offset=1568 local.tee $2 if + local.get $1 local.get $2 i32.const 4 i32.add - local.get $1 - i32.gt_u + i32.lt_u if i32.const 0 i32.const 1744 @@ -793,11 +793,11 @@ local.set $1 end else + local.get $1 local.get $0 i32.const 1572 i32.add - local.get $1 - i32.gt_u + i32.lt_u if i32.const 0 i32.const 1744 @@ -1084,13 +1084,13 @@ if local.get $0 i32.load offset=4 + local.tee $1 i32.const -4 i32.and global.set $~lib/rt/itcms/iter global.get $~lib/rt/itcms/white i32.eqz - local.get $0 - i32.load offset=4 + local.get $1 i32.const 3 i32.and i32.ne @@ -1177,10 +1177,10 @@ end global.get $~lib/rt/itcms/toSpace local.tee $0 - local.get $0 + local.tee $1 + local.get $1 i32.store offset=4 - global.get $~lib/rt/itcms/toSpace - local.tee $0 + local.get $0 local.get $0 i32.store offset=8 i32.const 0 @@ -1429,7 +1429,6 @@ i32.const 536870910 i32.lt_u if (result i32) - local.get $3 i32.const 1 i32.const 27 local.get $3 @@ -1438,6 +1437,7 @@ i32.shl i32.const 1 i32.sub + local.get $3 i32.add else local.get $3 @@ -1498,12 +1498,12 @@ unreachable end end - local.get $3 local.get $2 i32.load i32.const -4 i32.and - i32.gt_u + local.get $3 + i32.lt_u if i32.const 0 i32.const 1744 @@ -1541,10 +1541,10 @@ i32.ge_u if local.get $2 - local.get $3 local.get $5 i32.const 2 i32.and + local.get $3 i32.or i32.store local.get $3 @@ -1571,18 +1571,13 @@ local.get $2 i32.const 4 i32.add - local.tee $3 local.get $2 i32.load i32.const -4 i32.and i32.add + local.tee $3 local.get $3 - local.get $2 - i32.load - i32.const -4 - i32.and - i32.add i32.load i32.const -3 i32.and @@ -1599,19 +1594,19 @@ i32.load offset=8 local.set $3 local.get $2 - local.get $1 global.get $~lib/rt/itcms/white + local.get $1 i32.or i32.store offset=4 local.get $2 local.get $3 i32.store offset=8 local.get $3 - local.get $2 local.get $3 i32.load offset=4 i32.const 3 i32.and + local.get $2 i32.or i32.store offset=4 local.get $1 @@ -1976,7 +1971,6 @@ (func $start:std/array-literal (local $0 i32) (local $1 i32) - (local $2 i32) global.get $~lib/memory/__stack_pointer i32.const 12 i32.sub @@ -2175,7 +2169,6 @@ local.tee $0 i32.store offset=4 global.get $~lib/memory/__stack_pointer - local.tee $2 local.get $0 i32.load offset=4 i32.store offset=8 @@ -2191,9 +2184,8 @@ local.get $0 i32.load offset=4 global.get $std/array-literal/i - local.tee $1 i32.store8 offset=1 - local.get $1 + global.get $std/array-literal/i i32.const 1 i32.add global.set $std/array-literal/i @@ -2203,7 +2195,7 @@ i32.store8 offset=2 local.get $0 global.set $std/array-literal/dynamicArrayI8 - local.get $2 + global.get $~lib/memory/__stack_pointer global.get $std/array-literal/dynamicArrayI8 local.tee $0 i32.store @@ -2278,7 +2270,6 @@ local.tee $0 i32.store offset=8 global.get $~lib/memory/__stack_pointer - local.tee $2 local.get $0 i32.load offset=4 i32.store offset=4 @@ -2294,9 +2285,8 @@ local.get $0 i32.load offset=4 global.get $std/array-literal/i - local.tee $1 i32.store offset=4 - local.get $1 + global.get $std/array-literal/i i32.const 1 i32.add global.set $std/array-literal/i @@ -2306,7 +2296,7 @@ i32.store offset=8 local.get $0 global.set $std/array-literal/dynamicArrayI32 - local.get $2 + global.get $~lib/memory/__stack_pointer global.get $std/array-literal/dynamicArrayI32 local.tee $0 i32.store diff --git a/tests/compiler/std/array.optimized.wat b/tests/compiler/std/array.optimized.wat index 85724dc26b..489be304c8 100644 --- a/tests/compiler/std/array.optimized.wat +++ b/tests/compiler/std/array.optimized.wat @@ -789,8 +789,8 @@ (local $1 i32) (local $2 i32) (local $3 i32) - local.get $0 global.get $~lib/rt/itcms/iter + local.get $0 i32.eq if local.get $0 @@ -850,11 +850,11 @@ local.get $1 i32.store offset=8 local.get $1 - local.get $2 local.get $1 i32.load offset=4 i32.const 3 i32.and + local.get $2 i32.or i32.store offset=4 end @@ -868,10 +868,10 @@ if (result i32) i32.const 1 else - local.get $1 i32.const 15216 i32.load - i32.gt_u + local.get $1 + i32.lt_u if i32.const 1344 i32.const 1408 @@ -908,11 +908,11 @@ local.get $1 i32.store offset=8 local.get $1 - local.get $0 local.get $1 i32.load offset=4 i32.const 3 i32.and + local.get $0 i32.or i32.store offset=4 local.get $2 @@ -1070,22 +1070,22 @@ local.get $4 i32.eqz if - local.get $0 local.get $3 i32.const 2 i32.shl + local.get $0 i32.add - local.tee $1 + local.tee $4 i32.load offset=4 i32.const -2 local.get $2 i32.rotl i32.and - local.set $2 + local.set $1 + local.get $4 local.get $1 - local.get $2 i32.store offset=4 - local.get $2 + local.get $1 i32.eqz if local.get $0 @@ -1333,10 +1333,10 @@ i32.shl i32.or i32.store - local.get $0 local.get $5 i32.const 2 i32.shl + local.get $0 i32.add local.tee $0 local.get $0 @@ -1376,11 +1376,11 @@ i32.load offset=1568 local.tee $2 if + local.get $1 local.get $2 i32.const 4 i32.add - local.get $1 - i32.gt_u + i32.lt_u if i32.const 0 i32.const 1488 @@ -1404,11 +1404,11 @@ local.set $1 end else + local.get $1 local.get $0 i32.const 1572 i32.add - local.get $1 - i32.gt_u + i32.lt_u if i32.const 0 i32.const 1488 @@ -1745,13 +1745,13 @@ if local.get $0 i32.load offset=4 + local.tee $1 i32.const -4 i32.and global.set $~lib/rt/itcms/iter global.get $~lib/rt/itcms/white i32.eqz - local.get $0 - i32.load offset=4 + local.get $1 i32.const 3 i32.and i32.ne @@ -1793,10 +1793,10 @@ end global.get $~lib/rt/itcms/toSpace local.tee $0 - local.get $0 + local.tee $1 + local.get $1 i32.store offset=4 - global.get $~lib/rt/itcms/toSpace - local.tee $0 + local.get $0 local.get $0 i32.store offset=8 i32.const 0 @@ -1984,7 +1984,6 @@ i32.const 536870910 i32.lt_u if (result i32) - local.get $0 i32.const 1 i32.const 27 local.get $0 @@ -1993,6 +1992,7 @@ i32.shl i32.const 1 i32.sub + local.get $0 i32.add else local.get $0 @@ -2053,12 +2053,12 @@ unreachable end end - local.get $0 local.get $1 i32.load i32.const -4 i32.and - i32.gt_u + local.get $0 + i32.lt_u if i32.const 0 i32.const 1488 @@ -2096,10 +2096,10 @@ i32.ge_u if local.get $1 - local.get $0 local.get $2 i32.const 2 i32.and + local.get $0 i32.or i32.store local.get $0 @@ -2126,18 +2126,13 @@ local.get $1 i32.const 4 i32.add - local.tee $0 local.get $1 i32.load i32.const -4 i32.and i32.add + local.tee $0 local.get $0 - local.get $1 - i32.load - i32.const -4 - i32.and - i32.add i32.load i32.const -3 i32.and @@ -2414,19 +2409,19 @@ i32.load offset=8 local.set $1 local.get $2 - local.get $3 global.get $~lib/rt/itcms/white + local.get $3 i32.or i32.store offset=4 local.get $2 local.get $1 i32.store offset=8 local.get $1 - local.get $2 local.get $1 i32.load offset=4 i32.const 3 i32.and + local.get $2 i32.or i32.store offset=4 local.get $3 @@ -2523,17 +2518,17 @@ select if local.get $0 - local.tee $3 + local.tee $4 i32.const 1 i32.add local.set $0 local.get $1 - local.tee $4 + local.tee $3 i32.const 1 i32.add local.set $1 - local.get $3 local.get $4 + local.get $3 i32.load8_u i32.store8 local.get $2 @@ -2679,19 +2674,19 @@ local.get $0 i32.const 2 i32.add - local.tee $3 + local.tee $4 i32.const 1 i32.add local.set $0 local.get $1 i32.const 2 i32.add - local.tee $4 + local.tee $3 i32.const 1 i32.add local.set $1 - local.get $3 local.get $4 + local.get $3 i32.load8_u i32.store8 local.get $2 @@ -2706,7 +2701,7 @@ local.get $0 local.get $1 i32.load offset=1 - local.tee $3 + local.tee $4 i32.const 8 i32.shl local.get $5 @@ -2717,10 +2712,10 @@ local.get $0 local.get $1 i32.load offset=5 - local.tee $4 + local.tee $3 i32.const 8 i32.shl - local.get $3 + local.get $4 i32.const 24 i32.shr_u i32.or @@ -2728,10 +2723,10 @@ local.get $0 local.get $1 i32.load offset=9 - local.tee $3 + local.tee $4 i32.const 8 i32.shl - local.get $4 + local.get $3 i32.const 24 i32.shr_u i32.or @@ -2742,7 +2737,7 @@ local.tee $5 i32.const 8 i32.shl - local.get $3 + local.get $4 i32.const 24 i32.shr_u i32.or @@ -2797,7 +2792,7 @@ local.get $0 local.get $1 i32.load offset=2 - local.tee $3 + local.tee $4 i32.const 16 i32.shl local.get $5 @@ -2808,10 +2803,10 @@ local.get $0 local.get $1 i32.load offset=6 - local.tee $4 + local.tee $3 i32.const 16 i32.shl - local.get $3 + local.get $4 i32.const 16 i32.shr_u i32.or @@ -2819,10 +2814,10 @@ local.get $0 local.get $1 i32.load offset=10 - local.tee $3 + local.tee $4 i32.const 16 i32.shl - local.get $4 + local.get $3 i32.const 16 i32.shr_u i32.or @@ -2833,7 +2828,7 @@ local.tee $5 i32.const 16 i32.shl - local.get $3 + local.get $4 i32.const 16 i32.shr_u i32.or @@ -2859,17 +2854,17 @@ i32.load local.set $5 local.get $0 - local.tee $3 + local.tee $4 i32.const 1 i32.add local.set $0 local.get $1 - local.tee $4 + local.tee $3 i32.const 1 i32.add local.set $1 - local.get $3 local.get $4 + local.get $3 i32.load8_u i32.store8 local.get $2 @@ -2884,7 +2879,7 @@ local.get $0 local.get $1 i32.load offset=3 - local.tee $3 + local.tee $4 i32.const 24 i32.shl local.get $5 @@ -2895,10 +2890,10 @@ local.get $0 local.get $1 i32.load offset=7 - local.tee $4 + local.tee $3 i32.const 24 i32.shl - local.get $3 + local.get $4 i32.const 8 i32.shr_u i32.or @@ -2906,10 +2901,10 @@ local.get $0 local.get $1 i32.load offset=11 - local.tee $3 + local.tee $4 i32.const 24 i32.shl - local.get $4 + local.get $3 i32.const 8 i32.shr_u i32.or @@ -2920,7 +2915,7 @@ local.tee $5 i32.const 24 i32.shl - local.get $3 + local.get $4 i32.const 8 i32.shr_u i32.or @@ -2951,145 +2946,137 @@ i32.load8_u i32.store8 local.get $0 - local.tee $4 - i32.const 2 - i32.add - local.set $0 local.get $1 - local.tee $3 - i32.const 2 - i32.add - local.set $1 - local.get $4 - local.get $3 i32.load8_u offset=1 i32.store8 offset=1 local.get $0 - local.get $1 - i32.load8_u - i32.store8 - local.get $0 - local.tee $4 i32.const 2 i32.add - local.set $0 + local.tee $4 local.get $1 + i32.const 2 + i32.add local.tee $3 + i32.load8_u + i32.store8 + local.get $3 + local.tee $0 i32.const 2 i32.add - local.set $1 + local.set $3 local.get $4 - local.get $3 + local.get $0 i32.load8_u offset=1 i32.store8 offset=1 - local.get $0 - local.get $1 + local.get $4 + i32.const 2 + i32.add + local.tee $1 + local.get $3 i32.load8_u i32.store8 - local.get $0 + local.get $1 local.tee $4 i32.const 2 i32.add - local.set $0 - local.get $1 - local.tee $3 + local.set $1 + local.get $3 + local.tee $0 i32.const 2 i32.add - local.set $1 + local.set $3 local.get $4 - local.get $3 + local.get $0 i32.load8_u offset=1 i32.store8 offset=1 - local.get $0 local.get $1 + local.get $3 i32.load8_u i32.store8 - local.get $0 + local.get $1 local.tee $4 i32.const 2 i32.add - local.set $0 - local.get $1 - local.tee $3 + local.set $1 + local.get $3 + local.tee $0 i32.const 2 i32.add - local.set $1 + local.set $3 local.get $4 - local.get $3 + local.get $0 i32.load8_u offset=1 i32.store8 offset=1 - local.get $0 local.get $1 + local.get $3 i32.load8_u i32.store8 - local.get $0 + local.get $1 local.tee $4 i32.const 2 i32.add - local.set $0 - local.get $1 - local.tee $3 + local.set $1 + local.get $3 + local.tee $0 i32.const 2 i32.add - local.set $1 + local.set $3 local.get $4 - local.get $3 + local.get $0 i32.load8_u offset=1 i32.store8 offset=1 - local.get $0 local.get $1 + local.get $3 i32.load8_u i32.store8 - local.get $0 + local.get $1 local.tee $4 i32.const 2 i32.add - local.set $0 - local.get $1 - local.tee $3 + local.set $1 + local.get $3 + local.tee $0 i32.const 2 i32.add - local.set $1 + local.set $3 local.get $4 - local.get $3 + local.get $0 i32.load8_u offset=1 i32.store8 offset=1 - local.get $0 local.get $1 + local.get $3 i32.load8_u i32.store8 - local.get $0 + local.get $1 local.tee $4 i32.const 2 i32.add - local.set $0 - local.get $1 - local.tee $3 + local.set $1 + local.get $3 + local.tee $0 i32.const 2 i32.add - local.set $1 + local.set $3 local.get $4 - local.get $3 + local.get $0 i32.load8_u offset=1 i32.store8 offset=1 - local.get $0 local.get $1 + local.get $3 i32.load8_u i32.store8 - local.get $0 - local.tee $4 + local.get $1 i32.const 2 i32.add local.set $0 local.get $1 - local.tee $3 - i32.const 2 - i32.add - local.set $1 - local.get $4 local.get $3 i32.load8_u offset=1 i32.store8 offset=1 + local.get $3 + i32.const 2 + i32.add + local.set $1 end local.get $2 i32.const 8 @@ -3100,73 +3087,65 @@ i32.load8_u i32.store8 local.get $0 - local.tee $4 - i32.const 2 - i32.add - local.set $0 local.get $1 - local.tee $3 - i32.const 2 - i32.add - local.set $1 - local.get $4 - local.get $3 i32.load8_u offset=1 i32.store8 offset=1 local.get $0 - local.get $1 - i32.load8_u - i32.store8 - local.get $0 - local.tee $4 i32.const 2 i32.add - local.set $0 + local.tee $4 local.get $1 + i32.const 2 + i32.add local.tee $3 + i32.load8_u + i32.store8 + local.get $3 + local.tee $0 i32.const 2 i32.add - local.set $1 + local.set $3 local.get $4 - local.get $3 + local.get $0 i32.load8_u offset=1 i32.store8 offset=1 - local.get $0 - local.get $1 + local.get $4 + i32.const 2 + i32.add + local.tee $1 + local.get $3 i32.load8_u i32.store8 - local.get $0 + local.get $1 local.tee $4 i32.const 2 i32.add - local.set $0 - local.get $1 - local.tee $3 + local.set $1 + local.get $3 + local.tee $0 i32.const 2 i32.add - local.set $1 + local.set $3 local.get $4 - local.get $3 + local.get $0 i32.load8_u offset=1 i32.store8 offset=1 - local.get $0 local.get $1 + local.get $3 i32.load8_u i32.store8 - local.get $0 - local.tee $4 + local.get $1 i32.const 2 i32.add local.set $0 local.get $1 - local.tee $3 - i32.const 2 - i32.add - local.set $1 - local.get $4 local.get $3 i32.load8_u offset=1 i32.store8 offset=1 + local.get $3 + i32.const 2 + i32.add + local.set $1 end local.get $2 i32.const 4 @@ -3177,30 +3156,20 @@ i32.load8_u i32.store8 local.get $0 - local.tee $4 - i32.const 2 - i32.add - local.set $0 local.get $1 - local.tee $3 - i32.const 2 - i32.add - local.set $1 - local.get $4 - local.get $3 i32.load8_u offset=1 i32.store8 offset=1 local.get $0 - local.get $1 - i32.load8_u - i32.store8 - local.get $0 - local.tee $4 i32.const 2 i32.add - local.set $0 + local.tee $4 local.get $1 + i32.const 2 + i32.add local.tee $3 + i32.load8_u + i32.store8 + local.get $3 i32.const 2 i32.add local.set $1 @@ -3208,6 +3177,10 @@ local.get $3 i32.load8_u offset=1 i32.store8 offset=1 + local.get $4 + i32.const 2 + i32.add + local.set $0 end local.get $2 i32.const 2 @@ -3885,10 +3858,10 @@ local.get $4 i32.lt_s select - local.set $3 + local.set $5 local.get $0 i32.load offset=4 - local.tee $5 + local.tee $3 local.get $1 i32.const 0 i32.lt_s @@ -3938,14 +3911,14 @@ local.tee $2 i32.const 2 i32.shl - local.get $5 - i32.add local.get $3 + i32.add + local.get $5 i32.const 0 i32.lt_s if (result i32) - local.get $3 local.get $4 + local.get $5 i32.add local.tee $3 i32.const 0 @@ -3954,11 +3927,11 @@ i32.gt_s select else - local.get $3 + local.get $5 local.get $4 - local.get $3 local.get $4 - i32.lt_s + local.get $5 + i32.gt_s select end local.get $2 @@ -4178,10 +4151,10 @@ i32.load8_u local.set $4 local.get $3 - local.get $5 local.get $2 local.get $1 i32.sub + local.get $5 i32.add local.tee $3 i32.load8_u @@ -4268,7 +4241,7 @@ local.get $2 i32.const 1 i32.sub - local.set $5 + local.set $6 loop $while-continue|1 local.get $1 local.get $7 @@ -4283,17 +4256,17 @@ i32.load16_u local.set $4 local.get $2 - local.get $5 + local.get $6 local.get $1 i32.sub i32.const 1 i32.shl local.get $3 i32.add - local.tee $6 + local.tee $5 i32.load16_u i32.store16 - local.get $6 + local.get $5 local.get $4 i32.store16 local.get $1 @@ -4714,6 +4687,8 @@ (func $~lib/math/NativeMath.seedRandom (param $0 i64) (local $1 i32) (local $2 i64) + (local $3 i64) + (local $4 i32) i32.const 1 global.set $~lib/math/random_seeded local.get $0 @@ -4737,6 +4712,7 @@ i64.xor global.set $~lib/math/random_state0_64 global.get $~lib/math/random_state0_64 + local.tee $3 i64.const -1 i64.xor local.tee $2 @@ -4792,6 +4768,7 @@ i32.xor global.set $~lib/math/random_state0_32 global.get $~lib/math/random_state0_32 + local.tee $4 i32.const 1831565813 i32.add local.tee $1 @@ -4826,13 +4803,13 @@ i32.const 0 i32.ne i32.const 0 - global.get $~lib/math/random_state0_32 + local.get $4 i32.const 0 global.get $~lib/math/random_state1_64 i64.const 0 i64.ne i32.const 0 - global.get $~lib/math/random_state0_64 + local.get $3 i64.const 0 i64.ne select @@ -4878,10 +4855,10 @@ local.get $8 i32.ge_s if - local.get $0 local.get $8 i32.const 2 i32.shl + local.get $0 i32.add local.tee $3 f32.load offset=4 @@ -5047,10 +5024,10 @@ local.get $4 i32.gt_s if (result i32) - local.get $0 local.get $4 i32.const 2 i32.shl + local.get $0 i32.add local.tee $7 f32.load offset=4 @@ -5081,19 +5058,19 @@ local.get $2 i32.lt_s if - local.get $0 local.get $1 i32.const 2 i32.shl + local.get $0 i32.add local.tee $3 f32.load local.set $5 local.get $3 - local.get $0 local.get $2 i32.const 2 i32.shl + local.get $0 i32.add local.tee $7 f32.load @@ -5118,10 +5095,10 @@ local.get $4 i32.gt_s if (result i32) - local.get $0 local.get $4 i32.const 2 i32.shl + local.get $0 i32.add local.tee $1 f32.load offset=4 @@ -5767,10 +5744,10 @@ local.get $8 i32.ge_s if - local.get $0 local.get $8 i32.const 3 i32.shl + local.get $0 i32.add local.tee $3 f64.load offset=8 @@ -5936,10 +5913,10 @@ local.get $4 i32.gt_s if (result i32) - local.get $0 local.get $4 i32.const 3 i32.shl + local.get $0 i32.add local.tee $7 f64.load offset=8 @@ -5970,19 +5947,19 @@ local.get $2 i32.lt_s if - local.get $0 local.get $1 i32.const 3 i32.shl + local.get $0 i32.add local.tee $3 f64.load local.set $5 local.get $3 - local.get $0 local.get $2 i32.const 3 i32.shl + local.get $0 i32.add local.tee $7 f64.load @@ -6007,10 +5984,10 @@ local.get $4 i32.gt_s if (result i32) - local.get $0 local.get $4 i32.const 3 i32.shl + local.get $0 i32.add local.tee $1 f64.load offset=8 @@ -6612,10 +6589,10 @@ local.get $7 i32.ge_s if - local.get $0 local.get $7 i32.const 2 i32.shl + local.get $0 i32.add local.tee $3 i32.load offset=4 @@ -6780,10 +6757,10 @@ local.get $4 i32.gt_s if (result i32) - local.get $0 local.get $4 i32.const 2 i32.shl + local.get $0 i32.add local.tee $5 i32.load offset=4 @@ -6814,19 +6791,19 @@ local.get $2 i32.lt_s if - local.get $0 local.get $1 i32.const 2 i32.shl + local.get $0 i32.add local.tee $3 i32.load local.set $6 local.get $3 - local.get $0 local.get $2 i32.const 2 i32.shl + local.get $0 i32.add local.tee $5 i32.load @@ -6851,10 +6828,10 @@ local.get $4 i32.gt_s if (result i32) - local.get $0 local.get $4 i32.const 2 i32.shl + local.get $0 i32.add local.tee $1 i32.load offset=4 @@ -7407,10 +7384,10 @@ local.get $7 i32.ge_s if - local.get $0 local.get $7 i32.const 2 i32.shl + local.get $0 i32.add local.tee $3 i32.load offset=4 @@ -7575,10 +7552,10 @@ local.get $4 i32.gt_s if (result i32) - local.get $0 local.get $4 i32.const 2 i32.shl + local.get $0 i32.add local.tee $5 i32.load offset=4 @@ -7609,19 +7586,19 @@ local.get $2 i32.lt_s if - local.get $0 local.get $1 i32.const 2 i32.shl + local.get $0 i32.add local.tee $3 i32.load local.set $6 local.get $3 - local.get $0 local.get $2 i32.const 2 i32.shl + local.get $0 i32.add local.tee $5 i32.load @@ -7646,10 +7623,10 @@ local.get $4 i32.gt_s if (result i32) - local.get $0 local.get $4 i32.const 2 i32.shl + local.get $0 i32.add local.tee $1 i32.load offset=4 @@ -8247,7 +8224,6 @@ global.get $~lib/memory/__stack_pointer i64.const 0 i64.store - local.get $1 local.get $3 local.get $2 local.get $1 @@ -8265,6 +8241,7 @@ i32.and local.get $3 select + local.get $1 i32.add local.set $8 loop $for-loop|0 @@ -8274,10 +8251,10 @@ if global.get $~lib/memory/__stack_pointer local.tee $6 - local.get $0 local.get $8 i32.const 2 i32.shl + local.get $0 i32.add local.tee $5 i32.load @@ -8288,10 +8265,10 @@ i32.load offset=4 local.tee $6 i32.store offset=4 - i32.const 2 - global.set $~argumentsLength local.get $6 local.set $5 + i32.const 2 + global.set $~argumentsLength local.get $3 local.get $6 local.get $4 @@ -8316,10 +8293,10 @@ if block $while-break|1 global.get $~lib/memory/__stack_pointer - local.get $0 local.get $6 i32.const 2 i32.shl + local.get $0 i32.add i32.load local.tee $7 @@ -8334,10 +8311,10 @@ i32.const 0 i32.le_s br_if $while-break|1 - local.get $0 local.get $6 i32.const 2 i32.shl + local.get $0 i32.add local.get $7 i32.store offset=8 @@ -8349,10 +8326,10 @@ end end end - local.get $0 local.get $6 i32.const 2 i32.shl + local.get $0 i32.add local.get $3 i32.store offset=8 @@ -8363,10 +8340,10 @@ if block $while-break|2 global.get $~lib/memory/__stack_pointer - local.get $0 local.get $6 i32.const 2 i32.shl + local.get $0 i32.add i32.load local.tee $3 @@ -8381,10 +8358,10 @@ i32.const 0 i32.le_s br_if $while-break|2 - local.get $0 local.get $6 i32.const 2 i32.shl + local.get $0 i32.add local.get $3 i32.store offset=4 @@ -8396,10 +8373,10 @@ end end end - local.get $0 local.get $6 i32.const 2 i32.shl + local.get $0 i32.add local.get $5 i32.store offset=4 @@ -8475,17 +8452,17 @@ local.get $6 i32.gt_s if - local.get $4 local.get $8 local.get $6 i32.sub i32.const 2 i32.shl + local.get $4 i32.add - local.get $0 local.get $6 i32.const 2 i32.shl + local.get $0 i32.add i32.load offset=4 i32.store @@ -8503,19 +8480,19 @@ if global.get $~lib/memory/__stack_pointer local.tee $7 - local.get $4 local.get $6 i32.const 2 i32.shl + local.get $4 i32.add i32.load local.tee $8 i32.store local.get $7 - local.get $4 local.get $2 i32.const 2 i32.shl + local.get $4 i32.add i32.load local.tee $7 @@ -8530,10 +8507,10 @@ i32.const 0 i32.lt_s if - local.get $0 local.get $1 i32.const 2 i32.shl + local.get $0 i32.add local.get $8 i32.store @@ -8542,10 +8519,10 @@ i32.sub local.set $6 else - local.get $0 local.get $1 i32.const 2 i32.shl + local.get $0 i32.add local.get $7 i32.store @@ -8648,14 +8625,13 @@ select i32.store global.get $~lib/memory/__stack_pointer - local.tee $5 local.get $1 local.get $4 local.get $3 select local.tee $1 i32.store - local.get $5 + global.get $~lib/memory/__stack_pointer local.get $0 i32.load offset=8 local.tee $4 @@ -8748,10 +8724,10 @@ local.get $6 i32.lt_u if - local.get $9 local.get $5 i32.const 2 i32.shl + local.get $9 i32.add i32.const -1 i32.store @@ -8864,10 +8840,10 @@ local.get $7 i32.gt_u if - local.get $9 local.get $4 i32.const 2 i32.shl + local.get $9 i32.add i32.load local.tee $13 @@ -8929,10 +8905,10 @@ loop $for-loop|4 local.get $4 if - local.get $9 local.get $4 i32.const 2 i32.shl + local.get $9 i32.add i32.load local.tee $1 @@ -8941,10 +8917,10 @@ if local.get $0 local.get $1 - local.get $10 local.get $4 i32.const 2 i32.shl + local.get $10 i32.add i32.load i32.const 1 @@ -9479,10 +9455,10 @@ i32.const 10 i32.lt_u if - local.get $0 local.get $2 i32.const 1 i32.shl + local.get $0 i32.add local.get $1 i32.const 48 @@ -9634,15 +9610,15 @@ local.get $6 i32.gt_s if - local.get $0 local.get $2 i32.const 1 i32.shl + local.get $0 i32.add - local.get $4 local.get $6 i32.const 2 i32.shl + local.get $4 i32.add i32.load call $~lib/util/number/itoa_buffered @@ -9651,10 +9627,10 @@ local.set $2 local.get $5 if - local.get $0 local.get $2 i32.const 1 i32.shl + local.get $0 i32.add local.get $1 local.get $5 @@ -9674,15 +9650,15 @@ end end local.get $7 - local.get $0 local.get $2 i32.const 1 i32.shl + local.get $0 i32.add - local.get $4 local.get $3 i32.const 2 i32.shl + local.get $4 i32.add i32.load call $~lib/util/number/itoa_buffered @@ -9860,15 +9836,15 @@ local.get $6 i32.gt_s if - local.get $0 local.get $2 i32.const 1 i32.shl + local.get $0 i32.add - local.get $4 local.get $6 i32.const 2 i32.shl + local.get $4 i32.add i32.load call $~lib/util/number/itoa_buffered @@ -9877,10 +9853,10 @@ local.set $2 local.get $5 if - local.get $0 local.get $2 i32.const 1 i32.shl + local.get $0 i32.add local.get $1 local.get $5 @@ -9900,15 +9876,15 @@ end end local.get $7 - local.get $0 local.get $2 i32.const 1 i32.shl + local.get $0 i32.add - local.get $4 local.get $3 i32.const 2 i32.shl + local.get $4 i32.add i32.load call $~lib/util/number/itoa_buffered @@ -10145,10 +10121,10 @@ i32.const 1 i32.add local.set $5 - local.get $0 local.get $8 i32.const 1 i32.shl + local.get $0 i32.add local.get $3 i32.const 65535 @@ -10186,12 +10162,12 @@ i64.extend_i32_s i64.shl local.set $2 - local.get $0 local.get $5 i32.const 1 i32.sub i32.const 1 i32.shl + local.get $0 i32.add local.tee $6 i32.load16_u @@ -10247,9 +10223,6 @@ br $while-continue|0 end end - local.get $11 - i64.extend_i32_s - local.set $1 loop $while-continue|4 local.get $4 i64.const 10 @@ -10258,10 +10231,11 @@ local.get $7 i64.const 10 i64.mul - local.tee $2 - local.get $1 + local.tee $1 + local.get $11 + i64.extend_i32_s i64.shr_u - local.tee $7 + local.tee $2 local.get $5 i64.extend_i32_s i64.or @@ -10273,12 +10247,12 @@ i32.const 1 i32.add local.set $5 - local.get $0 local.get $3 i32.const 1 i32.shl + local.get $0 i32.add - local.get $7 + local.get $2 i32.wrap_i64 i32.const 65535 i32.and @@ -10291,7 +10265,7 @@ i32.sub local.set $9 local.get $4 - local.get $2 + local.get $1 local.get $13 i64.and local.tee $7 @@ -10304,7 +10278,6 @@ global.set $~lib/util/number/_K local.get $7 local.set $1 - local.get $10 i32.const 0 local.get $9 i32.sub @@ -10313,14 +10286,15 @@ i32.const 12880 i32.add i64.load32_u + local.get $10 i64.mul local.set $2 - local.get $0 local.get $5 i32.const 1 i32.sub i32.const 1 i32.shl + local.get $0 i32.add local.tee $6 i32.load16_u @@ -10380,10 +10354,10 @@ local.get $2 i32.eqz if - local.get $0 local.get $1 i32.const 1 i32.shl + local.get $0 i32.add i32.const 3145774 i32.store @@ -10409,10 +10383,10 @@ local.get $4 i32.lt_s if - local.get $0 local.get $1 i32.const 1 i32.shl + local.get $0 i32.add i32.const 48 i32.store16 @@ -10423,10 +10397,10 @@ br $for-loop|0 end end - local.get $0 local.get $4 i32.const 1 i32.shl + local.get $0 i32.add i32.const 3145774 i32.store @@ -10443,10 +10417,10 @@ i32.gt_s select if (result i32) - local.get $0 local.get $4 i32.const 1 i32.shl + local.get $0 i32.add local.tee $0 i32.const 2 @@ -10474,13 +10448,13 @@ i32.gt_s select if (result i32) - local.get $0 i32.const 2 local.get $4 i32.sub local.tee $5 i32.const 1 i32.shl + local.get $0 i32.add local.get $0 local.get $1 @@ -10497,10 +10471,10 @@ local.get $5 i32.lt_s if - local.get $0 local.get $2 i32.const 1 i32.shl + local.get $0 i32.add i32.const 48 i32.store16 @@ -10714,21 +10688,22 @@ ) (func $~lib/util/number/dtoa_core (param $0 i32) (param $1 f64) (result i32) (local $2 i64) - (local $3 i64) - (local $4 i32) - (local $5 i32) + (local $3 i32) + (local $4 i64) + (local $5 i64) (local $6 i64) - (local $7 i64) - (local $8 i64) + (local $7 i32) + (local $8 i32) (local $9 i32) - (local $10 i32) + (local $10 i64) (local $11 i64) (local $12 i64) (local $13 i64) + (local $14 i64) local.get $1 f64.const 0 f64.lt - local.tee $9 + local.tee $8 if (result f64) local.get $0 i32.const 45 @@ -10745,11 +10720,11 @@ i64.const 52 i64.shr_u i32.wrap_i64 - local.set $5 + local.set $3 local.get $2 i64.const 4503599627370495 i64.and - local.get $5 + local.get $3 i32.const 0 i32.ne i64.extend_i32_u @@ -10757,13 +10732,13 @@ i64.shl i64.add local.set $2 - local.get $5 + local.get $3 i32.const 1 - local.get $5 + local.get $3 select i32.const 1075 i32.sub - local.tee $5 + local.tee $3 i32.const 1 i32.sub local.get $2 @@ -10771,14 +10746,14 @@ i64.shl i64.const 1 i64.add - local.tee $3 + local.tee $5 i64.clz i32.wrap_i64 - local.tee $4 + local.tee $7 i32.sub - local.set $10 - local.get $3 - local.get $4 + local.set $9 + local.get $5 + local.get $7 i64.extend_i32_s i64.shl global.set $~lib/util/number/_frc_plus @@ -10788,25 +10763,25 @@ i64.eq i32.const 1 i32.add - local.tee $4 + local.tee $7 i64.extend_i32_s i64.shl i64.const 1 i64.sub - local.get $5 - local.get $4 + local.get $3 + local.get $7 i32.sub - local.get $10 + local.get $9 i32.sub i64.extend_i32_s i64.shl global.set $~lib/util/number/_frc_minus - local.get $10 + local.get $9 global.set $~lib/util/number/_exp i32.const 348 i32.const -61 global.get $~lib/util/number/_exp - local.tee $5 + local.tee $9 i32.sub f64.convert_i32_s f64.const 0.30102999566398114 @@ -10815,9 +10790,9 @@ f64.add local.tee $1 i32.trunc_f64_s - local.tee $4 + local.tee $3 local.get $1 - local.get $4 + local.get $3 f64.convert_i32_s f64.ne i32.add @@ -10825,18 +10800,18 @@ i32.shr_s i32.const 1 i32.add - local.tee $4 + local.tee $3 i32.const 3 i32.shl - local.tee $10 + local.tee $7 i32.sub global.set $~lib/util/number/_K - local.get $10 + local.get $7 i32.const 12008 i32.add i64.load global.set $~lib/util/number/_frc_pow - local.get $4 + local.get $3 i32.const 1 i32.shl i32.const 12704 @@ -10847,62 +10822,62 @@ local.get $2 i64.clz i64.shl - local.tee $3 + local.tee $2 i64.const 4294967295 i64.and - local.set $12 + local.set $11 + local.get $2 + i64.const 32 + i64.shr_u + local.tee $14 global.get $~lib/util/number/_frc_pow - local.tee $11 + local.tee $5 i64.const 4294967295 i64.and - local.set $2 - local.get $3 - i64.const 32 - i64.shr_u - local.set $13 - local.get $11 - i64.const 32 - i64.shr_u - local.set $3 - local.get $2 - local.get $13 + local.tee $2 + local.tee $4 i64.mul - local.get $2 - local.get $12 + local.get $4 + local.get $11 i64.mul i64.const 32 i64.shr_u i64.add - local.set $11 + local.set $12 + local.get $5 + i64.const 32 + i64.shr_u + local.tee $5 + local.set $13 global.get $~lib/util/number/_frc_plus - local.tee $6 + local.tee $4 i64.const 4294967295 i64.and - local.set $7 - local.get $2 - local.get $6 + local.set $6 + local.get $4 i64.const 32 i64.shr_u - local.tee $6 + local.tee $10 + local.get $2 i64.mul local.get $2 - local.get $7 + local.get $6 i64.mul i64.const 32 i64.shr_u i64.add - local.set $8 - local.get $3 - local.get $6 + local.set $4 + local.get $5 + local.get $10 i64.mul - local.get $8 + local.get $4 i64.const 32 i64.shr_u i64.add - local.get $3 - local.get $7 + local.get $5 + local.get $6 i64.mul - local.get $8 + local.get $4 i64.const 4294967295 i64.and i64.add @@ -10913,42 +10888,42 @@ i64.add i64.const 1 i64.sub - local.set $6 + local.set $4 global.get $~lib/util/number/_frc_minus - local.tee $7 + local.tee $6 i64.const 4294967295 i64.and - local.set $8 - local.get $2 - local.get $7 + local.set $10 + local.get $6 i64.const 32 i64.shr_u - local.tee $7 + local.tee $6 + local.get $2 i64.mul local.get $2 - local.get $8 + local.get $10 i64.mul i64.const 32 i64.shr_u i64.add local.set $2 - local.get $9 + local.get $8 i32.const 1 i32.shl local.get $0 i32.add local.get $0 - local.get $3 local.get $13 + local.get $14 i64.mul - local.get $11 + local.get $12 i64.const 32 i64.shr_u i64.add - local.get $3 - local.get $12 - i64.mul local.get $11 + local.get $13 + i64.mul + local.get $12 i64.const 4294967295 i64.and i64.add @@ -10957,22 +10932,22 @@ i64.const 32 i64.shr_u i64.add - local.get $6 - local.get $5 + local.get $4 global.get $~lib/util/number/_exp_pow + local.get $9 i32.add i32.const -64 i32.sub + local.get $4 + local.get $5 local.get $6 - local.get $3 - local.get $7 i64.mul local.get $2 i64.const 32 i64.shr_u i64.add - local.get $3 - local.get $8 + local.get $5 + local.get $10 i64.mul local.get $2 i64.const 4294967295 @@ -10986,13 +10961,13 @@ i64.const 1 i64.add i64.sub - local.get $9 + local.get $8 call $~lib/util/number/genDigits - local.get $9 + local.get $8 i32.sub global.get $~lib/util/number/_K call $~lib/util/number/prettify - local.get $9 + local.get $8 i32.add ) (func $~lib/util/number/dtoa_buffered (param $0 i32) (param $1 f64) (result i32) @@ -11065,6 +11040,245 @@ local.get $1 call $~lib/util/number/dtoa_core ) + (func $~lib/array/Array#join (param $0 i32) (result i32) + (local $1 i32) + (local $2 f64) + (local $3 i32) + (local $4 i32) + (local $5 i32) + (local $6 i32) + (local $7 i32) + local.get $0 + i32.load offset=4 + local.set $4 + local.get $0 + i32.load offset=12 + local.set $1 + i32.const 0 + local.set $0 + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.sub + global.set $~lib/memory/__stack_pointer + block $folding-inner1 + global.get $~lib/memory/__stack_pointer + i32.const 15596 + i32.lt_s + br_if $folding-inner1 + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store + block $__inlined_func$~lib/util/string/joinFloatArray + local.get $1 + i32.const 1 + i32.sub + local.tee $3 + i32.const 0 + i32.lt_s + if + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + i32.const 9280 + local.set $0 + br $__inlined_func$~lib/util/string/joinFloatArray + end + block $folding-inner0 + local.get $3 + i32.eqz + if + local.get $4 + f64.load + local.set $2 + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.sub + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 15596 + i32.lt_s + br_if $folding-inner1 + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store + block $__inlined_func$~lib/util/number/dtoa + local.get $2 + f64.const 0 + f64.eq + if + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + i32.const 11808 + local.set $0 + br $__inlined_func$~lib/util/number/dtoa + end + local.get $2 + local.get $2 + f64.sub + f64.const 0 + f64.ne + if + local.get $2 + local.get $2 + f64.ne + if + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + i32.const 11840 + local.set $0 + br $__inlined_func$~lib/util/number/dtoa + end + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + i32.const 11872 + i32.const 11920 + local.get $2 + f64.const 0 + f64.lt + select + local.set $0 + br $__inlined_func$~lib/util/number/dtoa + end + i32.const 11952 + local.get $2 + call $~lib/util/number/dtoa_core + i32.const 1 + i32.shl + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.const 1 + call $~lib/rt/itcms/__new + local.tee $0 + i32.store + local.get $0 + i32.const 11952 + local.get $1 + call $~lib/memory/memory.copy + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + end + br $folding-inner0 + end + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.const 11772 + i32.load + i32.const 1 + i32.shr_u + local.tee $5 + i32.const 28 + i32.add + i32.mul + i32.const 28 + i32.add + local.tee $7 + i32.const 1 + i32.shl + i32.const 1 + call $~lib/rt/itcms/__new + local.tee $1 + i32.store + loop $for-loop|0 + local.get $3 + local.get $6 + i32.gt_s + if + local.get $0 + i32.const 1 + i32.shl + local.get $1 + i32.add + local.get $6 + i32.const 3 + i32.shl + local.get $4 + i32.add + f64.load + call $~lib/util/number/dtoa_buffered + local.get $0 + i32.add + local.set $0 + local.get $5 + if + local.get $0 + i32.const 1 + i32.shl + local.get $1 + i32.add + i32.const 11776 + local.get $5 + i32.const 1 + i32.shl + call $~lib/memory/memory.copy + local.get $0 + local.get $5 + i32.add + local.set $0 + end + local.get $6 + i32.const 1 + i32.add + local.set $6 + br $for-loop|0 + end + end + local.get $7 + local.get $0 + i32.const 1 + i32.shl + local.get $1 + i32.add + local.get $3 + i32.const 3 + i32.shl + local.get $4 + i32.add + f64.load + call $~lib/util/number/dtoa_buffered + local.get $0 + i32.add + local.tee $0 + i32.gt_s + if + local.get $1 + local.get $0 + call $~lib/string/String#substring + local.set $0 + br $folding-inner0 + end + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $1 + local.set $0 + br $__inlined_func$~lib/util/string/joinFloatArray + end + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + end + local.get $0 + return + end + i32.const 32000 + i32.const 32048 + i32.const 1 + i32.const 1 + call $~lib/builtins/abort + unreachable + ) (func $~lib/array/Array<~lib/string/String|null>#join (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) @@ -11144,23 +11358,23 @@ i32.lt_s if global.get $~lib/memory/__stack_pointer - local.get $7 local.get $3 i32.const 2 i32.shl + local.get $7 i32.add i32.load local.tee $4 i32.store offset=4 local.get $4 if - local.get $0 local.get $4 i32.const 20 i32.sub i32.load offset=16 i32.const 1 i32.shr_u + local.get $0 i32.add local.set $0 end @@ -11172,7 +11386,6 @@ end end global.get $~lib/memory/__stack_pointer - local.get $0 local.get $6 local.get $1 i32.const 20 @@ -11182,6 +11395,7 @@ i32.shr_u local.tee $5 i32.mul + local.get $0 i32.add i32.const 1 i32.shl @@ -11197,20 +11411,20 @@ i32.lt_s if global.get $~lib/memory/__stack_pointer - local.get $7 local.get $3 i32.const 2 i32.shl + local.get $7 i32.add i32.load local.tee $4 i32.store offset=4 local.get $4 if - local.get $0 local.get $2 i32.const 1 i32.shl + local.get $0 i32.add local.get $4 local.get $4 @@ -11230,10 +11444,10 @@ end local.get $5 if - local.get $0 local.get $2 i32.const 1 i32.shl + local.get $0 i32.add local.get $1 local.get $5 @@ -11253,20 +11467,20 @@ end end global.get $~lib/memory/__stack_pointer - local.get $7 local.get $6 i32.const 2 i32.shl + local.get $7 i32.add i32.load local.tee $1 i32.store offset=4 local.get $1 if - local.get $0 local.get $2 i32.const 1 i32.shl + local.get $0 i32.add local.get $1 local.get $1 @@ -11372,10 +11586,10 @@ i32.gt_s if global.get $~lib/memory/__stack_pointer - local.get $1 local.get $3 i32.const 2 i32.shl + local.get $1 i32.add i32.load local.tee $4 @@ -11410,10 +11624,10 @@ end end global.get $~lib/memory/__stack_pointer - local.get $1 local.get $2 i32.const 2 i32.shl + local.get $1 i32.add i32.load local.tee $1 @@ -11460,10 +11674,10 @@ i32.const 10 i32.lt_u if - local.get $0 local.get $2 i32.const 1 i32.shl + local.get $0 i32.add local.get $1 i32.extend8_s @@ -11617,6 +11831,14 @@ i64.const 100000000 i64.ge_u if + local.get $2 + i32.const 4 + i32.sub + local.tee $2 + i32.const 1 + i32.shl + local.get $0 + i32.add local.get $1 local.get $1 i64.const 100000000 @@ -11628,20 +11850,8 @@ i32.wrap_i64 local.tee $3 i32.const 10000 - i32.div_u - local.set $4 - local.get $2 - i32.const 4 - i32.sub - local.tee $2 - i32.const 1 - i32.shl - local.get $0 - i32.add - local.get $3 - i32.const 10000 i32.rem_u - local.tee $3 + local.tee $4 i32.const 100 i32.div_u i32.const 2 @@ -11649,7 +11859,7 @@ i32.const 9884 i32.add i64.load32_u - local.get $3 + local.get $4 i32.const 100 i32.rem_u i32.const 2 @@ -11669,7 +11879,10 @@ i32.shl local.get $0 i32.add - local.get $4 + local.get $3 + i32.const 10000 + i32.div_u + local.tee $3 i32.const 100 i32.div_u i32.const 2 @@ -11677,7 +11890,7 @@ i32.const 9884 i32.add i64.load32_u - local.get $4 + local.get $3 i32.const 100 i32.rem_u i32.const 2 @@ -11830,6 +12043,326 @@ end local.get $0 ) + (func $~lib/array/Array#join (param $0 i32) (result i32) + (local $1 i32) + (local $2 i64) + (local $3 i32) + (local $4 i32) + (local $5 i32) + (local $6 i32) + (local $7 i32) + local.get $0 + i32.load offset=4 + local.set $4 + local.get $0 + i32.load offset=12 + local.set $1 + i32.const 0 + local.set $0 + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.sub + global.set $~lib/memory/__stack_pointer + block $folding-inner1 + global.get $~lib/memory/__stack_pointer + i32.const 15596 + i32.lt_s + br_if $folding-inner1 + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store + block $__inlined_func$~lib/util/string/joinIntegerArray + local.get $1 + i32.const 1 + i32.sub + local.tee $3 + i32.const 0 + i32.lt_s + if + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + i32.const 9280 + local.set $0 + br $__inlined_func$~lib/util/string/joinIntegerArray + end + block $folding-inner0 + local.get $3 + i32.eqz + if + local.get $4 + i64.load + local.set $2 + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.sub + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 15596 + i32.lt_s + br_if $folding-inner1 + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store + block $__inlined_func$~lib/util/number/utoa64 + local.get $2 + i64.eqz + if + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + i32.const 9872 + local.set $0 + br $__inlined_func$~lib/util/number/utoa64 + end + local.get $2 + i64.const 4294967295 + i64.le_u + if + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.wrap_i64 + local.tee $3 + local.tee $0 + i32.const 100000 + i32.lt_u + if (result i32) + local.get $0 + i32.const 100 + i32.lt_u + if (result i32) + local.get $0 + i32.const 10 + i32.ge_u + i32.const 1 + i32.add + else + local.get $0 + i32.const 10000 + i32.ge_u + i32.const 3 + i32.add + local.get $0 + i32.const 1000 + i32.ge_u + i32.add + end + else + local.get $0 + i32.const 10000000 + i32.lt_u + if (result i32) + local.get $0 + i32.const 1000000 + i32.ge_u + i32.const 6 + i32.add + else + local.get $0 + i32.const 1000000000 + i32.ge_u + i32.const 8 + i32.add + local.get $0 + i32.const 100000000 + i32.ge_u + i32.add + end + end + local.tee $1 + i32.const 1 + i32.shl + i32.const 1 + call $~lib/rt/itcms/__new + local.tee $0 + i32.store + local.get $0 + local.get $3 + local.get $1 + call $~lib/util/number/utoa32_dec_lut + else + global.get $~lib/memory/__stack_pointer + local.get $2 + i64.const 1000000000000000 + i64.lt_u + if (result i32) + local.get $2 + i64.const 1000000000000 + i64.lt_u + if (result i32) + local.get $2 + i64.const 100000000000 + i64.ge_u + i32.const 10 + i32.add + local.get $2 + i64.const 10000000000 + i64.ge_u + i32.add + else + local.get $2 + i64.const 100000000000000 + i64.ge_u + i32.const 13 + i32.add + local.get $2 + i64.const 10000000000000 + i64.ge_u + i32.add + end + else + local.get $2 + i64.const 100000000000000000 + i64.lt_u + if (result i32) + local.get $2 + i64.const 10000000000000000 + i64.ge_u + i32.const 16 + i32.add + else + local.get $2 + i64.const -8446744073709551616 + i64.ge_u + i32.const 18 + i32.add + local.get $2 + i64.const 1000000000000000000 + i64.ge_u + i32.add + end + end + local.tee $1 + i32.const 1 + i32.shl + i32.const 1 + call $~lib/rt/itcms/__new + local.tee $0 + i32.store + local.get $0 + local.get $2 + local.get $1 + call $~lib/util/number/utoa64_dec_lut + end + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + end + br $folding-inner0 + end + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.const 9564 + i32.load + i32.const 1 + i32.shr_u + local.tee $5 + i32.const 20 + i32.add + i32.mul + i32.const 20 + i32.add + local.tee $7 + i32.const 1 + i32.shl + i32.const 1 + call $~lib/rt/itcms/__new + local.tee $1 + i32.store + loop $for-loop|0 + local.get $3 + local.get $6 + i32.gt_s + if + local.get $0 + i32.const 1 + i32.shl + local.get $1 + i32.add + local.get $6 + i32.const 3 + i32.shl + local.get $4 + i32.add + i64.load + call $~lib/util/number/itoa_buffered + local.get $0 + i32.add + local.set $0 + local.get $5 + if + local.get $0 + i32.const 1 + i32.shl + local.get $1 + i32.add + i32.const 9568 + local.get $5 + i32.const 1 + i32.shl + call $~lib/memory/memory.copy + local.get $0 + local.get $5 + i32.add + local.set $0 + end + local.get $6 + i32.const 1 + i32.add + local.set $6 + br $for-loop|0 + end + end + local.get $7 + local.get $0 + i32.const 1 + i32.shl + local.get $1 + i32.add + local.get $3 + i32.const 3 + i32.shl + local.get $4 + i32.add + i64.load + call $~lib/util/number/itoa_buffered + local.get $0 + i32.add + local.tee $0 + i32.gt_s + if + local.get $1 + local.get $0 + call $~lib/string/String#substring + local.set $0 + br $folding-inner0 + end + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $1 + local.set $0 + br $__inlined_func$~lib/util/string/joinIntegerArray + end + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + end + local.get $0 + return + end + i32.const 32000 + i32.const 32048 + i32.const 1 + i32.const 1 + call $~lib/builtins/abort + unreachable + ) (func $~lib/util/number/itoa_buffered (param $0 i32) (param $1 i64) (result i32) (local $2 i32) (local $3 i32) @@ -11851,10 +12384,10 @@ i64.const 10 i64.lt_u if - local.get $0 local.get $3 i32.const 1 i32.shl + local.get $0 i32.add local.get $1 i64.const 48 @@ -11986,6 +12519,347 @@ end local.get $0 ) + (func $~lib/array/Array#join (param $0 i32) (result i32) + (local $1 i32) + (local $2 i64) + (local $3 i32) + (local $4 i32) + (local $5 i32) + (local $6 i32) + (local $7 i32) + local.get $0 + i32.load offset=4 + local.set $5 + local.get $0 + i32.load offset=12 + local.set $1 + i32.const 0 + local.set $0 + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.sub + global.set $~lib/memory/__stack_pointer + block $folding-inner1 + global.get $~lib/memory/__stack_pointer + i32.const 15596 + i32.lt_s + br_if $folding-inner1 + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store + block $__inlined_func$~lib/util/string/joinIntegerArray + local.get $1 + i32.const 1 + i32.sub + local.tee $4 + i32.const 0 + i32.lt_s + if + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + i32.const 9280 + local.set $0 + br $__inlined_func$~lib/util/string/joinIntegerArray + end + block $folding-inner0 + local.get $4 + i32.eqz + if + local.get $5 + i64.load + i64.extend32_s + local.set $2 + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.sub + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 15596 + i32.lt_s + br_if $folding-inner1 + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store + block $__inlined_func$~lib/util/number/itoa64 + local.get $2 + i64.eqz + if + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + i32.const 9872 + local.set $0 + br $__inlined_func$~lib/util/number/itoa64 + end + i64.const 0 + local.get $2 + i64.sub + local.get $2 + local.get $2 + i64.const 63 + i64.shr_u + i32.wrap_i64 + local.tee $3 + select + local.tee $2 + i64.const 4294967295 + i64.le_u + if + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.wrap_i64 + local.tee $6 + local.tee $0 + i32.const 100000 + i32.lt_u + if (result i32) + local.get $0 + i32.const 100 + i32.lt_u + if (result i32) + local.get $0 + i32.const 10 + i32.ge_u + i32.const 1 + i32.add + else + local.get $0 + i32.const 10000 + i32.ge_u + i32.const 3 + i32.add + local.get $0 + i32.const 1000 + i32.ge_u + i32.add + end + else + local.get $0 + i32.const 10000000 + i32.lt_u + if (result i32) + local.get $0 + i32.const 1000000 + i32.ge_u + i32.const 6 + i32.add + else + local.get $0 + i32.const 1000000000 + i32.ge_u + i32.const 8 + i32.add + local.get $0 + i32.const 100000000 + i32.ge_u + i32.add + end + end + local.get $3 + i32.add + local.tee $1 + i32.const 1 + i32.shl + i32.const 1 + call $~lib/rt/itcms/__new + local.tee $0 + i32.store + local.get $0 + local.get $6 + local.get $1 + call $~lib/util/number/utoa32_dec_lut + else + global.get $~lib/memory/__stack_pointer + local.get $2 + i64.const 1000000000000000 + i64.lt_u + if (result i32) + local.get $2 + i64.const 1000000000000 + i64.lt_u + if (result i32) + local.get $2 + i64.const 100000000000 + i64.ge_u + i32.const 10 + i32.add + local.get $2 + i64.const 10000000000 + i64.ge_u + i32.add + else + local.get $2 + i64.const 100000000000000 + i64.ge_u + i32.const 13 + i32.add + local.get $2 + i64.const 10000000000000 + i64.ge_u + i32.add + end + else + local.get $2 + i64.const 100000000000000000 + i64.lt_u + if (result i32) + local.get $2 + i64.const 10000000000000000 + i64.ge_u + i32.const 16 + i32.add + else + local.get $2 + i64.const -8446744073709551616 + i64.ge_u + i32.const 18 + i32.add + local.get $2 + i64.const 1000000000000000000 + i64.ge_u + i32.add + end + end + local.get $3 + i32.add + local.tee $1 + i32.const 1 + i32.shl + i32.const 1 + call $~lib/rt/itcms/__new + local.tee $0 + i32.store + local.get $0 + local.get $2 + local.get $1 + call $~lib/util/number/utoa64_dec_lut + end + local.get $3 + if + local.get $0 + i32.const 45 + i32.store16 + end + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + end + br $folding-inner0 + end + global.get $~lib/memory/__stack_pointer + local.get $4 + i32.const 9564 + i32.load + i32.const 1 + i32.shr_u + local.tee $7 + i32.const 21 + i32.add + i32.mul + i32.const 21 + i32.add + local.tee $6 + i32.const 1 + i32.shl + i32.const 1 + call $~lib/rt/itcms/__new + local.tee $1 + i32.store + loop $for-loop|0 + local.get $3 + local.get $4 + i32.lt_s + if + local.get $0 + i32.const 1 + i32.shl + local.get $1 + i32.add + local.get $3 + i32.const 3 + i32.shl + local.get $5 + i32.add + i64.load + call $~lib/util/number/itoa_buffered + local.get $0 + i32.add + local.set $0 + local.get $7 + if + local.get $0 + i32.const 1 + i32.shl + local.get $1 + i32.add + i32.const 9568 + local.get $7 + i32.const 1 + i32.shl + call $~lib/memory/memory.copy + local.get $0 + local.get $7 + i32.add + local.set $0 + end + local.get $3 + i32.const 1 + i32.add + local.set $3 + br $for-loop|0 + end + end + local.get $6 + local.get $0 + i32.const 1 + i32.shl + local.get $1 + i32.add + local.get $4 + i32.const 3 + i32.shl + local.get $5 + i32.add + i64.load + call $~lib/util/number/itoa_buffered + local.get $0 + i32.add + local.tee $0 + i32.gt_s + if + local.get $1 + local.get $0 + call $~lib/string/String#substring + local.set $0 + br $folding-inner0 + end + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $1 + local.set $0 + br $__inlined_func$~lib/util/string/joinIntegerArray + end + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + end + local.get $0 + return + end + i32.const 32000 + i32.const 32048 + i32.const 1 + i32.const 1 + call $~lib/builtins/abort + unreachable + ) (func $~lib/util/number/itoa_buffered (param $0 i32) (param $1 i32) (result i32) (local $2 i32) local.get $1 @@ -12147,10 +13021,10 @@ local.get $6 i32.gt_s if - local.get $0 local.get $2 i32.const 1 i32.shl + local.get $0 i32.add local.get $4 local.get $6 @@ -12162,10 +13036,10 @@ local.set $2 local.get $5 if - local.get $0 local.get $2 i32.const 1 i32.shl + local.get $0 i32.add local.get $1 local.get $5 @@ -12185,10 +13059,10 @@ end end local.get $7 - local.get $0 local.get $2 i32.const 1 i32.shl + local.get $0 i32.add local.get $3 local.get $4 @@ -13298,22 +14172,22 @@ end global.get $~lib/memory/__stack_pointer local.tee $4 - local.get $0 local.get $1 i32.const 2 i32.shl + local.get $0 i32.add i32.load local.tee $5 i32.store local.get $4 - local.get $0 local.get $1 i32.const 1 i32.add local.tee $4 i32.const 2 i32.shl + local.get $0 i32.add i32.load local.tee $6 @@ -13335,10 +14209,10 @@ if (result i32) global.get $~lib/memory/__stack_pointer local.tee $5 - local.get $0 local.get $4 i32.const 2 i32.shl + local.get $0 i32.add local.tee $6 i32.load offset=4 @@ -13377,20 +14251,20 @@ i32.lt_s if global.get $~lib/memory/__stack_pointer - local.get $0 local.get $1 i32.const 2 i32.shl + local.get $0 i32.add local.tee $3 i32.load local.tee $5 i32.store offset=8 local.get $3 - local.get $0 local.get $2 i32.const 2 i32.shl + local.get $0 i32.add local.tee $3 i32.load @@ -13417,10 +14291,10 @@ if (result i32) global.get $~lib/memory/__stack_pointer local.tee $1 - local.get $0 local.get $4 i32.const 2 i32.shl + local.get $0 i32.add local.tee $5 i32.load offset=4 @@ -13720,19 +14594,19 @@ i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer - local.tee $2 + local.tee $1 i32.const 0 i32.store - local.get $2 + local.get $1 i32.const 9568 i32.store local.get $0 i32.load offset=4 - local.set $3 + local.set $2 local.get $0 i32.load offset=12 local.set $0 - local.get $2 + local.get $1 i32.const 12 i32.sub global.set $~lib/memory/__stack_pointer @@ -13741,17 +14615,17 @@ i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer - local.tee $2 + local.tee $1 i64.const 0 i64.store - local.get $2 + local.get $1 i32.const 0 i32.store offset=8 block $__inlined_func$~lib/util/string/joinReferenceArray<~lib/array/Array> local.get $0 i32.const 1 i32.sub - local.tee $2 + local.tee $1 i32.const 0 i32.lt_s if @@ -13763,11 +14637,11 @@ local.set $0 br $__inlined_func$~lib/util/string/joinReferenceArray<~lib/array/Array> end - local.get $2 + local.get $1 i32.eqz if global.get $~lib/memory/__stack_pointer - local.get $3 + local.get $2 i32.load local.tee $0 i32.store @@ -13797,29 +14671,29 @@ local.set $5 loop $for-loop|0 local.get $1 - local.get $2 - i32.lt_s + local.get $4 + i32.gt_s if global.get $~lib/memory/__stack_pointer - local.get $3 - local.get $1 + local.get $4 i32.const 2 i32.shl + local.get $2 i32.add i32.load - local.tee $4 + local.tee $3 i32.store - local.get $4 + local.get $3 if global.get $~lib/memory/__stack_pointer - local.get $4 + local.get $3 call $~lib/array/Array#toString - local.set $4 + local.set $3 global.get $~lib/memory/__stack_pointer - local.get $4 + local.get $3 i32.store offset=8 local.get $0 - local.get $4 + local.get $3 call $~lib/string/String.__concat local.tee $0 i32.store offset=4 @@ -13833,33 +14707,33 @@ local.tee $0 i32.store offset=4 end - local.get $1 + local.get $4 i32.const 1 i32.add - local.set $1 + local.set $4 br $for-loop|0 end end global.get $~lib/memory/__stack_pointer - local.get $3 - local.get $2 + local.get $1 i32.const 2 i32.shl + local.get $2 i32.add i32.load - local.tee $1 + local.tee $2 i32.store - local.get $1 + local.get $2 if global.get $~lib/memory/__stack_pointer - local.get $1 + local.get $2 call $~lib/array/Array#toString - local.set $1 + local.set $2 global.get $~lib/memory/__stack_pointer - local.get $1 + local.get $2 i32.store offset=8 local.get $0 - local.get $1 + local.get $2 call $~lib/string/String.__concat local.tee $0 i32.store offset=4 @@ -13893,10 +14767,9 @@ (local $6 i32) (local $7 i32) (local $8 i32) - (local $9 i64) - (local $10 f64) - (local $11 i32) - (local $12 f32) + (local $9 f64) + (local $10 i32) + (local $11 f32) global.get $~lib/memory/__stack_pointer i32.const 172 i32.sub @@ -13907,70 +14780,70 @@ i32.lt_s br_if $folding-inner3 global.get $~lib/memory/__stack_pointer - local.tee $3 + local.tee $0 i64.const 0 i64.store - local.get $3 + local.get $0 i64.const 0 i64.store offset=8 - local.get $3 + local.get $0 i64.const 0 i64.store offset=16 - local.get $3 + local.get $0 i64.const 0 i64.store offset=24 - local.get $3 + local.get $0 i64.const 0 i64.store offset=32 - local.get $3 + local.get $0 i64.const 0 i64.store offset=40 - local.get $3 + local.get $0 i64.const 0 i64.store offset=48 - local.get $3 + local.get $0 i64.const 0 i64.store offset=56 - local.get $3 + local.get $0 i64.const 0 i64.store offset=64 - local.get $3 + local.get $0 i64.const 0 i64.store offset=72 - local.get $3 + local.get $0 i64.const 0 i64.store offset=80 - local.get $3 + local.get $0 i64.const 0 i64.store offset=88 - local.get $3 + local.get $0 i64.const 0 i64.store offset=96 - local.get $3 + local.get $0 i64.const 0 i64.store offset=104 - local.get $3 + local.get $0 i64.const 0 i64.store offset=112 - local.get $3 + local.get $0 i64.const 0 i64.store offset=120 - local.get $3 + local.get $0 i64.const 0 i64.store offset=128 - local.get $3 + local.get $0 i64.const 0 i64.store offset=136 - local.get $3 + local.get $0 i64.const 0 i64.store offset=144 - local.get $3 + local.get $0 i64.const 0 i64.store offset=152 - local.get $3 + local.get $0 i64.const 0 i64.store offset=160 - local.get $3 + local.get $0 i32.const 0 i32.store offset=168 memory.size @@ -14010,12 +14883,11 @@ global.set $std/array/arr i32.const 0 call $std/array/Ref#constructor - local.set $1 + local.set $0 global.get $~lib/memory/__stack_pointer - local.tee $3 - local.get $1 + local.get $0 i32.store - local.get $3 + global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub global.set $~lib/memory/__stack_pointer @@ -14024,17 +14896,17 @@ i32.lt_s br_if $folding-inner3 global.get $~lib/memory/__stack_pointer - local.tee $3 + local.tee $0 i32.const 0 i32.store - local.get $3 + local.get $0 i32.const 12 i32.const 5 call $~lib/rt/itcms/__new local.tee $0 i32.store global.get $~lib/memory/__stack_pointer - local.tee $3 + global.get $~lib/memory/__stack_pointer i32.const 8 i32.sub global.set $~lib/memory/__stack_pointer @@ -14072,21 +14944,21 @@ i32.const 1 i32.const 0 call $~lib/rt/itcms/__new - local.tee $1 + local.tee $2 i32.store offset=4 - local.get $1 + local.get $2 i32.const 0 i32.const 1 call $~lib/memory/memory.fill local.get $0 - local.get $1 + local.get $2 i32.store local.get $0 - local.get $1 + local.get $2 i32.const 0 call $~lib/rt/itcms/__link local.get $0 - local.get $1 + local.get $2 i32.store offset=4 local.get $0 i32.const 1 @@ -14095,7 +14967,6 @@ i32.const 8 i32.add global.set $~lib/memory/__stack_pointer - local.get $3 local.get $0 i32.store global.get $~lib/memory/__stack_pointer @@ -14103,17 +14974,17 @@ i32.add global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - local.tee $3 + local.tee $1 local.get $0 i32.store - local.get $3 + local.get $1 i32.const 1664 i32.store - local.get $3 + local.get $1 global.get $std/array/arr - local.tee $3 + local.tee $0 i32.store - local.get $3 + local.get $0 i32.eqz if i32.const 0 @@ -14142,12 +15013,12 @@ i32.const 6 i32.const 1728 call $~lib/rt/__newArray - local.set $3 + local.set $0 global.get $~lib/memory/__stack_pointer - local.get $3 + local.get $0 i32.store offset=8 local.get $1 - local.get $3 + local.get $0 call $std/array/isArraysEqual i32.eqz if @@ -14169,12 +15040,12 @@ i32.const 6 i32.const 1760 call $~lib/rt/__newArray - local.set $3 + local.set $0 global.get $~lib/memory/__stack_pointer - local.get $3 + local.get $0 i32.store offset=8 local.get $1 - local.get $3 + local.get $0 call $std/array/isArraysEqual i32.eqz if @@ -14196,12 +15067,12 @@ i32.const 6 i32.const 1792 call $~lib/rt/__newArray - local.set $3 + local.set $0 global.get $~lib/memory/__stack_pointer - local.get $3 + local.get $0 i32.store offset=8 local.get $1 - local.get $3 + local.get $0 call $std/array/isArraysEqual i32.eqz if @@ -14223,12 +15094,12 @@ i32.const 6 i32.const 1824 call $~lib/rt/__newArray - local.set $3 + local.set $0 global.get $~lib/memory/__stack_pointer - local.get $3 + local.get $0 i32.store offset=8 local.get $1 - local.get $3 + local.get $0 call $std/array/isArraysEqual i32.eqz if @@ -14250,12 +15121,12 @@ i32.const 6 i32.const 1856 call $~lib/rt/__newArray - local.set $3 + local.set $0 global.get $~lib/memory/__stack_pointer - local.get $3 + local.get $0 i32.store offset=8 local.get $1 - local.get $3 + local.get $0 call $std/array/isArraysEqual i32.eqz if @@ -14272,43 +15143,43 @@ i32.const 7 i32.const 1888 call $~lib/rt/__newArray - local.tee $5 + local.tee $0 i32.store offset=12 - local.get $5 + local.get $0 i32.load offset=4 - local.set $1 + local.set $4 i32.const 1 - local.get $5 + local.get $0 i32.load offset=12 - local.tee $3 - local.get $3 + local.tee $2 + local.get $2 i32.const 1 i32.gt_s select - local.set $0 + local.set $1 i32.const 3 - local.get $3 - local.get $3 + local.get $2 + local.get $2 i32.const 3 i32.gt_s select - local.set $3 + local.set $2 loop $for-loop|0 - local.get $0 - local.get $3 + local.get $1 + local.get $2 i32.lt_s if local.get $1 - local.get $0 i32.const 2 i32.shl + local.get $4 i32.add i32.const 1 i32.store - local.get $0 + local.get $1 i32.const 1 i32.add - local.set $0 + local.set $1 br $for-loop|0 end end @@ -14317,12 +15188,12 @@ i32.const 7 i32.const 1936 call $~lib/rt/__newArray - local.set $3 + local.set $1 global.get $~lib/memory/__stack_pointer - local.get $3 + local.get $1 i32.store offset=8 - local.get $5 - local.get $3 + local.get $0 + local.get $1 call $std/array/isArraysEqual i32.eqz if @@ -14333,34 +15204,35 @@ call $~lib/builtins/abort unreachable end - local.get $5 + local.get $0 + local.tee $1 i32.load offset=4 - local.set $3 + local.set $0 i32.const 0 - local.get $5 - i32.load offset=12 - local.tee $1 local.get $1 + i32.load offset=12 + local.tee $2 + local.get $2 i32.const 0 i32.gt_s select - local.set $0 + local.set $5 loop $for-loop|03 - local.get $0 - local.get $1 - i32.lt_s + local.get $2 + local.get $5 + i32.gt_s if - local.get $3 - local.get $0 + local.get $5 i32.const 2 i32.shl + local.get $0 i32.add i32.const 0 i32.store - local.get $0 + local.get $5 i32.const 1 i32.add - local.set $0 + local.set $5 br $for-loop|03 end end @@ -14369,12 +15241,12 @@ i32.const 7 i32.const 1984 call $~lib/rt/__newArray - local.set $3 + local.set $0 global.get $~lib/memory/__stack_pointer - local.get $3 + local.get $0 i32.store offset=8 - local.get $5 - local.get $3 + local.get $1 + local.get $0 call $std/array/isArraysEqual i32.eqz if @@ -14385,37 +15257,37 @@ call $~lib/builtins/abort unreachable end - local.get $5 + local.get $1 i32.load offset=4 - local.set $1 + local.set $4 i32.const 0 - local.get $5 + local.get $1 i32.load offset=12 - local.tee $3 - local.get $3 + local.tee $2 + local.get $2 i32.const 0 i32.gt_s select local.set $0 - local.get $3 + local.get $2 i32.const 3 i32.sub - local.tee $3 + local.tee $2 i32.const 0 - local.get $3 + local.get $2 i32.const 0 i32.gt_s select - local.set $3 + local.set $2 loop $for-loop|05 local.get $0 - local.get $3 + local.get $2 i32.lt_s if - local.get $1 local.get $0 i32.const 2 i32.shl + local.get $4 i32.add i32.const 1 i32.store @@ -14431,12 +15303,12 @@ i32.const 7 i32.const 2032 call $~lib/rt/__newArray - local.set $3 + local.set $0 global.get $~lib/memory/__stack_pointer - local.get $3 + local.get $0 i32.store offset=8 - local.get $5 - local.get $3 + local.get $1 + local.get $0 call $std/array/isArraysEqual i32.eqz if @@ -14447,37 +15319,37 @@ call $~lib/builtins/abort unreachable end - local.get $5 + local.get $1 i32.load offset=4 local.set $4 - local.get $5 + local.get $1 i32.load offset=12 - local.tee $1 + local.tee $2 i32.const 2 i32.sub - local.tee $3 + local.tee $0 i32.const 0 - local.get $3 + local.get $0 i32.const 0 i32.gt_s select - local.set $0 + local.set $5 loop $for-loop|07 - local.get $0 - local.get $1 - i32.lt_s + local.get $2 + local.get $5 + i32.gt_s if - local.get $4 - local.get $0 + local.get $5 i32.const 2 i32.shl + local.get $4 i32.add i32.const 2 i32.store - local.get $0 + local.get $5 i32.const 1 i32.add - local.set $0 + local.set $5 br $for-loop|07 end end @@ -14486,12 +15358,12 @@ i32.const 7 i32.const 2080 call $~lib/rt/__newArray - local.set $3 + local.set $0 global.get $~lib/memory/__stack_pointer - local.get $3 + local.get $0 i32.store offset=8 - local.get $5 - local.get $3 + local.get $1 + local.get $0 call $std/array/isArraysEqual i32.eqz if @@ -14502,34 +15374,34 @@ call $~lib/builtins/abort unreachable end - local.get $5 + local.get $1 i32.load offset=4 - local.set $1 + local.set $4 i32.const 1 - local.get $5 + local.get $1 i32.load offset=12 - local.tee $3 - local.get $3 + local.tee $2 + local.get $2 i32.const 1 i32.gt_s select local.set $0 i32.const 0 - local.get $3 - local.get $3 + local.get $2 + local.get $2 i32.const 0 i32.gt_s select - local.set $3 + local.set $2 loop $for-loop|09 local.get $0 - local.get $3 + local.get $2 i32.lt_s if - local.get $1 local.get $0 i32.const 2 i32.shl + local.get $4 i32.add i32.const 0 i32.store @@ -14545,12 +15417,12 @@ i32.const 7 i32.const 2128 call $~lib/rt/__newArray - local.set $3 + local.set $0 global.get $~lib/memory/__stack_pointer - local.get $3 + local.get $0 i32.store offset=8 - local.get $5 - local.get $3 + local.get $1 + local.get $0 call $std/array/isArraysEqual i32.eqz if @@ -14563,9 +15435,9 @@ end global.get $~lib/memory/__stack_pointer global.get $std/array/arr - local.tee $3 + local.tee $0 i32.store - local.get $3 + local.get $0 i32.load offset=12 if i32.const 0 @@ -14577,9 +15449,9 @@ end global.get $~lib/memory/__stack_pointer global.get $std/array/arr - local.tee $3 + local.tee $0 i32.store - local.get $3 + local.get $0 call $std/array/internalCapacity i32.const 8 i32.ne @@ -14593,17 +15465,17 @@ end global.get $~lib/memory/__stack_pointer global.get $std/array/arr - local.tee $3 + local.tee $0 i32.store - local.get $3 + local.get $0 i32.const 42 call $~lib/array/Array#push drop global.get $~lib/memory/__stack_pointer global.get $std/array/arr - local.tee $3 + local.tee $0 i32.store - local.get $3 + local.get $0 i32.const 0 call $~lib/array/Array#__get i32.const 42 @@ -14618,9 +15490,9 @@ end global.get $~lib/memory/__stack_pointer global.get $std/array/arr - local.tee $3 + local.tee $0 i32.store - local.get $3 + local.get $0 i32.load offset=12 i32.const 1 i32.ne @@ -14634,9 +15506,9 @@ end global.get $~lib/memory/__stack_pointer global.get $std/array/arr - local.tee $3 + local.tee $0 i32.store - local.get $3 + local.get $0 call $std/array/internalCapacity i32.const 8 i32.ne @@ -14650,9 +15522,9 @@ end global.get $~lib/memory/__stack_pointer global.get $std/array/arr - local.tee $3 + local.tee $0 i32.store - local.get $3 + local.get $0 call $~lib/array/Array#pop i32.const 42 i32.ne @@ -14666,9 +15538,9 @@ end global.get $~lib/memory/__stack_pointer global.get $std/array/arr - local.tee $3 + local.tee $0 i32.store - local.get $3 + local.get $0 i32.load offset=12 if i32.const 0 @@ -14680,9 +15552,9 @@ end global.get $~lib/memory/__stack_pointer global.get $std/array/arr - local.tee $3 + local.tee $0 i32.store - local.get $3 + local.get $0 call $std/array/internalCapacity i32.const 8 i32.ne @@ -14696,17 +15568,17 @@ end global.get $~lib/memory/__stack_pointer global.get $std/array/arr - local.tee $3 + local.tee $0 i32.store - local.get $3 + local.get $0 i32.const 43 call $~lib/array/Array#push drop global.get $~lib/memory/__stack_pointer global.get $std/array/arr - local.tee $3 + local.tee $0 i32.store - local.get $3 + local.get $0 i32.load offset=12 i32.const 1 i32.ne @@ -14720,9 +15592,9 @@ end global.get $~lib/memory/__stack_pointer global.get $std/array/arr - local.tee $3 + local.tee $0 i32.store - local.get $3 + local.get $0 call $std/array/internalCapacity i32.const 8 i32.ne @@ -14736,9 +15608,9 @@ end global.get $~lib/memory/__stack_pointer global.get $std/array/arr - local.tee $3 + local.tee $0 i32.store - local.get $3 + local.get $0 i32.const 0 call $~lib/array/Array#__get i32.const 43 @@ -14753,17 +15625,17 @@ end global.get $~lib/memory/__stack_pointer global.get $std/array/arr - local.tee $3 + local.tee $0 i32.store - local.get $3 + local.get $0 i32.const 44 call $~lib/array/Array#push drop global.get $~lib/memory/__stack_pointer global.get $std/array/arr - local.tee $3 + local.tee $0 i32.store - local.get $3 + local.get $0 i32.load offset=12 i32.const 2 i32.ne @@ -14777,9 +15649,9 @@ end global.get $~lib/memory/__stack_pointer global.get $std/array/arr - local.tee $3 + local.tee $0 i32.store - local.get $3 + local.get $0 call $std/array/internalCapacity i32.const 8 i32.ne @@ -14793,9 +15665,9 @@ end global.get $~lib/memory/__stack_pointer global.get $std/array/arr - local.tee $3 + local.tee $0 i32.store - local.get $3 + local.get $0 i32.const 0 call $~lib/array/Array#__get i32.const 43 @@ -14810,9 +15682,9 @@ end global.get $~lib/memory/__stack_pointer global.get $std/array/arr - local.tee $3 + local.tee $0 i32.store - local.get $3 + local.get $0 i32.const 1 call $~lib/array/Array#__get i32.const 44 @@ -14827,17 +15699,17 @@ end global.get $~lib/memory/__stack_pointer global.get $std/array/arr - local.tee $3 + local.tee $0 i32.store - local.get $3 + local.get $0 i32.const 45 call $~lib/array/Array#push drop global.get $~lib/memory/__stack_pointer global.get $std/array/arr - local.tee $3 + local.tee $0 i32.store - local.get $3 + local.get $0 i32.load offset=12 i32.const 3 i32.ne @@ -14851,9 +15723,9 @@ end global.get $~lib/memory/__stack_pointer global.get $std/array/arr - local.tee $3 + local.tee $0 i32.store - local.get $3 + local.get $0 call $std/array/internalCapacity i32.const 8 i32.ne @@ -14867,9 +15739,9 @@ end global.get $~lib/memory/__stack_pointer global.get $std/array/arr - local.tee $3 + local.tee $0 i32.store - local.get $3 + local.get $0 i32.const 0 call $~lib/array/Array#__get i32.const 43 @@ -14884,9 +15756,9 @@ end global.get $~lib/memory/__stack_pointer global.get $std/array/arr - local.tee $3 + local.tee $0 i32.store - local.get $3 + local.get $0 i32.const 1 call $~lib/array/Array#__get i32.const 44 @@ -14901,9 +15773,9 @@ end global.get $~lib/memory/__stack_pointer global.get $std/array/arr - local.tee $3 + local.tee $0 i32.store - local.get $3 + local.get $0 i32.const 2 call $~lib/array/Array#__get i32.const 45 @@ -14917,7 +15789,7 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $3 + local.tee $0 i32.const 2 i32.const 2 i32.const 8 @@ -14939,7 +15811,7 @@ i32.const 0 call $std/array/Ref#constructor call $~lib/array/Array#__uset - local.get $3 + local.get $0 local.get $1 i32.store offset=16 local.get $1 @@ -14966,9 +15838,9 @@ i32.const 3 i32.const 2224 call $~lib/rt/__newArray - local.tee $3 + local.tee $0 i32.store offset=12 - local.get $3 + local.get $0 i32.const 0 call $~lib/array/Array#at i32.const 1 @@ -14981,7 +15853,7 @@ call $~lib/builtins/abort unreachable end - local.get $3 + local.get $0 i32.const 3 call $~lib/array/Array#at i32.const 4 @@ -14994,7 +15866,7 @@ call $~lib/builtins/abort unreachable end - local.get $3 + local.get $0 i32.const -1 call $~lib/array/Array#at i32.const 4 @@ -15007,7 +15879,7 @@ call $~lib/builtins/abort unreachable end - local.get $3 + local.get $0 i32.const -4 call $~lib/array/Array#at i32.const 1 @@ -15023,24 +15895,23 @@ global.get $~lib/memory/__stack_pointer i32.const 0 call $~lib/array/Array#constructor - local.tee $0 + local.tee $2 i32.store offset=12 global.get $~lib/memory/__stack_pointer - local.tee $1 global.get $std/array/arr - local.tee $3 + local.tee $0 i32.store - local.get $1 - local.get $3 + global.get $~lib/memory/__stack_pointer local.get $0 + local.get $2 call $~lib/array/Array#concat local.tee $1 i32.store offset=16 global.get $~lib/memory/__stack_pointer global.get $std/array/arr - local.tee $3 + local.tee $0 i32.store - local.get $3 + local.get $0 call $std/array/internalCapacity i32.const 8 i32.ne @@ -15054,9 +15925,9 @@ end global.get $~lib/memory/__stack_pointer global.get $std/array/arr - local.tee $3 + local.tee $0 i32.store - local.get $3 + local.get $0 i32.load offset=12 i32.const 3 i32.ne @@ -15085,19 +15956,19 @@ i32.const 3 i32.const 2272 call $~lib/rt/__newArray - local.set $3 + local.set $0 global.get $~lib/memory/__stack_pointer - local.get $3 + local.get $0 i32.store offset=8 local.get $1 - local.get $3 + local.get $0 call $~lib/array/Array#concat drop global.get $~lib/memory/__stack_pointer global.get $std/array/arr - local.tee $3 + local.tee $0 i32.store - local.get $3 + local.get $0 call $std/array/internalCapacity i32.const 8 i32.ne @@ -15148,30 +16019,30 @@ call $~lib/builtins/abort unreachable end - local.get $0 + local.get $2 i32.const 46 call $~lib/array/Array#push drop - local.get $0 + local.get $2 i32.const 47 call $~lib/array/Array#push drop global.get $~lib/memory/__stack_pointer local.tee $1 global.get $std/array/arr - local.tee $3 + local.tee $0 i32.store local.get $1 - local.get $3 local.get $0 + local.get $2 call $~lib/array/Array#concat local.tee $1 i32.store offset=16 global.get $~lib/memory/__stack_pointer global.get $std/array/arr - local.tee $3 + local.tee $0 i32.store - local.get $3 + local.get $0 call $std/array/internalCapacity i32.const 8 i32.ne @@ -15183,7 +16054,7 @@ call $~lib/builtins/abort unreachable end - local.get $0 + local.get $2 i32.load offset=12 i32.const 2 i32.ne @@ -15293,9 +16164,9 @@ i32.const 3 i32.const 2304 call $~lib/rt/__newArray - local.tee $0 + local.tee $2 i32.store offset=4 - local.get $0 + local.get $2 i32.load offset=12 if i32.const 0 @@ -15308,15 +16179,15 @@ global.get $~lib/memory/__stack_pointer local.tee $1 global.get $std/array/arr - local.tee $3 + local.tee $0 i32.store offset=8 local.get $1 + local.get $2 local.get $0 - local.get $3 call $~lib/array/Array#concat - local.tee $3 + local.tee $0 i32.store offset=16 - local.get $3 + local.get $0 i32.load offset=12 i32.const 3 i32.ne @@ -15328,7 +16199,7 @@ call $~lib/builtins/abort unreachable end - local.get $0 + local.get $2 i32.load offset=12 if i32.const 0 @@ -15344,9 +16215,9 @@ i32.const 3 i32.const 2336 call $~lib/rt/__newArray - local.tee $3 + local.tee $0 i32.store offset=16 - local.get $3 + local.get $0 i32.const 0 i32.const 3 i32.const 2147483647 @@ -15360,12 +16231,12 @@ i32.const 3 i32.const 2384 call $~lib/rt/__newArray - local.set $3 + local.set $0 global.get $~lib/memory/__stack_pointer - local.get $3 + local.get $0 i32.store offset=8 local.get $1 - local.get $3 + local.get $0 i32.const 0 call $std/array/isArraysEqual i32.eqz @@ -15383,9 +16254,9 @@ i32.const 3 i32.const 2432 call $~lib/rt/__newArray - local.tee $3 + local.tee $0 i32.store offset=16 - local.get $3 + local.get $0 i32.const 1 i32.const 3 i32.const 2147483647 @@ -15399,12 +16270,12 @@ i32.const 3 i32.const 2480 call $~lib/rt/__newArray - local.set $3 + local.set $0 global.get $~lib/memory/__stack_pointer - local.get $3 + local.get $0 i32.store offset=8 local.get $1 - local.get $3 + local.get $0 i32.const 0 call $std/array/isArraysEqual i32.eqz @@ -15422,9 +16293,9 @@ i32.const 3 i32.const 2528 call $~lib/rt/__newArray - local.tee $3 + local.tee $0 i32.store offset=16 - local.get $3 + local.get $0 i32.const 1 i32.const 2 i32.const 2147483647 @@ -15438,12 +16309,12 @@ i32.const 3 i32.const 2576 call $~lib/rt/__newArray - local.set $3 + local.set $0 global.get $~lib/memory/__stack_pointer - local.get $3 + local.get $0 i32.store offset=8 local.get $1 - local.get $3 + local.get $0 i32.const 0 call $std/array/isArraysEqual i32.eqz @@ -15461,9 +16332,9 @@ i32.const 3 i32.const 2624 call $~lib/rt/__newArray - local.tee $3 + local.tee $0 i32.store offset=16 - local.get $3 + local.get $0 i32.const 2 i32.const 2 i32.const 2147483647 @@ -15477,12 +16348,12 @@ i32.const 3 i32.const 2672 call $~lib/rt/__newArray - local.set $3 + local.set $0 global.get $~lib/memory/__stack_pointer - local.get $3 + local.get $0 i32.store offset=8 local.get $1 - local.get $3 + local.get $0 i32.const 0 call $std/array/isArraysEqual i32.eqz @@ -15500,9 +16371,9 @@ i32.const 3 i32.const 2720 call $~lib/rt/__newArray - local.tee $3 + local.tee $0 i32.store offset=16 - local.get $3 + local.get $0 i32.const 0 i32.const 3 i32.const 4 @@ -15516,12 +16387,12 @@ i32.const 3 i32.const 2768 call $~lib/rt/__newArray - local.set $3 + local.set $0 global.get $~lib/memory/__stack_pointer - local.get $3 + local.get $0 i32.store offset=8 local.get $1 - local.get $3 + local.get $0 i32.const 0 call $std/array/isArraysEqual i32.eqz @@ -15539,9 +16410,9 @@ i32.const 3 i32.const 2816 call $~lib/rt/__newArray - local.tee $3 + local.tee $0 i32.store offset=16 - local.get $3 + local.get $0 i32.const 1 i32.const 3 i32.const 4 @@ -15555,12 +16426,12 @@ i32.const 3 i32.const 2864 call $~lib/rt/__newArray - local.set $3 + local.set $0 global.get $~lib/memory/__stack_pointer - local.get $3 + local.get $0 i32.store offset=8 local.get $1 - local.get $3 + local.get $0 i32.const 0 call $std/array/isArraysEqual i32.eqz @@ -15578,9 +16449,9 @@ i32.const 3 i32.const 2912 call $~lib/rt/__newArray - local.tee $3 + local.tee $0 i32.store offset=16 - local.get $3 + local.get $0 i32.const 1 i32.const 2 i32.const 4 @@ -15594,12 +16465,12 @@ i32.const 3 i32.const 2960 call $~lib/rt/__newArray - local.set $3 + local.set $0 global.get $~lib/memory/__stack_pointer - local.get $3 + local.get $0 i32.store offset=8 local.get $1 - local.get $3 + local.get $0 i32.const 0 call $std/array/isArraysEqual i32.eqz @@ -15617,9 +16488,9 @@ i32.const 3 i32.const 3008 call $~lib/rt/__newArray - local.tee $3 + local.tee $0 i32.store offset=16 - local.get $3 + local.get $0 i32.const 0 i32.const -2 i32.const 2147483647 @@ -15633,12 +16504,12 @@ i32.const 3 i32.const 3056 call $~lib/rt/__newArray - local.set $3 + local.set $0 global.get $~lib/memory/__stack_pointer - local.get $3 + local.get $0 i32.store offset=8 local.get $1 - local.get $3 + local.get $0 i32.const 0 call $std/array/isArraysEqual i32.eqz @@ -15656,9 +16527,9 @@ i32.const 3 i32.const 3104 call $~lib/rt/__newArray - local.tee $3 + local.tee $0 i32.store offset=16 - local.get $3 + local.get $0 i32.const 0 i32.const -2 i32.const -1 @@ -15672,12 +16543,12 @@ i32.const 3 i32.const 3152 call $~lib/rt/__newArray - local.set $3 + local.set $0 global.get $~lib/memory/__stack_pointer - local.get $3 + local.get $0 i32.store offset=8 local.get $1 - local.get $3 + local.get $0 i32.const 0 call $std/array/isArraysEqual i32.eqz @@ -15695,9 +16566,9 @@ i32.const 3 i32.const 3200 call $~lib/rt/__newArray - local.tee $3 + local.tee $0 i32.store offset=16 - local.get $3 + local.get $0 i32.const -4 i32.const -3 i32.const -2 @@ -15711,12 +16582,12 @@ i32.const 3 i32.const 3248 call $~lib/rt/__newArray - local.set $3 + local.set $0 global.get $~lib/memory/__stack_pointer - local.get $3 + local.get $0 i32.store offset=8 local.get $1 - local.get $3 + local.get $0 i32.const 0 call $std/array/isArraysEqual i32.eqz @@ -15734,9 +16605,9 @@ i32.const 3 i32.const 3296 call $~lib/rt/__newArray - local.tee $3 + local.tee $0 i32.store offset=16 - local.get $3 + local.get $0 i32.const -4 i32.const -3 i32.const -1 @@ -15750,12 +16621,12 @@ i32.const 3 i32.const 3344 call $~lib/rt/__newArray - local.set $3 + local.set $0 global.get $~lib/memory/__stack_pointer - local.get $3 + local.get $0 i32.store offset=8 local.get $1 - local.get $3 + local.get $0 i32.const 0 call $std/array/isArraysEqual i32.eqz @@ -15773,9 +16644,9 @@ i32.const 3 i32.const 3392 call $~lib/rt/__newArray - local.tee $3 + local.tee $0 i32.store offset=16 - local.get $3 + local.get $0 i32.const -4 i32.const -3 i32.const 2147483647 @@ -15789,12 +16660,12 @@ i32.const 3 i32.const 3440 call $~lib/rt/__newArray - local.set $3 + local.set $0 global.get $~lib/memory/__stack_pointer - local.get $3 + local.get $0 i32.store offset=8 local.get $1 - local.get $3 + local.get $0 i32.const 0 call $std/array/isArraysEqual i32.eqz @@ -15808,17 +16679,17 @@ end global.get $~lib/memory/__stack_pointer global.get $std/array/arr - local.tee $3 + local.tee $0 i32.store - local.get $3 + local.get $0 i32.const 42 call $~lib/array/Array#unshift drop global.get $~lib/memory/__stack_pointer global.get $std/array/arr - local.tee $3 + local.tee $0 i32.store - local.get $3 + local.get $0 i32.load offset=12 i32.const 4 i32.ne @@ -15832,9 +16703,9 @@ end global.get $~lib/memory/__stack_pointer global.get $std/array/arr - local.tee $3 + local.tee $0 i32.store - local.get $3 + local.get $0 call $std/array/internalCapacity i32.const 8 i32.ne @@ -15848,9 +16719,9 @@ end global.get $~lib/memory/__stack_pointer global.get $std/array/arr - local.tee $3 + local.tee $0 i32.store - local.get $3 + local.get $0 i32.const 0 call $~lib/array/Array#__get i32.const 42 @@ -15865,9 +16736,9 @@ end global.get $~lib/memory/__stack_pointer global.get $std/array/arr - local.tee $3 + local.tee $0 i32.store - local.get $3 + local.get $0 i32.const 1 call $~lib/array/Array#__get i32.const 43 @@ -15882,9 +16753,9 @@ end global.get $~lib/memory/__stack_pointer global.get $std/array/arr - local.tee $3 + local.tee $0 i32.store - local.get $3 + local.get $0 i32.const 2 call $~lib/array/Array#__get i32.const 44 @@ -15899,9 +16770,9 @@ end global.get $~lib/memory/__stack_pointer global.get $std/array/arr - local.tee $3 + local.tee $0 i32.store - local.get $3 + local.get $0 i32.const 3 call $~lib/array/Array#__get i32.const 45 @@ -15916,17 +16787,17 @@ end global.get $~lib/memory/__stack_pointer global.get $std/array/arr - local.tee $3 + local.tee $0 i32.store - local.get $3 + local.get $0 i32.const 41 call $~lib/array/Array#unshift drop global.get $~lib/memory/__stack_pointer global.get $std/array/arr - local.tee $3 + local.tee $0 i32.store - local.get $3 + local.get $0 i32.load offset=12 i32.const 5 i32.ne @@ -15940,9 +16811,9 @@ end global.get $~lib/memory/__stack_pointer global.get $std/array/arr - local.tee $3 + local.tee $0 i32.store - local.get $3 + local.get $0 call $std/array/internalCapacity i32.const 8 i32.ne @@ -15956,9 +16827,9 @@ end global.get $~lib/memory/__stack_pointer global.get $std/array/arr - local.tee $3 + local.tee $0 i32.store - local.get $3 + local.get $0 i32.const 0 call $~lib/array/Array#__get i32.const 41 @@ -15973,9 +16844,9 @@ end global.get $~lib/memory/__stack_pointer global.get $std/array/arr - local.tee $3 + local.tee $0 i32.store - local.get $3 + local.get $0 i32.const 1 call $~lib/array/Array#__get i32.const 42 @@ -15990,9 +16861,9 @@ end global.get $~lib/memory/__stack_pointer global.get $std/array/arr - local.tee $3 + local.tee $0 i32.store - local.get $3 + local.get $0 i32.const 2 call $~lib/array/Array#__get i32.const 43 @@ -16007,9 +16878,9 @@ end global.get $~lib/memory/__stack_pointer global.get $std/array/arr - local.tee $3 + local.tee $0 i32.store - local.get $3 + local.get $0 i32.const 3 call $~lib/array/Array#__get i32.const 44 @@ -16024,9 +16895,9 @@ end global.get $~lib/memory/__stack_pointer global.get $std/array/arr - local.tee $3 + local.tee $0 i32.store - local.get $3 + local.get $0 i32.const 4 call $~lib/array/Array#__get i32.const 45 @@ -16045,7 +16916,7 @@ i32.store local.get $5 i32.load offset=12 - local.tee $3 + local.tee $0 i32.const 1 i32.lt_s if @@ -16064,15 +16935,15 @@ local.get $4 i32.const 4 i32.add - local.get $3 + local.get $0 i32.const 1 i32.sub local.tee $1 i32.const 2 i32.shl - local.tee $3 + local.tee $0 call $~lib/memory/memory.copy - local.get $3 + local.get $0 local.get $4 i32.add i32.const 0 @@ -16094,9 +16965,9 @@ end global.get $~lib/memory/__stack_pointer global.get $std/array/arr - local.tee $3 + local.tee $0 i32.store - local.get $3 + local.get $0 i32.load offset=12 i32.const 4 i32.ne @@ -16110,9 +16981,9 @@ end global.get $~lib/memory/__stack_pointer global.get $std/array/arr - local.tee $3 + local.tee $0 i32.store - local.get $3 + local.get $0 call $std/array/internalCapacity i32.const 8 i32.ne @@ -16126,9 +16997,9 @@ end global.get $~lib/memory/__stack_pointer global.get $std/array/arr - local.tee $3 + local.tee $0 i32.store - local.get $3 + local.get $0 i32.const 0 call $~lib/array/Array#__get i32.const 42 @@ -16143,9 +17014,9 @@ end global.get $~lib/memory/__stack_pointer global.get $std/array/arr - local.tee $3 + local.tee $0 i32.store - local.get $3 + local.get $0 i32.const 1 call $~lib/array/Array#__get i32.const 43 @@ -16160,9 +17031,9 @@ end global.get $~lib/memory/__stack_pointer global.get $std/array/arr - local.tee $3 + local.tee $0 i32.store - local.get $3 + local.get $0 i32.const 2 call $~lib/array/Array#__get i32.const 44 @@ -16177,9 +17048,9 @@ end global.get $~lib/memory/__stack_pointer global.get $std/array/arr - local.tee $3 + local.tee $0 i32.store - local.get $3 + local.get $0 i32.const 3 call $~lib/array/Array#__get i32.const 45 @@ -16194,9 +17065,9 @@ end global.get $~lib/memory/__stack_pointer global.get $std/array/arr - local.tee $3 + local.tee $0 i32.store - local.get $3 + local.get $0 call $~lib/array/Array#pop global.set $std/array/i global.get $std/array/i @@ -16212,9 +17083,9 @@ end global.get $~lib/memory/__stack_pointer global.get $std/array/arr - local.tee $3 + local.tee $0 i32.store - local.get $3 + local.get $0 i32.load offset=12 i32.const 3 i32.ne @@ -16228,9 +17099,9 @@ end global.get $~lib/memory/__stack_pointer global.get $std/array/arr - local.tee $3 + local.tee $0 i32.store - local.get $3 + local.get $0 call $std/array/internalCapacity i32.const 8 i32.ne @@ -16244,9 +17115,9 @@ end global.get $~lib/memory/__stack_pointer global.get $std/array/arr - local.tee $3 + local.tee $0 i32.store - local.get $3 + local.get $0 i32.const 0 call $~lib/array/Array#__get i32.const 42 @@ -16261,9 +17132,9 @@ end global.get $~lib/memory/__stack_pointer global.get $std/array/arr - local.tee $3 + local.tee $0 i32.store - local.get $3 + local.get $0 i32.const 1 call $~lib/array/Array#__get i32.const 43 @@ -16278,9 +17149,9 @@ end global.get $~lib/memory/__stack_pointer global.get $std/array/arr - local.tee $3 + local.tee $0 i32.store - local.get $3 + local.get $0 i32.const 2 call $~lib/array/Array#__get i32.const 44 @@ -16299,14 +17170,14 @@ i32.const 3 i32.const 3488 call $~lib/rt/__newArray - local.tee $0 + local.tee $2 i32.store offset=4 global.get $~lib/memory/__stack_pointer - local.get $0 + local.get $2 i32.const 2 i32.const 2147483647 call $~lib/array/Array#slice - local.tee $3 + local.tee $0 i32.store offset=16 i32.const 3 i32.const 2 @@ -16317,7 +17188,7 @@ global.get $~lib/memory/__stack_pointer local.get $1 i32.store offset=8 - local.get $3 + local.get $0 local.get $1 i32.const 0 call $std/array/isArraysEqual @@ -16331,11 +17202,11 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $0 + local.get $2 i32.const 2 i32.const 4 call $~lib/array/Array#slice - local.tee $3 + local.tee $0 i32.store offset=16 i32.const 2 i32.const 2 @@ -16346,7 +17217,7 @@ global.get $~lib/memory/__stack_pointer local.get $1 i32.store offset=8 - local.get $3 + local.get $0 local.get $1 i32.const 0 call $std/array/isArraysEqual @@ -16360,11 +17231,11 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $0 + local.get $2 i32.const 1 i32.const 5 call $~lib/array/Array#slice - local.tee $3 + local.tee $0 i32.store offset=16 i32.const 4 i32.const 2 @@ -16375,7 +17246,7 @@ global.get $~lib/memory/__stack_pointer local.get $1 i32.store offset=8 - local.get $3 + local.get $0 local.get $1 i32.const 0 call $std/array/isArraysEqual @@ -16389,14 +17260,14 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $0 + local.get $2 i32.const 0 i32.const 2147483647 call $~lib/array/Array#slice - local.tee $3 + local.tee $0 i32.store offset=16 - local.get $3 local.get $0 + local.get $2 i32.const 0 call $std/array/isArraysEqual i32.eqz @@ -16409,11 +17280,11 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $0 + local.get $2 i32.const -2 i32.const 2147483647 call $~lib/array/Array#slice - local.tee $3 + local.tee $0 i32.store offset=16 i32.const 2 i32.const 2 @@ -16424,7 +17295,7 @@ global.get $~lib/memory/__stack_pointer local.get $1 i32.store offset=8 - local.get $3 + local.get $0 local.get $1 i32.const 0 call $std/array/isArraysEqual @@ -16438,11 +17309,11 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $0 + local.get $2 i32.const 2 i32.const -1 call $~lib/array/Array#slice - local.tee $3 + local.tee $0 i32.store offset=16 i32.const 2 i32.const 2 @@ -16453,7 +17324,7 @@ global.get $~lib/memory/__stack_pointer local.get $1 i32.store offset=8 - local.get $3 + local.get $0 local.get $1 i32.const 0 call $std/array/isArraysEqual @@ -16467,11 +17338,11 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $0 + local.get $2 i32.const -3 i32.const -1 call $~lib/array/Array#slice - local.tee $3 + local.tee $0 i32.store offset=16 i32.const 2 i32.const 2 @@ -16482,7 +17353,7 @@ global.get $~lib/memory/__stack_pointer local.get $1 i32.store offset=8 - local.get $3 + local.get $0 local.get $1 i32.const 0 call $std/array/isArraysEqual @@ -16495,15 +17366,15 @@ call $~lib/builtins/abort unreachable end - local.get $0 + local.get $2 i32.const -1 i32.const -3 call $~lib/array/Array#slice - local.set $3 + local.set $0 global.get $~lib/memory/__stack_pointer - local.get $3 + local.get $0 i32.store - local.get $3 + local.get $0 i32.load offset=12 if i32.const 0 @@ -16513,15 +17384,15 @@ call $~lib/builtins/abort unreachable end - local.get $0 + local.get $2 i32.const 10 i32.const 2147483647 call $~lib/array/Array#slice - local.set $3 + local.set $0 global.get $~lib/memory/__stack_pointer - local.get $3 + local.get $0 i32.store - local.get $3 + local.get $0 i32.load offset=12 if i32.const 0 @@ -16533,24 +17404,24 @@ end global.get $~lib/memory/__stack_pointer global.get $std/array/arr - local.tee $3 + local.tee $1 i32.store - local.get $3 + local.get $1 i32.load offset=4 - local.set $2 + local.set $6 i32.const 0 local.set $0 - local.get $3 + local.get $1 i32.load offset=12 - local.tee $3 + local.tee $1 i32.const 1 i32.gt_u if - local.get $3 + local.get $1 i32.const 1 i32.shr_u local.set $5 - local.get $3 + local.get $1 i32.const 1 i32.sub local.set $4 @@ -16559,27 +17430,27 @@ local.get $5 i32.lt_u if - local.get $2 local.get $0 i32.const 2 i32.shl + local.get $6 i32.add - local.tee $3 + local.tee $1 i32.load - local.set $1 - local.get $3 - local.get $2 + local.set $2 + local.get $1 local.get $4 local.get $0 i32.sub i32.const 2 i32.shl + local.get $6 i32.add - local.tee $3 + local.tee $1 i32.load i32.store - local.get $3 local.get $1 + local.get $2 i32.store local.get $0 i32.const 1 @@ -16591,9 +17462,9 @@ end global.get $~lib/memory/__stack_pointer global.get $std/array/arr - local.tee $3 + local.tee $0 i32.store - local.get $3 + local.get $0 i32.load offset=12 i32.const 3 i32.ne @@ -16607,9 +17478,9 @@ end global.get $~lib/memory/__stack_pointer global.get $std/array/arr - local.tee $3 + local.tee $0 i32.store - local.get $3 + local.get $0 call $std/array/internalCapacity i32.const 8 i32.ne @@ -16623,9 +17494,9 @@ end global.get $~lib/memory/__stack_pointer global.get $std/array/arr - local.tee $3 + local.tee $0 i32.store - local.get $3 + local.get $0 i32.const 0 call $~lib/array/Array#__get i32.const 44 @@ -16640,9 +17511,9 @@ end global.get $~lib/memory/__stack_pointer global.get $std/array/arr - local.tee $3 + local.tee $0 i32.store - local.get $3 + local.get $0 i32.const 1 call $~lib/array/Array#__get i32.const 43 @@ -16657,9 +17528,9 @@ end global.get $~lib/memory/__stack_pointer global.get $std/array/arr - local.tee $3 + local.tee $0 i32.store - local.get $3 + local.get $0 i32.const 2 call $~lib/array/Array#__get i32.const 42 @@ -16674,17 +17545,17 @@ end global.get $~lib/memory/__stack_pointer global.get $std/array/arr - local.tee $3 + local.tee $0 i32.store - local.get $3 + local.get $0 i32.const 43 call $~lib/array/Array#push drop global.get $~lib/memory/__stack_pointer global.get $std/array/arr - local.tee $3 + local.tee $0 i32.store - local.get $3 + local.get $0 i32.const 44 call $~lib/array/Array#push drop @@ -16700,22 +17571,22 @@ i32.store local.get $1 call $~lib/array/Array#reverse - local.tee $1 + local.tee $2 i32.store offset=16 i32.const 0 local.set $0 - local.get $1 + local.get $2 i32.load offset=12 - local.set $3 + local.set $1 loop $for-loop|010 local.get $0 - local.get $3 + local.get $1 i32.lt_s if - local.get $1 + local.get $2 local.get $0 call $~lib/array/Array#__get - local.get $1 + local.get $2 i32.load offset=12 local.get $0 i32.sub @@ -16749,22 +17620,22 @@ i32.store local.get $1 call $~lib/array/Array#reverse - local.tee $1 + local.tee $2 i32.store offset=4 i32.const 0 local.set $0 - local.get $1 + local.get $2 i32.load offset=12 - local.set $3 + local.set $1 loop $for-loop|1 local.get $0 - local.get $3 + local.get $1 i32.lt_s if - local.get $1 + local.get $2 local.get $0 call $~lib/array/Array#__get - local.get $1 + local.get $2 i32.load offset=12 local.get $0 i32.sub @@ -16798,22 +17669,22 @@ i32.store local.get $1 call $~lib/array/Array#reverse - local.tee $1 + local.tee $2 i32.store offset=12 i32.const 0 local.set $0 - local.get $1 + local.get $2 i32.load offset=12 - local.set $3 + local.set $1 loop $for-loop|2 local.get $0 - local.get $3 + local.get $1 i32.lt_s if - local.get $1 + local.get $2 local.get $0 call $~lib/array/Array#__get - local.get $1 + local.get $2 i32.load offset=12 local.get $0 i32.sub @@ -16847,22 +17718,22 @@ i32.store local.get $1 call $~lib/array/Array#reverse - local.tee $1 + local.tee $2 i32.store offset=20 i32.const 0 local.set $0 - local.get $1 + local.get $2 i32.load offset=12 - local.set $3 + local.set $1 loop $for-loop|3 local.get $0 - local.get $3 + local.get $1 i32.lt_s if - local.get $1 + local.get $2 local.get $0 call $~lib/array/Array#__get - local.get $1 + local.get $2 i32.load offset=12 local.get $0 i32.sub @@ -16896,22 +17767,22 @@ i32.store local.get $1 call $~lib/array/Array#reverse - local.tee $1 + local.tee $2 i32.store offset=24 i32.const 0 local.set $0 - local.get $1 + local.get $2 i32.load offset=12 - local.set $3 + local.set $1 loop $for-loop|4 local.get $0 - local.get $3 + local.get $1 i32.lt_s if - local.get $1 + local.get $2 local.get $0 call $~lib/array/Array#__get - local.get $1 + local.get $2 i32.load offset=12 local.get $0 i32.sub @@ -16945,22 +17816,22 @@ i32.store local.get $1 call $~lib/array/Array#reverse - local.tee $1 + local.tee $2 i32.store offset=28 i32.const 0 local.set $0 - local.get $1 + local.get $2 i32.load offset=12 - local.set $3 + local.set $1 loop $for-loop|5 local.get $0 - local.get $3 + local.get $1 i32.lt_s if - local.get $1 + local.get $2 local.get $0 call $~lib/array/Array#__get - local.get $1 + local.get $2 i32.load offset=12 local.get $0 i32.sub @@ -16984,52 +17855,52 @@ end global.get $~lib/memory/__stack_pointer global.get $std/array/arr - local.tee $3 + local.tee $1 i32.store i32.const 0 - local.set $1 + local.set $0 block $__inlined_func$~lib/array/Array#indexOf - local.get $3 + local.get $1 i32.load offset=12 - local.tee $0 + local.tee $2 i32.const 0 i32.le_s i32.const 1 - local.get $0 + local.get $2 select if i32.const -1 - local.set $1 + local.set $0 br $__inlined_func$~lib/array/Array#indexOf end - local.get $3 + local.get $1 i32.load offset=4 - local.set $3 + local.set $1 loop $while-continue|011 local.get $0 - local.get $1 - i32.gt_s + local.get $2 + i32.lt_s if - local.get $3 - local.get $1 + local.get $0 i32.const 2 i32.shl + local.get $1 i32.add i32.load i32.const 44 i32.eq br_if $__inlined_func$~lib/array/Array#indexOf - local.get $1 + local.get $0 i32.const 1 i32.add - local.set $1 + local.set $0 br $while-continue|011 end end i32.const -1 - local.set $1 + local.set $0 end - local.get $1 + local.get $0 global.set $std/array/i global.get $std/array/i if @@ -17042,52 +17913,52 @@ end global.get $~lib/memory/__stack_pointer global.get $std/array/arr - local.tee $3 + local.tee $1 i32.store i32.const 0 - local.set $1 + local.set $0 block $__inlined_func$~lib/array/Array#indexOf12 - local.get $3 + local.get $1 i32.load offset=12 - local.tee $0 + local.tee $2 i32.const 0 i32.le_s i32.const 1 - local.get $0 + local.get $2 select if i32.const -1 - local.set $1 + local.set $0 br $__inlined_func$~lib/array/Array#indexOf12 end - local.get $3 + local.get $1 i32.load offset=4 - local.set $3 + local.set $1 loop $while-continue|013 local.get $0 - local.get $1 - i32.gt_s + local.get $2 + i32.lt_s if - local.get $3 - local.get $1 + local.get $0 i32.const 2 i32.shl + local.get $1 i32.add i32.load i32.const 42 i32.eq br_if $__inlined_func$~lib/array/Array#indexOf12 - local.get $1 + local.get $0 i32.const 1 i32.add - local.set $1 + local.set $0 br $while-continue|013 end end i32.const -1 - local.set $1 + local.set $0 end - local.get $1 + local.get $0 global.set $std/array/i global.get $std/array/i i32.const 2 @@ -17102,52 +17973,52 @@ end global.get $~lib/memory/__stack_pointer global.get $std/array/arr - local.tee $3 + local.tee $1 i32.store i32.const 0 - local.set $1 + local.set $0 block $__inlined_func$~lib/array/Array#indexOf14 - local.get $3 + local.get $1 i32.load offset=12 - local.tee $0 + local.tee $2 i32.const 0 i32.le_s i32.const 1 - local.get $0 + local.get $2 select if i32.const -1 - local.set $1 + local.set $0 br $__inlined_func$~lib/array/Array#indexOf14 end - local.get $3 + local.get $1 i32.load offset=4 - local.set $3 + local.set $1 loop $while-continue|015 local.get $0 - local.get $1 - i32.gt_s + local.get $2 + i32.lt_s if - local.get $3 - local.get $1 + local.get $0 i32.const 2 i32.shl + local.get $1 i32.add i32.load i32.const 45 i32.eq br_if $__inlined_func$~lib/array/Array#indexOf14 - local.get $1 + local.get $0 i32.const 1 i32.add - local.set $1 + local.set $0 br $while-continue|015 end end i32.const -1 - local.set $1 + local.set $0 end - local.get $1 + local.get $0 global.set $std/array/i global.get $std/array/i i32.const -1 @@ -17162,52 +18033,52 @@ end global.get $~lib/memory/__stack_pointer global.get $std/array/arr - local.tee $3 + local.tee $1 i32.store i32.const 100 - local.set $1 + local.set $0 block $__inlined_func$~lib/array/Array#indexOf16 - local.get $3 + local.get $1 i32.load offset=12 - local.tee $0 + local.tee $2 i32.const 100 i32.le_s i32.const 1 - local.get $0 + local.get $2 select if i32.const -1 - local.set $1 + local.set $0 br $__inlined_func$~lib/array/Array#indexOf16 end - local.get $3 + local.get $1 i32.load offset=4 - local.set $3 + local.set $1 loop $while-continue|017 local.get $0 - local.get $1 - i32.gt_s + local.get $2 + i32.lt_s if - local.get $3 - local.get $1 + local.get $0 i32.const 2 i32.shl + local.get $1 i32.add i32.load i32.const 43 i32.eq br_if $__inlined_func$~lib/array/Array#indexOf16 - local.get $1 + local.get $0 i32.const 1 i32.add - local.set $1 + local.set $0 br $while-continue|017 end end i32.const -1 - local.set $1 + local.set $0 end - local.get $1 + local.get $0 global.set $std/array/i global.get $std/array/i i32.const -1 @@ -17222,60 +18093,60 @@ end global.get $~lib/memory/__stack_pointer global.get $std/array/arr - local.tee $3 + local.tee $1 i32.store block $__inlined_func$~lib/array/Array#indexOf18 - local.get $3 + local.get $1 i32.load offset=12 - local.tee $0 + local.tee $2 i32.const -100 i32.le_s i32.const 1 - local.get $0 + local.get $2 select if i32.const -1 - local.set $1 + local.set $0 br $__inlined_func$~lib/array/Array#indexOf18 end - local.get $0 + local.get $2 i32.const 100 i32.sub - local.tee $1 + local.tee $0 i32.const 0 - local.get $1 + local.get $0 i32.const 0 i32.gt_s select - local.set $1 - local.get $3 + local.set $0 + local.get $1 i32.load offset=4 - local.set $3 + local.set $1 loop $while-continue|019 local.get $0 - local.get $1 - i32.gt_s + local.get $2 + i32.lt_s if - local.get $3 - local.get $1 + local.get $0 i32.const 2 i32.shl + local.get $1 i32.add i32.load i32.const 43 i32.eq br_if $__inlined_func$~lib/array/Array#indexOf18 - local.get $1 + local.get $0 i32.const 1 i32.add - local.set $1 + local.set $0 br $while-continue|019 end end i32.const -1 - local.set $1 + local.set $0 end - local.get $1 + local.get $0 global.set $std/array/i global.get $std/array/i i32.const 1 @@ -17290,60 +18161,60 @@ end global.get $~lib/memory/__stack_pointer global.get $std/array/arr - local.tee $3 + local.tee $1 i32.store block $__inlined_func$~lib/array/Array#indexOf20 - local.get $3 + local.get $1 i32.load offset=12 - local.tee $0 + local.tee $2 i32.const -2 i32.le_s i32.const 1 - local.get $0 + local.get $2 select if i32.const -1 - local.set $1 + local.set $0 br $__inlined_func$~lib/array/Array#indexOf20 end - local.get $0 + local.get $2 i32.const 2 i32.sub - local.tee $1 + local.tee $0 i32.const 0 - local.get $1 + local.get $0 i32.const 0 i32.gt_s select - local.set $1 - local.get $3 + local.set $0 + local.get $1 i32.load offset=4 - local.set $3 + local.set $1 loop $while-continue|021 local.get $0 - local.get $1 - i32.gt_s + local.get $2 + i32.lt_s if - local.get $3 - local.get $1 + local.get $0 i32.const 2 i32.shl + local.get $1 i32.add i32.load i32.const 43 i32.eq br_if $__inlined_func$~lib/array/Array#indexOf20 - local.get $1 + local.get $0 i32.const 1 i32.add - local.set $1 + local.set $0 br $while-continue|021 end end i32.const -1 - local.set $1 + local.set $0 end - local.get $1 + local.get $0 global.set $std/array/i global.get $std/array/i i32.const 3 @@ -17358,60 +18229,60 @@ end global.get $~lib/memory/__stack_pointer global.get $std/array/arr - local.tee $3 + local.tee $1 i32.store block $__inlined_func$~lib/array/Array#indexOf22 - local.get $3 + local.get $1 i32.load offset=12 - local.tee $0 + local.tee $2 i32.const -4 i32.le_s i32.const 1 - local.get $0 + local.get $2 select if i32.const -1 - local.set $1 + local.set $0 br $__inlined_func$~lib/array/Array#indexOf22 end - local.get $0 + local.get $2 i32.const 4 i32.sub - local.tee $1 + local.tee $0 i32.const 0 - local.get $1 + local.get $0 i32.const 0 i32.gt_s select - local.set $1 - local.get $3 + local.set $0 + local.get $1 i32.load offset=4 - local.set $3 + local.set $1 loop $while-continue|023 local.get $0 - local.get $1 - i32.gt_s + local.get $2 + i32.lt_s if - local.get $3 - local.get $1 + local.get $0 i32.const 2 i32.shl + local.get $1 i32.add i32.load i32.const 43 i32.eq br_if $__inlined_func$~lib/array/Array#indexOf22 - local.get $1 + local.get $0 i32.const 1 i32.add - local.set $1 + local.set $0 br $while-continue|023 end end i32.const -1 - local.set $1 + local.set $0 end - local.get $1 + local.get $0 global.set $std/array/i global.get $std/array/i i32.const 1 @@ -17426,52 +18297,52 @@ end global.get $~lib/memory/__stack_pointer global.get $std/array/arr - local.tee $3 + local.tee $1 i32.store i32.const 0 - local.set $1 + local.set $0 block $__inlined_func$~lib/array/Array#indexOf24 - local.get $3 + local.get $1 i32.load offset=12 - local.tee $0 + local.tee $2 i32.const 0 i32.le_s i32.const 1 - local.get $0 + local.get $2 select if i32.const -1 - local.set $1 + local.set $0 br $__inlined_func$~lib/array/Array#indexOf24 end - local.get $3 + local.get $1 i32.load offset=4 - local.set $3 + local.set $1 loop $while-continue|025 local.get $0 - local.get $1 - i32.gt_s + local.get $2 + i32.lt_s if - local.get $3 - local.get $1 + local.get $0 i32.const 2 i32.shl + local.get $1 i32.add i32.load i32.const 43 i32.eq br_if $__inlined_func$~lib/array/Array#indexOf24 - local.get $1 + local.get $0 i32.const 1 i32.add - local.set $1 + local.set $0 br $while-continue|025 end end i32.const -1 - local.set $1 + local.set $0 end - local.get $1 + local.get $0 global.set $std/array/i global.get $std/array/i i32.const 1 @@ -17486,52 +18357,52 @@ end global.get $~lib/memory/__stack_pointer global.get $std/array/arr - local.tee $3 + local.tee $1 i32.store i32.const 1 - local.set $1 + local.set $0 block $__inlined_func$~lib/array/Array#indexOf26 - local.get $3 + local.get $1 i32.load offset=12 - local.tee $0 + local.tee $2 i32.const 1 i32.le_s i32.const 1 - local.get $0 + local.get $2 select if i32.const -1 - local.set $1 + local.set $0 br $__inlined_func$~lib/array/Array#indexOf26 end - local.get $3 + local.get $1 i32.load offset=4 - local.set $3 + local.set $1 loop $while-continue|027 local.get $0 - local.get $1 - i32.gt_s + local.get $2 + i32.lt_s if - local.get $3 - local.get $1 + local.get $0 i32.const 2 i32.shl + local.get $1 i32.add i32.load i32.const 43 i32.eq br_if $__inlined_func$~lib/array/Array#indexOf26 - local.get $1 + local.get $0 i32.const 1 i32.add - local.set $1 + local.set $0 br $while-continue|027 end end i32.const -1 - local.set $1 + local.set $0 end - local.get $1 + local.get $0 global.set $std/array/i global.get $std/array/i i32.const 1 @@ -17546,52 +18417,52 @@ end global.get $~lib/memory/__stack_pointer global.get $std/array/arr - local.tee $3 + local.tee $1 i32.store i32.const 2 - local.set $1 + local.set $0 block $__inlined_func$~lib/array/Array#indexOf28 - local.get $3 + local.get $1 i32.load offset=12 - local.tee $0 + local.tee $2 i32.const 2 i32.le_s i32.const 1 - local.get $0 + local.get $2 select if i32.const -1 - local.set $1 + local.set $0 br $__inlined_func$~lib/array/Array#indexOf28 end - local.get $3 + local.get $1 i32.load offset=4 - local.set $3 + local.set $1 loop $while-continue|029 local.get $0 - local.get $1 - i32.gt_s + local.get $2 + i32.lt_s if - local.get $3 - local.get $1 + local.get $0 i32.const 2 i32.shl + local.get $1 i32.add i32.load i32.const 43 i32.eq br_if $__inlined_func$~lib/array/Array#indexOf28 - local.get $1 + local.get $0 i32.const 1 i32.add - local.set $1 + local.set $0 br $while-continue|029 end end i32.const -1 - local.set $1 + local.set $0 end - local.get $1 + local.get $0 global.set $std/array/i global.get $std/array/i i32.const 3 @@ -17609,16 +18480,16 @@ i32.const 10 i32.const 4000 call $~lib/rt/__newArray - local.set $3 + local.set $2 global.get $~lib/memory/__stack_pointer - local.get $3 + local.get $2 i32.store i32.const 0 - local.set $1 - i32.const -1 local.set $0 + i32.const -1 + local.set $1 block $__inlined_func$~lib/array/Array#indexOf - local.get $3 + local.get $2 i32.load offset=12 local.tee $4 i32.const 0 @@ -17627,35 +18498,35 @@ local.get $4 select br_if $__inlined_func$~lib/array/Array#indexOf - local.get $3 + local.get $2 i32.load offset=4 - local.set $3 + local.set $2 loop $while-continue|010 - local.get $1 + local.get $0 local.get $4 i32.lt_s if - local.get $3 - local.get $1 - local.tee $0 + local.get $0 + local.tee $1 i32.const 2 i32.shl + local.get $2 i32.add f32.load f32.const nan:0x400000 f32.eq br_if $__inlined_func$~lib/array/Array#indexOf - local.get $0 + local.get $1 i32.const 1 i32.add - local.set $1 + local.set $0 br $while-continue|010 end end i32.const -1 - local.set $0 + local.set $1 end - local.get $0 + local.get $1 i32.const -1 i32.ne if @@ -17671,16 +18542,16 @@ i32.const 11 i32.const 4032 call $~lib/rt/__newArray - local.set $3 + local.set $2 global.get $~lib/memory/__stack_pointer - local.get $3 + local.get $2 i32.store i32.const 0 - local.set $1 - i32.const -1 local.set $0 + i32.const -1 + local.set $1 block $__inlined_func$~lib/array/Array#indexOf - local.get $3 + local.get $2 i32.load offset=12 local.tee $4 i32.const 0 @@ -17689,35 +18560,35 @@ local.get $4 select br_if $__inlined_func$~lib/array/Array#indexOf - local.get $3 + local.get $2 i32.load offset=4 - local.set $3 + local.set $2 loop $while-continue|037 - local.get $1 + local.get $0 local.get $4 i32.lt_s if - local.get $3 - local.get $1 - local.tee $0 + local.get $0 + local.tee $1 i32.const 3 i32.shl + local.get $2 i32.add f64.load f64.const nan:0x8000000000000 f64.eq br_if $__inlined_func$~lib/array/Array#indexOf - local.get $0 + local.get $1 i32.const 1 i32.add - local.set $1 + local.set $0 br $while-continue|037 end end i32.const -1 - local.set $0 + local.set $1 end - local.get $0 + local.get $1 i32.const -1 i32.ne if @@ -17734,50 +18605,49 @@ i32.const 3 i32.const 4064 call $~lib/rt/__newArray - local.tee $3 + local.tee $0 i32.store offset=24 i32.const 1 global.set $~argumentsLength - local.get $3 + local.get $0 i32.load offset=12 - local.set $0 + local.tee $4 + local.set $2 i32.const -1 local.set $1 block $__inlined_func$~lib/array/Array#lastIndexOf - local.get $3 - i32.load offset=12 - local.tee $4 + local.get $4 i32.eqz br_if $__inlined_func$~lib/array/Array#lastIndexOf - local.get $0 + local.get $2 local.get $4 i32.add local.get $4 i32.const 1 i32.sub - local.get $0 - local.get $0 + local.get $2 + local.get $2 local.get $4 i32.ge_s select - local.get $0 + local.get $2 i32.const 0 i32.lt_s select - local.set $0 - local.get $3 + local.set $2 + local.get $0 i32.load offset=4 local.set $4 loop $while-continue|00 - local.get $0 + local.get $2 i32.const 0 i32.ge_s if - local.get $4 - local.get $0 + local.get $2 local.tee $1 i32.const 2 i32.shl + local.get $4 i32.add i32.load i32.const 2 @@ -17786,7 +18656,7 @@ local.get $1 i32.const 1 i32.sub - local.set $0 + local.set $2 br $while-continue|00 end end @@ -17806,46 +18676,45 @@ end i32.const 1 global.set $~argumentsLength - local.get $3 + local.get $0 i32.load offset=12 - local.set $0 + local.tee $4 + local.set $2 i32.const -1 local.set $1 block $__inlined_func$~lib/array/Array#lastIndexOf5 - local.get $3 - i32.load offset=12 - local.tee $4 + local.get $4 i32.eqz br_if $__inlined_func$~lib/array/Array#lastIndexOf5 - local.get $0 + local.get $2 local.get $4 i32.add local.get $4 i32.const 1 i32.sub - local.get $0 - local.get $0 + local.get $2 + local.get $2 local.get $4 i32.ge_s select - local.get $0 + local.get $2 i32.const 0 i32.lt_s select - local.set $0 - local.get $3 + local.set $2 + local.get $0 i32.load offset=4 local.set $4 loop $while-continue|06 - local.get $0 + local.get $2 i32.const 0 i32.ge_s if - local.get $4 - local.get $0 + local.get $2 local.tee $1 i32.const 2 i32.shl + local.get $4 i32.add i32.load i32.const 7 @@ -17854,7 +18723,7 @@ local.get $1 i32.const 1 i32.sub - local.set $0 + local.set $2 br $while-continue|06 end end @@ -17873,13 +18742,13 @@ unreachable end block $__inlined_func$~lib/array/Array#lastIndexOf7 - local.get $3 + local.get $0 i32.load offset=12 local.tee $1 i32.eqz if i32.const -1 - local.set $0 + local.set $1 br $__inlined_func$~lib/array/Array#lastIndexOf7 end local.get $1 @@ -17890,35 +18759,35 @@ i32.const 3 i32.le_s select - local.set $0 - local.get $3 - i32.load offset=4 local.set $1 + local.get $0 + i32.load offset=4 + local.set $2 loop $while-continue|030 - local.get $0 + local.get $1 i32.const 0 i32.ge_s if local.get $1 - local.get $0 i32.const 2 i32.shl + local.get $2 i32.add i32.load i32.const 2 i32.eq br_if $__inlined_func$~lib/array/Array#lastIndexOf7 - local.get $0 + local.get $1 i32.const 1 i32.sub - local.set $0 + local.set $1 br $while-continue|030 end end i32.const -1 - local.set $0 + local.set $1 end - local.get $0 + local.get $1 i32.const 3 i32.ne if @@ -17930,13 +18799,13 @@ unreachable end block $__inlined_func$~lib/array/Array#lastIndexOf31 - local.get $3 + local.get $0 i32.load offset=12 local.tee $1 i32.eqz if i32.const -1 - local.set $0 + local.set $1 br $__inlined_func$~lib/array/Array#lastIndexOf31 end local.get $1 @@ -17947,35 +18816,35 @@ i32.const 2 i32.le_s select - local.set $0 - local.get $3 - i32.load offset=4 local.set $1 + local.get $0 + i32.load offset=4 + local.set $2 loop $while-continue|032 - local.get $0 + local.get $1 i32.const 0 i32.ge_s if local.get $1 - local.get $0 i32.const 2 i32.shl + local.get $2 i32.add i32.load i32.const 2 i32.eq br_if $__inlined_func$~lib/array/Array#lastIndexOf31 - local.get $0 + local.get $1 i32.const 1 i32.sub - local.set $0 + local.set $1 br $while-continue|032 end end i32.const -1 - local.set $0 + local.set $1 end - local.get $0 + local.get $1 if i32.const 0 i32.const 1552 @@ -17985,47 +18854,47 @@ unreachable end block $__inlined_func$~lib/array/Array#lastIndexOf33 - local.get $3 + local.get $0 i32.load offset=12 local.tee $1 i32.eqz if i32.const -1 - local.set $0 + local.set $1 br $__inlined_func$~lib/array/Array#lastIndexOf33 end local.get $1 i32.const 2 i32.sub - local.set $0 - local.get $3 - i32.load offset=4 local.set $1 + local.get $0 + i32.load offset=4 + local.set $2 loop $while-continue|034 - local.get $0 + local.get $1 i32.const 0 i32.ge_s if local.get $1 - local.get $0 i32.const 2 i32.shl + local.get $2 i32.add i32.load i32.const 2 i32.eq br_if $__inlined_func$~lib/array/Array#lastIndexOf33 - local.get $0 + local.get $1 i32.const 1 i32.sub - local.set $0 + local.set $1 br $while-continue|034 end end i32.const -1 - local.set $0 + local.set $1 end - local.get $0 + local.get $1 if i32.const 0 i32.const 1552 @@ -18035,47 +18904,48 @@ unreachable end block $__inlined_func$~lib/array/Array#lastIndexOf35 - local.get $3 - i32.load offset=12 + local.get $0 local.tee $1 + i32.load offset=12 + local.tee $0 i32.eqz if i32.const -1 - local.set $1 + local.set $0 br $__inlined_func$~lib/array/Array#lastIndexOf35 end - local.get $1 + local.get $0 i32.const 1 i32.sub - local.set $1 - local.get $3 + local.set $0 + local.get $1 i32.load offset=4 - local.set $3 + local.set $1 loop $while-continue|036 - local.get $1 + local.get $0 i32.const 0 i32.ge_s if - local.get $3 - local.get $1 + local.get $0 i32.const 2 i32.shl + local.get $1 i32.add i32.load i32.const 2 i32.eq br_if $__inlined_func$~lib/array/Array#lastIndexOf35 - local.get $1 + local.get $0 i32.const 1 i32.sub - local.set $1 + local.set $0 br $while-continue|036 end end i32.const -1 - local.set $1 + local.set $0 end - local.get $1 + local.get $0 i32.const 3 i32.ne if @@ -18088,52 +18958,52 @@ end global.get $~lib/memory/__stack_pointer global.get $std/array/arr - local.tee $3 + local.tee $1 i32.store i32.const 0 - local.set $1 + local.set $0 block $__inlined_func$~lib/array/Array#indexOf37 - local.get $3 + local.get $1 i32.load offset=12 - local.tee $0 + local.tee $2 i32.const 0 i32.le_s i32.const 1 - local.get $0 + local.get $2 select if i32.const -1 - local.set $1 + local.set $0 br $__inlined_func$~lib/array/Array#indexOf37 end - local.get $3 + local.get $1 i32.load offset=4 - local.set $3 + local.set $1 loop $while-continue|038 local.get $0 - local.get $1 - i32.gt_s + local.get $2 + i32.lt_s if - local.get $3 - local.get $1 + local.get $0 i32.const 2 i32.shl + local.get $1 i32.add i32.load i32.const 44 i32.eq br_if $__inlined_func$~lib/array/Array#indexOf37 - local.get $1 + local.get $0 i32.const 1 i32.add - local.set $1 + local.set $0 br $while-continue|038 end end i32.const -1 - local.set $1 + local.set $0 end - local.get $1 + local.get $0 i32.const 0 i32.lt_s if @@ -18146,52 +19016,52 @@ end global.get $~lib/memory/__stack_pointer global.get $std/array/arr - local.tee $3 + local.tee $1 i32.store i32.const 0 - local.set $1 + local.set $0 block $__inlined_func$~lib/array/Array#indexOf39 - local.get $3 + local.get $1 i32.load offset=12 - local.tee $0 + local.tee $2 i32.const 0 i32.le_s i32.const 1 - local.get $0 + local.get $2 select if i32.const -1 - local.set $1 + local.set $0 br $__inlined_func$~lib/array/Array#indexOf39 end - local.get $3 + local.get $1 i32.load offset=4 - local.set $3 + local.set $1 loop $while-continue|040 local.get $0 - local.get $1 - i32.gt_s + local.get $2 + i32.lt_s if - local.get $3 - local.get $1 + local.get $0 i32.const 2 i32.shl + local.get $1 i32.add i32.load i32.const 42 i32.eq br_if $__inlined_func$~lib/array/Array#indexOf39 - local.get $1 + local.get $0 i32.const 1 i32.add - local.set $1 + local.set $0 br $while-continue|040 end end i32.const -1 - local.set $1 + local.set $0 end - local.get $1 + local.get $0 i32.const 0 i32.lt_s if @@ -18204,52 +19074,52 @@ end global.get $~lib/memory/__stack_pointer global.get $std/array/arr - local.tee $3 + local.tee $1 i32.store i32.const 0 - local.set $1 + local.set $0 block $__inlined_func$~lib/array/Array#indexOf41 - local.get $3 + local.get $1 i32.load offset=12 - local.tee $0 + local.tee $2 i32.const 0 i32.le_s i32.const 1 - local.get $0 + local.get $2 select if i32.const -1 - local.set $1 + local.set $0 br $__inlined_func$~lib/array/Array#indexOf41 end - local.get $3 + local.get $1 i32.load offset=4 - local.set $3 + local.set $1 loop $while-continue|042 local.get $0 - local.get $1 - i32.gt_s + local.get $2 + i32.lt_s if - local.get $3 - local.get $1 + local.get $0 i32.const 2 i32.shl + local.get $1 i32.add i32.load i32.const 45 i32.eq br_if $__inlined_func$~lib/array/Array#indexOf41 - local.get $1 + local.get $0 i32.const 1 i32.add - local.set $1 + local.set $0 br $while-continue|042 end end i32.const -1 - local.set $1 + local.set $0 end - local.get $1 + local.get $0 i32.const 0 i32.ge_s if @@ -18262,52 +19132,52 @@ end global.get $~lib/memory/__stack_pointer global.get $std/array/arr - local.tee $3 + local.tee $1 i32.store i32.const 100 - local.set $1 + local.set $0 block $__inlined_func$~lib/array/Array#indexOf43 - local.get $3 + local.get $1 i32.load offset=12 - local.tee $0 + local.tee $2 i32.const 100 i32.le_s i32.const 1 - local.get $0 + local.get $2 select if i32.const -1 - local.set $1 + local.set $0 br $__inlined_func$~lib/array/Array#indexOf43 end - local.get $3 + local.get $1 i32.load offset=4 - local.set $3 + local.set $1 loop $while-continue|044 local.get $0 - local.get $1 - i32.gt_s + local.get $2 + i32.lt_s if - local.get $3 - local.get $1 + local.get $0 i32.const 2 i32.shl + local.get $1 i32.add i32.load i32.const 43 i32.eq br_if $__inlined_func$~lib/array/Array#indexOf43 - local.get $1 + local.get $0 i32.const 1 i32.add - local.set $1 + local.set $0 br $while-continue|044 end end i32.const -1 - local.set $1 + local.set $0 end - local.get $1 + local.get $0 i32.const 0 i32.ge_s if @@ -18320,60 +19190,60 @@ end global.get $~lib/memory/__stack_pointer global.get $std/array/arr - local.tee $3 + local.tee $1 i32.store block $__inlined_func$~lib/array/Array#indexOf45 - local.get $3 + local.get $1 i32.load offset=12 - local.tee $0 + local.tee $2 i32.const -100 i32.le_s i32.const 1 - local.get $0 + local.get $2 select if i32.const -1 - local.set $1 + local.set $0 br $__inlined_func$~lib/array/Array#indexOf45 end - local.get $0 + local.get $2 i32.const 100 i32.sub - local.tee $1 + local.tee $0 i32.const 0 - local.get $1 + local.get $0 i32.const 0 i32.gt_s select - local.set $1 - local.get $3 + local.set $0 + local.get $1 i32.load offset=4 - local.set $3 + local.set $1 loop $while-continue|046 local.get $0 - local.get $1 - i32.gt_s + local.get $2 + i32.lt_s if - local.get $3 - local.get $1 + local.get $0 i32.const 2 i32.shl + local.get $1 i32.add i32.load i32.const 43 i32.eq br_if $__inlined_func$~lib/array/Array#indexOf45 - local.get $1 + local.get $0 i32.const 1 i32.add - local.set $1 + local.set $0 br $while-continue|046 end end i32.const -1 - local.set $1 + local.set $0 end - local.get $1 + local.get $0 i32.const 0 i32.lt_s if @@ -18386,60 +19256,60 @@ end global.get $~lib/memory/__stack_pointer global.get $std/array/arr - local.tee $3 + local.tee $1 i32.store block $__inlined_func$~lib/array/Array#indexOf47 - local.get $3 + local.get $1 i32.load offset=12 - local.tee $0 + local.tee $2 i32.const -2 i32.le_s i32.const 1 - local.get $0 + local.get $2 select if i32.const -1 - local.set $1 + local.set $0 br $__inlined_func$~lib/array/Array#indexOf47 end - local.get $0 + local.get $2 i32.const 2 i32.sub - local.tee $1 + local.tee $0 i32.const 0 - local.get $1 + local.get $0 i32.const 0 i32.gt_s select - local.set $1 - local.get $3 + local.set $0 + local.get $1 i32.load offset=4 - local.set $3 + local.set $1 loop $while-continue|048 local.get $0 - local.get $1 - i32.gt_s + local.get $2 + i32.lt_s if - local.get $3 - local.get $1 + local.get $0 i32.const 2 i32.shl + local.get $1 i32.add i32.load i32.const 43 i32.eq br_if $__inlined_func$~lib/array/Array#indexOf47 - local.get $1 + local.get $0 i32.const 1 i32.add - local.set $1 + local.set $0 br $while-continue|048 end end i32.const -1 - local.set $1 + local.set $0 end - local.get $1 + local.get $0 i32.const 0 i32.lt_s if @@ -18452,60 +19322,60 @@ end global.get $~lib/memory/__stack_pointer global.get $std/array/arr - local.tee $3 + local.tee $1 i32.store block $__inlined_func$~lib/array/Array#indexOf49 - local.get $3 + local.get $1 i32.load offset=12 - local.tee $0 + local.tee $2 i32.const -4 i32.le_s i32.const 1 - local.get $0 + local.get $2 select if i32.const -1 - local.set $1 + local.set $0 br $__inlined_func$~lib/array/Array#indexOf49 end - local.get $0 + local.get $2 i32.const 4 i32.sub - local.tee $1 + local.tee $0 i32.const 0 - local.get $1 + local.get $0 i32.const 0 i32.gt_s select - local.set $1 - local.get $3 + local.set $0 + local.get $1 i32.load offset=4 - local.set $3 + local.set $1 loop $while-continue|050 local.get $0 - local.get $1 - i32.gt_s + local.get $2 + i32.lt_s if - local.get $3 - local.get $1 + local.get $0 i32.const 2 i32.shl + local.get $1 i32.add i32.load i32.const 43 i32.eq br_if $__inlined_func$~lib/array/Array#indexOf49 - local.get $1 + local.get $0 i32.const 1 i32.add - local.set $1 + local.set $0 br $while-continue|050 end end i32.const -1 - local.set $1 + local.set $0 end - local.get $1 + local.get $0 i32.const 0 i32.lt_s if @@ -18518,52 +19388,52 @@ end global.get $~lib/memory/__stack_pointer global.get $std/array/arr - local.tee $3 + local.tee $1 i32.store i32.const 0 - local.set $1 + local.set $0 block $__inlined_func$~lib/array/Array#indexOf51 - local.get $3 + local.get $1 i32.load offset=12 - local.tee $0 + local.tee $2 i32.const 0 i32.le_s i32.const 1 - local.get $0 + local.get $2 select if i32.const -1 - local.set $1 + local.set $0 br $__inlined_func$~lib/array/Array#indexOf51 end - local.get $3 + local.get $1 i32.load offset=4 - local.set $3 + local.set $1 loop $while-continue|052 local.get $0 - local.get $1 - i32.gt_s + local.get $2 + i32.lt_s if - local.get $3 - local.get $1 + local.get $0 i32.const 2 i32.shl + local.get $1 i32.add i32.load i32.const 43 i32.eq br_if $__inlined_func$~lib/array/Array#indexOf51 - local.get $1 + local.get $0 i32.const 1 i32.add - local.set $1 + local.set $0 br $while-continue|052 end end i32.const -1 - local.set $1 + local.set $0 end - local.get $1 + local.get $0 i32.const 0 i32.lt_s if @@ -18576,52 +19446,52 @@ end global.get $~lib/memory/__stack_pointer global.get $std/array/arr - local.tee $3 + local.tee $1 i32.store i32.const 1 - local.set $1 + local.set $0 block $__inlined_func$~lib/array/Array#indexOf53 - local.get $3 + local.get $1 i32.load offset=12 - local.tee $0 + local.tee $2 i32.const 1 i32.le_s i32.const 1 - local.get $0 + local.get $2 select if i32.const -1 - local.set $1 + local.set $0 br $__inlined_func$~lib/array/Array#indexOf53 end - local.get $3 + local.get $1 i32.load offset=4 - local.set $3 + local.set $1 loop $while-continue|054 local.get $0 - local.get $1 - i32.gt_s + local.get $2 + i32.lt_s if - local.get $3 - local.get $1 + local.get $0 i32.const 2 i32.shl + local.get $1 i32.add i32.load i32.const 43 i32.eq br_if $__inlined_func$~lib/array/Array#indexOf53 - local.get $1 + local.get $0 i32.const 1 i32.add - local.set $1 + local.set $0 br $while-continue|054 end end i32.const -1 - local.set $1 + local.set $0 end - local.get $1 + local.get $0 i32.const 0 i32.lt_s if @@ -18634,52 +19504,52 @@ end global.get $~lib/memory/__stack_pointer global.get $std/array/arr - local.tee $3 + local.tee $1 i32.store i32.const 2 - local.set $1 + local.set $0 block $__inlined_func$~lib/array/Array#indexOf55 - local.get $3 + local.get $1 i32.load offset=12 - local.tee $0 + local.tee $2 i32.const 2 i32.le_s i32.const 1 - local.get $0 + local.get $2 select if i32.const -1 - local.set $1 + local.set $0 br $__inlined_func$~lib/array/Array#indexOf55 end - local.get $3 + local.get $1 i32.load offset=4 - local.set $3 + local.set $1 loop $while-continue|056 local.get $0 - local.get $1 - i32.gt_s + local.get $2 + i32.lt_s if - local.get $3 - local.get $1 + local.get $0 i32.const 2 i32.shl + local.get $1 i32.add i32.load i32.const 43 i32.eq br_if $__inlined_func$~lib/array/Array#indexOf55 - local.get $1 + local.get $0 i32.const 1 i32.add - local.set $1 + local.set $0 br $while-continue|056 end end i32.const -1 - local.set $1 + local.set $0 end - local.get $1 + local.get $0 i32.const 0 i32.lt_s if @@ -18695,53 +19565,53 @@ i32.const 10 i32.const 4112 call $~lib/rt/__newArray - local.set $3 + local.set $1 global.get $~lib/memory/__stack_pointer - local.get $3 + local.get $1 i32.store block $__inlined_func$~lib/array/Array#includes (result i32) i32.const 0 - local.set $1 + local.set $0 i32.const 0 - local.get $3 + local.get $1 i32.load offset=12 - local.tee $0 + local.tee $2 i32.const 0 i32.le_s i32.const 1 - local.get $0 + local.get $2 select br_if $__inlined_func$~lib/array/Array#includes drop - local.get $3 + local.get $1 i32.load offset=4 - local.set $3 + local.set $1 loop $while-continue|047 local.get $0 - local.get $1 - i32.gt_s + local.get $2 + i32.lt_s if i32.const 1 i32.const 1 - local.get $3 - local.get $1 + local.get $0 i32.const 2 i32.shl + local.get $1 i32.add f32.load - local.tee $12 - local.get $12 + local.tee $11 + local.get $11 f32.ne - local.get $12 + local.get $11 f32.const nan:0x400000 f32.eq select br_if $__inlined_func$~lib/array/Array#includes drop - local.get $1 + local.get $0 i32.const 1 i32.add - local.set $1 + local.set $0 br $while-continue|047 end end @@ -18761,53 +19631,53 @@ i32.const 11 i32.const 4144 call $~lib/rt/__newArray - local.set $3 + local.set $1 global.get $~lib/memory/__stack_pointer - local.get $3 + local.get $1 i32.store block $__inlined_func$~lib/array/Array#includes (result i32) i32.const 0 - local.set $1 + local.set $0 i32.const 0 - local.get $3 + local.get $1 i32.load offset=12 - local.tee $0 + local.tee $2 i32.const 0 i32.le_s i32.const 1 - local.get $0 + local.get $2 select br_if $__inlined_func$~lib/array/Array#includes drop - local.get $3 + local.get $1 i32.load offset=4 - local.set $3 + local.set $1 loop $while-continue|04857 local.get $0 - local.get $1 - i32.gt_s + local.get $2 + i32.lt_s if i32.const 1 i32.const 1 - local.get $3 - local.get $1 + local.get $0 i32.const 3 i32.shl + local.get $1 i32.add f64.load - local.tee $10 - local.get $10 + local.tee $9 + local.get $9 f64.ne - local.get $10 + local.get $9 f64.const nan:0x8000000000000 f64.eq select br_if $__inlined_func$~lib/array/Array#includes drop - local.get $1 + local.get $0 i32.const 1 i32.add - local.set $1 + local.set $0 br $while-continue|04857 end end @@ -18824,18 +19694,18 @@ end global.get $~lib/memory/__stack_pointer global.get $std/array/arr - local.tee $3 + local.tee $0 i32.store - local.get $3 + local.get $0 i32.const 1 i32.const 1 call $~lib/array/Array#splice drop global.get $~lib/memory/__stack_pointer global.get $std/array/arr - local.tee $3 + local.tee $0 i32.store - local.get $3 + local.get $0 i32.load offset=12 i32.const 4 i32.ne @@ -18849,9 +19719,9 @@ end global.get $~lib/memory/__stack_pointer global.get $std/array/arr - local.tee $3 + local.tee $0 i32.store - local.get $3 + local.get $0 call $std/array/internalCapacity i32.const 8 i32.ne @@ -18865,9 +19735,9 @@ end global.get $~lib/memory/__stack_pointer global.get $std/array/arr - local.tee $3 + local.tee $0 i32.store - local.get $3 + local.get $0 i32.const 0 call $~lib/array/Array#__get i32.const 44 @@ -18882,9 +19752,9 @@ end global.get $~lib/memory/__stack_pointer global.get $std/array/arr - local.tee $3 + local.tee $0 i32.store - local.get $3 + local.get $0 i32.const 1 call $~lib/array/Array#__get i32.const 42 @@ -18903,9 +19773,9 @@ i32.const 3 i32.const 4176 call $~lib/rt/__newArray - local.tee $0 + local.tee $2 i32.store offset=28 - local.get $0 + local.get $2 i32.const 0 i32.const 2147483647 call $~lib/array/Array#splice @@ -18918,12 +19788,12 @@ i32.const 3 i32.const 4224 call $~lib/rt/__newArray - local.set $3 + local.set $0 global.get $~lib/memory/__stack_pointer - local.get $3 + local.get $0 i32.store offset=8 local.get $1 - local.get $3 + local.get $0 i32.const 0 call $std/array/isArraysEqual i32.eqz @@ -18940,12 +19810,12 @@ i32.const 3 i32.const 4272 call $~lib/rt/__newArray - local.set $3 + local.set $0 global.get $~lib/memory/__stack_pointer - local.get $3 + local.get $0 i32.store offset=8 + local.get $2 local.get $0 - local.get $3 i32.const 0 call $std/array/isArraysEqual i32.eqz @@ -18963,9 +19833,9 @@ i32.const 3 i32.const 4304 call $~lib/rt/__newArray - local.tee $0 + local.tee $2 i32.store offset=28 - local.get $0 + local.get $2 i32.const 0 i32.const 0 call $~lib/array/Array#splice @@ -18978,12 +19848,12 @@ i32.const 3 i32.const 4352 call $~lib/rt/__newArray - local.set $3 + local.set $0 global.get $~lib/memory/__stack_pointer - local.get $3 + local.get $0 i32.store offset=8 local.get $1 - local.get $3 + local.get $0 i32.const 0 call $std/array/isArraysEqual i32.eqz @@ -19000,12 +19870,12 @@ i32.const 3 i32.const 4384 call $~lib/rt/__newArray - local.set $3 + local.set $0 global.get $~lib/memory/__stack_pointer - local.get $3 + local.get $0 i32.store offset=8 + local.get $2 local.get $0 - local.get $3 i32.const 0 call $std/array/isArraysEqual i32.eqz @@ -19023,9 +19893,9 @@ i32.const 3 i32.const 4432 call $~lib/rt/__newArray - local.tee $0 + local.tee $2 i32.store offset=28 - local.get $0 + local.get $2 i32.const 2 i32.const 2147483647 call $~lib/array/Array#splice @@ -19038,12 +19908,12 @@ i32.const 3 i32.const 4480 call $~lib/rt/__newArray - local.set $3 + local.set $0 global.get $~lib/memory/__stack_pointer - local.get $3 + local.get $0 i32.store offset=8 local.get $1 - local.get $3 + local.get $0 i32.const 0 call $std/array/isArraysEqual i32.eqz @@ -19060,12 +19930,12 @@ i32.const 3 i32.const 4512 call $~lib/rt/__newArray - local.set $3 + local.set $0 global.get $~lib/memory/__stack_pointer - local.get $3 + local.get $0 i32.store offset=8 + local.get $2 local.get $0 - local.get $3 i32.const 0 call $std/array/isArraysEqual i32.eqz @@ -19083,9 +19953,9 @@ i32.const 3 i32.const 4544 call $~lib/rt/__newArray - local.tee $0 + local.tee $2 i32.store offset=28 - local.get $0 + local.get $2 i32.const 2 i32.const 2 call $~lib/array/Array#splice @@ -19098,12 +19968,12 @@ i32.const 3 i32.const 4592 call $~lib/rt/__newArray - local.set $3 + local.set $0 global.get $~lib/memory/__stack_pointer - local.get $3 + local.get $0 i32.store offset=8 local.get $1 - local.get $3 + local.get $0 i32.const 0 call $std/array/isArraysEqual i32.eqz @@ -19120,12 +19990,12 @@ i32.const 3 i32.const 4624 call $~lib/rt/__newArray - local.set $3 + local.set $0 global.get $~lib/memory/__stack_pointer - local.get $3 + local.get $0 i32.store offset=8 + local.get $2 local.get $0 - local.get $3 i32.const 0 call $std/array/isArraysEqual i32.eqz @@ -19143,9 +20013,9 @@ i32.const 3 i32.const 4656 call $~lib/rt/__newArray - local.tee $0 + local.tee $2 i32.store offset=28 - local.get $0 + local.get $2 i32.const 0 i32.const 1 call $~lib/array/Array#splice @@ -19158,12 +20028,12 @@ i32.const 3 i32.const 4704 call $~lib/rt/__newArray - local.set $3 + local.set $0 global.get $~lib/memory/__stack_pointer - local.get $3 + local.get $0 i32.store offset=8 local.get $1 - local.get $3 + local.get $0 i32.const 0 call $std/array/isArraysEqual i32.eqz @@ -19180,12 +20050,12 @@ i32.const 3 i32.const 4736 call $~lib/rt/__newArray - local.set $3 + local.set $0 global.get $~lib/memory/__stack_pointer - local.get $3 + local.get $0 i32.store offset=8 + local.get $2 local.get $0 - local.get $3 i32.const 0 call $std/array/isArraysEqual i32.eqz @@ -19203,9 +20073,9 @@ i32.const 3 i32.const 4784 call $~lib/rt/__newArray - local.tee $0 + local.tee $2 i32.store offset=28 - local.get $0 + local.get $2 i32.const -1 i32.const 2147483647 call $~lib/array/Array#splice @@ -19218,12 +20088,12 @@ i32.const 3 i32.const 4832 call $~lib/rt/__newArray - local.set $3 + local.set $0 global.get $~lib/memory/__stack_pointer - local.get $3 + local.get $0 i32.store offset=8 local.get $1 - local.get $3 + local.get $0 i32.const 0 call $std/array/isArraysEqual i32.eqz @@ -19240,12 +20110,12 @@ i32.const 3 i32.const 4864 call $~lib/rt/__newArray - local.set $3 + local.set $0 global.get $~lib/memory/__stack_pointer - local.get $3 + local.get $0 i32.store offset=8 + local.get $2 local.get $0 - local.get $3 i32.const 0 call $std/array/isArraysEqual i32.eqz @@ -19263,9 +20133,9 @@ i32.const 3 i32.const 4912 call $~lib/rt/__newArray - local.tee $0 + local.tee $2 i32.store offset=28 - local.get $0 + local.get $2 i32.const -2 i32.const 2147483647 call $~lib/array/Array#splice @@ -19278,12 +20148,12 @@ i32.const 3 i32.const 4960 call $~lib/rt/__newArray - local.set $3 + local.set $0 global.get $~lib/memory/__stack_pointer - local.get $3 + local.get $0 i32.store offset=8 local.get $1 - local.get $3 + local.get $0 i32.const 0 call $std/array/isArraysEqual i32.eqz @@ -19300,12 +20170,12 @@ i32.const 3 i32.const 4992 call $~lib/rt/__newArray - local.set $3 + local.set $0 global.get $~lib/memory/__stack_pointer - local.get $3 + local.get $0 i32.store offset=8 + local.get $2 local.get $0 - local.get $3 i32.const 0 call $std/array/isArraysEqual i32.eqz @@ -19323,9 +20193,9 @@ i32.const 3 i32.const 5024 call $~lib/rt/__newArray - local.tee $0 + local.tee $2 i32.store offset=28 - local.get $0 + local.get $2 i32.const -2 i32.const 1 call $~lib/array/Array#splice @@ -19338,12 +20208,12 @@ i32.const 3 i32.const 5072 call $~lib/rt/__newArray - local.set $3 + local.set $0 global.get $~lib/memory/__stack_pointer - local.get $3 + local.get $0 i32.store offset=8 local.get $1 - local.get $3 + local.get $0 i32.const 0 call $std/array/isArraysEqual i32.eqz @@ -19360,12 +20230,12 @@ i32.const 3 i32.const 5104 call $~lib/rt/__newArray - local.set $3 + local.set $0 global.get $~lib/memory/__stack_pointer - local.get $3 + local.get $0 i32.store offset=8 + local.get $2 local.get $0 - local.get $3 i32.const 0 call $std/array/isArraysEqual i32.eqz @@ -19383,9 +20253,9 @@ i32.const 3 i32.const 5152 call $~lib/rt/__newArray - local.tee $0 + local.tee $2 i32.store offset=28 - local.get $0 + local.get $2 i32.const -7 i32.const 1 call $~lib/array/Array#splice @@ -19398,12 +20268,12 @@ i32.const 3 i32.const 5200 call $~lib/rt/__newArray - local.set $3 + local.set $0 global.get $~lib/memory/__stack_pointer - local.get $3 + local.get $0 i32.store offset=8 local.get $1 - local.get $3 + local.get $0 i32.const 0 call $std/array/isArraysEqual i32.eqz @@ -19420,12 +20290,12 @@ i32.const 3 i32.const 5232 call $~lib/rt/__newArray - local.set $3 + local.set $0 global.get $~lib/memory/__stack_pointer - local.get $3 + local.get $0 i32.store offset=8 + local.get $2 local.get $0 - local.get $3 i32.const 0 call $std/array/isArraysEqual i32.eqz @@ -19443,9 +20313,9 @@ i32.const 3 i32.const 5280 call $~lib/rt/__newArray - local.tee $0 + local.tee $2 i32.store offset=28 - local.get $0 + local.get $2 i32.const -2 i32.const -1 call $~lib/array/Array#splice @@ -19458,12 +20328,12 @@ i32.const 3 i32.const 5328 call $~lib/rt/__newArray - local.set $3 + local.set $0 global.get $~lib/memory/__stack_pointer - local.get $3 + local.get $0 i32.store offset=8 local.get $1 - local.get $3 + local.get $0 i32.const 0 call $std/array/isArraysEqual i32.eqz @@ -19480,12 +20350,12 @@ i32.const 3 i32.const 5360 call $~lib/rt/__newArray - local.set $3 + local.set $0 global.get $~lib/memory/__stack_pointer - local.get $3 + local.get $0 i32.store offset=8 + local.get $2 local.get $0 - local.get $3 i32.const 0 call $std/array/isArraysEqual i32.eqz @@ -19503,9 +20373,9 @@ i32.const 3 i32.const 5408 call $~lib/rt/__newArray - local.tee $0 + local.tee $2 i32.store offset=28 - local.get $0 + local.get $2 i32.const 1 i32.const -2 call $~lib/array/Array#splice @@ -19518,12 +20388,12 @@ i32.const 3 i32.const 5456 call $~lib/rt/__newArray - local.set $3 + local.set $0 global.get $~lib/memory/__stack_pointer - local.get $3 + local.get $0 i32.store offset=8 local.get $1 - local.get $3 + local.get $0 i32.const 0 call $std/array/isArraysEqual i32.eqz @@ -19540,12 +20410,12 @@ i32.const 3 i32.const 5488 call $~lib/rt/__newArray - local.set $3 + local.set $0 global.get $~lib/memory/__stack_pointer - local.get $3 + local.get $0 i32.store offset=8 + local.get $2 local.get $0 - local.get $3 i32.const 0 call $std/array/isArraysEqual i32.eqz @@ -19563,9 +20433,9 @@ i32.const 3 i32.const 5536 call $~lib/rt/__newArray - local.tee $0 + local.tee $2 i32.store offset=28 - local.get $0 + local.get $2 i32.const 4 i32.const 0 call $~lib/array/Array#splice @@ -19578,12 +20448,12 @@ i32.const 3 i32.const 5584 call $~lib/rt/__newArray - local.set $3 + local.set $0 global.get $~lib/memory/__stack_pointer - local.get $3 + local.get $0 i32.store offset=8 local.get $1 - local.get $3 + local.get $0 i32.const 0 call $std/array/isArraysEqual i32.eqz @@ -19600,12 +20470,12 @@ i32.const 3 i32.const 5616 call $~lib/rt/__newArray - local.set $3 + local.set $0 global.get $~lib/memory/__stack_pointer - local.get $3 + local.get $0 i32.store offset=8 + local.get $2 local.get $0 - local.get $3 i32.const 0 call $std/array/isArraysEqual i32.eqz @@ -19623,9 +20493,9 @@ i32.const 3 i32.const 5664 call $~lib/rt/__newArray - local.tee $0 + local.tee $2 i32.store offset=28 - local.get $0 + local.get $2 i32.const 7 i32.const 0 call $~lib/array/Array#splice @@ -19638,12 +20508,12 @@ i32.const 3 i32.const 5712 call $~lib/rt/__newArray - local.set $3 + local.set $0 global.get $~lib/memory/__stack_pointer - local.get $3 + local.get $0 i32.store offset=8 local.get $1 - local.get $3 + local.get $0 i32.const 0 call $std/array/isArraysEqual i32.eqz @@ -19660,12 +20530,12 @@ i32.const 3 i32.const 5744 call $~lib/rt/__newArray - local.set $3 + local.set $0 global.get $~lib/memory/__stack_pointer - local.get $3 + local.get $0 i32.store offset=8 + local.get $2 local.get $0 - local.get $3 i32.const 0 call $std/array/isArraysEqual i32.eqz @@ -19683,9 +20553,9 @@ i32.const 3 i32.const 5792 call $~lib/rt/__newArray - local.tee $0 + local.tee $2 i32.store offset=28 - local.get $0 + local.get $2 i32.const 7 i32.const 5 call $~lib/array/Array#splice @@ -19698,12 +20568,12 @@ i32.const 3 i32.const 5840 call $~lib/rt/__newArray - local.set $3 + local.set $0 global.get $~lib/memory/__stack_pointer - local.get $3 + local.get $0 i32.store offset=8 local.get $1 - local.get $3 + local.get $0 i32.const 0 call $std/array/isArraysEqual i32.eqz @@ -19720,12 +20590,12 @@ i32.const 3 i32.const 5872 call $~lib/rt/__newArray - local.set $3 + local.set $0 global.get $~lib/memory/__stack_pointer - local.get $3 + local.get $0 i32.store offset=8 + local.get $2 local.get $0 - local.get $3 i32.const 0 call $std/array/isArraysEqual i32.eqz @@ -19749,9 +20619,9 @@ local.get $1 i32.const 1 call $~lib/array/Array#splice - local.tee $3 + local.tee $0 i32.store offset=20 - local.get $3 + local.get $0 i32.load offset=12 if i32.const 0 @@ -19772,7 +20642,7 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $3 + local.tee $0 i32.const 5 i32.const 2 i32.const 8 @@ -19809,16 +20679,16 @@ i32.const 5 call $std/array/Ref#constructor call $~lib/array/Array#__uset - local.get $3 + local.get $0 local.get $1 i32.store offset=24 global.get $~lib/memory/__stack_pointer local.get $1 i32.const 2 call $~lib/array/Array#splice - local.tee $3 + local.tee $0 i32.store offset=20 - local.get $3 + local.get $0 i32.load offset=12 i32.const 2 i32.ne @@ -19830,7 +20700,7 @@ call $~lib/builtins/abort unreachable end - local.get $3 + local.get $0 i32.const 0 call $~lib/array/Array#__get i32.load @@ -19844,7 +20714,7 @@ call $~lib/builtins/abort unreachable end - local.get $3 + local.get $0 i32.const 1 call $~lib/array/Array#__get i32.load @@ -19919,31 +20789,31 @@ i32.const 12 i32.const 0 call $~lib/rt/__newArray - local.tee $3 + local.tee $0 i32.store offset=4 global.get $~lib/memory/__stack_pointer - local.get $3 + local.get $0 i32.load offset=4 i32.store offset=12 - local.get $3 + local.get $0 i32.const 0 i32.const 1 call $std/array/Ref#constructor call $~lib/array/Array#__uset - local.get $3 + local.get $0 i32.const 1 i32.const 0 call $~lib/array/Array#__uset - local.get $3 + local.get $0 i32.const 2 i32.const 2 call $std/array/Ref#constructor call $~lib/array/Array#__uset local.get $1 - local.get $3 + local.get $0 i32.store offset=12 global.get $~lib/memory/__stack_pointer - local.tee $4 + global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub global.set $~lib/memory/__stack_pointer @@ -19956,17 +20826,17 @@ i32.const 0 i32.store i32.const 0 - local.get $3 + local.get $0 i32.load offset=12 - local.tee $8 - local.get $8 + local.tee $3 + local.get $3 i32.const 0 i32.gt_s select local.set $5 local.get $1 i32.const 1 - local.get $8 + local.get $3 local.get $5 i32.sub local.tee $1 @@ -19980,7 +20850,7 @@ i32.const 0 i32.gt_s select - local.tee $2 + local.tee $6 i32.const 2 i32.const 12 i32.const 0 @@ -19989,48 +20859,47 @@ i32.store local.get $7 i32.load offset=4 - local.get $3 + local.get $0 i32.load offset=4 - local.tee $0 + local.tee $2 local.get $5 i32.const 2 i32.shl i32.add local.tee $1 - local.get $2 + local.get $6 i32.const 2 i32.shl call $~lib/memory/memory.copy - local.get $8 - local.get $2 + local.get $3 local.get $5 + local.get $6 i32.add local.tee $5 i32.ne if local.get $1 - local.get $0 local.get $5 i32.const 2 i32.shl + local.get $2 i32.add - local.get $8 + local.get $3 local.get $5 i32.sub i32.const 2 i32.shl call $~lib/memory/memory.copy end + local.get $0 local.get $3 - local.get $8 - local.get $2 + local.get $6 i32.sub i32.store offset=12 global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $4 local.get $7 i32.store offset=4 local.get $7 @@ -20073,7 +20942,7 @@ call $~lib/builtins/abort unreachable end - local.get $3 + local.get $0 i32.load offset=12 i32.const 2 i32.ne @@ -20085,7 +20954,7 @@ call $~lib/builtins/abort unreachable end - local.get $3 + local.get $0 i32.const 0 call $~lib/array/Array#__get if @@ -20097,12 +20966,12 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $3 + local.get $0 i32.const 1 call $~lib/array/Array#__get - local.tee $3 + local.tee $0 i32.store offset=16 - local.get $3 + local.get $0 i32.eqz if i32.const 6080 @@ -20112,7 +20981,7 @@ call $~lib/builtins/abort unreachable end - local.get $3 + local.get $0 i32.load i32.const 2 i32.ne @@ -20126,88 +20995,87 @@ end global.get $~lib/memory/__stack_pointer global.get $std/array/arr - local.tee $3 + local.tee $0 i32.store - local.get $3 + local.get $0 i32.const 0 i32.const 0 call $~lib/array/Array#__set global.get $~lib/memory/__stack_pointer global.get $std/array/arr - local.tee $3 + local.tee $0 i32.store - local.get $3 + local.get $0 i32.const 1 i32.const 1 call $~lib/array/Array#__set global.get $~lib/memory/__stack_pointer global.get $std/array/arr - local.tee $3 + local.tee $0 i32.store - local.get $3 + local.get $0 i32.const 2 i32.const 2 call $~lib/array/Array#__set global.get $~lib/memory/__stack_pointer global.get $std/array/arr - local.tee $3 + local.tee $0 i32.store - local.get $3 + local.get $0 i32.const 3 i32.const 3 call $~lib/array/Array#__set global.get $~lib/memory/__stack_pointer - local.tee $3 global.get $std/array/arr local.tee $4 i32.store - local.get $3 + global.get $~lib/memory/__stack_pointer i32.const 6144 i32.store offset=8 i32.const 0 - local.set $1 + local.set $0 local.get $4 i32.load offset=12 - local.set $0 + local.set $2 block $__inlined_func$~lib/array/Array#findIndex loop $for-loop|059 - local.get $1 - local.get $0 + local.get $2 local.get $4 i32.load offset=12 - local.tee $3 - local.get $0 - local.get $3 - i32.lt_s + local.tee $1 + local.get $1 + local.get $2 + i32.gt_s select - i32.lt_s + local.get $0 + i32.gt_s if local.get $4 i32.load offset=4 - local.get $1 + local.get $0 i32.const 2 i32.shl i32.add i32.load i32.const 3 global.set $~argumentsLength - local.get $1 + local.get $0 local.get $4 i32.const 6144 i32.load call_indirect $0 (type $i32_i32_i32_=>_i32) br_if $__inlined_func$~lib/array/Array#findIndex - local.get $1 + local.get $0 i32.const 1 i32.add - local.set $1 + local.set $0 br $for-loop|059 end end i32.const -1 - local.set $1 + local.set $0 end - local.get $1 + local.get $0 global.set $std/array/i global.get $std/array/i if @@ -20219,57 +21087,57 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $3 + local.tee $0 global.get $std/array/arr local.tee $4 i32.store - local.get $3 + local.get $0 i32.const 6176 i32.store offset=8 i32.const 0 - local.set $1 + local.set $0 local.get $4 i32.load offset=12 - local.set $0 + local.set $2 block $__inlined_func$~lib/array/Array#findIndex60 loop $for-loop|061 - local.get $1 - local.get $0 + local.get $2 local.get $4 i32.load offset=12 - local.tee $3 - local.get $0 - local.get $3 - i32.lt_s + local.tee $1 + local.get $1 + local.get $2 + i32.gt_s select - i32.lt_s + local.get $0 + i32.gt_s if local.get $4 i32.load offset=4 - local.get $1 + local.get $0 i32.const 2 i32.shl i32.add i32.load i32.const 3 global.set $~argumentsLength - local.get $1 + local.get $0 local.get $4 i32.const 6176 i32.load call_indirect $0 (type $i32_i32_i32_=>_i32) br_if $__inlined_func$~lib/array/Array#findIndex60 - local.get $1 + local.get $0 i32.const 1 i32.add - local.set $1 + local.set $0 br $for-loop|061 end end i32.const -1 - local.set $1 + local.set $0 end - local.get $1 + local.get $0 global.set $std/array/i global.get $std/array/i i32.const 1 @@ -20283,57 +21151,57 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $3 + local.tee $0 global.get $std/array/arr local.tee $4 i32.store - local.get $3 + local.get $0 i32.const 6208 i32.store offset=8 i32.const 0 - local.set $1 + local.set $0 local.get $4 i32.load offset=12 - local.set $0 + local.set $2 block $__inlined_func$~lib/array/Array#findIndex62 loop $for-loop|063 - local.get $1 - local.get $0 + local.get $2 local.get $4 i32.load offset=12 - local.tee $3 - local.get $0 - local.get $3 - i32.lt_s + local.tee $1 + local.get $1 + local.get $2 + i32.gt_s select - i32.lt_s + local.get $0 + i32.gt_s if local.get $4 i32.load offset=4 - local.get $1 + local.get $0 i32.const 2 i32.shl i32.add i32.load i32.const 3 global.set $~argumentsLength - local.get $1 + local.get $0 local.get $4 i32.const 6208 i32.load call_indirect $0 (type $i32_i32_i32_=>_i32) br_if $__inlined_func$~lib/array/Array#findIndex62 - local.get $1 + local.get $0 i32.const 1 i32.add - local.set $1 + local.set $0 br $for-loop|063 end end i32.const -1 - local.set $1 + local.set $0 end - local.get $1 + local.get $0 global.set $std/array/i global.get $std/array/i i32.const -1 @@ -20347,57 +21215,57 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $3 + local.tee $0 global.get $std/array/arr local.tee $4 i32.store - local.get $3 + local.get $0 i32.const 6240 i32.store offset=8 i32.const 0 - local.set $1 + local.set $0 local.get $4 i32.load offset=12 - local.set $0 + local.set $2 block $__inlined_func$~lib/array/Array#findIndex64 loop $for-loop|065 - local.get $1 - local.get $0 + local.get $2 local.get $4 i32.load offset=12 - local.tee $3 - local.get $0 - local.get $3 - i32.lt_s + local.tee $1 + local.get $1 + local.get $2 + i32.gt_s select - i32.lt_s + local.get $0 + i32.gt_s if local.get $4 i32.load offset=4 - local.get $1 + local.get $0 i32.const 2 i32.shl i32.add i32.load i32.const 3 global.set $~argumentsLength - local.get $1 + local.get $0 local.get $4 i32.const 6240 i32.load call_indirect $0 (type $i32_i32_i32_=>_i32) br_if $__inlined_func$~lib/array/Array#findIndex64 - local.get $1 + local.get $0 i32.const 1 i32.add - local.set $1 + local.set $0 br $for-loop|065 end end i32.const -1 - local.set $1 + local.set $0 end - local.get $1 + local.get $0 global.set $std/array/i global.get $std/array/i i32.const -1 @@ -20412,9 +21280,9 @@ end global.get $~lib/memory/__stack_pointer global.get $std/array/arr - local.tee $3 + local.tee $0 i32.store - local.get $3 + local.get $0 i32.load offset=12 i32.const 8 i32.ne @@ -20427,57 +21295,57 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $3 + local.tee $0 global.get $std/array/arr local.tee $4 i32.store - local.get $3 + local.get $0 i32.const 6272 i32.store offset=8 i32.const 0 - local.set $1 + local.set $0 local.get $4 i32.load offset=12 - local.set $0 + local.set $2 block $__inlined_func$~lib/array/Array#findIndex66 loop $for-loop|067 - local.get $1 - local.get $0 + local.get $2 local.get $4 i32.load offset=12 - local.tee $3 - local.get $0 - local.get $3 - i32.lt_s + local.tee $1 + local.get $1 + local.get $2 + i32.gt_s select - i32.lt_s + local.get $0 + i32.gt_s if local.get $4 i32.load offset=4 - local.get $1 + local.get $0 i32.const 2 i32.shl i32.add i32.load i32.const 3 global.set $~argumentsLength - local.get $1 + local.get $0 local.get $4 i32.const 6272 i32.load call_indirect $0 (type $i32_i32_i32_=>_i32) br_if $__inlined_func$~lib/array/Array#findIndex66 - local.get $1 + local.get $0 i32.const 1 i32.add - local.set $1 + local.set $0 br $for-loop|067 end end i32.const -1 - local.set $1 + local.set $0 end - local.get $1 + local.get $0 global.set $std/array/i global.get $std/array/i i32.const -1 @@ -20492,84 +21360,83 @@ end global.get $~lib/memory/__stack_pointer global.get $std/array/arr - local.tee $3 + local.tee $0 i32.store - local.get $3 + local.get $0 call $~lib/array/Array#pop drop global.get $~lib/memory/__stack_pointer global.get $std/array/arr - local.tee $3 + local.tee $0 i32.store - local.get $3 + local.get $0 call $~lib/array/Array#pop drop global.get $~lib/memory/__stack_pointer global.get $std/array/arr - local.tee $3 + local.tee $0 i32.store - local.get $3 + local.get $0 call $~lib/array/Array#pop drop global.get $~lib/memory/__stack_pointer global.get $std/array/arr - local.tee $3 + local.tee $0 i32.store - local.get $3 + local.get $0 call $~lib/array/Array#pop drop global.get $~lib/memory/__stack_pointer - local.tee $3 global.get $std/array/arr local.tee $4 i32.store - local.get $3 + global.get $~lib/memory/__stack_pointer i32.const 6304 i32.store offset=8 i32.const 0 - local.set $1 + local.set $0 local.get $4 i32.load offset=12 - local.set $0 + local.set $2 block $__inlined_func$~lib/array/Array#findIndex68 loop $for-loop|069 - local.get $1 - local.get $0 + local.get $2 local.get $4 i32.load offset=12 - local.tee $3 - local.get $0 - local.get $3 - i32.lt_s + local.tee $1 + local.get $1 + local.get $2 + i32.gt_s select - i32.lt_s + local.get $0 + i32.gt_s if local.get $4 i32.load offset=4 - local.get $1 + local.get $0 i32.const 2 i32.shl i32.add i32.load i32.const 3 global.set $~argumentsLength - local.get $1 + local.get $0 local.get $4 i32.const 6304 i32.load call_indirect $0 (type $i32_i32_i32_=>_i32) br_if $__inlined_func$~lib/array/Array#findIndex68 - local.get $1 + local.get $0 i32.const 1 i32.add - local.set $1 + local.set $0 br $for-loop|069 end end i32.const -1 - local.set $1 + local.set $0 end - local.get $1 + local.get $0 global.set $std/array/i global.get $std/array/i i32.const -1 @@ -20584,9 +21451,9 @@ end global.get $~lib/memory/__stack_pointer global.get $std/array/arr - local.tee $3 + local.tee $0 i32.store - local.get $3 + local.get $0 i32.load offset=12 i32.const 2 i32.ne @@ -20600,17 +21467,17 @@ end global.get $~lib/memory/__stack_pointer global.get $std/array/arr - local.tee $3 + local.tee $0 i32.store - local.get $3 + local.get $0 i32.const 2 call $~lib/array/Array#push drop global.get $~lib/memory/__stack_pointer global.get $std/array/arr - local.tee $3 + local.tee $0 i32.store - local.get $3 + local.get $0 i32.const 3 call $~lib/array/Array#push drop @@ -20620,48 +21487,48 @@ i32.const 3 i32.const 6336 call $~lib/rt/__newArray - local.tee $0 + local.tee $2 i32.store offset=12 global.get $~lib/memory/__stack_pointer i32.const 6384 i32.store offset=8 - local.get $0 + local.get $2 i32.load offset=12 i32.const 1 i32.sub - local.set $1 + local.set $0 block $__inlined_func$~lib/array/Array#findLastIndex loop $for-loop|058 - local.get $1 + local.get $0 i32.const 0 i32.ge_s if - local.get $0 + local.get $2 i32.load offset=4 - local.get $1 + local.get $0 i32.const 2 i32.shl i32.add i32.load i32.const 3 global.set $~argumentsLength - local.get $1 local.get $0 + local.get $2 i32.const 6384 i32.load call_indirect $0 (type $i32_i32_i32_=>_i32) br_if $__inlined_func$~lib/array/Array#findLastIndex - local.get $1 + local.get $0 i32.const 1 i32.sub - local.set $1 + local.set $0 br $for-loop|058 end end i32.const -1 - local.set $1 + local.set $0 end - local.get $1 + local.get $0 global.set $std/array/i global.get $std/array/i if @@ -20675,43 +21542,43 @@ global.get $~lib/memory/__stack_pointer i32.const 6416 i32.store offset=8 - local.get $0 + local.get $2 i32.load offset=12 i32.const 1 i32.sub - local.set $1 + local.set $0 block $__inlined_func$~lib/array/Array#findLastIndex59 loop $for-loop|060 - local.get $1 + local.get $0 i32.const 0 i32.ge_s if - local.get $0 + local.get $2 i32.load offset=4 - local.get $1 + local.get $0 i32.const 2 i32.shl i32.add i32.load i32.const 3 global.set $~argumentsLength - local.get $1 local.get $0 + local.get $2 i32.const 6416 i32.load call_indirect $0 (type $i32_i32_i32_=>_i32) br_if $__inlined_func$~lib/array/Array#findLastIndex59 - local.get $1 + local.get $0 i32.const 1 i32.sub - local.set $1 + local.set $0 br $for-loop|060 end end i32.const -1 - local.set $1 + local.set $0 end - local.get $1 + local.get $0 global.set $std/array/i global.get $std/array/i i32.const 1 @@ -20727,43 +21594,43 @@ global.get $~lib/memory/__stack_pointer i32.const 6448 i32.store offset=8 - local.get $0 + local.get $2 i32.load offset=12 i32.const 1 i32.sub - local.set $1 + local.set $0 block $__inlined_func$~lib/array/Array#findLastIndex61 loop $for-loop|062 - local.get $1 + local.get $0 i32.const 0 i32.ge_s if - local.get $0 + local.get $2 i32.load offset=4 - local.get $1 + local.get $0 i32.const 2 i32.shl i32.add i32.load i32.const 3 global.set $~argumentsLength - local.get $1 local.get $0 + local.get $2 i32.const 6448 i32.load call_indirect $0 (type $i32_i32_i32_=>_i32) br_if $__inlined_func$~lib/array/Array#findLastIndex61 - local.get $1 + local.get $0 i32.const 1 i32.sub - local.set $1 + local.set $0 br $for-loop|062 end end i32.const -1 - local.set $1 + local.set $0 end - local.get $1 + local.get $0 global.set $std/array/i global.get $std/array/i i32.const -1 @@ -20779,7 +21646,7 @@ global.get $~lib/memory/__stack_pointer i32.const 6480 i32.store offset=8 - local.get $0 + local.get $2 i32.load offset=12 i32.const 1 i32.sub @@ -20790,7 +21657,7 @@ i32.const 0 i32.ge_s if - local.get $0 + local.get $2 i32.load offset=4 local.get $1 i32.const 2 @@ -20800,7 +21667,7 @@ i32.const 3 global.set $~argumentsLength local.get $1 - local.get $0 + local.get $2 i32.const 6480 i32.load call_indirect $0 (type $i32_i32_i32_=>_i32) @@ -20829,44 +21696,44 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $3 + local.tee $0 global.get $std/array/arr local.tee $5 i32.store - local.get $3 + local.get $0 i32.const 6512 i32.store offset=8 block $__inlined_func$~lib/array/Array#every (result i32) i32.const 0 - local.set $0 + local.set $1 local.get $5 i32.load offset=12 local.set $4 loop $for-loop|070 - local.get $0 local.get $4 local.get $5 i32.load offset=12 - local.tee $3 - local.get $3 + local.tee $0 + local.get $0 local.get $4 i32.gt_s select - i32.lt_s + local.get $1 + i32.gt_s if local.get $5 i32.load offset=4 - local.get $0 + local.get $1 i32.const 2 i32.shl i32.add i32.load - local.set $3 + local.set $0 i32.const 3 global.set $~argumentsLength i32.const 0 - local.get $3 local.get $0 + local.get $1 local.get $5 i32.const 6512 i32.load @@ -20874,10 +21741,10 @@ i32.eqz br_if $__inlined_func$~lib/array/Array#every drop - local.get $0 + local.get $1 i32.const 1 i32.add - local.set $0 + local.set $1 br $for-loop|070 end end @@ -20893,44 +21760,44 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $3 + local.tee $0 global.get $std/array/arr local.tee $5 i32.store - local.get $3 + local.get $0 i32.const 6544 i32.store offset=8 block $__inlined_func$~lib/array/Array#every71 (result i32) i32.const 0 - local.set $0 + local.set $1 local.get $5 i32.load offset=12 local.set $4 loop $for-loop|072 - local.get $0 local.get $4 local.get $5 i32.load offset=12 - local.tee $3 - local.get $3 + local.tee $0 + local.get $0 local.get $4 i32.gt_s select - i32.lt_s + local.get $1 + i32.gt_s if local.get $5 i32.load offset=4 - local.get $0 + local.get $1 i32.const 2 i32.shl i32.add i32.load - local.set $3 + local.set $0 i32.const 3 global.set $~argumentsLength i32.const 0 - local.get $3 local.get $0 + local.get $1 local.get $5 i32.const 6544 i32.load @@ -20938,10 +21805,10 @@ i32.eqz br_if $__inlined_func$~lib/array/Array#every71 drop - local.get $0 + local.get $1 i32.const 1 i32.add - local.set $0 + local.set $1 br $for-loop|072 end end @@ -20956,44 +21823,44 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $3 + local.tee $0 global.get $std/array/arr local.tee $5 i32.store - local.get $3 + local.get $0 i32.const 6576 i32.store offset=8 block $__inlined_func$~lib/array/Array#every73 (result i32) i32.const 0 - local.set $0 + local.set $1 local.get $5 i32.load offset=12 local.set $4 loop $for-loop|074 - local.get $0 local.get $4 local.get $5 i32.load offset=12 - local.tee $3 - local.get $3 + local.tee $0 + local.get $0 local.get $4 i32.gt_s select - i32.lt_s + local.get $1 + i32.gt_s if local.get $5 i32.load offset=4 - local.get $0 + local.get $1 i32.const 2 i32.shl i32.add i32.load - local.set $3 + local.set $0 i32.const 3 global.set $~argumentsLength i32.const 0 - local.get $3 local.get $0 + local.get $1 local.get $5 i32.const 6576 i32.load @@ -21001,10 +21868,10 @@ i32.eqz br_if $__inlined_func$~lib/array/Array#every73 drop - local.get $0 + local.get $1 i32.const 1 i32.add - local.set $0 + local.set $1 br $for-loop|074 end end @@ -21021,9 +21888,9 @@ end global.get $~lib/memory/__stack_pointer global.get $std/array/arr - local.tee $3 + local.tee $0 i32.store - local.get $3 + local.get $0 i32.load offset=12 i32.const 8 i32.ne @@ -21036,44 +21903,44 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $3 + local.tee $0 global.get $std/array/arr local.tee $5 i32.store - local.get $3 + local.get $0 i32.const 6608 i32.store offset=8 block $__inlined_func$~lib/array/Array#every75 (result i32) i32.const 0 - local.set $0 + local.set $1 local.get $5 i32.load offset=12 local.set $4 loop $for-loop|076 - local.get $0 local.get $4 local.get $5 i32.load offset=12 - local.tee $3 - local.get $3 + local.tee $0 + local.get $0 local.get $4 i32.gt_s select - i32.lt_s + local.get $1 + i32.gt_s if local.get $5 i32.load offset=4 - local.get $0 + local.get $1 i32.const 2 i32.shl i32.add i32.load - local.set $3 + local.set $0 i32.const 3 global.set $~argumentsLength i32.const 0 - local.get $3 local.get $0 + local.get $1 local.get $5 i32.const 6608 i32.load @@ -21081,10 +21948,10 @@ i32.eqz br_if $__inlined_func$~lib/array/Array#every75 drop - local.get $0 + local.get $1 i32.const 1 i32.add - local.set $0 + local.set $1 br $for-loop|076 end end @@ -21100,71 +21967,70 @@ end global.get $~lib/memory/__stack_pointer global.get $std/array/arr - local.tee $3 + local.tee $0 i32.store - local.get $3 + local.get $0 call $~lib/array/Array#pop drop global.get $~lib/memory/__stack_pointer global.get $std/array/arr - local.tee $3 + local.tee $0 i32.store - local.get $3 + local.get $0 call $~lib/array/Array#pop drop global.get $~lib/memory/__stack_pointer global.get $std/array/arr - local.tee $3 + local.tee $0 i32.store - local.get $3 + local.get $0 call $~lib/array/Array#pop drop global.get $~lib/memory/__stack_pointer global.get $std/array/arr - local.tee $3 + local.tee $0 i32.store - local.get $3 + local.get $0 call $~lib/array/Array#pop drop global.get $~lib/memory/__stack_pointer - local.tee $3 global.get $std/array/arr local.tee $5 i32.store - local.get $3 + global.get $~lib/memory/__stack_pointer i32.const 6640 i32.store offset=8 block $__inlined_func$~lib/array/Array#every77 (result i32) i32.const 0 - local.set $0 + local.set $1 local.get $5 i32.load offset=12 local.set $4 loop $for-loop|078 - local.get $0 local.get $4 local.get $5 i32.load offset=12 - local.tee $3 - local.get $3 + local.tee $0 + local.get $0 local.get $4 i32.gt_s select - i32.lt_s + local.get $1 + i32.gt_s if local.get $5 i32.load offset=4 - local.get $0 + local.get $1 i32.const 2 i32.shl i32.add i32.load - local.set $3 + local.set $0 i32.const 3 global.set $~argumentsLength i32.const 0 - local.get $3 local.get $0 + local.get $1 local.get $5 i32.const 6640 i32.load @@ -21172,10 +22038,10 @@ i32.eqz br_if $__inlined_func$~lib/array/Array#every77 drop - local.get $0 + local.get $1 i32.const 1 i32.add - local.set $0 + local.set $1 br $for-loop|078 end end @@ -21192,9 +22058,9 @@ end global.get $~lib/memory/__stack_pointer global.get $std/array/arr - local.tee $3 + local.tee $0 i32.store - local.get $3 + local.get $0 i32.load offset=12 i32.const 2 i32.ne @@ -21208,69 +22074,68 @@ end global.get $~lib/memory/__stack_pointer global.get $std/array/arr - local.tee $3 + local.tee $0 i32.store - local.get $3 + local.get $0 i32.const 2 call $~lib/array/Array#push drop global.get $~lib/memory/__stack_pointer global.get $std/array/arr - local.tee $3 + local.tee $0 i32.store - local.get $3 + local.get $0 i32.const 3 call $~lib/array/Array#push drop global.get $~lib/memory/__stack_pointer - local.tee $3 global.get $std/array/arr local.tee $5 i32.store - local.get $3 + global.get $~lib/memory/__stack_pointer i32.const 6672 i32.store offset=8 block $__inlined_func$~lib/array/Array#some (result i32) i32.const 0 - local.set $0 + local.set $1 local.get $5 i32.load offset=12 local.set $4 loop $for-loop|079 - local.get $0 local.get $4 local.get $5 i32.load offset=12 - local.tee $3 - local.get $3 + local.tee $0 + local.get $0 local.get $4 i32.gt_s select - i32.lt_s + local.get $1 + i32.gt_s if local.get $5 i32.load offset=4 - local.get $0 + local.get $1 i32.const 2 i32.shl i32.add i32.load - local.set $3 + local.set $0 i32.const 3 global.set $~argumentsLength i32.const 1 - local.get $3 local.get $0 + local.get $1 local.get $5 i32.const 6672 i32.load call_indirect $0 (type $i32_i32_i32_=>_i32) br_if $__inlined_func$~lib/array/Array#some drop - local.get $0 + local.get $1 i32.const 1 i32.add - local.set $0 + local.set $1 br $for-loop|079 end end @@ -21286,54 +22151,54 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $3 + local.tee $0 global.get $std/array/arr local.tee $5 i32.store - local.get $3 + local.get $0 i32.const 6704 i32.store offset=8 block $__inlined_func$~lib/array/Array#some80 (result i32) i32.const 0 - local.set $0 + local.set $1 local.get $5 i32.load offset=12 local.set $4 loop $for-loop|081 - local.get $0 local.get $4 local.get $5 i32.load offset=12 - local.tee $3 - local.get $3 + local.tee $0 + local.get $0 local.get $4 i32.gt_s select - i32.lt_s + local.get $1 + i32.gt_s if local.get $5 i32.load offset=4 - local.get $0 + local.get $1 i32.const 2 i32.shl i32.add i32.load - local.set $3 + local.set $0 i32.const 3 global.set $~argumentsLength i32.const 1 - local.get $3 local.get $0 + local.get $1 local.get $5 i32.const 6704 i32.load call_indirect $0 (type $i32_i32_i32_=>_i32) br_if $__inlined_func$~lib/array/Array#some80 drop - local.get $0 + local.get $1 i32.const 1 i32.add - local.set $0 + local.set $1 br $for-loop|081 end end @@ -21348,54 +22213,54 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $3 + local.tee $0 global.get $std/array/arr local.tee $5 i32.store - local.get $3 + local.get $0 i32.const 6736 i32.store offset=8 block $__inlined_func$~lib/array/Array#some82 (result i32) i32.const 0 - local.set $0 + local.set $1 local.get $5 i32.load offset=12 local.set $4 loop $for-loop|083 - local.get $0 local.get $4 local.get $5 i32.load offset=12 - local.tee $3 - local.get $3 + local.tee $0 + local.get $0 local.get $4 i32.gt_s select - i32.lt_s + local.get $1 + i32.gt_s if local.get $5 i32.load offset=4 - local.get $0 + local.get $1 i32.const 2 i32.shl i32.add i32.load - local.set $3 + local.set $0 i32.const 3 global.set $~argumentsLength i32.const 1 - local.get $3 local.get $0 + local.get $1 local.get $5 i32.const 6736 i32.load call_indirect $0 (type $i32_i32_i32_=>_i32) br_if $__inlined_func$~lib/array/Array#some82 drop - local.get $0 + local.get $1 i32.const 1 i32.add - local.set $0 + local.set $1 br $for-loop|083 end end @@ -21411,9 +22276,9 @@ end global.get $~lib/memory/__stack_pointer global.get $std/array/arr - local.tee $3 + local.tee $0 i32.store - local.get $3 + local.get $0 i32.load offset=12 i32.const 8 i32.ne @@ -21426,54 +22291,54 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $3 + local.tee $0 global.get $std/array/arr local.tee $5 i32.store - local.get $3 + local.get $0 i32.const 6768 i32.store offset=8 block $__inlined_func$~lib/array/Array#some84 (result i32) i32.const 0 - local.set $0 + local.set $1 local.get $5 i32.load offset=12 local.set $4 loop $for-loop|085 - local.get $0 local.get $4 local.get $5 i32.load offset=12 - local.tee $3 - local.get $3 + local.tee $0 + local.get $0 local.get $4 i32.gt_s select - i32.lt_s + local.get $1 + i32.gt_s if local.get $5 i32.load offset=4 - local.get $0 + local.get $1 i32.const 2 i32.shl i32.add i32.load - local.set $3 + local.set $0 i32.const 3 global.set $~argumentsLength i32.const 1 - local.get $3 local.get $0 + local.get $1 local.get $5 i32.const 6768 i32.load call_indirect $0 (type $i32_i32_i32_=>_i32) br_if $__inlined_func$~lib/array/Array#some84 drop - local.get $0 + local.get $1 i32.const 1 i32.add - local.set $0 + local.set $1 br $for-loop|085 end end @@ -21490,81 +22355,80 @@ end global.get $~lib/memory/__stack_pointer global.get $std/array/arr - local.tee $3 + local.tee $0 i32.store - local.get $3 + local.get $0 call $~lib/array/Array#pop drop global.get $~lib/memory/__stack_pointer global.get $std/array/arr - local.tee $3 + local.tee $0 i32.store - local.get $3 + local.get $0 call $~lib/array/Array#pop drop global.get $~lib/memory/__stack_pointer global.get $std/array/arr - local.tee $3 + local.tee $0 i32.store - local.get $3 + local.get $0 call $~lib/array/Array#pop drop global.get $~lib/memory/__stack_pointer global.get $std/array/arr - local.tee $3 + local.tee $0 i32.store - local.get $3 + local.get $0 call $~lib/array/Array#pop drop global.get $~lib/memory/__stack_pointer - local.tee $3 global.get $std/array/arr local.tee $5 i32.store - local.get $3 + global.get $~lib/memory/__stack_pointer i32.const 6800 i32.store offset=8 block $__inlined_func$~lib/array/Array#some86 (result i32) i32.const 0 - local.set $0 + local.set $1 local.get $5 i32.load offset=12 local.set $4 loop $for-loop|087 - local.get $0 local.get $4 local.get $5 i32.load offset=12 - local.tee $3 - local.get $3 + local.tee $0 + local.get $0 local.get $4 i32.gt_s select - i32.lt_s + local.get $1 + i32.gt_s if local.get $5 i32.load offset=4 - local.get $0 + local.get $1 i32.const 2 i32.shl i32.add i32.load - local.set $3 + local.set $0 i32.const 3 global.set $~argumentsLength i32.const 1 - local.get $3 local.get $0 + local.get $1 local.get $5 i32.const 6800 i32.load call_indirect $0 (type $i32_i32_i32_=>_i32) br_if $__inlined_func$~lib/array/Array#some86 drop - local.get $0 + local.get $1 i32.const 1 i32.add - local.set $0 + local.set $1 br $for-loop|087 end end @@ -21580,9 +22444,9 @@ end global.get $~lib/memory/__stack_pointer global.get $std/array/arr - local.tee $3 + local.tee $0 i32.store - local.get $3 + local.get $0 i32.load offset=12 i32.const 2 i32.ne @@ -21596,65 +22460,64 @@ end global.get $~lib/memory/__stack_pointer global.get $std/array/arr - local.tee $3 + local.tee $0 i32.store - local.get $3 + local.get $0 i32.const 2 call $~lib/array/Array#push drop global.get $~lib/memory/__stack_pointer global.get $std/array/arr - local.tee $3 + local.tee $0 i32.store - local.get $3 + local.get $0 i32.const 3 call $~lib/array/Array#push drop i32.const 0 global.set $std/array/i global.get $~lib/memory/__stack_pointer - local.tee $3 global.get $std/array/arr local.tee $4 i32.store - local.get $3 + global.get $~lib/memory/__stack_pointer i32.const 6832 i32.store offset=8 i32.const 0 - local.set $0 + local.set $1 local.get $4 i32.load offset=12 - local.set $1 + local.set $2 loop $for-loop|06988 - local.get $0 - local.get $1 + local.get $2 local.get $4 i32.load offset=12 - local.tee $3 - local.get $1 - local.get $3 - i32.lt_s + local.tee $0 + local.get $0 + local.get $2 + i32.gt_s select - i32.lt_s + local.get $1 + i32.gt_s if local.get $4 i32.load offset=4 - local.get $0 + local.get $1 i32.const 2 i32.shl i32.add i32.load i32.const 3 global.set $~argumentsLength - local.get $0 + local.get $1 local.get $4 i32.const 6832 i32.load call_indirect $0 (type $i32_i32_i32_=>_none) - local.get $0 + local.get $1 i32.const 1 i32.add - local.set $0 + local.set $1 br $for-loop|06988 end end @@ -21672,48 +22535,48 @@ i32.const 0 global.set $std/array/i global.get $~lib/memory/__stack_pointer - local.tee $3 + local.tee $0 global.get $std/array/arr local.tee $4 i32.store - local.get $3 + local.get $0 i32.const 6864 i32.store offset=8 i32.const 0 - local.set $0 + local.set $1 local.get $4 i32.load offset=12 - local.set $1 + local.set $2 loop $for-loop|071 - local.get $0 - local.get $1 + local.get $2 local.get $4 i32.load offset=12 - local.tee $3 - local.get $1 - local.get $3 - i32.lt_s + local.tee $0 + local.get $0 + local.get $2 + i32.gt_s select - i32.lt_s + local.get $1 + i32.gt_s if local.get $4 i32.load offset=4 - local.get $0 + local.get $1 i32.const 2 i32.shl i32.add i32.load i32.const 3 global.set $~argumentsLength - local.get $0 + local.get $1 local.get $4 i32.const 6864 i32.load call_indirect $0 (type $i32_i32_i32_=>_none) - local.get $0 + local.get $1 i32.const 1 i32.add - local.set $0 + local.set $1 br $for-loop|071 end end @@ -21730,9 +22593,9 @@ end global.get $~lib/memory/__stack_pointer global.get $std/array/arr - local.tee $3 + local.tee $0 i32.store - local.get $3 + local.get $0 i32.load offset=12 i32.const 8 i32.ne @@ -21747,48 +22610,48 @@ i32.const 0 global.set $std/array/i global.get $~lib/memory/__stack_pointer - local.tee $3 + local.tee $0 global.get $std/array/arr local.tee $4 i32.store - local.get $3 + local.get $0 i32.const 6896 i32.store offset=8 i32.const 0 - local.set $0 + local.set $1 local.get $4 i32.load offset=12 - local.set $1 + local.set $2 loop $for-loop|07489 - local.get $0 - local.get $1 + local.get $2 local.get $4 i32.load offset=12 - local.tee $3 - local.get $1 - local.get $3 - i32.lt_s + local.tee $0 + local.get $0 + local.get $2 + i32.gt_s select - i32.lt_s + local.get $1 + i32.gt_s if local.get $4 i32.load offset=4 - local.get $0 + local.get $1 i32.const 2 i32.shl i32.add i32.load i32.const 3 global.set $~argumentsLength - local.get $0 + local.get $1 local.get $4 i32.const 6896 i32.load call_indirect $0 (type $i32_i32_i32_=>_none) - local.get $0 + local.get $1 i32.const 1 i32.add - local.set $0 + local.set $1 br $for-loop|07489 end end @@ -21805,77 +22668,76 @@ end global.get $~lib/memory/__stack_pointer global.get $std/array/arr - local.tee $3 + local.tee $0 i32.store - local.get $3 + local.get $0 call $~lib/array/Array#pop drop global.get $~lib/memory/__stack_pointer global.get $std/array/arr - local.tee $3 + local.tee $0 i32.store - local.get $3 + local.get $0 call $~lib/array/Array#pop drop global.get $~lib/memory/__stack_pointer global.get $std/array/arr - local.tee $3 + local.tee $0 i32.store - local.get $3 + local.get $0 call $~lib/array/Array#pop drop global.get $~lib/memory/__stack_pointer global.get $std/array/arr - local.tee $3 + local.tee $0 i32.store - local.get $3 + local.get $0 call $~lib/array/Array#pop drop i32.const 0 global.set $std/array/i global.get $~lib/memory/__stack_pointer - local.tee $3 global.get $std/array/arr local.tee $4 i32.store - local.get $3 + global.get $~lib/memory/__stack_pointer i32.const 6928 i32.store offset=8 i32.const 0 - local.set $0 + local.set $1 local.get $4 i32.load offset=12 - local.set $1 + local.set $2 loop $for-loop|07690 - local.get $0 - local.get $1 + local.get $2 local.get $4 i32.load offset=12 - local.tee $3 - local.get $1 - local.get $3 - i32.lt_s + local.tee $0 + local.get $0 + local.get $2 + i32.gt_s select - i32.lt_s + local.get $1 + i32.gt_s if local.get $4 i32.load offset=4 - local.get $0 + local.get $1 i32.const 2 i32.shl i32.add i32.load i32.const 3 global.set $~argumentsLength - local.get $0 + local.get $1 local.get $4 i32.const 6928 i32.load call_indirect $0 (type $i32_i32_i32_=>_none) - local.get $0 + local.get $1 i32.const 1 i32.add - local.set $0 + local.set $1 br $for-loop|07690 end end @@ -21892,9 +22754,9 @@ end global.get $~lib/memory/__stack_pointer global.get $std/array/arr - local.tee $3 + local.tee $0 i32.store - local.get $3 + local.get $0 i32.load offset=12 i32.const 2 i32.ne @@ -21908,71 +22770,70 @@ end global.get $~lib/memory/__stack_pointer global.get $std/array/arr - local.tee $3 + local.tee $0 i32.store - local.get $3 + local.get $0 i32.const 2 call $~lib/array/Array#push drop global.get $~lib/memory/__stack_pointer global.get $std/array/arr - local.tee $3 + local.tee $0 i32.store - local.get $3 + local.get $0 i32.const 3 call $~lib/array/Array#push drop global.get $~lib/memory/__stack_pointer - local.tee $3 global.get $std/array/arr local.tee $4 i32.store - local.get $3 + global.get $~lib/memory/__stack_pointer i32.const 6960 i32.store offset=8 i32.const 0 - local.set $0 + local.set $1 local.get $4 i32.load offset=12 - local.set $1 + local.set $2 loop $for-loop|07991 - local.get $0 - local.get $1 + local.get $2 local.get $4 i32.load offset=12 - local.tee $3 - local.get $1 - local.get $3 - i32.lt_s + local.tee $0 + local.get $0 + local.get $2 + i32.gt_s select - i32.lt_s + local.get $1 + i32.gt_s if local.get $4 i32.load offset=4 - local.get $0 + local.get $1 i32.const 2 i32.shl i32.add i32.load i32.const 3 global.set $~argumentsLength - local.get $0 + local.get $1 local.get $4 i32.const 6960 i32.load call_indirect $0 (type $i32_i32_i32_=>_none) - local.get $0 + local.get $1 i32.const 1 i32.add - local.set $0 + local.set $1 br $for-loop|07991 end end global.get $~lib/memory/__stack_pointer global.get $std/array/arr - local.tee $3 + local.tee $0 i32.store - local.get $3 + local.get $0 i32.load offset=12 i32.const 100 i32.ne @@ -21993,9 +22854,9 @@ if global.get $~lib/memory/__stack_pointer global.get $std/array/arr - local.tee $3 + local.tee $1 i32.store - local.get $3 + local.get $1 call $~lib/array/Array#pop drop local.get $0 @@ -22007,47 +22868,47 @@ end global.get $~lib/memory/__stack_pointer global.get $std/array/arr - local.tee $3 + local.tee $0 i32.store - local.get $3 + local.get $0 i32.const 0 call $~lib/array/Array#push drop global.get $~lib/memory/__stack_pointer global.get $std/array/arr - local.tee $3 + local.tee $0 i32.store - local.get $3 + local.get $0 i32.const 1 call $~lib/array/Array#push drop global.get $~lib/memory/__stack_pointer global.get $std/array/arr - local.tee $3 + local.tee $0 i32.store - local.get $3 + local.get $0 i32.const 2 call $~lib/array/Array#push drop global.get $~lib/memory/__stack_pointer global.get $std/array/arr - local.tee $3 + local.tee $0 i32.store - local.get $3 + local.get $0 i32.const 3 call $~lib/array/Array#push drop global.get $~lib/memory/__stack_pointer - local.tee $2 global.get $std/array/arr - local.tee $8 + local.tee $3 i32.store - local.get $2 + global.get $~lib/memory/__stack_pointer i32.const 6992 i32.store offset=8 + global.get $~lib/memory/__stack_pointer i32.const 0 - local.set $0 - local.get $2 + local.set $1 + global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub global.set $~lib/memory/__stack_pointer @@ -22056,13 +22917,13 @@ i32.lt_s br_if $folding-inner3 global.get $~lib/memory/__stack_pointer - local.tee $3 + local.tee $0 i32.const 0 i32.store + local.get $0 local.get $3 - local.get $8 i32.load offset=12 - local.tee $5 + local.tee $6 i32.const 2 i32.const 10 i32.const 0 @@ -22073,42 +22934,42 @@ i32.load offset=4 local.set $4 loop $for-loop|08193 - local.get $0 - local.get $5 - local.get $8 - i32.load offset=12 - local.tee $3 + local.get $6 local.get $3 - local.get $5 + i32.load offset=12 + local.tee $0 + local.get $0 + local.get $6 i32.gt_s select - i32.lt_s + local.get $1 + i32.gt_s if - local.get $0 + local.get $1 i32.const 2 i32.shl - local.tee $1 - local.get $8 + local.tee $2 + local.get $3 i32.load offset=4 i32.add i32.load - local.set $3 + local.set $0 i32.const 3 global.set $~argumentsLength - local.get $1 + local.get $2 local.get $4 i32.add - local.get $3 local.get $0 - local.get $8 + local.get $1 + local.get $3 i32.const 6992 i32.load call_indirect $0 (type $i32_i32_i32_=>_f32) f32.store - local.get $0 + local.get $1 i32.const 1 i32.add - local.set $0 + local.set $1 br $for-loop|08193 end end @@ -22116,7 +22977,6 @@ i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $2 local.get $7 i32.store offset=12 local.get $7 @@ -22134,14 +22994,16 @@ local.get $7 i32.const 0 call $~lib/array/Array#__get + local.set $11 global.get $~lib/memory/__stack_pointer global.get $std/array/arr - local.tee $3 + local.tee $0 i32.store - local.get $3 + local.get $0 i32.const 0 call $~lib/array/Array#__get f32.convert_i32_s + local.get $11 f32.ne if i32.const 0 @@ -22156,12 +23018,12 @@ global.get $~lib/memory/__stack_pointer local.tee $1 global.get $std/array/arr - local.tee $3 + local.tee $0 i32.store local.get $1 i32.const 7024 i32.store offset=8 - local.get $3 + local.get $0 i32.const 7024 call $~lib/array/Array#map global.get $std/array/i @@ -22177,9 +23039,9 @@ end global.get $~lib/memory/__stack_pointer global.get $std/array/arr - local.tee $3 + local.tee $0 i32.store - local.get $3 + local.get $0 i32.load offset=12 i32.const 8 i32.ne @@ -22196,12 +23058,12 @@ global.get $~lib/memory/__stack_pointer local.tee $1 global.get $std/array/arr - local.tee $3 + local.tee $0 i32.store local.get $1 i32.const 7056 i32.store offset=8 - local.get $3 + local.get $0 i32.const 7056 call $~lib/array/Array#map global.get $std/array/i @@ -22217,43 +23079,42 @@ end global.get $~lib/memory/__stack_pointer global.get $std/array/arr - local.tee $3 + local.tee $0 i32.store - local.get $3 + local.get $0 call $~lib/array/Array#pop drop global.get $~lib/memory/__stack_pointer global.get $std/array/arr - local.tee $3 + local.tee $0 i32.store - local.get $3 + local.get $0 call $~lib/array/Array#pop drop global.get $~lib/memory/__stack_pointer global.get $std/array/arr - local.tee $3 + local.tee $0 i32.store - local.get $3 + local.get $0 call $~lib/array/Array#pop drop global.get $~lib/memory/__stack_pointer global.get $std/array/arr - local.tee $3 + local.tee $0 i32.store - local.get $3 + local.get $0 call $~lib/array/Array#pop drop i32.const 0 global.set $std/array/i global.get $~lib/memory/__stack_pointer - local.tee $1 global.get $std/array/arr - local.tee $3 + local.tee $0 i32.store - local.get $1 + global.get $~lib/memory/__stack_pointer i32.const 7088 i32.store offset=8 - local.get $3 + local.get $0 i32.const 7088 call $~lib/array/Array#map global.get $std/array/i @@ -22269,9 +23130,9 @@ end global.get $~lib/memory/__stack_pointer global.get $std/array/arr - local.tee $3 + local.tee $0 i32.store - local.get $3 + local.get $0 i32.load offset=12 i32.const 2 i32.ne @@ -22285,35 +23146,34 @@ end global.get $~lib/memory/__stack_pointer global.get $std/array/arr - local.tee $3 + local.tee $0 i32.store - local.get $3 + local.get $0 i32.const 2 call $~lib/array/Array#push drop global.get $~lib/memory/__stack_pointer global.get $std/array/arr - local.tee $3 + local.tee $0 i32.store - local.get $3 + local.get $0 i32.const 3 call $~lib/array/Array#push drop global.get $~lib/memory/__stack_pointer - local.tee $1 global.get $std/array/arr - local.tee $3 + local.tee $0 i32.store - local.get $1 + global.get $~lib/memory/__stack_pointer i32.const 7120 i32.store offset=8 - local.get $1 - local.get $3 + global.get $~lib/memory/__stack_pointer + local.get $0 i32.const 7120 call $~lib/array/Array#filter - local.tee $3 + local.tee $0 i32.store offset=12 - local.get $3 + local.get $0 i32.load offset=12 i32.const 2 i32.ne @@ -22330,12 +23190,12 @@ global.get $~lib/memory/__stack_pointer local.tee $1 global.get $std/array/arr - local.tee $3 + local.tee $0 i32.store local.get $1 i32.const 7152 i32.store offset=8 - local.get $3 + local.get $0 i32.const 7152 call $~lib/array/Array#filter drop @@ -22352,9 +23212,9 @@ end global.get $~lib/memory/__stack_pointer global.get $std/array/arr - local.tee $3 + local.tee $0 i32.store - local.get $3 + local.get $0 i32.load offset=12 i32.const 8 i32.ne @@ -22371,12 +23231,12 @@ global.get $~lib/memory/__stack_pointer local.tee $1 global.get $std/array/arr - local.tee $3 + local.tee $0 i32.store local.get $1 i32.const 7184 i32.store offset=8 - local.get $3 + local.get $0 i32.const 7184 call $~lib/array/Array#filter drop @@ -22393,43 +23253,42 @@ end global.get $~lib/memory/__stack_pointer global.get $std/array/arr - local.tee $3 + local.tee $0 i32.store - local.get $3 + local.get $0 call $~lib/array/Array#pop drop global.get $~lib/memory/__stack_pointer global.get $std/array/arr - local.tee $3 + local.tee $0 i32.store - local.get $3 + local.get $0 call $~lib/array/Array#pop drop global.get $~lib/memory/__stack_pointer global.get $std/array/arr - local.tee $3 + local.tee $0 i32.store - local.get $3 + local.get $0 call $~lib/array/Array#pop drop global.get $~lib/memory/__stack_pointer global.get $std/array/arr - local.tee $3 + local.tee $0 i32.store - local.get $3 + local.get $0 call $~lib/array/Array#pop drop i32.const 0 global.set $std/array/i global.get $~lib/memory/__stack_pointer - local.tee $1 global.get $std/array/arr - local.tee $3 + local.tee $0 i32.store - local.get $1 + global.get $~lib/memory/__stack_pointer i32.const 7216 i32.store offset=8 - local.get $3 + local.get $0 i32.const 7216 call $~lib/array/Array#filter drop @@ -22446,9 +23305,9 @@ end global.get $~lib/memory/__stack_pointer global.get $std/array/arr - local.tee $3 + local.tee $0 i32.store - local.get $3 + local.get $0 i32.load offset=12 i32.const 2 i32.ne @@ -22462,71 +23321,72 @@ end global.get $~lib/memory/__stack_pointer global.get $std/array/arr - local.tee $3 + local.tee $0 i32.store - local.get $3 + local.get $0 i32.const 2 call $~lib/array/Array#push drop global.get $~lib/memory/__stack_pointer global.get $std/array/arr - local.tee $3 + local.tee $0 i32.store - local.get $3 + local.get $0 i32.const 3 call $~lib/array/Array#push drop global.get $~lib/memory/__stack_pointer - local.tee $3 global.get $std/array/arr local.tee $4 i32.store - local.get $3 + global.get $~lib/memory/__stack_pointer i32.const 7248 i32.store offset=8 i32.const 0 - local.set $0 + local.set $5 + i32.const 0 + local.set $1 local.get $4 i32.load offset=12 - local.set $1 + local.set $2 loop $for-loop|094 - local.get $0 - local.get $1 + local.get $2 local.get $4 i32.load offset=12 - local.tee $3 - local.get $1 - local.get $3 - i32.lt_s + local.tee $0 + local.get $0 + local.get $2 + i32.gt_s select - i32.lt_s + local.get $1 + i32.gt_s if local.get $4 i32.load offset=4 - local.get $0 + local.get $1 i32.const 2 i32.shl i32.add i32.load - local.set $3 + local.set $0 i32.const 4 global.set $~argumentsLength - local.get $6 - local.get $3 + local.get $5 local.get $0 + local.get $1 local.get $4 i32.const 7248 i32.load call_indirect $0 (type $i32_i32_i32_i32_=>_i32) - local.set $6 - local.get $0 + local.set $5 + local.get $1 i32.const 1 i32.add - local.set $0 + local.set $1 br $for-loop|094 end end - local.get $6 + local.get $5 global.set $std/array/i global.get $std/array/i i32.const 6 @@ -22540,58 +23400,58 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $3 + local.tee $0 global.get $std/array/arr local.tee $4 i32.store - local.get $3 + local.get $0 i32.const 7280 i32.store offset=8 i32.const 4 - local.set $6 + local.set $5 i32.const 0 - local.set $0 + local.set $1 local.get $4 i32.load offset=12 - local.set $1 + local.set $2 loop $for-loop|096 - local.get $0 - local.get $1 + local.get $2 local.get $4 i32.load offset=12 - local.tee $3 - local.get $1 - local.get $3 - i32.lt_s + local.tee $0 + local.get $0 + local.get $2 + i32.gt_s select - i32.lt_s + local.get $1 + i32.gt_s if local.get $4 i32.load offset=4 - local.get $0 + local.get $1 i32.const 2 i32.shl i32.add i32.load - local.set $3 + local.set $0 i32.const 4 global.set $~argumentsLength - local.get $6 - local.get $3 + local.get $5 local.get $0 + local.get $1 local.get $4 i32.const 7280 i32.load call_indirect $0 (type $i32_i32_i32_i32_=>_i32) - local.set $6 - local.get $0 + local.set $5 + local.get $1 i32.const 1 i32.add - local.set $0 + local.set $1 br $for-loop|096 end end - local.get $6 + local.get $5 global.set $std/array/i global.get $std/array/i i32.const 10 @@ -22605,58 +23465,58 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $3 + local.tee $0 global.get $std/array/arr local.tee $4 i32.store - local.get $3 + local.get $0 i32.const 7312 i32.store offset=8 i32.const 0 - local.set $6 + local.set $5 i32.const 0 - local.set $0 + local.set $1 local.get $4 i32.load offset=12 - local.set $1 + local.set $2 loop $for-loop|098 - local.get $0 - local.get $1 + local.get $2 local.get $4 i32.load offset=12 - local.tee $3 - local.get $1 - local.get $3 - i32.lt_s + local.tee $0 + local.get $0 + local.get $2 + i32.gt_s select - i32.lt_s + local.get $1 + i32.gt_s if local.get $4 i32.load offset=4 - local.get $0 + local.get $1 i32.const 2 i32.shl i32.add i32.load - local.set $3 + local.set $0 i32.const 4 global.set $~argumentsLength - local.get $6 - local.get $3 + local.get $5 local.get $0 + local.get $1 local.get $4 i32.const 7312 i32.load call_indirect $0 (type $i32_i32_i32_i32_=>_i32) - local.set $6 - local.get $0 + local.set $5 + local.get $1 i32.const 1 i32.add - local.set $0 + local.set $1 br $for-loop|098 end end - local.get $6 + local.get $5 i32.eqz if i32.const 0 @@ -22667,58 +23527,58 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $3 + local.tee $0 global.get $std/array/arr local.tee $4 i32.store - local.get $3 + local.get $0 i32.const 7344 i32.store offset=8 i32.const 0 - local.set $6 + local.set $5 i32.const 0 - local.set $0 + local.set $1 local.get $4 i32.load offset=12 - local.set $1 + local.set $2 loop $for-loop|0100 - local.get $0 - local.get $1 + local.get $2 local.get $4 i32.load offset=12 - local.tee $3 - local.get $1 - local.get $3 - i32.lt_s + local.tee $0 + local.get $0 + local.get $2 + i32.gt_s select - i32.lt_s + local.get $1 + i32.gt_s if local.get $4 i32.load offset=4 - local.get $0 + local.get $1 i32.const 2 i32.shl i32.add i32.load - local.set $3 + local.set $0 i32.const 4 global.set $~argumentsLength - local.get $6 - local.get $3 + local.get $5 local.get $0 + local.get $1 local.get $4 i32.const 7344 i32.load call_indirect $0 (type $i32_i32_i32_i32_=>_i32) - local.set $6 - local.get $0 + local.set $5 + local.get $1 i32.const 1 i32.add - local.set $0 + local.set $1 br $for-loop|0100 end end - local.get $6 + local.get $5 if i32.const 0 i32.const 1552 @@ -22728,58 +23588,58 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $3 + local.tee $0 global.get $std/array/arr local.tee $4 i32.store - local.get $3 + local.get $0 i32.const 7376 i32.store offset=8 i32.const 0 - local.set $6 + local.set $5 i32.const 0 - local.set $0 + local.set $1 local.get $4 i32.load offset=12 - local.set $1 + local.set $2 loop $for-loop|0102 - local.get $0 - local.get $1 + local.get $2 local.get $4 i32.load offset=12 - local.tee $3 - local.get $1 - local.get $3 - i32.lt_s + local.tee $0 + local.get $0 + local.get $2 + i32.gt_s select - i32.lt_s + local.get $1 + i32.gt_s if local.get $4 i32.load offset=4 - local.get $0 + local.get $1 i32.const 2 i32.shl i32.add i32.load - local.set $3 + local.set $0 i32.const 4 global.set $~argumentsLength - local.get $6 - local.get $3 + local.get $5 local.get $0 + local.get $1 local.get $4 i32.const 7376 i32.load call_indirect $0 (type $i32_i32_i32_i32_=>_i32) - local.set $6 - local.get $0 + local.set $5 + local.get $1 i32.const 1 i32.add - local.set $0 + local.set $1 br $for-loop|0102 end end - local.get $6 + local.get $5 global.set $std/array/i global.get $std/array/i i32.const 6 @@ -22794,9 +23654,9 @@ end global.get $~lib/memory/__stack_pointer global.get $std/array/arr - local.tee $3 + local.tee $0 i32.store - local.get $3 + local.get $0 i32.load offset=12 i32.const 8 i32.ne @@ -22809,58 +23669,58 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $3 + local.tee $0 global.get $std/array/arr local.tee $4 i32.store - local.get $3 + local.get $0 i32.const 7408 i32.store offset=8 i32.const 0 - local.set $6 + local.set $5 i32.const 0 - local.set $0 + local.set $1 local.get $4 i32.load offset=12 - local.set $1 + local.set $2 loop $for-loop|0104 - local.get $0 - local.get $1 + local.get $2 local.get $4 i32.load offset=12 - local.tee $3 - local.get $1 - local.get $3 - i32.lt_s + local.tee $0 + local.get $0 + local.get $2 + i32.gt_s select - i32.lt_s + local.get $1 + i32.gt_s if local.get $4 i32.load offset=4 - local.get $0 + local.get $1 i32.const 2 i32.shl i32.add i32.load - local.set $3 + local.set $0 i32.const 4 global.set $~argumentsLength - local.get $6 - local.get $3 + local.get $5 local.get $0 + local.get $1 local.get $4 i32.const 7408 i32.load call_indirect $0 (type $i32_i32_i32_i32_=>_i32) - local.set $6 - local.get $0 + local.set $5 + local.get $1 i32.const 1 i32.add - local.set $0 + local.set $1 br $for-loop|0104 end end - local.get $6 + local.get $5 global.set $std/array/i global.get $std/array/i i32.const 10 @@ -22875,85 +23735,84 @@ end global.get $~lib/memory/__stack_pointer global.get $std/array/arr - local.tee $3 + local.tee $0 i32.store - local.get $3 + local.get $0 call $~lib/array/Array#pop drop global.get $~lib/memory/__stack_pointer global.get $std/array/arr - local.tee $3 + local.tee $0 i32.store - local.get $3 + local.get $0 call $~lib/array/Array#pop drop global.get $~lib/memory/__stack_pointer global.get $std/array/arr - local.tee $3 + local.tee $0 i32.store - local.get $3 + local.get $0 call $~lib/array/Array#pop drop global.get $~lib/memory/__stack_pointer global.get $std/array/arr - local.tee $3 + local.tee $0 i32.store - local.get $3 + local.get $0 call $~lib/array/Array#pop drop global.get $~lib/memory/__stack_pointer - local.tee $3 global.get $std/array/arr local.tee $4 i32.store - local.get $3 + global.get $~lib/memory/__stack_pointer i32.const 7440 i32.store offset=8 i32.const 0 - local.set $6 + local.set $5 i32.const 0 - local.set $0 + local.set $1 local.get $4 i32.load offset=12 - local.set $1 + local.set $2 loop $for-loop|0106 - local.get $0 - local.get $1 + local.get $2 local.get $4 i32.load offset=12 - local.tee $3 - local.get $1 - local.get $3 - i32.lt_s + local.tee $0 + local.get $0 + local.get $2 + i32.gt_s select - i32.lt_s + local.get $1 + i32.gt_s if local.get $4 i32.load offset=4 - local.get $0 + local.get $1 i32.const 2 i32.shl i32.add i32.load - local.set $3 + local.set $0 i32.const 4 global.set $~argumentsLength - local.get $6 - local.get $3 + local.get $5 local.get $0 + local.get $1 local.get $4 i32.const 7440 i32.load call_indirect $0 (type $i32_i32_i32_i32_=>_i32) - local.set $6 - local.get $0 + local.set $5 + local.get $1 i32.const 1 i32.add - local.set $0 + local.set $1 br $for-loop|0106 end end - local.get $6 + local.get $5 global.set $std/array/i global.get $std/array/i i32.const 1 @@ -22968,9 +23827,9 @@ end global.get $~lib/memory/__stack_pointer global.get $std/array/arr - local.tee $3 + local.tee $0 i32.store - local.get $3 + local.get $0 i32.load offset=12 i32.const 2 i32.ne @@ -22984,66 +23843,65 @@ end global.get $~lib/memory/__stack_pointer global.get $std/array/arr - local.tee $3 + local.tee $0 i32.store - local.get $3 + local.get $0 i32.const 2 call $~lib/array/Array#push drop global.get $~lib/memory/__stack_pointer global.get $std/array/arr - local.tee $3 + local.tee $0 i32.store - local.get $3 + local.get $0 i32.const 3 call $~lib/array/Array#push drop global.get $~lib/memory/__stack_pointer - local.tee $3 global.get $std/array/arr local.tee $4 i32.store - local.get $3 + global.get $~lib/memory/__stack_pointer i32.const 7472 i32.store offset=8 i32.const 0 - local.set $1 + local.set $0 local.get $4 i32.load offset=12 i32.const 1 i32.sub - local.set $0 + local.set $1 loop $for-loop|090 - local.get $0 + local.get $1 i32.const 0 i32.ge_s if local.get $4 i32.load offset=4 - local.get $0 + local.get $1 i32.const 2 i32.shl i32.add i32.load - local.set $3 + local.set $2 i32.const 4 global.set $~argumentsLength - local.get $1 - local.get $3 local.get $0 + local.get $2 + local.get $1 local.get $4 i32.const 7472 i32.load call_indirect $0 (type $i32_i32_i32_i32_=>_i32) - local.set $1 - local.get $0 + local.set $0 + local.get $1 i32.const 1 i32.sub - local.set $0 + local.set $1 br $for-loop|090 end end - local.get $1 + local.get $0 global.set $std/array/i global.get $std/array/i i32.const 6 @@ -23057,51 +23915,51 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $3 + local.tee $0 global.get $std/array/arr local.tee $4 i32.store - local.get $3 + local.get $0 i32.const 7504 i32.store offset=8 i32.const 4 - local.set $1 + local.set $0 local.get $4 i32.load offset=12 i32.const 1 i32.sub - local.set $0 + local.set $1 loop $for-loop|092 - local.get $0 + local.get $1 i32.const 0 i32.ge_s if local.get $4 i32.load offset=4 - local.get $0 + local.get $1 i32.const 2 i32.shl i32.add i32.load - local.set $3 + local.set $2 i32.const 4 global.set $~argumentsLength - local.get $1 - local.get $3 local.get $0 + local.get $2 + local.get $1 local.get $4 i32.const 7504 i32.load call_indirect $0 (type $i32_i32_i32_i32_=>_i32) - local.set $1 - local.get $0 + local.set $0 + local.get $1 i32.const 1 i32.sub - local.set $0 + local.set $1 br $for-loop|092 end end - local.get $1 + local.get $0 global.set $std/array/i global.get $std/array/i i32.const 10 @@ -23115,51 +23973,51 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $3 + local.tee $0 global.get $std/array/arr local.tee $4 i32.store - local.get $3 + local.get $0 i32.const 7536 i32.store offset=8 i32.const 0 - local.set $1 + local.set $0 local.get $4 i32.load offset=12 i32.const 1 i32.sub - local.set $0 + local.set $1 loop $for-loop|094107 - local.get $0 + local.get $1 i32.const 0 i32.ge_s if local.get $4 i32.load offset=4 - local.get $0 + local.get $1 i32.const 2 i32.shl i32.add i32.load - local.set $3 + local.set $2 i32.const 4 global.set $~argumentsLength - local.get $1 - local.get $3 local.get $0 + local.get $2 + local.get $1 local.get $4 i32.const 7536 i32.load call_indirect $0 (type $i32_i32_i32_i32_=>_i32) - local.set $1 - local.get $0 + local.set $0 + local.get $1 i32.const 1 i32.sub - local.set $0 + local.set $1 br $for-loop|094107 end end - local.get $1 + local.get $0 i32.eqz if i32.const 0 @@ -23170,51 +24028,51 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $3 + local.tee $0 global.get $std/array/arr local.tee $4 i32.store - local.get $3 + local.get $0 i32.const 7568 i32.store offset=8 i32.const 0 - local.set $1 + local.set $0 local.get $4 i32.load offset=12 i32.const 1 i32.sub - local.set $0 + local.set $1 loop $for-loop|096108 - local.get $0 + local.get $1 i32.const 0 i32.ge_s if local.get $4 i32.load offset=4 - local.get $0 + local.get $1 i32.const 2 i32.shl i32.add i32.load - local.set $3 + local.set $2 i32.const 4 global.set $~argumentsLength - local.get $1 - local.get $3 local.get $0 + local.get $2 + local.get $1 local.get $4 i32.const 7568 i32.load call_indirect $0 (type $i32_i32_i32_i32_=>_i32) - local.set $1 - local.get $0 + local.set $0 + local.get $1 i32.const 1 i32.sub - local.set $0 + local.set $1 br $for-loop|096108 end end - local.get $1 + local.get $0 if i32.const 0 i32.const 1552 @@ -23224,51 +24082,51 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $3 + local.tee $0 global.get $std/array/arr local.tee $4 i32.store - local.get $3 + local.get $0 i32.const 7600 i32.store offset=8 i32.const 0 - local.set $1 + local.set $0 local.get $4 i32.load offset=12 i32.const 1 i32.sub - local.set $0 + local.set $1 loop $for-loop|098109 - local.get $0 + local.get $1 i32.const 0 i32.ge_s if local.get $4 i32.load offset=4 - local.get $0 + local.get $1 i32.const 2 i32.shl i32.add i32.load - local.set $3 + local.set $2 i32.const 4 global.set $~argumentsLength - local.get $1 - local.get $3 local.get $0 + local.get $2 + local.get $1 local.get $4 i32.const 7600 i32.load call_indirect $0 (type $i32_i32_i32_i32_=>_i32) - local.set $1 - local.get $0 + local.set $0 + local.get $1 i32.const 1 i32.sub - local.set $0 + local.set $1 br $for-loop|098109 end end - local.get $1 + local.get $0 global.set $std/array/i global.get $std/array/i i32.const 6 @@ -23283,9 +24141,9 @@ end global.get $~lib/memory/__stack_pointer global.get $std/array/arr - local.tee $3 + local.tee $0 i32.store - local.get $3 + local.get $0 i32.load offset=12 i32.const 8 i32.ne @@ -23298,51 +24156,51 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $3 + local.tee $0 global.get $std/array/arr local.tee $4 i32.store - local.get $3 + local.get $0 i32.const 7632 i32.store offset=8 i32.const 0 - local.set $1 + local.set $0 local.get $4 i32.load offset=12 i32.const 1 i32.sub - local.set $0 + local.set $1 loop $for-loop|0101 - local.get $0 + local.get $1 i32.const 0 i32.ge_s if local.get $4 i32.load offset=4 - local.get $0 + local.get $1 i32.const 2 i32.shl i32.add i32.load - local.set $3 + local.set $2 i32.const 4 global.set $~argumentsLength - local.get $1 - local.get $3 local.get $0 + local.get $2 + local.get $1 local.get $4 i32.const 7632 i32.load call_indirect $0 (type $i32_i32_i32_i32_=>_i32) - local.set $1 - local.get $0 + local.set $0 + local.get $1 i32.const 1 i32.sub - local.set $0 + local.set $1 br $for-loop|0101 end end - local.get $1 + local.get $0 global.set $std/array/i global.get $std/array/i i32.const 10 @@ -23357,78 +24215,77 @@ end global.get $~lib/memory/__stack_pointer global.get $std/array/arr - local.tee $3 + local.tee $0 i32.store - local.get $3 + local.get $0 call $~lib/array/Array#pop drop global.get $~lib/memory/__stack_pointer global.get $std/array/arr - local.tee $3 + local.tee $0 i32.store - local.get $3 + local.get $0 call $~lib/array/Array#pop drop global.get $~lib/memory/__stack_pointer global.get $std/array/arr - local.tee $3 + local.tee $0 i32.store - local.get $3 + local.get $0 call $~lib/array/Array#pop drop global.get $~lib/memory/__stack_pointer global.get $std/array/arr - local.tee $3 + local.tee $0 i32.store - local.get $3 + local.get $0 call $~lib/array/Array#pop drop global.get $~lib/memory/__stack_pointer - local.tee $3 global.get $std/array/arr local.tee $4 i32.store - local.get $3 + global.get $~lib/memory/__stack_pointer i32.const 7664 i32.store offset=8 i32.const 0 - local.set $1 + local.set $0 local.get $4 i32.load offset=12 i32.const 1 i32.sub - local.set $0 + local.set $1 loop $for-loop|0103 - local.get $0 + local.get $1 i32.const 0 i32.ge_s if local.get $4 i32.load offset=4 - local.get $0 + local.get $1 i32.const 2 i32.shl i32.add i32.load - local.set $3 + local.set $2 i32.const 4 global.set $~argumentsLength - local.get $1 - local.get $3 local.get $0 + local.get $2 + local.get $1 local.get $4 i32.const 7664 i32.load call_indirect $0 (type $i32_i32_i32_i32_=>_i32) - local.set $1 - local.get $0 + local.set $0 + local.get $1 i32.const 1 i32.sub - local.set $0 + local.set $1 br $for-loop|0103 end end - local.get $1 + local.get $0 global.set $std/array/i global.get $std/array/i i32.const 6 @@ -23443,9 +24300,9 @@ end global.get $~lib/memory/__stack_pointer global.get $std/array/arr - local.tee $3 + local.tee $0 i32.store - local.get $3 + local.get $0 i32.load offset=12 if i32.const 0 @@ -23457,33 +24314,33 @@ end global.get $~lib/memory/__stack_pointer global.get $std/array/arr - local.tee $3 + local.tee $0 i32.store - local.get $3 + local.get $0 i32.const 0 call $~lib/array/Array#push drop global.get $~lib/memory/__stack_pointer global.get $std/array/arr - local.tee $3 + local.tee $0 i32.store - local.get $3 + local.get $0 i32.const 1 call $~lib/array/Array#push drop global.get $~lib/memory/__stack_pointer global.get $std/array/arr - local.tee $3 + local.tee $0 i32.store - local.get $3 + local.get $0 i32.const 2 call $~lib/array/Array#push drop global.get $~lib/memory/__stack_pointer global.get $std/array/arr - local.tee $3 + local.tee $0 i32.store - local.get $3 + local.get $0 i32.const 3 call $~lib/array/Array#push drop @@ -23499,177 +24356,176 @@ local.tee $1 i32.store offset=12 global.get $~lib/memory/__stack_pointer - local.tee $3 local.get $1 i32.load offset=4 i32.store offset=4 - local.get $3 + global.get $~lib/memory/__stack_pointer call $std/array/Dim#constructor - local.tee $3 + local.tee $0 i32.store offset=20 - local.get $3 + local.get $0 i32.const 100 i32.store - local.get $3 + local.get $0 i32.const 80 i32.store offset=4 local.get $1 i32.const 0 - local.get $3 + local.get $0 call $~lib/array/Array#__uset global.get $~lib/memory/__stack_pointer call $std/array/Dim#constructor - local.tee $3 + local.tee $0 i32.store offset=24 - local.get $3 + local.get $0 i32.const 90 i32.store - local.get $3 + local.get $0 i32.const 90 i32.store offset=4 local.get $1 i32.const 1 - local.get $3 + local.get $0 call $~lib/array/Array#__uset global.get $~lib/memory/__stack_pointer call $std/array/Dim#constructor - local.tee $3 + local.tee $0 i32.store offset=28 - local.get $3 + local.get $0 i32.const 70 i32.store - local.get $3 + local.get $0 i32.const 95 i32.store offset=4 local.get $1 i32.const 2 - local.get $3 + local.get $0 call $~lib/array/Array#__uset global.get $~lib/memory/__stack_pointer call $std/array/Dim#constructor - local.tee $3 + local.tee $0 i32.store offset=16 - local.get $3 + local.get $0 i32.const 100 i32.store - local.get $3 + local.get $0 i32.const 100 i32.store offset=4 local.get $1 i32.const 3 - local.get $3 + local.get $0 call $~lib/array/Array#__uset global.get $~lib/memory/__stack_pointer call $std/array/Dim#constructor - local.tee $3 + local.tee $0 i32.store offset=32 - local.get $3 + local.get $0 i32.const 80 i32.store - local.get $3 + local.get $0 i32.const 110 i32.store offset=4 local.get $1 i32.const 4 - local.get $3 + local.get $0 call $~lib/array/Array#__uset global.get $~lib/memory/__stack_pointer call $std/array/Dim#constructor - local.tee $3 + local.tee $0 i32.store offset=36 - local.get $3 + local.get $0 i32.const 110 i32.store - local.get $3 + local.get $0 i32.const 115 i32.store offset=4 local.get $1 i32.const 5 - local.get $3 + local.get $0 call $~lib/array/Array#__uset global.get $~lib/memory/__stack_pointer call $std/array/Dim#constructor - local.tee $3 + local.tee $0 i32.store offset=40 - local.get $3 + local.get $0 i32.const 100 i32.store - local.get $3 + local.get $0 i32.const 120 i32.store offset=4 local.get $1 i32.const 6 - local.get $3 + local.get $0 call $~lib/array/Array#__uset global.get $~lib/memory/__stack_pointer call $std/array/Dim#constructor - local.tee $3 + local.tee $0 i32.store offset=44 - local.get $3 + local.get $0 i32.const 70 i32.store - local.get $3 + local.get $0 i32.const 125 i32.store offset=4 local.get $1 i32.const 7 - local.get $3 + local.get $0 call $~lib/array/Array#__uset global.get $~lib/memory/__stack_pointer call $std/array/Dim#constructor - local.tee $3 + local.tee $0 i32.store offset=48 - local.get $3 + local.get $0 i32.const 70 i32.store - local.get $3 + local.get $0 i32.const 130 i32.store offset=4 local.get $1 i32.const 8 - local.get $3 + local.get $0 call $~lib/array/Array#__uset global.get $~lib/memory/__stack_pointer call $std/array/Dim#constructor - local.tee $3 + local.tee $0 i32.store offset=52 - local.get $3 + local.get $0 i32.const 100 i32.store - local.get $3 + local.get $0 i32.const 135 i32.store offset=4 local.get $1 i32.const 9 - local.get $3 + local.get $0 call $~lib/array/Array#__uset global.get $~lib/memory/__stack_pointer call $std/array/Dim#constructor - local.tee $3 + local.tee $0 i32.store offset=56 - local.get $3 + local.get $0 i32.const 75 i32.store - local.get $3 + local.get $0 i32.const 140 i32.store offset=4 local.get $1 i32.const 10 - local.get $3 + local.get $0 call $~lib/array/Array#__uset global.get $~lib/memory/__stack_pointer call $std/array/Dim#constructor - local.tee $3 + local.tee $0 i32.store offset=60 - local.get $3 + local.get $0 i32.const 70 i32.store - local.get $3 + local.get $0 i32.const 140 i32.store offset=4 local.get $1 i32.const 11 - local.get $3 + local.get $0 call $~lib/array/Array#__uset local.get $1 global.set $std/array/inputStabArr @@ -23682,177 +24538,176 @@ local.tee $1 i32.store offset=4 global.get $~lib/memory/__stack_pointer - local.tee $3 local.get $1 i32.load offset=4 i32.store offset=12 - local.get $3 + global.get $~lib/memory/__stack_pointer call $std/array/Dim#constructor - local.tee $3 + local.tee $0 i32.store offset=64 - local.get $3 + local.get $0 i32.const 70 i32.store - local.get $3 + local.get $0 i32.const 95 i32.store offset=4 local.get $1 i32.const 0 - local.get $3 + local.get $0 call $~lib/array/Array#__uset global.get $~lib/memory/__stack_pointer call $std/array/Dim#constructor - local.tee $3 + local.tee $0 i32.store offset=68 - local.get $3 + local.get $0 i32.const 70 i32.store - local.get $3 + local.get $0 i32.const 125 i32.store offset=4 local.get $1 i32.const 1 - local.get $3 + local.get $0 call $~lib/array/Array#__uset global.get $~lib/memory/__stack_pointer call $std/array/Dim#constructor - local.tee $3 + local.tee $0 i32.store offset=72 - local.get $3 + local.get $0 i32.const 70 i32.store - local.get $3 + local.get $0 i32.const 130 i32.store offset=4 local.get $1 i32.const 2 - local.get $3 + local.get $0 call $~lib/array/Array#__uset global.get $~lib/memory/__stack_pointer call $std/array/Dim#constructor - local.tee $3 + local.tee $0 i32.store offset=76 - local.get $3 + local.get $0 i32.const 70 i32.store - local.get $3 + local.get $0 i32.const 140 i32.store offset=4 local.get $1 i32.const 3 - local.get $3 + local.get $0 call $~lib/array/Array#__uset global.get $~lib/memory/__stack_pointer call $std/array/Dim#constructor - local.tee $3 + local.tee $0 i32.store offset=80 - local.get $3 + local.get $0 i32.const 75 i32.store - local.get $3 + local.get $0 i32.const 140 i32.store offset=4 local.get $1 i32.const 4 - local.get $3 + local.get $0 call $~lib/array/Array#__uset global.get $~lib/memory/__stack_pointer call $std/array/Dim#constructor - local.tee $3 + local.tee $0 i32.store offset=84 - local.get $3 + local.get $0 i32.const 80 i32.store - local.get $3 + local.get $0 i32.const 110 i32.store offset=4 local.get $1 i32.const 5 - local.get $3 + local.get $0 call $~lib/array/Array#__uset global.get $~lib/memory/__stack_pointer call $std/array/Dim#constructor - local.tee $3 + local.tee $0 i32.store offset=88 - local.get $3 + local.get $0 i32.const 90 i32.store - local.get $3 + local.get $0 i32.const 90 i32.store offset=4 local.get $1 i32.const 6 - local.get $3 + local.get $0 call $~lib/array/Array#__uset global.get $~lib/memory/__stack_pointer call $std/array/Dim#constructor - local.tee $3 + local.tee $0 i32.store offset=92 - local.get $3 + local.get $0 i32.const 100 i32.store - local.get $3 + local.get $0 i32.const 80 i32.store offset=4 local.get $1 i32.const 7 - local.get $3 + local.get $0 call $~lib/array/Array#__uset global.get $~lib/memory/__stack_pointer call $std/array/Dim#constructor - local.tee $3 + local.tee $0 i32.store offset=96 - local.get $3 + local.get $0 i32.const 100 i32.store - local.get $3 + local.get $0 i32.const 100 i32.store offset=4 local.get $1 i32.const 8 - local.get $3 + local.get $0 call $~lib/array/Array#__uset global.get $~lib/memory/__stack_pointer call $std/array/Dim#constructor - local.tee $3 + local.tee $0 i32.store offset=100 - local.get $3 + local.get $0 i32.const 100 i32.store - local.get $3 + local.get $0 i32.const 120 i32.store offset=4 local.get $1 i32.const 9 - local.get $3 + local.get $0 call $~lib/array/Array#__uset global.get $~lib/memory/__stack_pointer call $std/array/Dim#constructor - local.tee $3 + local.tee $0 i32.store offset=104 - local.get $3 + local.get $0 i32.const 100 i32.store - local.get $3 + local.get $0 i32.const 135 i32.store offset=4 local.get $1 i32.const 10 - local.get $3 + local.get $0 call $~lib/array/Array#__uset global.get $~lib/memory/__stack_pointer call $std/array/Dim#constructor - local.tee $3 + local.tee $0 i32.store offset=108 - local.get $3 + local.get $0 i32.const 110 i32.store - local.get $3 + local.get $0 i32.const 115 i32.store offset=4 local.get $1 i32.const 11 - local.get $3 + local.get $0 call $~lib/array/Array#__uset local.get $1 global.set $std/array/outputStabArr @@ -23873,12 +24728,12 @@ i32.const 10 i32.const 8000 call $~lib/rt/__newArray - local.set $3 + local.set $0 global.get $~lib/memory/__stack_pointer - local.get $3 + local.get $0 i32.store offset=8 local.get $1 - local.get $3 + local.get $0 call $std/array/isArraysEqual i32.eqz if @@ -23906,12 +24761,12 @@ i32.const 10 i32.const 8096 call $~lib/rt/__newArray - local.set $3 + local.set $0 global.get $~lib/memory/__stack_pointer - local.get $3 + local.get $0 i32.store offset=8 local.get $1 - local.get $3 + local.get $0 call $std/array/isArraysEqual i32.eqz if @@ -23929,13 +24784,11 @@ i32.const 8160 call $~lib/rt/__newArray local.tee $5 - local.set $0 - local.get $5 i32.store offset=112 i32.const 0 global.set $~argumentsLength i32.const 0 - local.set $1 + local.set $0 global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub @@ -23956,16 +24809,16 @@ unreachable end i32.const 8256 - local.set $1 + local.set $0 global.get $~lib/memory/__stack_pointer i32.const 8256 i32.store end - local.get $0 + local.get $5 i32.load offset=4 - local.get $0 + local.get $5 i32.load offset=12 - local.get $1 + local.get $0 call $~lib/util/sort/SORT global.get $~lib/memory/__stack_pointer i32.const 4 @@ -23982,11 +24835,11 @@ i32.store offset=8 block $__inlined_func$std/array/isArraysEqual (result i32) i32.const 0 - local.set $1 + local.set $0 i32.const 0 local.get $5 i32.load offset=12 - local.tee $3 + local.tee $1 local.get $4 i32.load offset=12 i32.ne @@ -23999,22 +24852,22 @@ br_if $__inlined_func$std/array/isArraysEqual drop loop $for-loop|038 + local.get $0 local.get $1 - local.get $3 i32.lt_s if local.get $5 - local.get $1 + local.get $0 call $~lib/array/Array#__get - local.tee $10 - local.get $10 + local.tee $9 + local.get $9 f64.ne if (result i32) local.get $4 - local.get $1 + local.get $0 call $~lib/array/Array#__get - local.tee $10 - local.get $10 + local.tee $9 + local.get $9 f64.ne else i32.const 0 @@ -24023,19 +24876,19 @@ if i32.const 0 local.get $5 - local.get $1 + local.get $0 call $~lib/array/Array#__get local.get $4 - local.get $1 + local.get $0 call $~lib/array/Array#__get f64.ne br_if $__inlined_func$std/array/isArraysEqual drop end - local.get $1 + local.get $0 i32.const 1 i32.add - local.set $1 + local.set $0 br $for-loop|038 end end @@ -24056,14 +24909,12 @@ i32.const 3 i32.const 8384 call $~lib/rt/__newArray - local.tee $4 - local.set $0 - local.get $4 + local.tee $1 i32.store offset=116 i32.const 0 global.set $~argumentsLength i32.const 0 - local.set $1 + local.set $0 global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub @@ -24084,16 +24935,16 @@ unreachable end i32.const 8432 - local.set $1 + local.set $0 global.get $~lib/memory/__stack_pointer i32.const 8432 i32.store end - local.get $0 + local.get $1 i32.load offset=4 - local.get $0 - i32.load offset=12 local.get $1 + i32.load offset=12 + local.get $0 call $~lib/util/sort/SORT global.get $~lib/memory/__stack_pointer i32.const 4 @@ -24104,12 +24955,12 @@ i32.const 3 i32.const 8464 call $~lib/rt/__newArray - local.set $3 + local.set $0 global.get $~lib/memory/__stack_pointer - local.get $3 + local.get $0 i32.store offset=8 - local.get $4 - local.get $3 + local.get $1 + local.get $0 i32.const 0 call $std/array/isArraysEqual i32.eqz @@ -24140,12 +24991,12 @@ i32.const 7 i32.const 8592 call $~lib/rt/__newArray - local.set $3 + local.set $0 global.get $~lib/memory/__stack_pointer - local.get $3 + local.get $0 i32.store offset=8 local.get $1 - local.get $3 + local.get $0 call $std/array/isArraysEqual i32.eqz if @@ -24170,7 +25021,7 @@ i32.const 3 i32.const 8672 call $~lib/rt/__newArray - local.tee $6 + local.tee $8 i32.store offset=128 global.get $~lib/memory/__stack_pointer i32.const 2 @@ -24178,7 +25029,7 @@ i32.const 3 i32.const 8704 call $~lib/rt/__newArray - local.tee $8 + local.tee $3 i32.store offset=132 global.get $~lib/memory/__stack_pointer i32.const 4 @@ -24194,12 +25045,12 @@ i32.const 3 i32.const 8784 call $~lib/rt/__newArray - local.tee $11 + local.tee $10 i32.store offset=140 global.get $~lib/memory/__stack_pointer i32.const 64 call $std/array/createReverseOrderedArray - local.tee $2 + local.tee $6 i32.store offset=144 global.get $~lib/memory/__stack_pointer i32.const 128 @@ -24214,16 +25065,16 @@ global.get $~lib/memory/__stack_pointer i32.const 10000 call $std/array/createReverseOrderedArray - local.tee $0 + local.tee $2 i32.store offset=156 global.get $~lib/memory/__stack_pointer i32.const 512 call $std/array/createRandomOrderedArray - local.tee $3 + local.tee $0 i32.store offset=160 local.get $1 call $std/array/assertSortedDefault - local.get $6 + local.get $8 call $std/array/assertSortedDefault i32.const 1 i32.const 2 @@ -24234,7 +25085,7 @@ global.get $~lib/memory/__stack_pointer local.get $1 i32.store offset=8 - local.get $6 + local.get $8 local.get $1 i32.const 0 call $std/array/isArraysEqual @@ -24247,7 +25098,7 @@ call $~lib/builtins/abort unreachable end - local.get $8 + local.get $3 call $std/array/assertSortedDefault i32.const 2 i32.const 2 @@ -24258,7 +25109,7 @@ global.get $~lib/memory/__stack_pointer local.get $1 i32.store offset=8 - local.get $8 + local.get $3 local.get $1 i32.const 0 call $std/array/isArraysEqual @@ -24274,7 +25125,7 @@ local.get $7 call $std/array/assertSortedDefault local.get $7 - local.get $11 + local.get $10 i32.const 0 call $std/array/isArraysEqual i32.eqz @@ -24286,10 +25137,10 @@ call $~lib/builtins/abort unreachable end - local.get $2 + local.get $6 call $std/array/assertSortedDefault - local.get $2 - local.get $11 + local.get $6 + local.get $10 i32.const 4 call $std/array/isArraysEqual i32.eqz @@ -24304,7 +25155,7 @@ local.get $5 call $std/array/assertSortedDefault local.get $5 - local.get $11 + local.get $10 i32.const 4 call $std/array/isArraysEqual i32.eqz @@ -24319,7 +25170,7 @@ local.get $4 call $std/array/assertSortedDefault local.get $4 - local.get $11 + local.get $10 i32.const 4 call $std/array/isArraysEqual i32.eqz @@ -24331,10 +25182,10 @@ call $~lib/builtins/abort unreachable end - local.get $0 + local.get $2 call $std/array/assertSortedDefault - local.get $0 - local.get $11 + local.get $2 + local.get $10 i32.const 4 call $std/array/isArraysEqual i32.eqz @@ -24346,9 +25197,11 @@ call $~lib/builtins/abort unreachable end - local.get $3 + local.get $0 call $std/array/assertSortedDefault i32.const 0 + local.set $8 + i32.const 0 local.set $7 global.get $~lib/memory/__stack_pointer i32.const 24 @@ -24359,20 +25212,20 @@ i32.lt_s br_if $folding-inner3 global.get $~lib/memory/__stack_pointer - local.tee $2 + local.tee $6 i64.const 0 i64.store - local.get $2 + local.get $6 i64.const 0 i64.store offset=8 - local.get $2 + local.get $6 i64.const 0 i64.store offset=16 - local.get $2 + local.get $6 global.get $std/array/inputStabArr local.tee $5 i32.store offset=8 - local.get $2 + local.get $6 i32.const 4 i32.sub global.set $~lib/memory/__stack_pointer @@ -24381,36 +25234,36 @@ i32.lt_s br_if $folding-inner3 global.get $~lib/memory/__stack_pointer - local.tee $3 + local.tee $0 i32.const 0 i32.store i32.const 0 local.get $5 i32.load offset=12 - local.tee $0 - local.get $0 + local.tee $2 + local.get $2 i32.const 0 i32.gt_s select local.set $1 - local.get $3 local.get $0 + local.get $2 local.get $1 i32.sub - local.tee $3 + local.tee $0 i32.const 0 - local.get $3 + local.get $0 i32.const 0 i32.gt_s select - local.tee $3 + local.tee $0 i32.const 2 i32.const 20 i32.const 0 call $~lib/rt/__newArray - local.tee $8 + local.tee $3 i32.store - local.get $8 + local.get $3 i32.load offset=4 local.set $4 local.get $5 @@ -24419,35 +25272,33 @@ i32.const 2 i32.shl i32.add - local.set $0 - i32.const 0 - local.set $5 - local.get $3 + local.set $2 + local.get $0 i32.const 2 i32.shl local.set $1 loop $while-continue|012 local.get $1 - local.get $5 + local.get $8 i32.gt_u if local.get $4 - local.get $5 + local.get $8 i32.add - local.get $0 - local.get $5 + local.get $2 + local.get $8 i32.add i32.load - local.tee $3 + local.tee $0 i32.store - local.get $8 local.get $3 + local.get $0 i32.const 1 call $~lib/rt/itcms/__link - local.get $5 + local.get $8 i32.const 4 i32.add - local.set $5 + local.set $8 br $while-continue|012 end end @@ -24456,70 +25307,69 @@ i32.add global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - local.tee $3 - local.get $8 - i32.store + local.tee $0 local.get $3 + i32.store + local.get $0 i32.const 8928 i32.store offset=4 - local.get $8 + local.get $3 i32.load offset=4 - local.get $8 + local.get $3 i32.load offset=12 i32.const 8928 call $~lib/util/sort/SORT - local.get $2 - local.get $8 + local.get $6 + local.get $3 i32.store offset=12 i32.const 1 - local.set $5 + local.set $8 global.get $~lib/memory/__stack_pointer global.get $std/array/inputStabArr - local.tee $3 + local.tee $0 i32.store - local.get $3 + local.get $0 i32.load offset=12 - local.set $0 + local.set $1 loop $for-loop|013 - local.get $0 + local.get $1 local.get $7 i32.gt_s if block $for-break0 global.get $~lib/memory/__stack_pointer - local.get $8 + local.get $3 local.get $7 call $~lib/array/Array#__get - local.tee $4 + local.tee $2 i32.store offset=16 global.get $~lib/memory/__stack_pointer - local.tee $1 global.get $std/array/outputStabArr - local.tee $3 + local.tee $0 i32.store - local.get $1 - local.get $3 + global.get $~lib/memory/__stack_pointer + local.get $0 local.get $7 call $~lib/array/Array#__get - local.tee $3 + local.tee $0 i32.store offset=20 - local.get $4 + local.get $2 i32.load - local.get $3 + local.get $0 i32.load i32.ne if (result i32) i32.const 1 else - local.get $4 + local.get $2 i32.load offset=4 - local.get $3 + local.get $0 i32.load offset=4 i32.ne end if i32.const 0 - local.set $5 + local.set $8 br $for-break0 end local.get $7 @@ -24530,7 +25380,7 @@ end end end - local.get $5 + local.get $8 i32.eqz if i32.const 0 @@ -24552,7 +25402,7 @@ global.get $~lib/memory/__stack_pointer i32.const 257 call $std/array/createRandomOrderedArray - local.tee $3 + local.tee $0 i32.store offset=156 global.get $~lib/memory/__stack_pointer i32.const 8960 @@ -24569,19 +25419,19 @@ global.get $~lib/memory/__stack_pointer i32.const 9024 i32.store offset=8 - local.get $3 + local.get $0 i32.const 9024 call $std/array/assertSorted global.get $~lib/memory/__stack_pointer i32.const 9056 i32.store offset=8 - local.get $3 + local.get $0 i32.const 9056 call $std/array/assertSorted + global.get $~lib/memory/__stack_pointer i32.const 0 local.set $1 global.get $~lib/memory/__stack_pointer - local.tee $0 i32.const 8 i32.sub global.set $~lib/memory/__stack_pointer @@ -24602,10 +25452,10 @@ i32.lt_s br_if $folding-inner3 global.get $~lib/memory/__stack_pointer - local.tee $3 + local.tee $0 i64.const 0 i64.store - local.get $3 + local.get $0 i32.const 16 i32.const 26 call $~lib/rt/itcms/__new @@ -24631,21 +25481,21 @@ i32.const 32 i32.const 0 call $~lib/rt/itcms/__new - local.tee $3 + local.tee $0 i32.store offset=4 - local.get $3 + local.get $0 i32.const 0 i32.const 32 call $~lib/memory/memory.fill local.get $5 - local.get $3 + local.get $0 i32.store local.get $5 - local.get $3 + local.get $0 i32.const 0 call $~lib/rt/itcms/__link local.get $5 - local.get $3 + local.get $0 i32.store offset=4 local.get $5 i32.const 32 @@ -24668,9 +25518,9 @@ global.get $~lib/memory/__stack_pointer i32.const 1 call $~lib/array/Array#constructor - local.tee $3 + local.tee $0 i32.store offset=4 - local.get $3 + local.get $0 i32.const 0 i32.const 1 local.get $1 @@ -24678,7 +25528,7 @@ call $~lib/array/Array#__set local.get $5 local.get $1 - local.get $3 + local.get $0 call $~lib/array/Array<~lib/array/Array>#__set local.get $1 i32.const 1 @@ -24691,7 +25541,6 @@ i32.const 8 i32.add global.set $~lib/memory/__stack_pointer - local.get $0 local.get $5 i32.store offset=156 global.get $~lib/memory/__stack_pointer @@ -24700,10 +25549,10 @@ local.get $5 i32.const 9088 call $std/array/assertSorted<~lib/array/Array> + global.get $~lib/memory/__stack_pointer i32.const 0 local.set $5 global.get $~lib/memory/__stack_pointer - local.tee $0 i32.const 8 i32.sub global.set $~lib/memory/__stack_pointer @@ -24724,29 +25573,29 @@ i32.lt_s br_if $folding-inner3 global.get $~lib/memory/__stack_pointer - local.tee $3 + local.tee $0 i64.const 0 i64.store - local.get $3 + local.get $0 i32.const 16 i32.const 29 call $~lib/rt/itcms/__new - local.tee $3 + local.tee $0 i32.store - local.get $3 + local.get $0 i32.const 0 i32.store - local.get $3 + local.get $0 i32.const 0 i32.const 0 call $~lib/rt/itcms/__link - local.get $3 + local.get $0 i32.const 0 i32.store offset=4 - local.get $3 + local.get $0 i32.const 0 i32.store offset=8 - local.get $3 + local.get $0 i32.const 0 i32.store offset=12 global.get $~lib/memory/__stack_pointer @@ -24759,20 +25608,20 @@ i32.const 0 i32.const 2048 call $~lib/memory/memory.fill - local.get $3 + local.get $0 local.get $4 i32.store - local.get $3 + local.get $0 local.get $4 i32.const 0 call $~lib/rt/itcms/__link - local.get $3 + local.get $0 local.get $4 i32.store offset=4 - local.get $3 + local.get $0 i32.const 2048 i32.store offset=8 - local.get $3 + local.get $0 i32.const 512 i32.store offset=12 global.get $~lib/memory/__stack_pointer @@ -24780,7 +25629,7 @@ i32.add global.set $~lib/memory/__stack_pointer local.get $1 - local.get $3 + local.get $0 i32.store loop $for-loop|015 local.get $5 @@ -24817,7 +25666,7 @@ global.get $~lib/memory/__stack_pointer local.get $1 i32.store offset=4 - local.get $3 + local.get $0 local.get $5 local.get $1 call $~lib/array/Array<~lib/array/Array>#__set @@ -24833,12 +25682,11 @@ i32.add global.set $~lib/memory/__stack_pointer local.get $0 - local.get $3 i32.store offset=156 global.get $~lib/memory/__stack_pointer i32.const 9120 i32.store offset=8 - local.get $3 + local.get $0 i32.const 9120 call $std/array/assertSorted<~lib/array/Array> global.get $~lib/memory/__stack_pointer @@ -24847,7 +25695,7 @@ i32.const 31 i32.const 9312 call $~lib/rt/__newArray - local.tee $1 + local.tee $0 i32.store offset=160 global.get $~lib/memory/__stack_pointer i32.const 7 @@ -24855,14 +25703,12 @@ i32.const 31 i32.const 9360 call $~lib/rt/__newArray - local.tee $7 + local.tee $6 i32.store offset=152 i32.const 1 global.set $~argumentsLength - local.get $1 - local.set $3 i32.const 0 - local.set $2 + local.set $5 global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub @@ -24885,7 +25731,7 @@ unreachable end i32.const 9408 - local.set $2 + local.set $5 global.get $~lib/memory/__stack_pointer i32.const 9408 i32.store @@ -24901,18 +25747,18 @@ global.get $~lib/memory/__stack_pointer i32.const 0 i32.store - local.get $3 + local.get $0 i32.load offset=4 - local.get $3 + local.get $0 i32.load offset=12 - local.get $2 + local.get $5 call $~lib/util/sort/SORT global.get $~lib/memory/__stack_pointer - local.tee $0 - local.get $3 + local.tee $1 + local.get $0 i32.store block $__inlined_func$std/array/isSorted<~lib/string/String|null> (result i32) - local.get $0 + local.get $1 i32.const 8 i32.sub global.set $~lib/memory/__stack_pointer @@ -24924,36 +25770,36 @@ i64.const 0 i64.store i32.const 1 - local.set $8 - local.get $3 + local.set $7 + local.get $0 i32.load offset=12 - local.set $0 + local.set $1 loop $for-loop|020 - local.get $0 - local.get $8 + local.get $1 + local.get $7 i32.gt_s if - local.get $3 - local.get $8 + local.get $0 + local.get $7 i32.const 1 i32.sub call $~lib/array/Array#__get - local.set $5 + local.set $4 global.get $~lib/memory/__stack_pointer - local.get $5 + local.get $4 i32.store - local.get $3 - local.get $8 + local.get $0 + local.get $7 call $~lib/array/Array#__get - local.set $4 + local.set $2 global.get $~lib/memory/__stack_pointer - local.get $4 + local.get $2 i32.store offset=4 i32.const 2 global.set $~argumentsLength - local.get $5 local.get $4 local.get $2 + local.get $5 i32.load call_indirect $0 (type $i32_i32_=>_i32) i32.const 0 @@ -24966,10 +25812,10 @@ i32.const 0 br $__inlined_func$std/array/isSorted<~lib/string/String|null> end - local.get $8 + local.get $7 i32.const 1 i32.add - local.set $8 + local.set $7 br $for-loop|020 end end @@ -24998,7 +25844,7 @@ global.set $~lib/memory/__stack_pointer block $__inlined_func$std/array/isArraysEqual<~lib/string/String|null> (result i32) i32.const 0 - local.set $0 + local.set $3 global.get $~lib/memory/__stack_pointer i32.const 8 i32.sub @@ -25012,45 +25858,45 @@ i64.store block $folding-inner1 block $folding-inner021 - local.get $1 + local.get $0 i32.load offset=12 - local.tee $3 - local.get $7 + local.tee $1 + local.get $6 i32.load offset=12 i32.ne br_if $folding-inner021 - local.get $1 - local.get $7 + local.get $0 + local.get $6 i32.eq br_if $folding-inner1 loop $for-loop|049 - local.get $0 + local.get $1 local.get $3 - i32.lt_s + i32.gt_s if - local.get $1 local.get $0 + local.get $3 call $~lib/array/Array#__get - local.set $5 + local.set $4 global.get $~lib/memory/__stack_pointer - local.get $5 + local.get $4 i32.store - local.get $7 - local.get $0 + local.get $6 + local.get $3 call $~lib/array/Array#__get - local.set $4 + local.set $2 global.get $~lib/memory/__stack_pointer - local.get $4 + local.get $2 i32.store offset=4 - local.get $5 local.get $4 + local.get $2 call $~lib/string/String.__eq i32.eqz br_if $folding-inner021 - local.get $0 + local.get $3 i32.const 1 i32.add - local.set $0 + local.set $3 br $for-loop|049 end end @@ -25078,10 +25924,11 @@ call $~lib/builtins/abort unreachable end - i32.const 0 - local.set $1 global.get $~lib/memory/__stack_pointer - local.tee $2 + local.tee $0 + i32.const 0 + local.set $3 + local.get $0 i32.const 8 i32.sub global.set $~lib/memory/__stack_pointer @@ -25090,17 +25937,17 @@ i32.lt_s br_if $folding-inner3 global.get $~lib/memory/__stack_pointer - local.tee $3 + local.tee $0 i64.const 0 i64.store - local.get $3 + local.get $0 i32.const 0 i32.const 400 call $~lib/array/Array<~lib/string/String>#constructor - local.tee $6 + local.tee $2 i32.store loop $for-loop|0155 - local.get $1 + local.get $3 i32.const 400 i32.lt_s if @@ -25120,29 +25967,30 @@ i32.lt_s br_if $folding-inner3 global.get $~lib/memory/__stack_pointer - local.tee $0 + local.tee $1 i64.const 0 i64.store - local.get $0 + local.get $1 i32.const 0 i32.store offset=8 i32.const 9280 - local.set $3 - local.get $0 + local.set $0 + local.get $1 i32.const 9280 i32.store - loop $for-loop|023 + loop $for-loop|00 local.get $5 local.get $8 i32.gt_s if + local.get $0 + local.set $1 global.get $~lib/memory/__stack_pointer local.tee $4 i32.const 7744 i32.store offset=4 call $~lib/math/NativeMath.random global.get $~lib/memory/__stack_pointer - local.tee $0 i32.const 7744 i32.store offset=8 i32.const 7740 @@ -25154,7 +26002,7 @@ f64.floor i32.trunc_f64_s local.set $7 - local.get $0 + global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub global.set $~lib/memory/__stack_pointer @@ -25166,12 +26014,12 @@ i32.const 0 i32.store block $__inlined_func$~lib/string/String#charAt - local.get $7 i32.const 7740 i32.load i32.const 1 i32.shr_u - i32.ge_u + local.get $7 + i32.le_u if global.get $~lib/memory/__stack_pointer i32.const 4 @@ -25204,16 +26052,16 @@ local.get $0 i32.store offset=4 local.get $4 - local.get $3 + local.get $1 local.get $0 call $~lib/string/String.__concat - local.tee $3 + local.tee $0 i32.store local.get $8 i32.const 1 i32.add local.set $8 - br $for-loop|023 + br $for-loop|00 end end global.get $~lib/memory/__stack_pointer @@ -25221,16 +26069,16 @@ i32.add global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - local.get $3 + local.get $0 i32.store offset=4 - local.get $6 - local.get $1 + local.get $2 local.get $3 + local.get $0 call $~lib/array/Array<~lib/array/Array>#__set - local.get $1 + local.get $3 i32.const 1 i32.add - local.set $1 + local.set $3 br $for-loop|0155 end end @@ -25239,7 +26087,7 @@ i32.add global.set $~lib/memory/__stack_pointer local.get $2 - local.get $6 + local.tee $0 i32.store offset=156 i32.const 1 global.set $~argumentsLength @@ -25272,7 +26120,7 @@ i32.const 9440 i32.store end - local.get $6 + local.get $0 local.get $1 call $std/array/assertSorted<~lib/array/Array> global.get $~lib/memory/__stack_pointer @@ -25284,25 +26132,25 @@ i32.const 35 i32.const 9472 call $~lib/rt/__newArray - local.set $3 + local.set $0 global.get $~lib/memory/__stack_pointer - local.tee $1 - local.get $3 + local.tee $2 + local.get $0 i32.store offset=164 - local.get $1 + local.get $2 i32.const 9568 i32.store offset=168 - local.get $3 + local.get $0 i32.load offset=4 local.set $7 - local.get $3 + local.get $0 i32.load offset=12 - local.set $3 + local.set $1 i32.const 0 local.set $0 i32.const 0 - local.set $6 - local.get $1 + local.set $8 + local.get $2 i32.const 4 i32.sub global.set $~lib/memory/__stack_pointer @@ -25314,10 +26162,10 @@ i32.const 0 i32.store block $__inlined_func$~lib/util/string/joinBooleanArray - local.get $3 + local.get $1 i32.const 1 i32.sub - local.tee $8 + local.tee $3 i32.const 0 i32.lt_s if @@ -25329,8 +26177,8 @@ local.set $1 br $__inlined_func$~lib/util/string/joinBooleanArray end - block $folding-inner0117 - local.get $8 + block $folding-inner01 + local.get $3 i32.eqz if i32.const 9504 @@ -25339,15 +26187,15 @@ i32.load8_u select local.set $1 - br $folding-inner0117 + br $folding-inner01 end global.get $~lib/memory/__stack_pointer - local.get $8 + local.get $3 i32.const 9564 i32.load i32.const 1 i32.shr_u - local.tee $2 + local.tee $6 i32.const 5 i32.add i32.mul @@ -25360,28 +26208,28 @@ call $~lib/rt/itcms/__new local.tee $1 i32.store - loop $for-loop|1118 - local.get $6 + loop $for-loop|13 + local.get $3 local.get $8 - i32.lt_s + i32.gt_s if - local.get $6 local.get $7 + local.get $8 i32.add i32.load8_u - local.tee $3 + local.tee $2 i32.eqz i32.const 4 i32.add local.set $5 - local.get $1 local.get $0 i32.const 1 i32.shl + local.get $1 i32.add i32.const 9504 i32.const 9536 - local.get $3 + local.get $2 select local.get $5 i32.const 1 @@ -25391,47 +26239,47 @@ local.get $5 i32.add local.set $0 - local.get $2 + local.get $6 if - local.get $1 local.get $0 i32.const 1 i32.shl + local.get $1 i32.add i32.const 9568 - local.get $2 + local.get $6 i32.const 1 i32.shl call $~lib/memory/memory.copy local.get $0 - local.get $2 + local.get $6 i32.add local.set $0 end - local.get $6 + local.get $8 i32.const 1 i32.add - local.set $6 - br $for-loop|1118 + local.set $8 + br $for-loop|13 end end + local.get $3 local.get $7 - local.get $8 i32.add i32.load8_u - local.tee $3 + local.tee $2 i32.eqz i32.const 4 i32.add local.set $5 - local.get $1 local.get $0 i32.const 1 i32.shl + local.get $1 i32.add i32.const 9504 i32.const 9536 - local.get $3 + local.get $2 select local.get $5 i32.const 1 @@ -25441,14 +26289,14 @@ local.get $0 local.get $5 i32.add - local.tee $3 + local.tee $0 i32.gt_s if local.get $1 - local.get $3 + local.get $0 call $~lib/string/String#substring local.set $1 - br $folding-inner0117 + br $folding-inner01 end global.get $~lib/memory/__stack_pointer i32.const 4 @@ -25462,10 +26310,10 @@ global.set $~lib/memory/__stack_pointer end global.get $~lib/memory/__stack_pointer - local.tee $3 + local.tee $0 local.get $1 i32.store - local.get $3 + local.get $0 i32.const 9600 i32.store offset=8 local.get $1 @@ -25487,24 +26335,23 @@ call $~lib/rt/__newArray local.set $1 global.get $~lib/memory/__stack_pointer - local.tee $3 + local.tee $0 local.get $1 i32.store offset=164 - local.get $3 + local.get $0 i32.const 9280 i32.store offset=168 local.get $1 i32.const 9280 call $~lib/array/Array#join - local.set $1 + local.set $0 global.get $~lib/memory/__stack_pointer - local.tee $3 - local.get $1 + local.get $0 i32.store - local.get $3 + global.get $~lib/memory/__stack_pointer i32.const 11456 i32.store offset=8 - local.get $1 + local.get $0 i32.const 11456 call $~lib/string/String.__eq i32.eqz @@ -25523,24 +26370,23 @@ call $~lib/rt/__newArray local.set $1 global.get $~lib/memory/__stack_pointer - local.tee $3 + local.tee $0 local.get $1 i32.store offset=164 - local.get $3 + local.get $0 i32.const 11520 i32.store offset=168 local.get $1 i32.const 11520 call $~lib/array/Array#join - local.set $1 + local.set $0 global.get $~lib/memory/__stack_pointer - local.tee $3 - local.get $1 + local.get $0 i32.store - local.get $3 + global.get $~lib/memory/__stack_pointer i32.const 11456 i32.store offset=8 - local.get $1 + local.get $0 i32.const 11456 call $~lib/string/String.__eq i32.eqz @@ -25559,24 +26405,23 @@ call $~lib/rt/__newArray local.set $1 global.get $~lib/memory/__stack_pointer - local.tee $3 + local.tee $0 local.get $1 i32.store offset=164 - local.get $3 + local.get $0 i32.const 11584 i32.store offset=168 local.get $1 i32.const 11584 call $~lib/array/Array#join - local.set $1 + local.set $0 global.get $~lib/memory/__stack_pointer - local.tee $3 - local.get $1 + local.get $0 i32.store - local.get $3 + global.get $~lib/memory/__stack_pointer i32.const 11616 i32.store offset=8 - local.get $1 + local.get $0 i32.const 11616 call $~lib/string/String.__eq i32.eqz @@ -25595,26 +26440,22 @@ call $~lib/rt/__newArray local.set $1 global.get $~lib/memory/__stack_pointer - local.tee $3 + local.tee $0 local.get $1 i32.store offset=164 - local.get $3 + local.get $0 i32.const 11776 i32.store offset=168 local.get $1 - i32.load offset=4 - local.get $1 - i32.load offset=12 - call $~lib/util/string/joinFloatArray - local.set $1 + call $~lib/array/Array#join + local.set $0 global.get $~lib/memory/__stack_pointer - local.tee $3 - local.get $1 + local.get $0 i32.store - local.get $3 + global.get $~lib/memory/__stack_pointer i32.const 12944 i32.store offset=8 - local.get $1 + local.get $0 i32.const 12944 call $~lib/string/String.__eq i32.eqz @@ -25633,24 +26474,23 @@ call $~lib/rt/__newArray local.set $1 global.get $~lib/memory/__stack_pointer - local.tee $3 + local.tee $0 local.get $1 i32.store offset=164 - local.get $3 + local.get $0 i32.const 9280 i32.store offset=168 local.get $1 i32.const 9280 call $~lib/array/Array<~lib/string/String|null>#join - local.set $1 + local.set $0 global.get $~lib/memory/__stack_pointer - local.tee $3 - local.get $1 + local.get $0 i32.store - local.get $3 + global.get $~lib/memory/__stack_pointer i32.const 13056 i32.store offset=8 - local.get $1 + local.get $0 i32.const 13056 call $~lib/string/String.__eq i32.eqz @@ -25663,7 +26503,7 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $3 + local.tee $0 i32.const 3 i32.const 2 i32.const 12 @@ -25689,7 +26529,7 @@ i32.const 0 call $std/array/Ref#constructor call $~lib/array/Array#__uset - local.get $3 + local.get $0 local.get $1 i32.store offset=152 global.get $~lib/memory/__stack_pointer @@ -25697,15 +26537,14 @@ i32.store offset=168 local.get $1 call $~lib/array/Array#join - local.set $1 + local.set $0 global.get $~lib/memory/__stack_pointer - local.tee $3 - local.get $1 + local.get $0 i32.store - local.get $3 + global.get $~lib/memory/__stack_pointer i32.const 13184 i32.store offset=8 - local.get $1 + local.get $0 i32.const 13184 call $~lib/string/String.__eq i32.eqz @@ -25718,7 +26557,7 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $3 + local.tee $0 i32.const 2 i32.const 2 i32.const 8 @@ -25740,7 +26579,7 @@ i32.const 0 call $std/array/Ref#constructor call $~lib/array/Array#__uset - local.get $3 + local.get $0 local.get $1 i32.store offset=160 global.get $~lib/memory/__stack_pointer @@ -25748,15 +26587,14 @@ i32.store offset=168 local.get $1 call $~lib/array/Array#join - local.set $1 + local.set $0 global.get $~lib/memory/__stack_pointer - local.tee $3 - local.get $1 + local.get $0 i32.store - local.get $3 + global.get $~lib/memory/__stack_pointer i32.const 13280 i32.store offset=8 - local.get $1 + local.get $0 i32.const 13280 call $~lib/string/String.__eq i32.eqz @@ -25774,7 +26612,7 @@ i32.const 3 i32.const 13376 call $~lib/rt/__newArray - local.tee $3 + local.tee $4 i32.store offset=152 global.get $~lib/memory/__stack_pointer i32.const 1 @@ -25782,7 +26620,7 @@ i32.const 3 i32.const 13408 call $~lib/rt/__newArray - local.tee $4 + local.tee $0 i32.store offset=156 global.get $~lib/memory/__stack_pointer i32.const 2 @@ -25790,7 +26628,7 @@ i32.const 3 i32.const 13440 call $~lib/rt/__newArray - local.tee $0 + local.tee $2 i32.store offset=148 global.get $~lib/memory/__stack_pointer i32.const 4 @@ -25800,17 +26638,16 @@ call $~lib/rt/__newArray local.tee $1 i32.store offset=144 - local.get $3 + local.get $4 call $~lib/array/Array#toString - local.set $5 + local.set $4 global.get $~lib/memory/__stack_pointer - local.tee $3 - local.get $5 + local.get $4 i32.store - local.get $3 + global.get $~lib/memory/__stack_pointer i32.const 9280 i32.store offset=8 - local.get $5 + local.get $4 i32.const 9280 call $~lib/string/String.__eq i32.eqz @@ -25822,14 +26659,14 @@ call $~lib/builtins/abort unreachable end - local.get $4 + local.get $0 call $~lib/array/Array#toString local.set $4 global.get $~lib/memory/__stack_pointer - local.tee $3 + local.tee $0 local.get $4 i32.store - local.get $3 + local.get $0 i32.const 13056 i32.store offset=8 local.get $4 @@ -25844,17 +26681,17 @@ call $~lib/builtins/abort unreachable end - local.get $0 + local.get $2 call $~lib/array/Array#toString - local.set $0 + local.set $2 global.get $~lib/memory/__stack_pointer - local.tee $3 - local.get $0 + local.tee $0 + local.get $2 i32.store - local.get $3 + local.get $0 i32.const 13520 i32.store offset=8 - local.get $0 + local.get $2 i32.const 13520 call $~lib/string/String.__eq i32.eqz @@ -25870,10 +26707,10 @@ call $~lib/array/Array#toString local.set $1 global.get $~lib/memory/__stack_pointer - local.tee $3 + local.tee $0 local.get $1 i32.store - local.get $3 + local.get $0 i32.const 13552 i32.store offset=8 local.get $1 @@ -25893,12 +26730,12 @@ i32.const 36 i32.const 13600 call $~lib/rt/__newArray - local.set $0 + local.set $1 global.get $~lib/memory/__stack_pointer - local.tee $3 - local.get $0 + local.tee $0 + local.get $1 i32.store offset=164 - local.get $3 + local.get $0 i32.const 4 i32.sub global.set $~lib/memory/__stack_pointer @@ -25907,23 +26744,23 @@ i32.lt_s br_if $folding-inner3 global.get $~lib/memory/__stack_pointer - local.tee $1 + local.tee $2 i32.const 0 i32.store - local.get $1 + local.get $2 i32.const 9568 i32.store - local.get $0 + local.get $1 i32.load offset=4 local.set $5 - local.get $0 + local.get $1 i32.load offset=12 - local.set $3 + local.set $1 i32.const 0 local.set $0 i32.const 0 - local.set $6 - local.get $1 + local.set $8 + local.get $2 i32.const 4 i32.sub global.set $~lib/memory/__stack_pointer @@ -25935,10 +26772,10 @@ i32.const 0 i32.store block $__inlined_func$~lib/util/string/joinIntegerArray - local.get $3 + local.get $1 i32.const 1 i32.sub - local.tee $2 + local.tee $6 i32.const 0 i32.lt_s if @@ -25950,18 +26787,18 @@ local.set $1 br $__inlined_func$~lib/util/string/joinIntegerArray end - block $folding-inner0120 - local.get $2 + block $folding-inner04 + local.get $6 i32.eqz if local.get $5 i32.load8_s call $~lib/util/number/itoa32 local.set $1 - br $folding-inner0120 + br $folding-inner04 end global.get $~lib/memory/__stack_pointer - local.get $2 + local.get $6 i32.const 9564 i32.load i32.const 1 @@ -25972,25 +26809,25 @@ i32.mul i32.const 11 i32.add - local.tee $3 + local.tee $2 i32.const 1 i32.shl i32.const 1 call $~lib/rt/itcms/__new local.tee $1 i32.store - loop $for-loop|0121 - local.get $2 + loop $for-loop|06 local.get $6 + local.get $8 i32.gt_s if - local.get $1 local.get $0 i32.const 1 i32.shl + local.get $1 i32.add local.get $5 - local.get $6 + local.get $8 i32.add i32.load8_s call $~lib/util/number/itoa_buffered @@ -25999,10 +26836,10 @@ local.set $0 local.get $4 if - local.get $1 local.get $0 i32.const 1 i32.shl + local.get $1 i32.add i32.const 9568 local.get $4 @@ -26014,34 +26851,34 @@ i32.add local.set $0 end - local.get $6 + local.get $8 i32.const 1 i32.add - local.set $6 - br $for-loop|0121 + local.set $8 + br $for-loop|06 end end - local.get $3 - local.get $1 + local.get $2 local.get $0 i32.const 1 i32.shl + local.get $1 i32.add - local.get $2 local.get $5 + local.get $6 i32.add i32.load8_s call $~lib/util/number/itoa_buffered local.get $0 i32.add - local.tee $3 + local.tee $0 i32.gt_s if local.get $1 - local.get $3 + local.get $0 call $~lib/string/String#substring local.set $1 - br $folding-inner0120 + br $folding-inner04 end global.get $~lib/memory/__stack_pointer i32.const 4 @@ -26059,10 +26896,10 @@ i32.add global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - local.tee $3 + local.tee $0 local.get $1 i32.store - local.get $3 + local.get $0 i32.const 13632 i32.store offset=8 local.get $1 @@ -26082,12 +26919,12 @@ i32.const 9 i32.const 13664 call $~lib/rt/__newArray - local.set $0 + local.set $1 global.get $~lib/memory/__stack_pointer - local.tee $3 - local.get $0 + local.tee $0 + local.get $1 i32.store offset=164 - local.get $3 + local.get $0 i32.const 4 i32.sub global.set $~lib/memory/__stack_pointer @@ -26096,23 +26933,23 @@ i32.lt_s br_if $folding-inner3 global.get $~lib/memory/__stack_pointer - local.tee $1 + local.tee $2 i32.const 0 i32.store - local.get $1 + local.get $2 i32.const 9568 i32.store - local.get $0 + local.get $1 i32.load offset=4 local.set $5 - local.get $0 + local.get $1 i32.load offset=12 - local.set $3 + local.set $1 i32.const 0 local.set $0 i32.const 0 - local.set $6 - local.get $1 + local.set $8 + local.get $2 i32.const 4 i32.sub global.set $~lib/memory/__stack_pointer @@ -26124,10 +26961,10 @@ i32.const 0 i32.store block $__inlined_func$~lib/util/string/joinIntegerArray - local.get $3 + local.get $1 i32.const 1 i32.sub - local.tee $2 + local.tee $6 i32.const 0 i32.lt_s if @@ -26139,18 +26976,18 @@ local.set $1 br $__inlined_func$~lib/util/string/joinIntegerArray end - block $folding-inner0123 - local.get $2 + block $folding-inner07 + local.get $6 i32.eqz if local.get $5 i32.load16_u call $~lib/util/number/utoa32 local.set $1 - br $folding-inner0123 + br $folding-inner07 end global.get $~lib/memory/__stack_pointer - local.get $2 + local.get $6 i32.const 9564 i32.load i32.const 1 @@ -26161,27 +26998,27 @@ i32.mul i32.const 10 i32.add - local.tee $3 + local.tee $2 i32.const 1 i32.shl i32.const 1 call $~lib/rt/itcms/__new local.tee $1 i32.store - loop $for-loop|0124 - local.get $2 + loop $for-loop|09124 local.get $6 + local.get $8 i32.gt_s if - local.get $1 local.get $0 i32.const 1 i32.shl + local.get $1 i32.add - local.get $5 - local.get $6 + local.get $8 i32.const 1 i32.shl + local.get $5 i32.add i32.load16_u call $~lib/util/number/itoa_buffered @@ -26190,10 +27027,10 @@ local.set $0 local.get $4 if - local.get $1 local.get $0 i32.const 1 i32.shl + local.get $1 i32.add i32.const 9568 local.get $4 @@ -26205,36 +27042,36 @@ i32.add local.set $0 end - local.get $6 + local.get $8 i32.const 1 i32.add - local.set $6 - br $for-loop|0124 + local.set $8 + br $for-loop|09124 end end - local.get $3 - local.get $1 + local.get $2 local.get $0 i32.const 1 i32.shl + local.get $1 i32.add - local.get $5 - local.get $2 + local.get $6 i32.const 1 i32.shl + local.get $5 i32.add i32.load16_u call $~lib/util/number/itoa_buffered local.get $0 i32.add - local.tee $3 + local.tee $0 i32.gt_s if local.get $1 - local.get $3 + local.get $0 call $~lib/string/String#substring local.set $1 - br $folding-inner0123 + br $folding-inner07 end global.get $~lib/memory/__stack_pointer i32.const 4 @@ -26252,10 +27089,10 @@ i32.add global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - local.tee $3 + local.tee $0 local.get $1 i32.store - local.get $3 + local.get $0 i32.const 13696 i32.store offset=8 local.get $1 @@ -26275,12 +27112,12 @@ i32.const 37 i32.const 13744 call $~lib/rt/__newArray - local.set $0 + local.set $1 global.get $~lib/memory/__stack_pointer - local.tee $3 - local.get $0 + local.tee $0 + local.get $1 i32.store offset=164 - local.get $3 + local.get $0 i32.const 4 i32.sub global.set $~lib/memory/__stack_pointer @@ -26289,326 +27126,26 @@ i32.lt_s br_if $folding-inner3 global.get $~lib/memory/__stack_pointer - local.tee $1 + local.tee $0 i32.const 0 i32.store - local.get $1 + local.get $0 i32.const 9568 i32.store - local.get $0 - i32.load offset=4 - local.set $5 - local.get $0 - i32.load offset=12 - local.set $3 - i32.const 0 - local.set $0 - i32.const 0 - local.set $6 local.get $1 - i32.const 4 - i32.sub - global.set $~lib/memory/__stack_pointer - global.get $~lib/memory/__stack_pointer - i32.const 15596 - i32.lt_s - br_if $folding-inner3 - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store - block $__inlined_func$~lib/util/string/joinIntegerArray - local.get $3 - i32.const 1 - i32.sub - local.tee $2 - i32.const 0 - i32.lt_s - if - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - i32.const 9280 - local.set $1 - br $__inlined_func$~lib/util/string/joinIntegerArray - end - local.get $2 - i32.eqz - if - local.get $5 - i64.load - local.set $9 - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.sub - global.set $~lib/memory/__stack_pointer - global.get $~lib/memory/__stack_pointer - i32.const 15596 - i32.lt_s - br_if $folding-inner3 - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store - block $__inlined_func$~lib/util/number/utoa64 - local.get $9 - i64.eqz - if - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - i32.const 9872 - local.set $1 - br $__inlined_func$~lib/util/number/utoa64 - end - local.get $9 - i64.const 4294967295 - i64.le_u - if - global.get $~lib/memory/__stack_pointer - local.get $9 - i32.wrap_i64 - local.tee $0 - local.tee $3 - i32.const 100000 - i32.lt_u - if (result i32) - local.get $3 - i32.const 100 - i32.lt_u - if (result i32) - local.get $3 - i32.const 10 - i32.ge_u - i32.const 1 - i32.add - else - local.get $3 - i32.const 10000 - i32.ge_u - i32.const 3 - i32.add - local.get $3 - i32.const 1000 - i32.ge_u - i32.add - end - else - local.get $3 - i32.const 10000000 - i32.lt_u - if (result i32) - local.get $3 - i32.const 1000000 - i32.ge_u - i32.const 6 - i32.add - else - local.get $3 - i32.const 1000000000 - i32.ge_u - i32.const 8 - i32.add - local.get $3 - i32.const 100000000 - i32.ge_u - i32.add - end - end - local.tee $3 - i32.const 1 - i32.shl - i32.const 1 - call $~lib/rt/itcms/__new - local.tee $1 - i32.store - local.get $1 - local.get $0 - local.get $3 - call $~lib/util/number/utoa32_dec_lut - else - global.get $~lib/memory/__stack_pointer - local.get $9 - i64.const 1000000000000000 - i64.lt_u - if (result i32) - local.get $9 - i64.const 1000000000000 - i64.lt_u - if (result i32) - local.get $9 - i64.const 100000000000 - i64.ge_u - i32.const 10 - i32.add - local.get $9 - i64.const 10000000000 - i64.ge_u - i32.add - else - local.get $9 - i64.const 100000000000000 - i64.ge_u - i32.const 13 - i32.add - local.get $9 - i64.const 10000000000000 - i64.ge_u - i32.add - end - else - local.get $9 - i64.const 100000000000000000 - i64.lt_u - if (result i32) - local.get $9 - i64.const 10000000000000000 - i64.ge_u - i32.const 16 - i32.add - else - local.get $9 - i64.const -8446744073709551616 - i64.ge_u - i32.const 18 - i32.add - local.get $9 - i64.const 1000000000000000000 - i64.ge_u - i32.add - end - end - local.tee $3 - i32.const 1 - i32.shl - i32.const 1 - call $~lib/rt/itcms/__new - local.tee $1 - i32.store - local.get $1 - local.get $9 - local.get $3 - call $~lib/util/number/utoa64_dec_lut - end - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - end - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - br $__inlined_func$~lib/util/string/joinIntegerArray - end - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.const 9564 - i32.load - i32.const 1 - i32.shr_u - local.tee $4 - i32.const 20 - i32.add - i32.mul - i32.const 20 - i32.add - local.tee $3 - i32.const 1 - i32.shl - i32.const 1 - call $~lib/rt/itcms/__new - local.tee $1 - i32.store - loop $for-loop|0126 - local.get $2 - local.get $6 - i32.gt_s - if - local.get $1 - local.get $0 - i32.const 1 - i32.shl - i32.add - local.get $5 - local.get $6 - i32.const 3 - i32.shl - i32.add - i64.load - call $~lib/util/number/itoa_buffered - local.get $0 - i32.add - local.set $0 - local.get $4 - if - local.get $1 - local.get $0 - i32.const 1 - i32.shl - i32.add - i32.const 9568 - local.get $4 - i32.const 1 - i32.shl - call $~lib/memory/memory.copy - local.get $0 - local.get $4 - i32.add - local.set $0 - end - local.get $6 - i32.const 1 - i32.add - local.set $6 - br $for-loop|0126 - end - end - local.get $3 - local.get $1 - local.get $0 - i32.const 1 - i32.shl - i32.add - local.get $5 - local.get $2 - i32.const 3 - i32.shl - i32.add - i64.load - call $~lib/util/number/itoa_buffered - local.get $0 - i32.add - local.tee $3 - i32.gt_s - if - local.get $1 - local.get $3 - call $~lib/string/String#substring - local.set $1 - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - br $__inlined_func$~lib/util/string/joinIntegerArray - end - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - end + call $~lib/array/Array#join + local.set $0 global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - local.tee $3 - local.get $1 + local.get $0 i32.store - local.get $3 + global.get $~lib/memory/__stack_pointer i32.const 13792 i32.store offset=8 - local.get $1 + local.get $0 i32.const 13792 call $~lib/string/String.__eq i32.eqz @@ -26627,10 +27164,10 @@ call $~lib/rt/__newArray local.set $1 global.get $~lib/memory/__stack_pointer - local.tee $3 + local.tee $0 local.get $1 i32.store offset=164 - local.get $3 + local.get $0 i32.const 4 i32.sub global.set $~lib/memory/__stack_pointer @@ -26639,30 +27176,26 @@ i32.lt_s br_if $folding-inner3 global.get $~lib/memory/__stack_pointer - local.tee $3 + local.tee $0 i32.const 0 i32.store - local.get $3 + local.get $0 i32.const 9568 i32.store local.get $1 - i32.load offset=4 - local.get $1 - i32.load offset=12 - call $~lib/util/string/joinIntegerArray - local.set $1 + call $~lib/array/Array#join + local.set $0 global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - local.tee $3 - local.get $1 + local.get $0 i32.store - local.get $3 + global.get $~lib/memory/__stack_pointer i32.const 13936 i32.store offset=8 - local.get $1 + local.get $0 i32.const 13936 call $~lib/string/String.__eq i32.eqz @@ -26680,19 +27213,18 @@ i32.const 31 i32.const 14048 call $~lib/rt/__newArray - local.tee $3 + local.tee $0 i32.store offset=140 - local.get $3 + local.get $0 call $~lib/array/Array<~lib/string/String|null>#toString - local.set $1 + local.set $0 global.get $~lib/memory/__stack_pointer - local.tee $3 - local.get $1 + local.get $0 i32.store - local.get $3 + global.get $~lib/memory/__stack_pointer i32.const 14096 i32.store offset=8 - local.get $1 + local.get $0 i32.const 14096 call $~lib/string/String.__eq i32.eqz @@ -26709,21 +27241,20 @@ i32.const 31 i32.const 14208 call $~lib/rt/__newArray - local.set $3 + local.set $0 global.get $~lib/memory/__stack_pointer - local.get $3 + local.get $0 i32.store offset=164 - local.get $3 + local.get $0 call $~lib/array/Array<~lib/string/String|null>#toString - local.set $1 + local.set $0 global.get $~lib/memory/__stack_pointer - local.tee $3 - local.get $1 + local.get $0 i32.store - local.get $3 + global.get $~lib/memory/__stack_pointer i32.const 14256 i32.store offset=8 - local.get $1 + local.get $0 i32.const 14256 call $~lib/string/String.__eq i32.eqz @@ -26736,7 +27267,7 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $3 + local.tee $0 i32.const 2 i32.const 2 i32.const 26 @@ -26764,7 +27295,7 @@ i32.const 14320 call $~lib/rt/__newArray call $~lib/array/Array#__uset - local.get $3 + local.get $0 local.get $1 i32.store offset=160 global.get $~lib/memory/__stack_pointer @@ -26776,21 +27307,21 @@ i32.lt_s br_if $folding-inner3 global.get $~lib/memory/__stack_pointer - local.tee $3 + local.tee $0 i32.const 0 i32.store - local.get $3 + local.get $0 i32.const 9568 i32.store local.get $1 i32.load offset=4 - local.set $2 + local.set $7 local.get $1 i32.load offset=12 - local.set $1 + local.set $2 i32.const 0 - local.set $7 - local.get $3 + local.set $1 + local.get $0 i32.const 12 i32.sub global.set $~lib/memory/__stack_pointer @@ -26799,17 +27330,17 @@ i32.lt_s br_if $folding-inner3 global.get $~lib/memory/__stack_pointer - local.tee $3 + local.tee $0 i64.const 0 i64.store - local.get $3 + local.get $0 i32.const 0 i32.store offset=8 block $__inlined_func$~lib/util/string/joinReferenceArray<~lib/array/Array> - local.get $1 + local.get $2 i32.const 1 i32.sub - local.tee $5 + local.tee $6 i32.const 0 i32.lt_s if @@ -26818,25 +27349,25 @@ i32.add global.set $~lib/memory/__stack_pointer i32.const 9280 - local.set $3 + local.set $0 br $__inlined_func$~lib/util/string/joinReferenceArray<~lib/array/Array> end - local.get $5 + local.get $6 i32.eqz if global.get $~lib/memory/__stack_pointer - local.get $2 + local.get $7 i32.load - local.tee $3 + local.tee $0 i32.store - local.get $3 + local.get $0 if (result i32) - local.get $3 + local.get $0 call $~lib/array/Array#toString else i32.const 9280 end - local.set $3 + local.set $0 global.get $~lib/memory/__stack_pointer i32.const 12 i32.add @@ -26844,7 +27375,7 @@ br $__inlined_func$~lib/util/string/joinReferenceArray<~lib/array/Array> end i32.const 9280 - local.set $3 + local.set $0 global.get $~lib/memory/__stack_pointer i32.const 9280 i32.store offset=4 @@ -26852,74 +27383,74 @@ i32.load i32.const 1 i32.shr_u - local.set $0 - loop $for-loop|028 - local.get $5 - local.get $7 - i32.gt_s + local.set $4 + loop $for-loop|011 + local.get $1 + local.get $6 + i32.lt_s if global.get $~lib/memory/__stack_pointer - local.get $2 - local.get $7 + local.get $1 i32.const 2 i32.shl + local.get $7 i32.add i32.load - local.tee $4 + local.tee $5 i32.store - local.get $4 + local.get $5 if global.get $~lib/memory/__stack_pointer - local.get $4 + local.get $5 call $~lib/array/Array#toString - local.set $4 + local.set $5 global.get $~lib/memory/__stack_pointer - local.get $4 + local.get $5 i32.store offset=8 - local.get $3 - local.get $4 + local.get $0 + local.get $5 call $~lib/string/String.__concat - local.tee $3 + local.tee $0 i32.store offset=4 end - local.get $0 + local.get $4 if global.get $~lib/memory/__stack_pointer - local.get $3 + local.get $0 i32.const 9568 call $~lib/string/String.__concat - local.tee $3 + local.tee $0 i32.store offset=4 end - local.get $7 + local.get $1 i32.const 1 i32.add - local.set $7 - br $for-loop|028 + local.set $1 + br $for-loop|011 end end global.get $~lib/memory/__stack_pointer - local.get $2 - local.get $5 + local.get $6 i32.const 2 i32.shl + local.get $7 i32.add i32.load - local.tee $0 + local.tee $2 i32.store - local.get $0 + local.get $2 if global.get $~lib/memory/__stack_pointer - local.get $0 + local.get $2 call $~lib/array/Array#toString - local.set $0 + local.set $2 global.get $~lib/memory/__stack_pointer - local.get $0 + local.get $2 i32.store offset=8 - local.get $3 local.get $0 + local.get $2 call $~lib/string/String.__concat - local.tee $3 + local.tee $0 i32.store offset=4 end global.get $~lib/memory/__stack_pointer @@ -26933,12 +27464,12 @@ global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer local.tee $1 - local.get $3 + local.get $0 i32.store local.get $1 i32.const 14352 i32.store offset=8 - local.get $3 + local.get $0 i32.const 14352 call $~lib/string/String.__eq i32.eqz @@ -26951,7 +27482,7 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $3 + local.tee $0 i32.const 2 i32.const 2 i32.const 39 @@ -26979,7 +27510,7 @@ i32.const 14432 call $~lib/rt/__newArray call $~lib/array/Array#__uset - local.get $3 + local.get $0 local.get $1 i32.store offset=132 global.get $~lib/memory/__stack_pointer @@ -26991,21 +27522,21 @@ i32.lt_s br_if $folding-inner3 global.get $~lib/memory/__stack_pointer - local.tee $3 + local.tee $0 i32.const 0 i32.store - local.get $3 + local.get $0 i32.const 9568 i32.store local.get $1 i32.load offset=4 - local.set $2 + local.set $7 local.get $1 i32.load offset=12 - local.set $1 + local.set $2 i32.const 0 - local.set $7 - local.get $3 + local.set $1 + local.get $0 i32.const 12 i32.sub global.set $~lib/memory/__stack_pointer @@ -27014,17 +27545,17 @@ i32.lt_s br_if $folding-inner3 global.get $~lib/memory/__stack_pointer - local.tee $3 + local.tee $0 i64.const 0 i64.store - local.get $3 + local.get $0 i32.const 0 i32.store offset=8 block $__inlined_func$~lib/util/string/joinReferenceArray<~lib/array/Array> - local.get $1 + local.get $2 i32.const 1 i32.sub - local.tee $5 + local.tee $6 i32.const 0 i32.lt_s if @@ -27033,25 +27564,25 @@ i32.add global.set $~lib/memory/__stack_pointer i32.const 9280 - local.set $3 + local.set $0 br $__inlined_func$~lib/util/string/joinReferenceArray<~lib/array/Array> end - local.get $5 + local.get $6 i32.eqz if global.get $~lib/memory/__stack_pointer - local.get $2 + local.get $7 i32.load - local.tee $3 + local.tee $0 i32.store - local.get $3 + local.get $0 if (result i32) - local.get $3 + local.get $0 call $~lib/array/Array#toString else i32.const 9280 end - local.set $3 + local.set $0 global.get $~lib/memory/__stack_pointer i32.const 12 i32.add @@ -27059,7 +27590,7 @@ br $__inlined_func$~lib/util/string/joinReferenceArray<~lib/array/Array> end i32.const 9280 - local.set $3 + local.set $0 global.get $~lib/memory/__stack_pointer i32.const 9280 i32.store offset=4 @@ -27067,74 +27598,74 @@ i32.load i32.const 1 i32.shr_u - local.set $0 - loop $for-loop|029 - local.get $5 - local.get $7 - i32.gt_s + local.set $4 + loop $for-loop|01322 + local.get $1 + local.get $6 + i32.lt_s if global.get $~lib/memory/__stack_pointer - local.get $2 - local.get $7 + local.get $1 i32.const 2 i32.shl + local.get $7 i32.add i32.load - local.tee $4 + local.tee $5 i32.store - local.get $4 + local.get $5 if global.get $~lib/memory/__stack_pointer - local.get $4 + local.get $5 call $~lib/array/Array#toString - local.set $4 + local.set $5 global.get $~lib/memory/__stack_pointer - local.get $4 + local.get $5 i32.store offset=8 - local.get $3 - local.get $4 + local.get $0 + local.get $5 call $~lib/string/String.__concat - local.tee $3 + local.tee $0 i32.store offset=4 end - local.get $0 + local.get $4 if global.get $~lib/memory/__stack_pointer - local.get $3 + local.get $0 i32.const 9568 call $~lib/string/String.__concat - local.tee $3 + local.tee $0 i32.store offset=4 end - local.get $7 + local.get $1 i32.const 1 i32.add - local.set $7 - br $for-loop|029 + local.set $1 + br $for-loop|01322 end end global.get $~lib/memory/__stack_pointer - local.get $2 - local.get $5 + local.get $6 i32.const 2 i32.shl + local.get $7 i32.add i32.load - local.tee $0 + local.tee $2 i32.store - local.get $0 + local.get $2 if global.get $~lib/memory/__stack_pointer - local.get $0 + local.get $2 call $~lib/array/Array#toString - local.set $0 + local.set $2 global.get $~lib/memory/__stack_pointer - local.get $0 + local.get $2 i32.store offset=8 - local.get $3 local.get $0 + local.get $2 call $~lib/string/String.__concat - local.tee $3 + local.tee $0 i32.store offset=4 end global.get $~lib/memory/__stack_pointer @@ -27148,12 +27679,12 @@ global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer local.tee $1 - local.get $3 + local.get $0 i32.store local.get $1 i32.const 14352 i32.store offset=8 - local.get $3 + local.get $0 i32.const 14352 call $~lib/string/String.__eq i32.eqz @@ -27166,32 +27697,31 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $1 + local.tee $0 i32.const 1 i32.const 2 i32.const 41 i32.const 0 call $~lib/rt/__newArray - local.tee $0 + local.tee $2 i32.store offset=136 global.get $~lib/memory/__stack_pointer - local.tee $3 - local.get $0 + local.get $2 i32.load offset=4 i32.store offset=128 - local.get $3 + global.get $~lib/memory/__stack_pointer i32.const 1 i32.const 2 i32.const 40 i32.const 0 call $~lib/rt/__newArray - local.tee $3 + local.tee $1 i32.store offset=124 global.get $~lib/memory/__stack_pointer - local.get $3 + local.get $1 i32.load offset=4 i32.store offset=120 - local.get $3 + local.get $1 i32.const 0 i32.const 1 i32.const 2 @@ -27199,12 +27729,12 @@ i32.const 14464 call $~lib/rt/__newArray call $~lib/array/Array#__uset - local.get $0 + local.get $2 i32.const 0 - local.get $3 - call $~lib/array/Array#__uset local.get $1 + call $~lib/array/Array#__uset local.get $0 + local.get $2 i32.store offset=128 global.get $~lib/memory/__stack_pointer i32.const 4 @@ -27215,21 +27745,21 @@ i32.lt_s br_if $folding-inner3 global.get $~lib/memory/__stack_pointer - local.tee $3 + local.tee $0 i32.const 0 i32.store - local.get $3 + local.get $0 i32.const 9568 i32.store - local.get $0 + local.get $2 i32.load offset=4 - local.set $2 - local.get $0 + local.set $7 + local.get $2 i32.load offset=12 - local.set $1 + local.set $2 i32.const 0 - local.set $7 - local.get $3 + local.set $1 + local.get $0 i32.const 12 i32.sub global.set $~lib/memory/__stack_pointer @@ -27238,17 +27768,17 @@ i32.lt_s br_if $folding-inner3 global.get $~lib/memory/__stack_pointer - local.tee $3 + local.tee $0 i64.const 0 i64.store - local.get $3 + local.get $0 i32.const 0 i32.store offset=8 block $__inlined_func$~lib/util/string/joinReferenceArray<~lib/array/Array<~lib/array/Array>> - local.get $1 + local.get $2 i32.const 1 i32.sub - local.tee $5 + local.tee $6 i32.const 0 i32.lt_s if @@ -27257,25 +27787,25 @@ i32.add global.set $~lib/memory/__stack_pointer i32.const 9280 - local.set $3 + local.set $0 br $__inlined_func$~lib/util/string/joinReferenceArray<~lib/array/Array<~lib/array/Array>> end - local.get $5 + local.get $6 i32.eqz if global.get $~lib/memory/__stack_pointer - local.get $2 + local.get $7 i32.load - local.tee $3 + local.tee $0 i32.store - local.get $3 + local.get $0 if (result i32) - local.get $3 + local.get $0 call $~lib/array/Array<~lib/array/Array>#toString else i32.const 9280 end - local.set $3 + local.set $0 global.get $~lib/memory/__stack_pointer i32.const 12 i32.add @@ -27283,7 +27813,7 @@ br $__inlined_func$~lib/util/string/joinReferenceArray<~lib/array/Array<~lib/array/Array>> end i32.const 9280 - local.set $3 + local.set $0 global.get $~lib/memory/__stack_pointer i32.const 9280 i32.store offset=4 @@ -27291,74 +27821,74 @@ i32.load i32.const 1 i32.shr_u - local.set $0 - loop $for-loop|030 - local.get $5 - local.get $7 - i32.gt_s + local.set $4 + loop $for-loop|01523 + local.get $1 + local.get $6 + i32.lt_s if global.get $~lib/memory/__stack_pointer - local.get $2 - local.get $7 + local.get $1 i32.const 2 i32.shl + local.get $7 i32.add i32.load - local.tee $4 + local.tee $5 i32.store - local.get $4 + local.get $5 if global.get $~lib/memory/__stack_pointer - local.get $4 + local.get $5 call $~lib/array/Array<~lib/array/Array>#toString - local.set $4 + local.set $5 global.get $~lib/memory/__stack_pointer - local.get $4 + local.get $5 i32.store offset=8 - local.get $3 - local.get $4 + local.get $0 + local.get $5 call $~lib/string/String.__concat - local.tee $3 + local.tee $0 i32.store offset=4 end - local.get $0 + local.get $4 if global.get $~lib/memory/__stack_pointer - local.get $3 + local.get $0 i32.const 9568 call $~lib/string/String.__concat - local.tee $3 + local.tee $0 i32.store offset=4 end - local.get $7 + local.get $1 i32.const 1 i32.add - local.set $7 - br $for-loop|030 + local.set $1 + br $for-loop|01523 end end global.get $~lib/memory/__stack_pointer - local.get $2 - local.get $5 + local.get $6 i32.const 2 i32.shl + local.get $7 i32.add i32.load - local.tee $0 + local.tee $2 i32.store - local.get $0 + local.get $2 if global.get $~lib/memory/__stack_pointer - local.get $0 + local.get $2 call $~lib/array/Array<~lib/array/Array>#toString - local.set $0 + local.set $2 global.get $~lib/memory/__stack_pointer - local.get $0 + local.get $2 i32.store offset=8 - local.get $3 local.get $0 + local.get $2 call $~lib/string/String.__concat - local.tee $3 + local.tee $0 i32.store offset=4 end global.get $~lib/memory/__stack_pointer @@ -27372,12 +27902,12 @@ global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer local.tee $1 - local.get $3 + local.get $0 i32.store local.get $1 i32.const 13056 i32.store offset=8 - local.get $3 + local.get $0 i32.const 13056 call $~lib/string/String.__eq i32.eqz @@ -27390,7 +27920,7 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $3 + local.tee $0 i32.const 4 i32.const 2 i32.const 26 @@ -27434,15 +27964,15 @@ i32.const 14592 call $~lib/rt/__newArray call $~lib/array/Array#__uset - local.get $3 + local.get $0 local.get $1 i32.store offset=132 global.get $~lib/memory/__stack_pointer local.get $1 call $~lib/array/Array<~lib/array/Array>#flat - local.tee $3 + local.tee $1 i32.store offset=128 - local.get $3 + local.get $1 i32.load offset=12 i32.const 10 i32.ne @@ -27461,7 +27991,7 @@ i32.const 10 i32.lt_s if - local.get $3 + local.get $1 local.get $0 call $~lib/array/Array#__get local.get $0 @@ -27482,19 +28012,19 @@ end end global.get $~lib/memory/__stack_pointer - local.tee $3 + local.tee $0 i32.const 4 i32.const 2 i32.const 42 i32.const 0 call $~lib/rt/__newArray - local.tee $4 + local.tee $2 i32.store offset=160 global.get $~lib/memory/__stack_pointer - local.get $4 + local.get $2 i32.load offset=4 i32.store offset=140 - local.get $4 + local.get $2 i32.const 0 i32.const 1 i32.const 2 @@ -27502,7 +28032,7 @@ i32.const 14656 call $~lib/rt/__newArray call $~lib/array/Array#__uset - local.get $4 + local.get $2 i32.const 1 i32.const 3 i32.const 2 @@ -27510,7 +28040,7 @@ i32.const 14752 call $~lib/rt/__newArray call $~lib/array/Array#__uset - local.get $4 + local.get $2 i32.const 2 i32.const 3 i32.const 2 @@ -27518,7 +28048,7 @@ i32.const 14880 call $~lib/rt/__newArray call $~lib/array/Array#__uset - local.get $4 + local.get $2 i32.const 3 i32.const 1 i32.const 2 @@ -27526,17 +28056,17 @@ i32.const 14944 call $~lib/rt/__newArray call $~lib/array/Array#__uset - local.get $3 - local.get $4 + local.get $0 + local.get $2 i32.store offset=140 + global.get $~lib/memory/__stack_pointer i32.const 0 - local.set $0 + local.set $1 i32.const 0 - local.set $7 + local.set $8 i32.const 0 - local.set $2 + local.set $3 global.get $~lib/memory/__stack_pointer - local.tee $1 i32.const 8 i32.sub global.set $~lib/memory/__stack_pointer @@ -27547,136 +28077,136 @@ global.get $~lib/memory/__stack_pointer i64.const 0 i64.store - local.get $4 + local.get $2 i32.load offset=4 - local.set $5 - local.get $4 + local.set $6 + local.get $2 i32.load offset=12 - local.set $4 - loop $for-loop|0131 - local.get $0 - local.get $4 + local.set $5 + loop $for-loop|0133 + local.get $1 + local.get $5 i32.lt_s if - local.get $5 - local.get $0 + local.get $1 i32.const 2 i32.shl + local.get $6 i32.add i32.load - local.tee $3 + local.tee $0 if (result i32) - local.get $3 + local.get $0 i32.load offset=12 else i32.const 0 end - local.get $7 + local.get $8 i32.add - local.set $7 - local.get $0 + local.set $8 + local.get $1 i32.const 1 i32.add - local.set $0 - br $for-loop|0131 + local.set $1 + br $for-loop|0133 end end global.get $~lib/memory/__stack_pointer - local.get $7 + local.get $8 i32.const 2 i32.shl - local.tee $3 + local.tee $1 i32.const 0 call $~lib/rt/itcms/__new - local.tee $8 + local.tee $7 i32.store global.get $~lib/memory/__stack_pointer i32.const 16 i32.const 31 call $~lib/rt/itcms/__new - local.tee $6 + local.tee $0 i32.store offset=4 - local.get $6 - local.get $7 + local.get $0 + local.get $8 i32.store offset=12 - local.get $6 - local.get $3 + local.get $0 + local.get $1 i32.store offset=8 - local.get $6 - local.get $8 + local.get $0 + local.get $7 i32.store offset=4 - local.get $6 - local.get $8 + local.get $0 + local.get $7 i32.store - local.get $6 - local.get $8 + local.get $0 + local.get $7 i32.const 0 call $~lib/rt/itcms/__link i32.const 0 - local.set $0 - loop $for-loop|1132 - local.get $0 - local.get $4 + local.set $1 + loop $for-loop|1134 + local.get $1 + local.get $5 i32.lt_s if - local.get $5 - local.get $0 + local.get $1 i32.const 2 i32.shl + local.get $6 i32.add i32.load - local.tee $3 + local.tee $2 if - local.get $2 - local.get $8 - i32.add local.get $3 + local.get $7 + i32.add + local.get $2 i32.load offset=4 - local.get $3 + local.get $2 i32.load offset=8 - local.tee $3 + local.tee $2 call $~lib/memory/memory.copy local.get $2 local.get $3 i32.add - local.set $2 + local.set $3 end - local.get $0 + local.get $1 i32.const 1 i32.add - local.set $0 - br $for-loop|1132 + local.set $1 + br $for-loop|1134 end end i32.const 0 - local.set $0 - loop $for-loop|2133 - local.get $0 - local.get $7 + local.set $1 + loop $for-loop|2135 + local.get $1 + local.get $8 i32.lt_s if - local.get $8 - local.get $8 - local.get $0 + local.get $7 + local.get $1 i32.const 2 i32.shl + local.get $7 i32.add i32.load i32.const 1 call $~lib/rt/itcms/__link - local.get $0 + local.get $1 i32.const 1 i32.add - local.set $0 - br $for-loop|2133 + local.set $1 + br $for-loop|2135 end end global.get $~lib/memory/__stack_pointer i32.const 8 i32.add global.set $~lib/memory/__stack_pointer - local.get $1 - local.get $6 + local.get $0 + local.tee $1 i32.store offset=160 global.get $~lib/memory/__stack_pointer i32.const 8 @@ -27684,9 +28214,9 @@ i32.const 31 i32.const 14976 call $~lib/rt/__newArray - local.tee $4 + local.tee $5 i32.store offset=148 - local.get $6 + local.get $0 i32.load offset=12 i32.const 8 i32.ne @@ -27701,27 +28231,27 @@ i32.const 0 local.set $0 loop $for-loop|8 - local.get $0 - local.get $4 + local.get $5 i32.load offset=12 - i32.lt_s + local.get $0 + i32.gt_s if - local.get $6 + local.get $1 local.get $0 call $~lib/array/Array#__get - local.set $1 + local.set $4 global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store local.get $4 + i32.store + local.get $5 local.get $0 call $~lib/array/Array#__get - local.set $3 + local.set $2 global.get $~lib/memory/__stack_pointer - local.get $3 + local.get $2 i32.store offset=8 - local.get $1 - local.get $3 + local.get $4 + local.get $2 call $~lib/string/String.__eq i32.eqz if @@ -27740,7 +28270,7 @@ end end global.get $~lib/memory/__stack_pointer - local.tee $3 + local.tee $0 i32.const 2 i32.const 2 i32.const 26 @@ -27768,16 +28298,16 @@ i32.const 15072 call $~lib/rt/__newArray call $~lib/array/Array#__uset - local.get $3 + local.get $0 local.get $1 i32.store offset=156 local.get $1 call $~lib/array/Array<~lib/array/Array>#flat - local.set $3 + local.set $0 global.get $~lib/memory/__stack_pointer - local.get $3 + local.get $0 i32.store - local.get $3 + local.get $0 i32.load offset=12 if i32.const 0 @@ -27902,10 +28432,10 @@ i32.lt_s if global.get $~lib/memory/__stack_pointer - local.get $0 local.get $2 i32.const 2 i32.shl + local.get $0 i32.add i32.load local.tee $4 @@ -28439,10 +28969,10 @@ i32.ne if local.get $6 - local.get $5 local.get $1 i32.const 2 i32.shl + local.get $5 i32.add local.get $4 local.get $1 @@ -28555,10 +29085,10 @@ i32.ne if local.get $6 - local.get $5 local.get $1 i32.const 2 i32.shl + local.get $5 i32.add local.get $3 local.get $1 @@ -28597,10 +29127,10 @@ global.get $~lib/memory/__stack_pointer i32.const 0 i32.store - local.get $1 local.get $0 i32.load offset=12 - i32.ge_u + local.get $1 + i32.le_u if i32.const 1344 i32.const 1104 @@ -28655,10 +29185,10 @@ global.get $~lib/memory/__stack_pointer i32.const 0 i32.store - local.get $1 local.get $0 i32.load offset=12 - i32.ge_u + local.get $1 + i32.le_u if i32.const 1344 i32.const 1104 @@ -28723,7 +29253,6 @@ i32.load offset=4 local.set $4 loop $for-loop|0 - local.get $3 local.get $2 local.get $0 i32.load offset=12 @@ -28732,7 +29261,8 @@ local.get $5 i32.lt_s select - i32.lt_s + local.get $3 + i32.gt_s if local.get $3 i32.const 2 @@ -28803,43 +29333,43 @@ i32.load offset=12 local.set $5 loop $for-loop|0 - local.get $3 local.get $5 local.get $0 i32.load offset=12 - local.tee $4 - local.get $4 + local.tee $3 + local.get $3 local.get $5 i32.gt_s select - i32.lt_s + local.get $4 + i32.gt_s if local.get $0 i32.load offset=4 - local.get $3 + local.get $4 i32.const 2 i32.shl i32.add i32.load - local.set $4 + local.set $3 i32.const 3 global.set $~argumentsLength - local.get $4 local.get $3 + local.get $4 local.get $0 local.get $1 i32.load call_indirect $0 (type $i32_i32_i32_=>_i32) if local.get $2 - local.get $4 + local.get $3 call $~lib/array/Array#push drop end - local.get $3 + local.get $4 i32.const 1 i32.add - local.set $3 + local.set $4 br $for-loop|0 end end @@ -29213,8 +29743,6 @@ i32.shr_u local.tee $2 local.get $2 - i32.const 0 - i32.gt_s select local.tee $3 local.get $1 @@ -29232,22 +29760,23 @@ local.tee $1 local.get $1 local.get $3 - i32.lt_s + i32.gt_s select i32.const 1 i32.shl - local.tee $4 + local.set $4 local.get $3 local.get $1 local.get $1 local.get $3 - i32.gt_s + i32.lt_s select i32.const 1 i32.shl - local.tee $1 - i32.sub local.tee $3 + local.get $4 + i32.sub + local.tee $1 i32.eqz if global.get $~lib/memory/__stack_pointer @@ -29258,12 +29787,12 @@ return end i32.const 0 - local.get $4 local.get $2 i32.const 1 i32.shl + local.get $3 i32.eq - local.get $1 + local.get $4 select if global.get $~lib/memory/__stack_pointer @@ -29274,16 +29803,16 @@ return end global.get $~lib/memory/__stack_pointer - local.get $3 + local.get $1 i32.const 1 call $~lib/rt/itcms/__new local.tee $2 i32.store local.get $2 local.get $0 - local.get $1 + local.get $4 i32.add - local.get $3 + local.get $1 call $~lib/memory/memory.copy global.get $~lib/memory/__stack_pointer i32.const 4 @@ -29362,698 +29891,144 @@ local.get $0 i32.const 10000000 i32.lt_u - if (result i32) - local.get $0 - i32.const 1000000 - i32.ge_u - i32.const 6 - i32.add - else - local.get $0 - i32.const 1000000000 - i32.ge_u - i32.const 8 - i32.add - local.get $0 - i32.const 100000000 - i32.ge_u - i32.add - end - end - local.get $1 - i32.add - local.tee $3 - i32.const 1 - i32.shl - i32.const 1 - call $~lib/rt/itcms/__new - local.tee $0 - i32.store - local.get $0 - local.get $2 - local.get $3 - call $~lib/util/number/utoa32_dec_lut - local.get $1 - if - local.get $0 - i32.const 45 - i32.store16 - end - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $0 - ) - (func $~lib/util/number/utoa32 (param $0 i32) (result i32) - (local $1 i32) - (local $2 i32) - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.sub - global.set $~lib/memory/__stack_pointer - global.get $~lib/memory/__stack_pointer - i32.const 15596 - i32.lt_s - if - i32.const 32000 - i32.const 32048 - i32.const 1 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store - local.get $0 - i32.eqz - if - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - i32.const 9872 - return - end - global.get $~lib/memory/__stack_pointer - local.get $0 - local.tee $1 - i32.const 100000 - i32.lt_u - if (result i32) - local.get $1 - i32.const 100 - i32.lt_u - if (result i32) - local.get $1 - i32.const 10 - i32.ge_u - i32.const 1 - i32.add - else - local.get $1 - i32.const 10000 - i32.ge_u - i32.const 3 - i32.add - local.get $1 - i32.const 1000 - i32.ge_u - i32.add - end - else - local.get $1 - i32.const 10000000 - i32.lt_u - if (result i32) - local.get $1 - i32.const 1000000 - i32.ge_u - i32.const 6 - i32.add - else - local.get $1 - i32.const 1000000000 - i32.ge_u - i32.const 8 - i32.add - local.get $1 - i32.const 100000000 - i32.ge_u - i32.add - end - end - local.tee $0 - i32.const 1 - i32.shl - i32.const 1 - call $~lib/rt/itcms/__new - local.tee $2 - i32.store - local.get $2 - local.get $1 - local.get $0 - call $~lib/util/number/utoa32_dec_lut - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $2 - ) - (func $~lib/util/string/joinFloatArray (param $0 i32) (param $1 i32) (result i32) - (local $2 i32) - (local $3 f64) - (local $4 i32) - (local $5 i32) - (local $6 i32) - (local $7 i32) - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.sub - global.set $~lib/memory/__stack_pointer - block $folding-inner1 - global.get $~lib/memory/__stack_pointer - i32.const 15596 - i32.lt_s - br_if $folding-inner1 - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store - local.get $1 - i32.const 1 - i32.sub - local.tee $4 - i32.const 0 - i32.lt_s - if - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - i32.const 9280 - return - end - block $folding-inner0 - local.get $4 - i32.eqz - if - local.get $0 - f64.load - local.set $3 - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.sub - global.set $~lib/memory/__stack_pointer - global.get $~lib/memory/__stack_pointer - i32.const 15596 - i32.lt_s - br_if $folding-inner1 - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store - block $__inlined_func$~lib/util/number/dtoa - local.get $3 - f64.const 0 - f64.eq - if - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - i32.const 11808 - local.set $0 - br $__inlined_func$~lib/util/number/dtoa - end - local.get $3 - local.get $3 - f64.sub - f64.const 0 - f64.ne - if - local.get $3 - local.get $3 - f64.ne - if - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - i32.const 11840 - local.set $0 - br $__inlined_func$~lib/util/number/dtoa - end - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - i32.const 11872 - i32.const 11920 - local.get $3 - f64.const 0 - f64.lt - select - local.set $0 - br $__inlined_func$~lib/util/number/dtoa - end - i32.const 11952 - local.get $3 - call $~lib/util/number/dtoa_core - i32.const 1 - i32.shl - local.set $1 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.const 1 - call $~lib/rt/itcms/__new - local.tee $0 - i32.store - local.get $0 - i32.const 11952 - local.get $1 - call $~lib/memory/memory.copy - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - end - br $folding-inner0 - end - global.get $~lib/memory/__stack_pointer - local.get $4 - i32.const 11772 - i32.load - i32.const 1 - i32.shr_u - local.tee $5 - i32.const 28 - i32.add - i32.mul - i32.const 28 - i32.add - local.tee $7 - i32.const 1 - i32.shl - i32.const 1 - call $~lib/rt/itcms/__new - local.tee $1 - i32.store - loop $for-loop|0 - local.get $4 - local.get $6 - i32.gt_s - if - local.get $1 - local.get $2 - i32.const 1 - i32.shl - i32.add - local.get $0 - local.get $6 - i32.const 3 - i32.shl - i32.add - f64.load - call $~lib/util/number/dtoa_buffered - local.get $2 - i32.add - local.set $2 - local.get $5 - if - local.get $1 - local.get $2 - i32.const 1 - i32.shl - i32.add - i32.const 11776 - local.get $5 - i32.const 1 - i32.shl - call $~lib/memory/memory.copy - local.get $2 - local.get $5 - i32.add - local.set $2 - end - local.get $6 - i32.const 1 - i32.add - local.set $6 - br $for-loop|0 - end - end - local.get $7 - local.get $1 - local.get $2 - i32.const 1 - i32.shl - i32.add + if (result i32) local.get $0 - local.get $4 - i32.const 3 - i32.shl + i32.const 1000000 + i32.ge_u + i32.const 6 i32.add - f64.load - call $~lib/util/number/dtoa_buffered - local.get $2 + else + local.get $0 + i32.const 1000000000 + i32.ge_u + i32.const 8 i32.add - local.tee $0 - i32.gt_s - if - local.get $1 - local.get $0 - call $~lib/string/String#substring - local.set $0 - br $folding-inner0 - end - global.get $~lib/memory/__stack_pointer - i32.const 4 + local.get $0 + i32.const 100000000 + i32.ge_u i32.add - global.set $~lib/memory/__stack_pointer - local.get $1 - return end - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $0 - return end - i32.const 32000 - i32.const 32048 + local.get $1 + i32.add + local.tee $3 i32.const 1 + i32.shl i32.const 1 - call $~lib/builtins/abort - unreachable + call $~lib/rt/itcms/__new + local.tee $0 + i32.store + local.get $0 + local.get $2 + local.get $3 + call $~lib/util/number/utoa32_dec_lut + local.get $1 + if + local.get $0 + i32.const 45 + i32.store16 + end + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $0 ) - (func $~lib/util/string/joinIntegerArray (param $0 i32) (param $1 i32) (result i32) + (func $~lib/util/number/utoa32 (param $0 i32) (result i32) + (local $1 i32) (local $2 i32) - (local $3 i64) - (local $4 i32) - (local $5 i32) - (local $6 i32) - (local $7 i32) global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub global.set $~lib/memory/__stack_pointer - block $folding-inner0 - global.get $~lib/memory/__stack_pointer - i32.const 15596 - i32.lt_s - br_if $folding-inner0 + global.get $~lib/memory/__stack_pointer + i32.const 15596 + i32.lt_s + if + i32.const 32000 + i32.const 32048 + i32.const 1 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store + local.get $0 + i32.eqz + if global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + i32.const 9872 + return + end + global.get $~lib/memory/__stack_pointer + local.get $0 + local.tee $1 + i32.const 100000 + i32.lt_u + if (result i32) local.get $1 - i32.const 1 - i32.sub - local.tee $7 - i32.const 0 - i32.lt_s - if - global.get $~lib/memory/__stack_pointer - i32.const 4 + i32.const 100 + i32.lt_u + if (result i32) + local.get $1 + i32.const 10 + i32.ge_u + i32.const 1 i32.add - global.set $~lib/memory/__stack_pointer - i32.const 9280 - return - end - local.get $7 - i32.eqz - if - local.get $0 - i64.load - i64.extend32_s - local.set $3 - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.sub - global.set $~lib/memory/__stack_pointer - global.get $~lib/memory/__stack_pointer - i32.const 15596 - i32.lt_s - br_if $folding-inner0 - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store - block $__inlined_func$~lib/util/number/itoa64 - local.get $3 - i64.eqz - if - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - i32.const 9872 - local.set $1 - br $__inlined_func$~lib/util/number/itoa64 - end - i64.const 0 - local.get $3 - i64.sub - local.get $3 - local.get $3 - i64.const 63 - i64.shr_u - i32.wrap_i64 - local.tee $4 - select - local.tee $3 - i64.const 4294967295 - i64.le_u - if - global.get $~lib/memory/__stack_pointer - local.get $3 - i32.wrap_i64 - local.tee $5 - local.tee $0 - i32.const 100000 - i32.lt_u - if (result i32) - local.get $0 - i32.const 100 - i32.lt_u - if (result i32) - local.get $0 - i32.const 10 - i32.ge_u - i32.const 1 - i32.add - else - local.get $0 - i32.const 10000 - i32.ge_u - i32.const 3 - i32.add - local.get $0 - i32.const 1000 - i32.ge_u - i32.add - end - else - local.get $0 - i32.const 10000000 - i32.lt_u - if (result i32) - local.get $0 - i32.const 1000000 - i32.ge_u - i32.const 6 - i32.add - else - local.get $0 - i32.const 1000000000 - i32.ge_u - i32.const 8 - i32.add - local.get $0 - i32.const 100000000 - i32.ge_u - i32.add - end - end - local.get $4 - i32.add - local.tee $0 - i32.const 1 - i32.shl - i32.const 1 - call $~lib/rt/itcms/__new - local.tee $1 - i32.store - local.get $1 - local.get $5 - local.get $0 - call $~lib/util/number/utoa32_dec_lut - else - global.get $~lib/memory/__stack_pointer - local.get $3 - i64.const 1000000000000000 - i64.lt_u - if (result i32) - local.get $3 - i64.const 1000000000000 - i64.lt_u - if (result i32) - local.get $3 - i64.const 100000000000 - i64.ge_u - i32.const 10 - i32.add - local.get $3 - i64.const 10000000000 - i64.ge_u - i32.add - else - local.get $3 - i64.const 100000000000000 - i64.ge_u - i32.const 13 - i32.add - local.get $3 - i64.const 10000000000000 - i64.ge_u - i32.add - end - else - local.get $3 - i64.const 100000000000000000 - i64.lt_u - if (result i32) - local.get $3 - i64.const 10000000000000000 - i64.ge_u - i32.const 16 - i32.add - else - local.get $3 - i64.const -8446744073709551616 - i64.ge_u - i32.const 18 - i32.add - local.get $3 - i64.const 1000000000000000000 - i64.ge_u - i32.add - end - end - local.get $4 - i32.add - local.tee $0 - i32.const 1 - i32.shl - i32.const 1 - call $~lib/rt/itcms/__new - local.tee $1 - i32.store - local.get $1 - local.get $3 - local.get $0 - call $~lib/util/number/utoa64_dec_lut - end - local.get $4 - if - local.get $1 - i32.const 45 - i32.store16 - end - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - end - global.get $~lib/memory/__stack_pointer - i32.const 4 + else + local.get $1 + i32.const 10000 + i32.ge_u + i32.const 3 i32.add - global.set $~lib/memory/__stack_pointer local.get $1 - return - end - global.get $~lib/memory/__stack_pointer - local.get $7 - i32.const 9564 - i32.load - i32.const 1 - i32.shr_u - local.tee $4 - i32.const 21 - i32.add - i32.mul - i32.const 21 - i32.add - local.tee $1 - i32.const 1 - i32.shl - i32.const 1 - call $~lib/rt/itcms/__new - local.tee $6 - i32.store - loop $for-loop|0 - local.get $5 - local.get $7 - i32.lt_s - if - local.get $6 - local.get $2 - i32.const 1 - i32.shl - i32.add - local.get $0 - local.get $5 - i32.const 3 - i32.shl - i32.add - i64.load - call $~lib/util/number/itoa_buffered - local.get $2 - i32.add - local.set $2 - local.get $4 - if - local.get $6 - local.get $2 - i32.const 1 - i32.shl - i32.add - i32.const 9568 - local.get $4 - i32.const 1 - i32.shl - call $~lib/memory/memory.copy - local.get $2 - local.get $4 - i32.add - local.set $2 - end - local.get $5 - i32.const 1 - i32.add - local.set $5 - br $for-loop|0 - end + i32.const 1000 + i32.ge_u + i32.add end + else local.get $1 - local.get $6 - local.get $2 - i32.const 1 - i32.shl - i32.add - local.get $0 - local.get $7 - i32.const 3 - i32.shl - i32.add - i64.load - call $~lib/util/number/itoa_buffered - local.get $2 - i32.add - local.tee $0 - i32.gt_s - if - local.get $6 - local.get $0 - call $~lib/string/String#substring - global.get $~lib/memory/__stack_pointer - i32.const 4 + i32.const 10000000 + i32.lt_u + if (result i32) + local.get $1 + i32.const 1000000 + i32.ge_u + i32.const 6 + i32.add + else + local.get $1 + i32.const 1000000000 + i32.ge_u + i32.const 8 + i32.add + local.get $1 + i32.const 100000000 + i32.ge_u i32.add - global.set $~lib/memory/__stack_pointer - return end - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $6 - return end - i32.const 32000 - i32.const 32048 + local.tee $0 i32.const 1 + i32.shl i32.const 1 - call $~lib/builtins/abort - unreachable + call $~lib/rt/itcms/__new + local.tee $2 + i32.store + local.get $2 + local.get $1 + local.get $0 + call $~lib/util/number/utoa32_dec_lut + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $2 ) (func $~lib/array/Array<~lib/array/Array>#flat (param $0 i32) (result i32) (local $1 i32) @@ -30091,10 +30066,10 @@ local.get $6 i32.lt_s if - local.get $5 local.get $2 i32.const 2 i32.shl + local.get $5 i32.add i32.load local.tee $0 @@ -30152,10 +30127,10 @@ local.get $6 i32.lt_s if - local.get $5 local.get $2 i32.const 2 i32.shl + local.get $5 i32.add i32.load local.tee $3 @@ -30264,7 +30239,8 @@ i32.store end global.get $~lib/memory/__stack_pointer - local.tee $4 + local.tee $2 + local.get $2 i32.const 8 i32.sub global.set $~lib/memory/__stack_pointer @@ -30350,7 +30326,6 @@ i32.const 8 i32.add global.set $~lib/memory/__stack_pointer - local.get $4 local.get $0 i32.store global.get $~lib/memory/__stack_pointer @@ -30451,43 +30426,41 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $2 + local.tee $3 local.get $0 i32.store - local.get $2 + local.get $3 local.get $1 i32.store offset=4 block $__inlined_func$~lib/array/Array#every (result i32) - i32.const 0 - local.set $2 local.get $0 i32.load offset=12 - local.set $4 + local.set $3 loop $for-loop|0 - local.get $2 - local.get $4 + local.get $3 local.get $0 i32.load offset=12 - local.tee $3 + local.tee $2 + local.get $2 local.get $3 - local.get $4 i32.gt_s select - i32.lt_s + local.get $4 + i32.gt_s if local.get $0 i32.load offset=4 - local.get $2 + local.get $4 i32.const 2 i32.shl i32.add i32.load - local.set $3 + local.set $2 i32.const 3 global.set $~argumentsLength i32.const 0 - local.get $3 local.get $2 + local.get $4 local.get $0 local.get $1 i32.load @@ -30495,10 +30468,10 @@ i32.eqz br_if $__inlined_func$~lib/array/Array#every drop - local.get $2 + local.get $4 i32.const 1 i32.add - local.set $2 + local.set $4 br $for-loop|0 end end @@ -30529,20 +30502,17 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $2 + local.tee $3 local.get $0 i32.store - local.get $2 + local.get $3 local.get $1 i32.store offset=4 - i32.const 0 - local.set $2 local.get $0 i32.load offset=12 local.set $4 block $__inlined_func$~lib/array/Array#findIndex loop $for-loop|0 - local.get $2 local.get $4 local.get $0 i32.load offset=12 @@ -30551,7 +30521,8 @@ local.get $4 i32.gt_s select - i32.lt_s + local.get $2 + i32.gt_s if local.get $0 i32.load offset=4 @@ -30671,7 +30642,6 @@ global.get $~lib/memory/__stack_pointer local.get $0 i32.store - local.get $1 i32.const 0 local.get $0 i32.load offset=12 @@ -30680,6 +30650,7 @@ i32.const 0 i32.ge_s select + local.get $1 i32.add local.tee $1 local.get $2 @@ -30801,10 +30772,10 @@ local.get $1 i32.lt_s if - local.get $6 local.get $0 i32.const 2 i32.shl + local.get $6 i32.add local.get $4 i32.store @@ -30892,10 +30863,10 @@ i32.lt_s if local.get $1 - local.get $0 local.get $2 i32.const 2 i32.shl + local.get $0 i32.add i32.load i32.eq @@ -30989,10 +30960,10 @@ i32.lt_s if local.get $1 - local.get $0 local.get $2 i32.const 2 i32.shl + local.get $0 i32.add i32.load i32.eq @@ -31081,11 +31052,11 @@ i32.ge_s if local.get $1 - local.get $0 local.get $2 local.tee $3 i32.const 2 i32.shl + local.get $0 i32.add i32.load i32.eq @@ -31351,41 +31322,39 @@ local.get $2 local.get $1 i32.store offset=4 - i32.const 0 - local.set $2 local.get $0 i32.load offset=12 - local.set $4 + local.set $2 loop $for-loop|0 local.get $2 - local.get $4 local.get $0 i32.load offset=12 - local.tee $3 - local.get $3 + local.tee $4 + local.get $2 local.get $4 - i32.gt_s - select i32.lt_s + select + local.get $3 + i32.gt_s if local.get $0 i32.load offset=4 - local.get $2 + local.get $3 i32.const 2 i32.shl i32.add i32.load i32.const 3 global.set $~argumentsLength - local.get $2 + local.get $3 local.get $0 local.get $1 i32.load call_indirect $0 (type $i32_i32_i32_=>_none) - local.get $2 + local.get $3 i32.const 1 i32.add - local.set $2 + local.set $3 br $for-loop|0 end end @@ -31439,43 +31408,43 @@ i32.load offset=12 local.set $5 loop $for-loop|0 - local.get $3 local.get $5 local.get $0 i32.load offset=12 - local.tee $4 - local.get $4 + local.tee $3 + local.get $3 local.get $5 i32.gt_s select - i32.lt_s + local.get $4 + i32.gt_s if local.get $0 i32.load offset=4 - local.get $3 + local.get $4 i32.const 2 i32.shl i32.add i32.load - local.set $4 + local.set $3 i32.const 3 global.set $~argumentsLength - local.get $4 local.get $3 + local.get $4 local.get $0 local.get $1 i32.load call_indirect $0 (type $i32_i32_i32_=>_i32) if local.get $2 - local.get $4 + local.get $3 call $~lib/array/Array#push drop end - local.get $3 + local.get $4 i32.const 1 i32.add - local.set $3 + local.set $4 br $for-loop|0 end end @@ -31582,53 +31551,51 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $2 + local.tee $3 local.get $0 i32.store - local.get $2 + local.get $3 local.get $1 i32.store offset=4 block $__inlined_func$~lib/array/Array#some (result i32) - i32.const 0 - local.set $2 local.get $0 i32.load offset=12 - local.set $4 + local.set $3 loop $for-loop|0 - local.get $2 - local.get $4 + local.get $3 local.get $0 i32.load offset=12 - local.tee $3 + local.tee $2 + local.get $2 local.get $3 - local.get $4 i32.gt_s select - i32.lt_s + local.get $4 + i32.gt_s if local.get $0 i32.load offset=4 - local.get $2 + local.get $4 i32.const 2 i32.shl i32.add i32.load - local.set $3 + local.set $2 i32.const 3 global.set $~argumentsLength i32.const 1 - local.get $3 local.get $2 + local.get $4 local.get $0 local.get $1 i32.load call_indirect $0 (type $i32_i32_i32_=>_i32) br_if $__inlined_func$~lib/array/Array#some drop - local.get $2 + local.get $4 i32.const 1 i32.add - local.set $2 + local.set $4 br $for-loop|0 end end @@ -31908,10 +31875,10 @@ i32.ne if local.get $6 - local.get $5 local.get $1 i32.const 2 i32.shl + local.get $5 i32.add local.get $4 local.get $1 @@ -31990,21 +31957,21 @@ local.get $5 i32.lt_u if - local.get $4 local.get $2 i32.const 2 i32.shl + local.get $4 i32.add local.tee $3 i32.load local.set $6 local.get $3 - local.get $4 local.get $1 local.get $2 i32.sub i32.const 2 i32.shl + local.get $4 i32.add local.tee $3 i32.load @@ -32222,7 +32189,8 @@ i32.store end global.get $~lib/memory/__stack_pointer - local.tee $4 + local.tee $2 + local.get $2 i32.const 8 i32.sub global.set $~lib/memory/__stack_pointer @@ -32306,7 +32274,6 @@ i32.const 8 i32.add global.set $~lib/memory/__stack_pointer - local.get $4 local.get $0 i32.store global.get $~lib/memory/__stack_pointer @@ -32379,41 +32346,39 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $2 + local.tee $3 local.get $0 i32.store - local.get $2 + local.get $3 local.get $1 i32.store offset=4 block $__inlined_func$~lib/array/Array#every (result i32) - i32.const 0 - local.set $2 local.get $0 i32.load offset=12 - local.set $4 + local.set $3 loop $for-loop|0 - local.get $2 - local.get $4 + local.get $3 local.get $0 i32.load offset=12 - local.tee $3 + local.tee $2 + local.get $2 local.get $3 - local.get $4 i32.gt_s select - i32.lt_s + local.get $4 + i32.gt_s if - local.get $2 + local.get $4 local.get $0 i32.load offset=4 i32.add i32.load8_u - local.set $3 + local.set $2 i32.const 3 global.set $~argumentsLength i32.const 0 - local.get $3 local.get $2 + local.get $4 local.get $0 local.get $1 i32.load @@ -32421,10 +32386,10 @@ i32.eqz br_if $__inlined_func$~lib/array/Array#every drop - local.get $2 + local.get $4 i32.const 1 i32.add - local.set $2 + local.set $4 br $for-loop|0 end end @@ -32455,20 +32420,17 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $2 + local.tee $3 local.get $0 i32.store - local.get $2 + local.get $3 local.get $1 i32.store offset=4 - i32.const 0 - local.set $2 local.get $0 i32.load offset=12 local.set $4 block $__inlined_func$~lib/array/Array#findIndex loop $for-loop|0 - local.get $2 local.get $4 local.get $0 i32.load offset=12 @@ -32477,7 +32439,8 @@ local.get $4 i32.gt_s select - i32.lt_s + local.get $2 + i32.gt_s if local.get $2 local.get $0 @@ -32593,7 +32556,6 @@ global.get $~lib/memory/__stack_pointer local.get $0 i32.store - local.get $1 i32.const 0 local.get $0 i32.load offset=12 @@ -32602,6 +32564,7 @@ i32.const 0 i32.ge_s select + local.get $1 i32.add local.tee $1 local.get $2 @@ -33119,10 +33082,10 @@ local.get $5 i32.lt_s select - local.set $3 + local.set $6 local.get $0 i32.load offset=4 - local.tee $6 + local.tee $3 local.get $1 i32.const 0 i32.lt_s @@ -33146,7 +33109,6 @@ end local.tee $1 i32.add - local.get $6 local.get $2 i32.const 0 i32.lt_s @@ -33169,13 +33131,14 @@ select end local.tee $0 - i32.add local.get $3 + i32.add + local.get $6 i32.const 0 i32.lt_s if (result i32) - local.get $3 local.get $5 + local.get $6 i32.add local.tee $2 i32.const 0 @@ -33184,23 +33147,23 @@ i32.gt_s select else - local.get $3 + local.get $6 local.get $5 - local.get $3 local.get $5 - i32.lt_s + local.get $6 + i32.gt_s select end local.get $0 i32.sub - local.tee $2 + local.tee $0 local.get $5 local.get $1 i32.sub - local.tee $0 + local.tee $1 local.get $0 - local.get $2 - i32.gt_s + local.get $1 + i32.lt_s select call $~lib/memory/memory.copy global.get $~lib/memory/__stack_pointer @@ -33285,39 +33248,37 @@ local.get $2 local.get $1 i32.store offset=4 - i32.const 0 - local.set $2 local.get $0 i32.load offset=12 - local.set $4 + local.set $2 loop $for-loop|0 local.get $2 - local.get $4 local.get $0 i32.load offset=12 - local.tee $3 - local.get $3 + local.tee $4 + local.get $2 local.get $4 - i32.gt_s - select i32.lt_s + select + local.get $3 + i32.gt_s if - local.get $2 + local.get $3 local.get $0 i32.load offset=4 i32.add i32.load8_u i32.const 3 global.set $~argumentsLength - local.get $2 + local.get $3 local.get $0 local.get $1 i32.load call_indirect $0 (type $i32_i32_i32_=>_none) - local.get $2 + local.get $3 i32.const 1 i32.add - local.set $2 + local.set $3 br $for-loop|0 end end @@ -33371,41 +33332,41 @@ i32.load offset=12 local.set $5 loop $for-loop|0 - local.get $3 local.get $5 local.get $0 i32.load offset=12 - local.tee $4 - local.get $4 + local.tee $3 + local.get $3 local.get $5 i32.gt_s select - i32.lt_s + local.get $4 + i32.gt_s if - local.get $3 + local.get $4 local.get $0 i32.load offset=4 i32.add i32.load8_u - local.set $4 + local.set $3 i32.const 3 global.set $~argumentsLength - local.get $4 local.get $3 + local.get $4 local.get $0 local.get $1 i32.load call_indirect $0 (type $i32_i32_i32_=>_i32) if local.get $2 - local.get $4 + local.get $3 call $~lib/array/Array#push drop end - local.get $3 + local.get $4 i32.const 1 i32.add - local.set $3 + local.set $4 br $for-loop|0 end end @@ -33508,51 +33469,49 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $2 + local.tee $3 local.get $0 i32.store - local.get $2 + local.get $3 local.get $1 i32.store offset=4 block $__inlined_func$~lib/array/Array#some (result i32) - i32.const 0 - local.set $2 local.get $0 i32.load offset=12 - local.set $4 + local.set $3 loop $for-loop|0 - local.get $2 - local.get $4 + local.get $3 local.get $0 i32.load offset=12 - local.tee $3 + local.tee $2 + local.get $2 local.get $3 - local.get $4 i32.gt_s select - i32.lt_s + local.get $4 + i32.gt_s if - local.get $2 + local.get $4 local.get $0 i32.load offset=4 i32.add i32.load8_u - local.set $3 + local.set $2 i32.const 3 global.set $~argumentsLength i32.const 1 - local.get $3 local.get $2 + local.get $4 local.get $0 local.get $1 i32.load call_indirect $0 (type $i32_i32_i32_=>_i32) br_if $__inlined_func$~lib/array/Array#some drop - local.get $2 + local.get $4 i32.const 1 i32.add - local.set $2 + local.set $4 br $for-loop|0 end end @@ -34167,7 +34126,6 @@ i32.load offset=12 local.set $2 loop $for-loop|0 - local.get $3 local.get $2 local.get $0 i32.load offset=12 @@ -34176,7 +34134,8 @@ local.get $4 i32.lt_s select - i32.lt_s + local.get $3 + i32.gt_s if global.get $~lib/memory/__stack_pointer local.get $0 @@ -34267,7 +34226,6 @@ local.set $3 block $__inlined_func$~lib/array/Array<~lib/string/String>#findIndex loop $for-loop|0 - local.get $2 local.get $3 local.get $0 i32.load offset=12 @@ -34276,7 +34234,8 @@ local.get $4 i32.lt_s select - i32.lt_s + local.get $2 + i32.gt_s if global.get $~lib/memory/__stack_pointer local.get $0 @@ -34451,7 +34410,6 @@ global.get $~lib/memory/__stack_pointer i32.const 0 i32.store - local.get $1 i32.const 0 local.get $0 i32.load offset=12 @@ -34460,6 +34418,7 @@ i32.const 0 i32.ge_s select + local.get $1 i32.add local.tee $1 local.get $2 @@ -34607,10 +34566,10 @@ local.get $3 i32.lt_s if - local.get $5 local.get $2 i32.const 2 i32.shl + local.get $5 i32.add local.get $1 i32.store @@ -34807,10 +34766,10 @@ i32.ge_s if global.get $~lib/memory/__stack_pointer - local.get $0 local.get $2 i32.const 2 i32.shl + local.get $0 i32.add i32.load local.tee $3 @@ -34902,13 +34861,16 @@ i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer + local.tee $3 local.tee $2 local.get $0 i32.store local.get $2 local.get $1 i32.store offset=4 - local.get $2 + i32.const 0 + local.set $2 + local.get $3 i32.const 4 i32.sub global.set $~lib/memory/__stack_pointer @@ -34921,7 +34883,7 @@ i32.store local.get $0 i32.load offset=12 - local.tee $3 + local.tee $4 local.get $1 i32.load offset=12 i32.const 0 @@ -34929,7 +34891,7 @@ select local.tee $6 i32.add - local.tee $2 + local.tee $3 i32.const 268435455 i32.gt_u if @@ -34941,83 +34903,83 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $2 + local.get $3 i32.const 2 i32.const 33 i32.const 0 call $~lib/rt/__newArray - local.tee $2 + local.tee $3 i32.store - local.get $2 + local.get $3 i32.load offset=4 local.set $5 - local.get $3 + local.get $4 i32.const 2 i32.shl - local.set $3 + local.set $4 local.get $0 i32.load offset=4 local.set $0 loop $for-loop|0 - local.get $3 + local.get $2 local.get $4 - i32.gt_u + i32.lt_u if - local.get $4 + local.get $2 local.get $5 i32.add local.get $0 - local.get $4 + local.get $2 i32.add i32.load local.tee $7 i32.store - local.get $2 + local.get $3 local.get $7 i32.const 1 call $~lib/rt/itcms/__link - local.get $4 + local.get $2 i32.const 4 i32.add - local.set $4 + local.set $2 br $for-loop|0 end end - local.get $3 + local.get $4 local.get $5 i32.add - local.set $0 + local.set $2 local.get $1 i32.load offset=4 - local.set $4 + local.set $1 local.get $6 i32.const 2 i32.shl local.set $5 i32.const 0 - local.set $1 + local.set $0 loop $for-loop|1 - local.get $1 + local.get $0 local.get $5 i32.lt_u if local.get $0 - local.get $1 + local.get $2 i32.add + local.get $0 local.get $1 - local.get $4 i32.add i32.load - local.tee $3 + local.tee $4 i32.store - local.get $2 local.get $3 + local.get $4 i32.const 1 call $~lib/rt/itcms/__link - local.get $1 + local.get $0 i32.const 4 i32.add - local.set $1 + local.set $0 br $for-loop|1 end end @@ -35029,7 +34991,7 @@ i32.const 8 i32.add global.set $~lib/memory/__stack_pointer - local.get $2 + local.get $3 return end i32.const 32000 @@ -35150,7 +35112,6 @@ i32.load offset=12 local.set $2 loop $for-loop|0 - local.get $3 local.get $2 local.get $0 i32.load offset=12 @@ -35159,7 +35120,8 @@ local.get $4 i32.lt_s select - i32.lt_s + local.get $3 + i32.gt_s if global.get $~lib/memory/__stack_pointer local.get $0 @@ -35248,45 +35210,45 @@ i32.load offset=12 local.set $5 loop $for-loop|0 - local.get $3 local.get $5 local.get $0 i32.load offset=12 - local.tee $4 - local.get $4 + local.tee $3 + local.get $3 local.get $5 i32.gt_s select - i32.lt_s + local.get $4 + i32.gt_s if global.get $~lib/memory/__stack_pointer local.get $0 i32.load offset=4 - local.get $3 + local.get $4 i32.const 2 i32.shl i32.add i32.load - local.tee $4 + local.tee $3 i32.store offset=4 i32.const 3 global.set $~argumentsLength - local.get $4 local.get $3 + local.get $4 local.get $0 local.get $1 i32.load call_indirect $0 (type $i32_i32_i32_=>_i32) if local.get $2 - local.get $4 + local.get $3 call $~lib/array/Array<~lib/string/String>#push drop end - local.get $3 + local.get $4 i32.const 1 i32.add - local.set $3 + local.set $4 br $for-loop|0 end end @@ -35431,7 +35393,6 @@ i32.load offset=12 local.set $2 loop $for-loop|0 - local.get $3 local.get $2 local.get $0 i32.load offset=12 @@ -35440,7 +35401,8 @@ local.get $4 i32.lt_s select - i32.lt_s + local.get $3 + i32.gt_s if global.get $~lib/memory/__stack_pointer local.get $0 @@ -35829,10 +35791,10 @@ i32.ne if local.get $6 - local.get $5 local.get $1 i32.const 2 i32.shl + local.get $5 i32.add local.get $4 local.get $1 @@ -35919,22 +35881,22 @@ i32.lt_u if global.get $~lib/memory/__stack_pointer - local.get $5 local.get $2 i32.const 2 i32.shl + local.get $5 i32.add local.tee $4 i32.load local.tee $6 i32.store local.get $4 - local.get $5 local.get $1 local.get $2 i32.sub i32.const 2 i32.shl + local.get $5 i32.add local.tee $4 i32.load diff --git a/tests/compiler/std/arraybuffer.optimized.wat b/tests/compiler/std/arraybuffer.optimized.wat index e58dc189da..88486e11d5 100644 --- a/tests/compiler/std/arraybuffer.optimized.wat +++ b/tests/compiler/std/arraybuffer.optimized.wat @@ -95,8 +95,8 @@ (local $1 i32) (local $2 i32) (local $3 i32) - local.get $0 global.get $~lib/rt/itcms/iter + local.get $0 i32.eq if local.get $0 @@ -156,11 +156,11 @@ local.get $1 i32.store offset=8 local.get $1 - local.get $2 local.get $1 i32.load offset=4 i32.const 3 i32.and + local.get $2 i32.or i32.store offset=4 end @@ -174,10 +174,10 @@ if (result i32) i32.const 1 else - local.get $1 i32.const 1712 i32.load - i32.gt_u + local.get $1 + i32.lt_u if i32.const 1360 i32.const 1424 @@ -214,11 +214,11 @@ local.get $1 i32.store offset=8 local.get $1 - local.get $0 local.get $1 i32.load offset=4 i32.const 3 i32.and + local.get $0 i32.or i32.store offset=4 local.get $2 @@ -376,22 +376,22 @@ local.get $4 i32.eqz if - local.get $0 local.get $3 i32.const 2 i32.shl + local.get $0 i32.add - local.tee $1 + local.tee $4 i32.load offset=4 i32.const -2 local.get $2 i32.rotl i32.and - local.set $2 + local.set $1 + local.get $4 local.get $1 - local.get $2 i32.store offset=4 - local.get $2 + local.get $1 i32.eqz if local.get $0 @@ -639,10 +639,10 @@ i32.shl i32.or i32.store - local.get $0 local.get $5 i32.const 2 i32.shl + local.get $0 i32.add local.tee $0 local.get $0 @@ -682,11 +682,11 @@ i32.load offset=1568 local.tee $2 if + local.get $1 local.get $2 i32.const 4 i32.add - local.get $1 - i32.gt_u + i32.lt_u if i32.const 0 i32.const 1504 @@ -710,11 +710,11 @@ local.set $1 end else + local.get $1 local.get $0 i32.const 1572 i32.add - local.get $1 - i32.gt_u + i32.lt_u if i32.const 0 i32.const 1504 @@ -1001,13 +1001,13 @@ if local.get $0 i32.load offset=4 + local.tee $1 i32.const -4 i32.and global.set $~lib/rt/itcms/iter global.get $~lib/rt/itcms/white i32.eqz - local.get $0 - i32.load offset=4 + local.get $1 i32.const 3 i32.and i32.ne @@ -1094,10 +1094,10 @@ end global.get $~lib/rt/itcms/toSpace local.tee $0 - local.get $0 + local.tee $1 + local.get $1 i32.store offset=4 - global.get $~lib/rt/itcms/toSpace - local.tee $0 + local.get $0 local.get $0 i32.store offset=8 i32.const 0 @@ -1522,7 +1522,6 @@ i32.const 536870910 i32.lt_u if (result i32) - local.get $2 i32.const 1 i32.const 27 local.get $2 @@ -1531,6 +1530,7 @@ i32.shl i32.const 1 i32.sub + local.get $2 i32.add else local.get $2 @@ -1591,12 +1591,12 @@ unreachable end end - local.get $2 local.get $3 i32.load i32.const -4 i32.and - i32.gt_u + local.get $2 + i32.lt_u if i32.const 0 i32.const 1504 @@ -1634,10 +1634,10 @@ i32.ge_u if local.get $3 - local.get $2 local.get $4 i32.const 2 i32.and + local.get $2 i32.or i32.store local.get $2 @@ -1664,18 +1664,13 @@ local.get $3 i32.const 4 i32.add - local.tee $2 local.get $3 i32.load i32.const -4 i32.and i32.add + local.tee $2 local.get $2 - local.get $3 - i32.load - i32.const -4 - i32.and - i32.add i32.load i32.const -3 i32.and @@ -1692,19 +1687,19 @@ i32.load offset=8 local.set $2 local.get $3 - local.get $1 global.get $~lib/rt/itcms/white + local.get $1 i32.or i32.store offset=4 local.get $3 local.get $2 i32.store offset=8 local.get $2 - local.get $3 local.get $2 i32.load offset=4 i32.const 3 i32.and + local.get $3 i32.or i32.store offset=4 local.get $1 @@ -1740,17 +1735,17 @@ select if local.get $0 - local.tee $3 + local.tee $4 i32.const 1 i32.add local.set $0 local.get $1 - local.tee $4 + local.tee $3 i32.const 1 i32.add local.set $1 - local.get $3 local.get $4 + local.get $3 i32.load8_u i32.store8 local.get $2 @@ -1896,19 +1891,19 @@ local.get $0 i32.const 2 i32.add - local.tee $3 + local.tee $4 i32.const 1 i32.add local.set $0 local.get $1 i32.const 2 i32.add - local.tee $4 + local.tee $3 i32.const 1 i32.add local.set $1 - local.get $3 local.get $4 + local.get $3 i32.load8_u i32.store8 local.get $2 @@ -1923,7 +1918,7 @@ local.get $0 local.get $1 i32.load offset=1 - local.tee $3 + local.tee $4 i32.const 8 i32.shl local.get $5 @@ -1934,10 +1929,10 @@ local.get $0 local.get $1 i32.load offset=5 - local.tee $4 + local.tee $3 i32.const 8 i32.shl - local.get $3 + local.get $4 i32.const 24 i32.shr_u i32.or @@ -1945,10 +1940,10 @@ local.get $0 local.get $1 i32.load offset=9 - local.tee $3 + local.tee $4 i32.const 8 i32.shl - local.get $4 + local.get $3 i32.const 24 i32.shr_u i32.or @@ -1959,7 +1954,7 @@ local.tee $5 i32.const 8 i32.shl - local.get $3 + local.get $4 i32.const 24 i32.shr_u i32.or @@ -2014,7 +2009,7 @@ local.get $0 local.get $1 i32.load offset=2 - local.tee $3 + local.tee $4 i32.const 16 i32.shl local.get $5 @@ -2025,10 +2020,10 @@ local.get $0 local.get $1 i32.load offset=6 - local.tee $4 + local.tee $3 i32.const 16 i32.shl - local.get $3 + local.get $4 i32.const 16 i32.shr_u i32.or @@ -2036,10 +2031,10 @@ local.get $0 local.get $1 i32.load offset=10 - local.tee $3 + local.tee $4 i32.const 16 i32.shl - local.get $4 + local.get $3 i32.const 16 i32.shr_u i32.or @@ -2050,7 +2045,7 @@ local.tee $5 i32.const 16 i32.shl - local.get $3 + local.get $4 i32.const 16 i32.shr_u i32.or @@ -2076,17 +2071,17 @@ i32.load local.set $5 local.get $0 - local.tee $3 + local.tee $4 i32.const 1 i32.add local.set $0 local.get $1 - local.tee $4 + local.tee $3 i32.const 1 i32.add local.set $1 - local.get $3 local.get $4 + local.get $3 i32.load8_u i32.store8 local.get $2 @@ -2101,7 +2096,7 @@ local.get $0 local.get $1 i32.load offset=3 - local.tee $3 + local.tee $4 i32.const 24 i32.shl local.get $5 @@ -2112,10 +2107,10 @@ local.get $0 local.get $1 i32.load offset=7 - local.tee $4 + local.tee $3 i32.const 24 i32.shl - local.get $3 + local.get $4 i32.const 8 i32.shr_u i32.or @@ -2123,10 +2118,10 @@ local.get $0 local.get $1 i32.load offset=11 - local.tee $3 + local.tee $4 i32.const 24 i32.shl - local.get $4 + local.get $3 i32.const 8 i32.shr_u i32.or @@ -2137,7 +2132,7 @@ local.tee $5 i32.const 24 i32.shl - local.get $3 + local.get $4 i32.const 8 i32.shr_u i32.or @@ -2168,145 +2163,137 @@ i32.load8_u i32.store8 local.get $0 - local.tee $4 - i32.const 2 - i32.add - local.set $0 local.get $1 - local.tee $3 - i32.const 2 - i32.add - local.set $1 - local.get $4 - local.get $3 i32.load8_u offset=1 i32.store8 offset=1 local.get $0 - local.get $1 - i32.load8_u - i32.store8 - local.get $0 - local.tee $4 i32.const 2 i32.add - local.set $0 + local.tee $4 local.get $1 + i32.const 2 + i32.add local.tee $3 + i32.load8_u + i32.store8 + local.get $3 + local.tee $0 i32.const 2 i32.add - local.set $1 + local.set $3 local.get $4 - local.get $3 + local.get $0 i32.load8_u offset=1 i32.store8 offset=1 - local.get $0 - local.get $1 + local.get $4 + i32.const 2 + i32.add + local.tee $1 + local.get $3 i32.load8_u i32.store8 - local.get $0 + local.get $1 local.tee $4 i32.const 2 i32.add - local.set $0 - local.get $1 - local.tee $3 + local.set $1 + local.get $3 + local.tee $0 i32.const 2 i32.add - local.set $1 + local.set $3 local.get $4 - local.get $3 + local.get $0 i32.load8_u offset=1 i32.store8 offset=1 - local.get $0 local.get $1 + local.get $3 i32.load8_u i32.store8 - local.get $0 + local.get $1 local.tee $4 i32.const 2 i32.add - local.set $0 - local.get $1 - local.tee $3 + local.set $1 + local.get $3 + local.tee $0 i32.const 2 i32.add - local.set $1 + local.set $3 local.get $4 - local.get $3 + local.get $0 i32.load8_u offset=1 i32.store8 offset=1 - local.get $0 local.get $1 + local.get $3 i32.load8_u i32.store8 - local.get $0 + local.get $1 local.tee $4 i32.const 2 i32.add - local.set $0 - local.get $1 - local.tee $3 + local.set $1 + local.get $3 + local.tee $0 i32.const 2 i32.add - local.set $1 + local.set $3 local.get $4 - local.get $3 + local.get $0 i32.load8_u offset=1 i32.store8 offset=1 - local.get $0 local.get $1 + local.get $3 i32.load8_u i32.store8 - local.get $0 + local.get $1 local.tee $4 i32.const 2 i32.add - local.set $0 - local.get $1 - local.tee $3 + local.set $1 + local.get $3 + local.tee $0 i32.const 2 i32.add - local.set $1 + local.set $3 local.get $4 - local.get $3 + local.get $0 i32.load8_u offset=1 i32.store8 offset=1 - local.get $0 local.get $1 + local.get $3 i32.load8_u i32.store8 - local.get $0 + local.get $1 local.tee $4 i32.const 2 i32.add - local.set $0 - local.get $1 - local.tee $3 + local.set $1 + local.get $3 + local.tee $0 i32.const 2 i32.add - local.set $1 + local.set $3 local.get $4 - local.get $3 + local.get $0 i32.load8_u offset=1 i32.store8 offset=1 - local.get $0 local.get $1 + local.get $3 i32.load8_u i32.store8 - local.get $0 - local.tee $4 + local.get $1 i32.const 2 i32.add local.set $0 local.get $1 - local.tee $3 - i32.const 2 - i32.add - local.set $1 - local.get $4 local.get $3 i32.load8_u offset=1 i32.store8 offset=1 + local.get $3 + i32.const 2 + i32.add + local.set $1 end local.get $2 i32.const 8 @@ -2317,73 +2304,65 @@ i32.load8_u i32.store8 local.get $0 - local.tee $4 - i32.const 2 - i32.add - local.set $0 local.get $1 - local.tee $3 - i32.const 2 - i32.add - local.set $1 - local.get $4 - local.get $3 i32.load8_u offset=1 i32.store8 offset=1 local.get $0 - local.get $1 - i32.load8_u - i32.store8 - local.get $0 - local.tee $4 i32.const 2 i32.add - local.set $0 + local.tee $4 local.get $1 + i32.const 2 + i32.add local.tee $3 + i32.load8_u + i32.store8 + local.get $3 + local.tee $0 i32.const 2 i32.add - local.set $1 + local.set $3 local.get $4 - local.get $3 + local.get $0 i32.load8_u offset=1 i32.store8 offset=1 - local.get $0 - local.get $1 + local.get $4 + i32.const 2 + i32.add + local.tee $1 + local.get $3 i32.load8_u i32.store8 - local.get $0 + local.get $1 local.tee $4 i32.const 2 i32.add - local.set $0 - local.get $1 - local.tee $3 + local.set $1 + local.get $3 + local.tee $0 i32.const 2 i32.add - local.set $1 + local.set $3 local.get $4 - local.get $3 + local.get $0 i32.load8_u offset=1 i32.store8 offset=1 - local.get $0 local.get $1 + local.get $3 i32.load8_u i32.store8 - local.get $0 - local.tee $4 + local.get $1 i32.const 2 i32.add local.set $0 local.get $1 - local.tee $3 - i32.const 2 - i32.add - local.set $1 - local.get $4 local.get $3 i32.load8_u offset=1 i32.store8 offset=1 + local.get $3 + i32.const 2 + i32.add + local.set $1 end local.get $2 i32.const 4 @@ -2394,30 +2373,20 @@ i32.load8_u i32.store8 local.get $0 - local.tee $4 - i32.const 2 - i32.add - local.set $0 local.get $1 - local.tee $3 - i32.const 2 - i32.add - local.set $1 - local.get $4 - local.get $3 i32.load8_u offset=1 i32.store8 offset=1 local.get $0 - local.get $1 - i32.load8_u - i32.store8 - local.get $0 - local.tee $4 i32.const 2 i32.add - local.set $0 + local.tee $4 local.get $1 + i32.const 2 + i32.add local.tee $3 + i32.load8_u + i32.store8 + local.get $3 i32.const 2 i32.add local.set $1 @@ -2425,6 +2394,10 @@ local.get $3 i32.load8_u offset=1 i32.store8 offset=1 + local.get $4 + i32.const 2 + i32.add + local.set $0 end local.get $2 i32.const 2 @@ -2753,7 +2726,6 @@ (local $0 i32) (local $1 i32) (local $2 i32) - (local $3 i32) global.get $~lib/memory/__stack_pointer i32.const 20 i32.sub @@ -3035,7 +3007,8 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $0 + local.tee $1 + local.get $1 i32.const 4 i32.sub global.set $~lib/memory/__stack_pointer @@ -3063,7 +3036,6 @@ i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $0 local.get $1 i32.store offset=8 global.get $~lib/memory/__stack_pointer @@ -3081,29 +3053,29 @@ i32.const 8 i32.const 0 call $~lib/rt/itcms/__new - local.tee $3 + local.tee $2 i32.const 1632 i32.const 8 call $~lib/memory/memory.copy local.get $0 - local.get $3 + local.get $2 i32.store i32.const 16 i32.const 3 call $~lib/rt/itcms/__new - local.tee $2 - local.get $3 + local.tee $0 + local.get $2 i32.store + local.get $0 local.get $2 - local.get $3 call $~lib/rt/itcms/__link + local.get $0 local.get $2 - local.get $3 i32.store offset=4 - local.get $2 + local.get $0 i32.const 8 i32.store offset=8 - local.get $2 + local.get $0 i32.const 2 i32.store offset=12 global.get $~lib/memory/__stack_pointer @@ -3111,10 +3083,9 @@ i32.add global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - local.tee $0 - local.get $2 - i32.store offset=12 local.get $0 + i32.store offset=12 + global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub global.set $~lib/memory/__stack_pointer @@ -3143,10 +3114,9 @@ i32.add global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - local.tee $3 local.get $0 i32.store offset=12 - local.get $3 + global.get $~lib/memory/__stack_pointer local.get $1 i32.load local.tee $1 @@ -3156,7 +3126,7 @@ i32.sub i32.load offset=16 local.set $2 - local.get $3 + global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub global.set $~lib/memory/__stack_pointer diff --git a/tests/compiler/std/dataview.optimized.wat b/tests/compiler/std/dataview.optimized.wat index e80b8a582d..79fa20cf26 100644 --- a/tests/compiler/std/dataview.optimized.wat +++ b/tests/compiler/std/dataview.optimized.wat @@ -101,8 +101,8 @@ (local $1 i32) (local $2 i32) (local $3 i32) - local.get $0 global.get $~lib/rt/itcms/iter + local.get $0 i32.eq if local.get $0 @@ -162,11 +162,11 @@ local.get $1 i32.store offset=8 local.get $1 - local.get $2 local.get $1 i32.load offset=4 i32.const 3 i32.and + local.get $2 i32.or i32.store offset=4 end @@ -180,10 +180,10 @@ if (result i32) i32.const 1 else - local.get $1 i32.const 1744 i32.load - i32.gt_u + local.get $1 + i32.lt_u if i32.const 1360 i32.const 1424 @@ -220,11 +220,11 @@ local.get $1 i32.store offset=8 local.get $1 - local.get $0 local.get $1 i32.load offset=4 i32.const 3 i32.and + local.get $0 i32.or i32.store offset=4 local.get $2 @@ -382,22 +382,22 @@ local.get $4 i32.eqz if - local.get $0 local.get $3 i32.const 2 i32.shl + local.get $0 i32.add - local.tee $1 + local.tee $4 i32.load offset=4 i32.const -2 local.get $2 i32.rotl i32.and - local.set $2 + local.set $1 + local.get $4 local.get $1 - local.get $2 i32.store offset=4 - local.get $2 + local.get $1 i32.eqz if local.get $0 @@ -645,10 +645,10 @@ i32.shl i32.or i32.store - local.get $0 local.get $5 i32.const 2 i32.shl + local.get $0 i32.add local.tee $0 local.get $0 @@ -688,11 +688,11 @@ i32.load offset=1568 local.tee $2 if + local.get $1 local.get $2 i32.const 4 i32.add - local.get $1 - i32.gt_u + i32.lt_u if i32.const 0 i32.const 1504 @@ -716,11 +716,11 @@ local.set $1 end else + local.get $1 local.get $0 i32.const 1572 i32.add - local.get $1 - i32.gt_u + i32.lt_u if i32.const 0 i32.const 1504 @@ -1007,13 +1007,13 @@ if local.get $0 i32.load offset=4 + local.tee $1 i32.const -4 i32.and global.set $~lib/rt/itcms/iter global.get $~lib/rt/itcms/white i32.eqz - local.get $0 - i32.load offset=4 + local.get $1 i32.const 3 i32.and i32.ne @@ -1100,10 +1100,10 @@ end global.get $~lib/rt/itcms/toSpace local.tee $0 - local.get $0 + local.tee $1 + local.get $1 i32.store offset=4 - global.get $~lib/rt/itcms/toSpace - local.tee $0 + local.get $0 local.get $0 i32.store offset=8 i32.const 0 @@ -1528,7 +1528,6 @@ i32.const 536870910 i32.lt_u if (result i32) - local.get $2 i32.const 1 i32.const 27 local.get $2 @@ -1537,6 +1536,7 @@ i32.shl i32.const 1 i32.sub + local.get $2 i32.add else local.get $2 @@ -1597,12 +1597,12 @@ unreachable end end - local.get $2 local.get $3 i32.load i32.const -4 i32.and - i32.gt_u + local.get $2 + i32.lt_u if i32.const 0 i32.const 1504 @@ -1640,10 +1640,10 @@ i32.ge_u if local.get $3 - local.get $2 local.get $4 i32.const 2 i32.and + local.get $2 i32.or i32.store local.get $2 @@ -1670,18 +1670,13 @@ local.get $3 i32.const 4 i32.add - local.tee $2 local.get $3 i32.load i32.const -4 i32.and i32.add + local.tee $2 local.get $2 - local.get $3 - i32.load - i32.const -4 - i32.and - i32.add i32.load i32.const -3 i32.and @@ -1698,19 +1693,19 @@ i32.load offset=8 local.set $2 local.get $3 - local.get $1 global.get $~lib/rt/itcms/white + local.get $1 i32.or i32.store offset=4 local.get $3 local.get $2 i32.store offset=8 local.get $2 - local.get $3 local.get $2 i32.load offset=4 i32.const 3 i32.and + local.get $3 i32.or i32.store offset=4 local.get $1 @@ -2612,7 +2607,7 @@ local.tee $1 i32.store global.get $~lib/memory/__stack_pointer - local.tee $3 + global.get $~lib/memory/__stack_pointer i32.const 8 i32.sub global.set $~lib/memory/__stack_pointer @@ -2670,7 +2665,6 @@ i32.const 8 i32.add global.set $~lib/memory/__stack_pointer - local.get $3 local.get $1 i32.store global.get $~lib/memory/__stack_pointer @@ -2713,12 +2707,11 @@ i32.const 95 call $~lib/typedarray/Uint8Array#__set global.get $~lib/memory/__stack_pointer - local.tee $3 local.get $1 i32.load local.tee $0 i32.store offset=4 - local.get $3 + global.get $~lib/memory/__stack_pointer local.get $0 local.get $1 i32.load offset=4 diff --git a/tests/compiler/std/date.optimized.wat b/tests/compiler/std/date.optimized.wat index 14e5886040..d2136f4d4e 100644 --- a/tests/compiler/std/date.optimized.wat +++ b/tests/compiler/std/date.optimized.wat @@ -265,13 +265,13 @@ i32.mul i64.extend_i32_s local.get $2 - local.get $1 i32.const -3 i32.const 9 local.get $1 i32.const 2 i32.gt_s select + local.get $1 i32.add i32.const 153 i32.mul @@ -462,8 +462,8 @@ (local $1 i32) (local $2 i32) (local $3 i32) - local.get $0 global.get $~lib/rt/itcms/iter + local.get $0 i32.eq if local.get $0 @@ -523,11 +523,11 @@ local.get $1 i32.store offset=8 local.get $1 - local.get $2 local.get $1 i32.load offset=4 i32.const 3 i32.and + local.get $2 i32.or i32.store offset=4 end @@ -541,10 +541,10 @@ if (result i32) i32.const 1 else - local.get $1 i32.const 7504 i32.load - i32.gt_u + local.get $1 + i32.lt_u if i32.const 1392 i32.const 1456 @@ -581,11 +581,11 @@ local.get $1 i32.store offset=8 local.get $1 - local.get $0 local.get $1 i32.load offset=4 i32.const 3 i32.and + local.get $0 i32.or i32.store offset=4 local.get $2 @@ -743,22 +743,22 @@ local.get $4 i32.eqz if - local.get $0 local.get $3 i32.const 2 i32.shl + local.get $0 i32.add - local.tee $1 + local.tee $4 i32.load offset=4 i32.const -2 local.get $2 i32.rotl i32.and - local.set $2 + local.set $1 + local.get $4 local.get $1 - local.get $2 i32.store offset=4 - local.get $2 + local.get $1 i32.eqz if local.get $0 @@ -1006,10 +1006,10 @@ i32.shl i32.or i32.store - local.get $0 local.get $5 i32.const 2 i32.shl + local.get $0 i32.add local.tee $0 local.get $0 @@ -1049,11 +1049,11 @@ i32.load offset=1568 local.tee $2 if + local.get $1 local.get $2 i32.const 4 i32.add - local.get $1 - i32.gt_u + i32.lt_u if i32.const 0 i32.const 1536 @@ -1077,11 +1077,11 @@ local.set $1 end else + local.get $1 local.get $0 i32.const 1572 i32.add - local.get $1 - i32.gt_u + i32.lt_u if i32.const 0 i32.const 1536 @@ -1368,13 +1368,13 @@ if local.get $0 i32.load offset=4 + local.tee $1 i32.const -4 i32.and global.set $~lib/rt/itcms/iter global.get $~lib/rt/itcms/white i32.eqz - local.get $0 - i32.load offset=4 + local.get $1 i32.const 3 i32.and i32.ne @@ -1461,10 +1461,10 @@ end global.get $~lib/rt/itcms/toSpace local.tee $0 - local.get $0 + local.tee $1 + local.get $1 i32.store offset=4 - global.get $~lib/rt/itcms/toSpace - local.tee $0 + local.get $0 local.get $0 i32.store offset=8 i32.const 0 @@ -1889,7 +1889,6 @@ i32.const 536870910 i32.lt_u if (result i32) - local.get $2 i32.const 1 i32.const 27 local.get $2 @@ -1898,6 +1897,7 @@ i32.shl i32.const 1 i32.sub + local.get $2 i32.add else local.get $2 @@ -1958,12 +1958,12 @@ unreachable end end - local.get $2 local.get $3 i32.load i32.const -4 i32.and - i32.gt_u + local.get $2 + i32.lt_u if i32.const 0 i32.const 1536 @@ -2001,10 +2001,10 @@ i32.ge_u if local.get $3 - local.get $2 local.get $4 i32.const 2 i32.and + local.get $2 i32.or i32.store local.get $2 @@ -2031,18 +2031,13 @@ local.get $3 i32.const 4 i32.add - local.tee $2 local.get $3 i32.load i32.const -4 i32.and i32.add + local.tee $2 local.get $2 - local.get $3 - i32.load - i32.const -4 - i32.and - i32.add i32.load i32.const -3 i32.and @@ -2059,19 +2054,19 @@ i32.load offset=8 local.set $2 local.get $3 - local.get $1 global.get $~lib/rt/itcms/white + local.get $1 i32.or i32.store offset=4 local.get $3 local.get $2 i32.store offset=8 local.get $2 - local.get $3 local.get $2 i32.load offset=4 i32.const 3 i32.and + local.get $3 i32.or i32.store offset=4 local.get $1 @@ -2139,11 +2134,11 @@ local.get $0 local.get $0 i64.load offset=16 + local.tee $2 local.get $1 i64.const 1000 i64.const 0 - local.get $0 - i64.load offset=16 + local.get $2 i64.const 1000 i64.rem_s local.tee $2 @@ -2163,11 +2158,11 @@ local.get $0 local.get $0 i64.load offset=16 + local.tee $2 local.get $1 i64.const 60000 i64.const 0 - local.get $0 - i64.load offset=16 + local.get $2 i64.const 60000 i64.rem_s local.tee $2 @@ -2191,11 +2186,11 @@ local.get $0 local.get $0 i64.load offset=16 + local.tee $2 local.get $1 i64.const 3600000 i64.const 0 - local.get $0 - i64.load offset=16 + local.get $2 i64.const 3600000 i64.rem_s local.tee $2 @@ -2219,11 +2214,11 @@ local.get $0 local.get $0 i64.load offset=16 + local.tee $2 local.get $1 i64.const 86400000 i64.const 0 - local.get $0 - i64.load offset=16 + local.get $2 i64.const 86400000 i64.rem_s local.tee $2 @@ -2287,13 +2282,13 @@ select i64.add local.get $1 - local.get $3 i32.const -3 i32.const 9 local.get $3 i32.const 2 i32.gt_s select + local.get $3 i32.add i32.const 153 i32.mul @@ -2377,13 +2372,13 @@ i64.add local.get $0 i32.load offset=8 - local.get $2 i32.const -3 i32.const 9 local.get $2 i32.const 2 i32.gt_s select + local.get $2 i32.add i32.const 153 i32.mul @@ -2465,13 +2460,13 @@ i64.add local.get $0 i32.load offset=8 - local.get $2 i32.const -3 i32.const 9 local.get $2 i32.const 2 i32.gt_s select + local.get $2 i32.add i32.const 153 i32.mul @@ -2624,13 +2619,13 @@ i32.const 10000 i32.div_u local.set $0 - local.get $1 local.get $2 i32.const 4 i32.sub local.tee $2 i32.const 1 i32.shl + local.get $1 i32.add local.get $4 i32.const 100 @@ -2659,13 +2654,13 @@ i32.const 100 i32.ge_u if - local.get $1 local.get $2 i32.const 2 i32.sub local.tee $2 i32.const 1 i32.shl + local.get $1 i32.add local.get $0 i32.const 100 @@ -2685,12 +2680,12 @@ i32.const 10 i32.ge_u if - local.get $1 local.get $2 i32.const 2 i32.sub i32.const 1 i32.shl + local.get $1 i32.add local.get $0 i32.const 2 @@ -2700,12 +2695,12 @@ i32.load i32.store else - local.get $1 local.get $2 i32.const 1 i32.sub i32.const 1 i32.shl + local.get $1 i32.add local.get $0 i32.const 48 @@ -2738,17 +2733,17 @@ select if local.get $0 - local.tee $3 + local.tee $4 i32.const 1 i32.add local.set $0 local.get $1 - local.tee $4 + local.tee $3 i32.const 1 i32.add local.set $1 - local.get $3 local.get $4 + local.get $3 i32.load8_u i32.store8 local.get $2 @@ -2894,19 +2889,19 @@ local.get $0 i32.const 2 i32.add - local.tee $3 + local.tee $4 i32.const 1 i32.add local.set $0 local.get $1 i32.const 2 i32.add - local.tee $4 + local.tee $3 i32.const 1 i32.add local.set $1 - local.get $3 local.get $4 + local.get $3 i32.load8_u i32.store8 local.get $2 @@ -2921,7 +2916,7 @@ local.get $0 local.get $1 i32.load offset=1 - local.tee $3 + local.tee $4 i32.const 8 i32.shl local.get $5 @@ -2932,10 +2927,10 @@ local.get $0 local.get $1 i32.load offset=5 - local.tee $4 + local.tee $3 i32.const 8 i32.shl - local.get $3 + local.get $4 i32.const 24 i32.shr_u i32.or @@ -2943,10 +2938,10 @@ local.get $0 local.get $1 i32.load offset=9 - local.tee $3 + local.tee $4 i32.const 8 i32.shl - local.get $4 + local.get $3 i32.const 24 i32.shr_u i32.or @@ -2957,7 +2952,7 @@ local.tee $5 i32.const 8 i32.shl - local.get $3 + local.get $4 i32.const 24 i32.shr_u i32.or @@ -3012,7 +3007,7 @@ local.get $0 local.get $1 i32.load offset=2 - local.tee $3 + local.tee $4 i32.const 16 i32.shl local.get $5 @@ -3023,10 +3018,10 @@ local.get $0 local.get $1 i32.load offset=6 - local.tee $4 + local.tee $3 i32.const 16 i32.shl - local.get $3 + local.get $4 i32.const 16 i32.shr_u i32.or @@ -3034,10 +3029,10 @@ local.get $0 local.get $1 i32.load offset=10 - local.tee $3 + local.tee $4 i32.const 16 i32.shl - local.get $4 + local.get $3 i32.const 16 i32.shr_u i32.or @@ -3048,7 +3043,7 @@ local.tee $5 i32.const 16 i32.shl - local.get $3 + local.get $4 i32.const 16 i32.shr_u i32.or @@ -3074,17 +3069,17 @@ i32.load local.set $5 local.get $0 - local.tee $3 + local.tee $4 i32.const 1 i32.add local.set $0 local.get $1 - local.tee $4 + local.tee $3 i32.const 1 i32.add local.set $1 - local.get $3 local.get $4 + local.get $3 i32.load8_u i32.store8 local.get $2 @@ -3099,7 +3094,7 @@ local.get $0 local.get $1 i32.load offset=3 - local.tee $3 + local.tee $4 i32.const 24 i32.shl local.get $5 @@ -3110,10 +3105,10 @@ local.get $0 local.get $1 i32.load offset=7 - local.tee $4 + local.tee $3 i32.const 24 i32.shl - local.get $3 + local.get $4 i32.const 8 i32.shr_u i32.or @@ -3121,10 +3116,10 @@ local.get $0 local.get $1 i32.load offset=11 - local.tee $3 + local.tee $4 i32.const 24 i32.shl - local.get $4 + local.get $3 i32.const 8 i32.shr_u i32.or @@ -3135,7 +3130,7 @@ local.tee $5 i32.const 24 i32.shl - local.get $3 + local.get $4 i32.const 8 i32.shr_u i32.or @@ -3166,222 +3161,206 @@ i32.load8_u i32.store8 local.get $0 - local.tee $4 + local.get $1 + i32.load8_u offset=1 + i32.store8 offset=1 + local.get $0 i32.const 2 i32.add - local.set $0 + local.tee $4 local.get $1 + i32.const 2 + i32.add local.tee $3 + i32.load8_u + i32.store8 + local.get $3 + local.tee $0 i32.const 2 i32.add - local.set $1 + local.set $3 local.get $4 - local.get $3 + local.get $0 i32.load8_u offset=1 i32.store8 offset=1 - local.get $0 - local.get $1 + local.get $4 + i32.const 2 + i32.add + local.tee $1 + local.get $3 i32.load8_u i32.store8 - local.get $0 + local.get $1 local.tee $4 i32.const 2 i32.add - local.set $0 - local.get $1 - local.tee $3 + local.set $1 + local.get $3 + local.tee $0 i32.const 2 i32.add - local.set $1 + local.set $3 local.get $4 - local.get $3 + local.get $0 i32.load8_u offset=1 i32.store8 offset=1 - local.get $0 local.get $1 + local.get $3 i32.load8_u i32.store8 - local.get $0 + local.get $1 local.tee $4 i32.const 2 i32.add - local.set $0 - local.get $1 - local.tee $3 + local.set $1 + local.get $3 + local.tee $0 i32.const 2 i32.add - local.set $1 + local.set $3 local.get $4 - local.get $3 + local.get $0 i32.load8_u offset=1 i32.store8 offset=1 - local.get $0 local.get $1 + local.get $3 i32.load8_u i32.store8 - local.get $0 + local.get $1 local.tee $4 i32.const 2 i32.add - local.set $0 - local.get $1 - local.tee $3 + local.set $1 + local.get $3 + local.tee $0 i32.const 2 i32.add - local.set $1 + local.set $3 local.get $4 - local.get $3 + local.get $0 i32.load8_u offset=1 i32.store8 offset=1 - local.get $0 local.get $1 + local.get $3 i32.load8_u i32.store8 - local.get $0 + local.get $1 local.tee $4 i32.const 2 i32.add - local.set $0 - local.get $1 - local.tee $3 + local.set $1 + local.get $3 + local.tee $0 i32.const 2 i32.add - local.set $1 + local.set $3 local.get $4 - local.get $3 + local.get $0 i32.load8_u offset=1 i32.store8 offset=1 - local.get $0 local.get $1 + local.get $3 i32.load8_u i32.store8 - local.get $0 + local.get $1 local.tee $4 i32.const 2 i32.add - local.set $0 - local.get $1 - local.tee $3 + local.set $1 + local.get $3 + local.tee $0 i32.const 2 i32.add - local.set $1 + local.set $3 local.get $4 - local.get $3 + local.get $0 i32.load8_u offset=1 i32.store8 offset=1 - local.get $0 local.get $1 + local.get $3 i32.load8_u i32.store8 - local.get $0 - local.tee $4 + local.get $1 i32.const 2 i32.add local.set $0 local.get $1 - local.tee $3 - i32.const 2 - i32.add - local.set $1 - local.get $4 local.get $3 i32.load8_u offset=1 i32.store8 offset=1 + local.get $3 + i32.const 2 + i32.add + local.set $1 + end + local.get $2 + i32.const 8 + i32.and + if local.get $0 local.get $1 i32.load8_u i32.store8 local.get $0 - local.tee $4 - i32.const 2 - i32.add - local.set $0 local.get $1 - local.tee $3 - i32.const 2 - i32.add - local.set $1 - local.get $4 - local.get $3 i32.load8_u offset=1 i32.store8 offset=1 - end - local.get $2 - i32.const 8 - i32.and - if local.get $0 - local.get $1 - i32.load8_u - i32.store8 - local.get $0 - local.tee $4 i32.const 2 i32.add - local.set $0 + local.tee $4 local.get $1 - local.tee $3 i32.const 2 i32.add - local.set $1 - local.get $4 - local.get $3 - i32.load8_u offset=1 - i32.store8 offset=1 - local.get $0 - local.get $1 + local.tee $3 i32.load8_u i32.store8 - local.get $0 - local.tee $4 - i32.const 2 - i32.add - local.set $0 - local.get $1 - local.tee $3 + local.get $3 + local.tee $0 i32.const 2 i32.add - local.set $1 + local.set $3 local.get $4 - local.get $3 + local.get $0 i32.load8_u offset=1 i32.store8 offset=1 - local.get $0 - local.get $1 + local.get $4 + i32.const 2 + i32.add + local.tee $1 + local.get $3 i32.load8_u i32.store8 - local.get $0 + local.get $1 local.tee $4 i32.const 2 i32.add - local.set $0 - local.get $1 - local.tee $3 + local.set $1 + local.get $3 + local.tee $0 i32.const 2 i32.add - local.set $1 + local.set $3 local.get $4 - local.get $3 + local.get $0 i32.load8_u offset=1 i32.store8 offset=1 - local.get $0 local.get $1 + local.get $3 i32.load8_u i32.store8 - local.get $0 - local.tee $4 + local.get $1 i32.const 2 i32.add local.set $0 local.get $1 - local.tee $3 - i32.const 2 - i32.add - local.set $1 - local.get $4 local.get $3 i32.load8_u offset=1 i32.store8 offset=1 + local.get $3 + i32.const 2 + i32.add + local.set $1 end local.get $2 i32.const 4 @@ -3392,30 +3371,20 @@ i32.load8_u i32.store8 local.get $0 - local.tee $4 - i32.const 2 - i32.add - local.set $0 local.get $1 - local.tee $3 - i32.const 2 - i32.add - local.set $1 - local.get $4 - local.get $3 i32.load8_u offset=1 i32.store8 offset=1 local.get $0 - local.get $1 - i32.load8_u - i32.store8 - local.get $0 - local.tee $4 i32.const 2 i32.add - local.set $0 + local.tee $4 local.get $1 + i32.const 2 + i32.add local.tee $3 + i32.load8_u + i32.store8 + local.get $3 i32.const 2 i32.add local.set $1 @@ -3423,6 +3392,10 @@ local.get $3 i32.load8_u offset=1 i32.store8 offset=1 + local.get $4 + i32.const 2 + i32.add + local.set $0 end local.get $2 i32.const 2 @@ -3726,10 +3699,10 @@ ) (func $~lib/util/string/compareImpl (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (result i32) (local $4 i32) - local.get $0 local.get $1 i32.const 1 i32.shl + local.get $0 i32.add local.tee $1 i32.const 7 @@ -4425,8 +4398,8 @@ return end local.get $0 - local.get $0 local.tee $1 + local.get $0 i32.const 20 i32.sub i32.load offset=16 @@ -4508,7 +4481,6 @@ (local $2 i32) (local $3 i32) (local $4 i64) - (local $5 i32) global.get $~lib/memory/__stack_pointer i32.const 112 i32.sub @@ -4589,20 +4561,19 @@ local.tee $2 i32.store local.get $1 + local.get $1 i32.const 31 i32.shr_s - local.tee $5 - local.get $1 - local.get $5 + local.tee $1 i32.add + local.get $1 i32.xor call $~lib/number/I32#toString local.set $1 global.get $~lib/memory/__stack_pointer - local.tee $5 local.get $1 i32.store offset=8 - local.get $5 + global.get $~lib/memory/__stack_pointer i32.const 1872 i32.store offset=12 local.get $1 @@ -4624,10 +4595,9 @@ call $~lib/number/I32#toString local.set $1 global.get $~lib/memory/__stack_pointer - local.tee $3 local.get $1 i32.store - local.get $3 + global.get $~lib/memory/__stack_pointer i32.const 1872 i32.store offset=8 local.get $1 @@ -4651,10 +4621,9 @@ call $~lib/number/I32#toString local.set $2 global.get $~lib/memory/__stack_pointer - local.tee $3 local.get $2 i32.store offset=104 - local.get $3 + global.get $~lib/memory/__stack_pointer i32.const 1872 i32.store offset=108 local.get $2 @@ -4669,10 +4638,9 @@ call $~lib/string/String.__concat local.set $1 global.get $~lib/memory/__stack_pointer - local.tee $2 local.get $1 i32.store offset=84 - local.get $2 + global.get $~lib/memory/__stack_pointer i32.const 1616 i32.store offset=88 local.get $1 @@ -4687,10 +4655,9 @@ call $~lib/number/I32#toString local.set $2 global.get $~lib/memory/__stack_pointer - local.tee $3 local.get $2 i32.store offset=84 - local.get $3 + global.get $~lib/memory/__stack_pointer i32.const 1872 i32.store offset=92 local.get $2 @@ -4705,10 +4672,9 @@ call $~lib/string/String.__concat local.set $1 global.get $~lib/memory/__stack_pointer - local.tee $2 local.get $1 i32.store offset=68 - local.get $2 + global.get $~lib/memory/__stack_pointer i32.const 3488 i32.store offset=72 local.get $1 @@ -4754,10 +4720,9 @@ call $~lib/string/String.__concat local.set $1 global.get $~lib/memory/__stack_pointer - local.tee $2 local.get $1 i32.store offset=52 - local.get $2 + global.get $~lib/memory/__stack_pointer i32.const 3520 i32.store offset=56 local.get $1 @@ -4803,10 +4768,9 @@ call $~lib/string/String.__concat local.set $1 global.get $~lib/memory/__stack_pointer - local.tee $2 local.get $1 i32.store offset=36 - local.get $2 + global.get $~lib/memory/__stack_pointer i32.const 3520 i32.store offset=40 local.get $1 @@ -4852,10 +4816,9 @@ call $~lib/string/String.__concat local.set $1 global.get $~lib/memory/__stack_pointer - local.tee $2 local.get $1 i32.store offset=12 - local.get $2 + global.get $~lib/memory/__stack_pointer i32.const 3552 i32.store offset=24 local.get $1 @@ -4899,10 +4862,9 @@ call $~lib/string/String.__concat local.set $0 global.get $~lib/memory/__stack_pointer - local.tee $1 local.get $0 i32.store - local.get $1 + global.get $~lib/memory/__stack_pointer i32.const 3584 i32.store offset=4 local.get $0 @@ -4921,7 +4883,6 @@ (local $5 i32) (local $6 i32) (local $7 i32) - (local $8 i32) global.get $~lib/memory/__stack_pointer i32.const 44 i32.sub @@ -5040,20 +5001,19 @@ local.set $2 global.get $~lib/memory/__stack_pointer local.get $4 + local.get $4 i32.const 31 i32.shr_s local.tee $0 - local.get $0 - local.get $4 i32.add + local.get $0 i32.xor call $~lib/number/I32#toString local.set $0 global.get $~lib/memory/__stack_pointer - local.tee $8 local.get $0 i32.store offset=8 - local.get $8 + global.get $~lib/memory/__stack_pointer i32.const 1872 i32.store offset=12 local.get $0 @@ -5078,21 +5038,21 @@ end global.get $~lib/memory/__stack_pointer local.tee $4 - local.get $3 local.get $2 i32.const 2 i32.shl + local.get $3 i32.add i32.load local.tee $2 i32.store offset=32 local.get $4 - local.get $1 local.get $6 i32.const 1 i32.sub i32.const 2 i32.shl + local.get $1 i32.add i32.load local.tee $1 @@ -5108,10 +5068,9 @@ call $~lib/number/I32#toString local.set $2 global.get $~lib/memory/__stack_pointer - local.tee $3 local.get $2 i32.store offset=32 - local.get $3 + global.get $~lib/memory/__stack_pointer i32.const 1872 i32.store offset=40 local.get $2 @@ -5126,10 +5085,9 @@ call $~lib/string/String.__concat local.set $1 global.get $~lib/memory/__stack_pointer - local.tee $2 local.get $1 i32.store offset=20 - local.get $2 + global.get $~lib/memory/__stack_pointer i32.const 5072 i32.store offset=12 local.get $1 @@ -5212,10 +5170,9 @@ call $~lib/string/String#padStart local.set $1 global.get $~lib/memory/__stack_pointer - local.tee $2 local.get $1 i32.store offset=24 - local.get $2 + global.get $~lib/memory/__stack_pointer i32.const 3520 i32.store offset=28 local.get $1 @@ -5261,10 +5218,9 @@ call $~lib/string/String.__concat local.set $1 global.get $~lib/memory/__stack_pointer - local.tee $2 local.get $1 i32.store offset=8 - local.get $2 + global.get $~lib/memory/__stack_pointer i32.const 3520 i32.store offset=12 local.get $1 @@ -5318,12 +5274,11 @@ (local $2 i32) (local $3 i32) (local $4 i32) - (local $5 i32) - (local $6 i64) + (local $5 i64) + (local $6 i32) (local $7 i32) (local $8 i32) (local $9 i32) - (local $10 i32) global.get $~lib/memory/__stack_pointer i32.const 96 i32.sub @@ -5379,12 +5334,12 @@ i32.const 28 i32.const 4 call $~lib/rt/itcms/__new - local.tee $2 + local.tee $3 i32.const 5616 i32.const 28 call $~lib/memory/memory.copy local.get $1 - local.get $2 + local.get $3 i32.store global.get $~lib/memory/__stack_pointer i32.const 48 @@ -5398,21 +5353,21 @@ i32.store offset=4 local.get $0 i32.load - local.tee $7 + local.tee $6 local.get $0 i32.load offset=4 - local.tee $8 + local.tee $7 i32.const 3 i32.lt_s i32.sub local.tee $4 i32.const 0 i32.ge_s - local.set $3 + local.set $2 local.get $0 i32.load offset=8 - local.tee $9 - local.get $8 + local.tee $8 + local.get $7 i32.const 1579 i32.add i32.load8_u @@ -5421,7 +5376,7 @@ local.get $4 i32.const 3 i32.sub - local.get $3 + local.get $2 select i32.const 4 i32.div_s @@ -5429,7 +5384,7 @@ local.get $4 i32.const 99 i32.sub - local.get $3 + local.get $2 select i32.const 100 i32.div_s @@ -5438,7 +5393,7 @@ local.get $4 i32.const 399 i32.sub - local.get $3 + local.get $2 select i32.const 400 i32.div_s @@ -5448,73 +5403,71 @@ i32.add i32.const 7 i32.rem_s - local.tee $3 + local.tee $2 i32.const 7 i32.const 0 - local.get $3 + local.get $2 i32.const 0 i32.lt_s select i32.add - local.set $10 + local.set $9 global.get $~lib/memory/__stack_pointer - local.get $7 + local.get $6 + local.get $6 i32.const 31 i32.shr_s - local.tee $3 - local.get $3 - local.get $7 + local.tee $2 i32.add + local.get $2 i32.xor call $~lib/number/I32#toString - local.set $5 + local.set $2 global.get $~lib/memory/__stack_pointer - local.tee $3 - local.get $5 + local.get $2 i32.store offset=8 - local.get $3 + global.get $~lib/memory/__stack_pointer i32.const 1872 i32.store offset=12 - local.get $5 + local.get $2 i32.const 4 call $~lib/string/String#padStart - local.tee $5 + local.tee $4 i32.store offset=16 - local.get $7 + local.get $6 i32.const 0 i32.lt_s if global.get $~lib/memory/__stack_pointer - local.tee $3 + local.tee $2 i32.const 1616 i32.store offset=8 - local.get $3 + local.get $2 i32.const 1616 - local.get $5 + local.get $4 call $~lib/string/String.__concat - local.tee $5 + local.tee $4 i32.store offset=16 end global.get $~lib/memory/__stack_pointer - local.get $2 - local.get $10 + local.get $9 i32.const 2 i32.shl + local.get $3 i32.add i32.load local.tee $3 i32.store offset=80 - local.get $9 + local.get $8 call $~lib/number/I32#toString - local.set $4 + local.set $2 global.get $~lib/memory/__stack_pointer - local.tee $2 - local.get $4 - i32.store offset=88 local.get $2 + i32.store offset=88 + global.get $~lib/memory/__stack_pointer i32.const 1872 i32.store offset=92 - local.get $4 + local.get $2 i32.const 2 call $~lib/string/String#padStart local.set $2 @@ -5526,16 +5479,15 @@ call $~lib/string/String.__concat local.set $3 global.get $~lib/memory/__stack_pointer - local.tee $2 local.get $3 i32.store offset=72 - local.get $2 - local.get $1 - local.get $8 + global.get $~lib/memory/__stack_pointer + local.get $7 i32.const 1 i32.sub i32.const 2 i32.shl + local.get $1 i32.add i32.load local.tee $1 @@ -5548,31 +5500,30 @@ local.get $1 i32.store offset=68 local.get $1 - local.get $5 + local.get $4 call $~lib/string/String.__concat - local.set $2 + local.set $1 global.get $~lib/memory/__stack_pointer - local.tee $1 - local.get $2 - i32.store offset=60 local.get $1 + i32.store offset=60 + global.get $~lib/memory/__stack_pointer i32.const 5072 i32.store offset=64 - local.get $2 + local.get $1 i32.const 5072 call $~lib/string/String.__concat - local.set $3 + local.set $2 global.get $~lib/memory/__stack_pointer - local.get $3 + local.get $2 i32.store offset=52 local.get $0 i64.load offset=16 i64.const 86400000 i64.rem_s - local.tee $6 + local.tee $5 i64.const 86400000 i64.const 0 - local.get $6 + local.get $5 i64.const 0 i64.lt_s select @@ -5581,47 +5532,46 @@ i32.const 3600000 i32.div_s call $~lib/number/I32#toString - local.set $2 + local.set $3 global.get $~lib/memory/__stack_pointer local.tee $1 - local.get $2 + local.get $3 i32.store offset=60 local.get $1 i32.const 1872 i32.store offset=68 - local.get $2 + local.get $3 i32.const 2 call $~lib/string/String#padStart local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 i32.store offset=56 - local.get $3 + local.get $2 local.get $1 call $~lib/string/String.__concat - local.set $2 + local.set $1 global.get $~lib/memory/__stack_pointer - local.tee $1 - local.get $2 - i32.store offset=44 local.get $1 + i32.store offset=44 + global.get $~lib/memory/__stack_pointer i32.const 3520 i32.store offset=48 - local.get $2 + local.get $1 i32.const 3520 call $~lib/string/String.__concat - local.set $3 + local.set $2 global.get $~lib/memory/__stack_pointer - local.get $3 + local.get $2 i32.store offset=36 local.get $0 i64.load offset=16 i64.const 3600000 i64.rem_s - local.tee $6 + local.tee $5 i64.const 3600000 i64.const 0 - local.get $6 + local.get $5 i64.const 0 i64.lt_s select @@ -5630,47 +5580,46 @@ i32.const 60000 i32.div_s call $~lib/number/I32#toString - local.set $2 + local.set $3 global.get $~lib/memory/__stack_pointer local.tee $1 - local.get $2 + local.get $3 i32.store offset=44 local.get $1 i32.const 1872 i32.store offset=52 - local.get $2 + local.get $3 i32.const 2 call $~lib/string/String#padStart local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 i32.store offset=40 - local.get $3 + local.get $2 local.get $1 call $~lib/string/String.__concat - local.set $2 + local.set $1 global.get $~lib/memory/__stack_pointer - local.tee $1 - local.get $2 - i32.store offset=28 local.get $1 + i32.store offset=28 + global.get $~lib/memory/__stack_pointer i32.const 3520 i32.store offset=32 - local.get $2 + local.get $1 i32.const 3520 call $~lib/string/String.__concat - local.set $2 + local.set $3 global.get $~lib/memory/__stack_pointer - local.get $2 + local.get $3 i32.store offset=12 local.get $0 i64.load offset=16 i64.const 60000 i64.rem_s - local.tee $6 + local.tee $5 i64.const 60000 i64.const 0 - local.get $6 + local.get $5 i64.const 0 i64.lt_s select @@ -5694,18 +5643,17 @@ global.get $~lib/memory/__stack_pointer local.get $0 i32.store offset=24 - local.get $2 + local.get $3 local.get $0 call $~lib/string/String.__concat - local.set $1 + local.set $0 global.get $~lib/memory/__stack_pointer - local.tee $0 - local.get $1 - i32.store offset=8 local.get $0 + i32.store offset=8 + global.get $~lib/memory/__stack_pointer i32.const 6128 i32.store offset=20 - local.get $1 + local.get $0 i32.const 6128 call $~lib/string/String.__concat global.get $~lib/memory/__stack_pointer @@ -5836,17 +5784,17 @@ local.tee $4 i32.store offset=8 local.get $4 - local.get $0 local.get $3 i32.const 1 i32.shl + local.get $0 i32.add i32.load16_u i32.store16 - local.get $5 local.get $3 i32.const 2 i32.shl + local.get $5 i32.add local.get $4 i32.store @@ -5894,10 +5842,10 @@ local.tee $6 i32.store offset=16 local.get $6 - local.get $0 local.get $4 i32.const 1 i32.shl + local.get $0 i32.add local.get $8 call $~lib/memory/memory.copy @@ -5951,10 +5899,10 @@ local.tee $1 i32.store offset=4 local.get $1 - local.get $0 local.get $4 i32.const 1 i32.shl + local.get $0 i32.add local.get $2 call $~lib/memory/memory.copy @@ -6078,10 +6026,9 @@ local.tee $0 i32.store offset=8 global.get $~lib/memory/__stack_pointer - local.tee $2 i32.const 3520 i32.store - local.get $2 + global.get $~lib/memory/__stack_pointer local.get $0 i32.const 3520 call $~lib/string/String#split @@ -6244,8 +6191,8 @@ ) (func $start:std/date (local $0 i32) - (local $1 i32) - (local $2 i64) + (local $1 i64) + (local $2 i32) (local $3 i32) (local $4 i32) global.get $~lib/memory/__stack_pointer @@ -6288,15 +6235,15 @@ i32.const 0 i32.const 0 call $~lib/date/epochMillis - local.tee $2 + local.tee $1 i64.const -8640000000000000 i64.lt_s - local.get $2 + local.get $1 i64.const 8640000000000000 i64.gt_s i32.or br_if $folding-inner0 - local.get $2 + local.get $1 i64.eqz i32.eqz if @@ -6315,15 +6262,15 @@ i32.const 0 i32.const 0 call $~lib/date/epochMillis - local.tee $2 + local.tee $1 i64.const -8640000000000000 i64.lt_s - local.get $2 + local.get $1 i64.const 8640000000000000 i64.gt_s i32.or br_if $folding-inner0 - local.get $2 + local.get $1 i64.eqz i32.eqz if @@ -6342,15 +6289,15 @@ i32.const 0 i32.const 0 call $~lib/date/epochMillis - local.tee $2 + local.tee $1 i64.const -8640000000000000 i64.lt_s - local.get $2 + local.get $1 i64.const 8640000000000000 i64.gt_s i32.or br_if $folding-inner0 - local.get $2 + local.get $1 i64.eqz i32.eqz if @@ -6369,15 +6316,15 @@ i32.const 0 i32.const 0 call $~lib/date/epochMillis - local.tee $2 + local.tee $1 i64.const -8640000000000000 i64.lt_s - local.get $2 + local.get $1 i64.const 8640000000000000 i64.gt_s i32.or br_if $folding-inner0 - local.get $2 + local.get $1 i64.const 631152000000 i64.ne if @@ -6396,15 +6343,15 @@ i32.const 0 i32.const 0 call $~lib/date/epochMillis - local.tee $2 + local.tee $1 i64.const -8640000000000000 i64.lt_s - local.get $2 + local.get $1 i64.const 8640000000000000 i64.gt_s i32.or br_if $folding-inner0 - local.get $2 + local.get $1 i64.const -65007360000000 i64.ne if @@ -6423,15 +6370,15 @@ i32.const 0 i32.const 1 call $~lib/date/epochMillis - local.tee $2 + local.tee $1 i64.const -8640000000000000 i64.lt_s - local.get $2 + local.get $1 i64.const 8640000000000000 i64.gt_s i32.or br_if $folding-inner0 - local.get $2 + local.get $1 i64.const 1541847600001 i64.ne if @@ -6450,15 +6397,15 @@ i32.const 0 i32.const 0 call $~lib/date/epochMillis - local.tee $2 + local.tee $1 i64.const -8640000000000000 i64.lt_s - local.get $2 + local.get $1 i64.const 8640000000000000 i64.gt_s i32.or br_if $folding-inner0 - local.get $2 + local.get $1 i64.const 8640000000000000 i64.ne if @@ -6578,10 +6525,10 @@ i64.load offset=16 i64.const 86400000 i64.rem_s - local.tee $2 + local.tee $1 i64.const 86400000 i64.const 0 - local.get $2 + local.get $1 i64.const 0 i64.lt_s select @@ -6603,10 +6550,10 @@ i64.load offset=16 i64.const 3600000 i64.rem_s - local.tee $2 + local.tee $1 i64.const 3600000 i64.const 0 - local.get $2 + local.get $1 i64.const 0 i64.lt_s select @@ -6628,10 +6575,10 @@ i64.load offset=16 i64.const 60000 i64.rem_s - local.tee $2 + local.tee $1 i64.const 60000 i64.const 0 - local.get $2 + local.get $1 i64.const 0 i64.lt_s select @@ -6653,10 +6600,10 @@ i64.load offset=16 i64.const 1000 i64.rem_s - local.tee $2 + local.tee $1 i64.const 1000 i64.const 0 - local.get $2 + local.get $1 i64.const 0 i64.lt_s select @@ -6717,10 +6664,10 @@ i64.load offset=16 i64.const 86400000 i64.rem_s - local.tee $2 + local.tee $1 i64.const 86400000 i64.const 0 - local.get $2 + local.get $1 i64.const 0 i64.lt_s select @@ -6742,10 +6689,10 @@ i64.load offset=16 i64.const 3600000 i64.rem_s - local.tee $2 + local.tee $1 i64.const 3600000 i64.const 0 - local.get $2 + local.get $1 i64.const 0 i64.lt_s select @@ -6767,10 +6714,10 @@ i64.load offset=16 i64.const 60000 i64.rem_s - local.tee $2 + local.tee $1 i64.const 60000 i64.const 0 - local.get $2 + local.get $1 i64.const 0 i64.lt_s select @@ -6792,10 +6739,10 @@ i64.load offset=16 i64.const 1000 i64.rem_s - local.tee $2 + local.tee $1 i64.const 1000 i64.const 0 - local.get $2 + local.get $1 i64.const 0 i64.lt_s select @@ -6820,10 +6767,10 @@ i64.load offset=16 i64.const 1000 i64.rem_s - local.tee $2 + local.tee $1 i64.const 1000 i64.const 0 - local.get $2 + local.get $1 i64.const 0 i64.lt_s select @@ -6846,10 +6793,10 @@ i64.load offset=16 i64.const 1000 i64.rem_s - local.tee $2 + local.tee $1 i64.const 1000 i64.const 0 - local.get $2 + local.get $1 i64.const 0 i64.lt_s select @@ -6872,10 +6819,10 @@ i64.load offset=16 i64.const 1000 i64.rem_s - local.tee $2 + local.tee $1 i64.const 1000 i64.const 0 - local.get $2 + local.get $1 i64.const 0 i64.lt_s select @@ -6928,10 +6875,10 @@ i64.load offset=16 i64.const 1000 i64.rem_s - local.tee $2 + local.tee $1 i64.const 1000 i64.const 0 - local.get $2 + local.get $1 i64.const 0 i64.lt_s select @@ -6964,10 +6911,10 @@ i64.load offset=16 i64.const 1000 i64.rem_s - local.tee $2 + local.tee $1 i64.const 1000 i64.const 0 - local.get $2 + local.get $1 i64.const 0 i64.lt_s select @@ -7002,10 +6949,10 @@ i64.load offset=16 i64.const 60000 i64.rem_s - local.tee $2 + local.tee $1 i64.const 60000 i64.const 0 - local.get $2 + local.get $1 i64.const 0 i64.lt_s select @@ -7030,10 +6977,10 @@ i64.load offset=16 i64.const 60000 i64.rem_s - local.tee $2 + local.tee $1 i64.const 60000 i64.const 0 - local.get $2 + local.get $1 i64.const 0 i64.lt_s select @@ -7058,10 +7005,10 @@ i64.load offset=16 i64.const 60000 i64.rem_s - local.tee $2 + local.tee $1 i64.const 60000 i64.const 0 - local.get $2 + local.get $1 i64.const 0 i64.lt_s select @@ -7118,10 +7065,10 @@ i64.load offset=16 i64.const 3600000 i64.rem_s - local.tee $2 + local.tee $1 i64.const 3600000 i64.const 0 - local.get $2 + local.get $1 i64.const 0 i64.lt_s select @@ -7146,10 +7093,10 @@ i64.load offset=16 i64.const 3600000 i64.rem_s - local.tee $2 + local.tee $1 i64.const 3600000 i64.const 0 - local.get $2 + local.get $1 i64.const 0 i64.lt_s select @@ -7174,10 +7121,10 @@ i64.load offset=16 i64.const 3600000 i64.rem_s - local.tee $2 + local.tee $1 i64.const 3600000 i64.const 0 - local.get $2 + local.get $1 i64.const 0 i64.lt_s select @@ -7234,10 +7181,10 @@ i64.load offset=16 i64.const 86400000 i64.rem_s - local.tee $2 + local.tee $1 i64.const 86400000 i64.const 0 - local.get $2 + local.get $1 i64.const 0 i64.lt_s select @@ -7262,10 +7209,10 @@ i64.load offset=16 i64.const 86400000 i64.rem_s - local.tee $2 + local.tee $1 i64.const 86400000 i64.const 0 - local.get $2 + local.get $1 i64.const 0 i64.lt_s select @@ -7290,10 +7237,10 @@ i64.load offset=16 i64.const 86400000 i64.rem_s - local.tee $2 + local.tee $1 i64.const 86400000 i64.const 0 - local.get $2 + local.get $1 i64.const 0 i64.lt_s select @@ -7455,10 +7402,10 @@ i64.load offset=16 i64.const 3600000 i64.rem_s - local.tee $2 + local.tee $1 i64.const 3600000 i64.const 0 - local.get $2 + local.get $1 i64.const 0 i64.lt_s select @@ -7480,10 +7427,10 @@ i64.load offset=16 i64.const 60000 i64.rem_s - local.tee $2 + local.tee $1 i64.const 60000 i64.const 0 - local.get $2 + local.get $1 i64.const 0 i64.lt_s select @@ -7505,10 +7452,10 @@ i64.load offset=16 i64.const 1000 i64.rem_s - local.tee $2 + local.tee $1 i64.const 1000 i64.const 0 - local.get $2 + local.get $1 i64.const 0 i64.lt_s select @@ -7662,11 +7609,11 @@ global.get $~lib/memory/__stack_pointer i64.const 1467763200000 call $~lib/date/Date#constructor - local.tee $1 + local.tee $2 i32.store offset=4 - local.get $1 + local.get $2 i32.load - local.get $1 + local.get $2 i32.load offset=4 local.tee $4 i32.const 3 @@ -7676,7 +7623,7 @@ i32.const 0 i32.ge_s local.set $3 - local.get $1 + local.get $2 i32.load offset=8 local.get $4 i32.const 1579 @@ -7735,11 +7682,11 @@ global.get $~lib/memory/__stack_pointer i64.const 1467763199999 call $~lib/date/Date#constructor - local.tee $1 + local.tee $2 i32.store offset=8 - local.get $1 + local.get $2 i32.load - local.get $1 + local.get $2 i32.load offset=4 local.tee $4 i32.const 3 @@ -7749,7 +7696,7 @@ i32.const 0 i32.ge_s local.set $3 - local.get $1 + local.get $2 i32.load offset=8 local.get $4 i32.const 1579 @@ -7808,11 +7755,11 @@ global.get $~lib/memory/__stack_pointer i64.const 1467849599999 call $~lib/date/Date#constructor - local.tee $1 + local.tee $2 i32.store offset=12 - local.get $1 + local.get $2 i32.load - local.get $1 + local.get $2 i32.load offset=4 local.tee $4 i32.const 3 @@ -7822,7 +7769,7 @@ i32.const 0 i32.ge_s local.set $3 - local.get $1 + local.get $2 i32.load offset=8 local.get $4 i32.const 1579 @@ -7881,11 +7828,11 @@ global.get $~lib/memory/__stack_pointer i64.const 1467849600000 call $~lib/date/Date#constructor - local.tee $1 + local.tee $2 i32.store offset=16 - local.get $1 + local.get $2 i32.load - local.get $1 + local.get $2 i32.load offset=4 local.tee $4 i32.const 3 @@ -7895,7 +7842,7 @@ i32.const 0 i32.ge_s local.set $3 - local.get $1 + local.get $2 i32.load offset=8 local.get $4 i32.const 1579 @@ -7954,11 +7901,11 @@ global.get $~lib/memory/__stack_pointer i64.const 1468022400000 call $~lib/date/Date#constructor - local.tee $1 + local.tee $2 i32.store offset=20 - local.get $1 + local.get $2 i32.load - local.get $1 + local.get $2 i32.load offset=4 local.tee $4 i32.const 3 @@ -7968,7 +7915,7 @@ i32.const 0 i32.ge_s local.set $3 - local.get $1 + local.get $2 i32.load offset=8 local.get $4 i32.const 1579 @@ -8027,11 +7974,11 @@ global.get $~lib/memory/__stack_pointer i64.const 1468022399999 call $~lib/date/Date#constructor - local.tee $1 + local.tee $2 i32.store offset=24 - local.get $1 + local.get $2 i32.load - local.get $1 + local.get $2 i32.load offset=4 local.tee $4 i32.const 3 @@ -8041,7 +7988,7 @@ i32.const 0 i32.ge_s local.set $3 - local.get $1 + local.get $2 i32.load offset=8 local.get $4 i32.const 1579 @@ -8100,11 +8047,11 @@ global.get $~lib/memory/__stack_pointer i64.const 1468108799999 call $~lib/date/Date#constructor - local.tee $1 + local.tee $2 i32.store - local.get $1 + local.get $2 i32.load - local.get $1 + local.get $2 i32.load offset=4 local.tee $4 i32.const 3 @@ -8114,7 +8061,7 @@ i32.const 0 i32.ge_s local.set $3 - local.get $1 + local.get $2 i32.load offset=8 local.get $4 i32.const 1579 @@ -8173,11 +8120,11 @@ global.get $~lib/memory/__stack_pointer i64.const 1468108800000 call $~lib/date/Date#constructor - local.tee $1 + local.tee $2 i32.store offset=4 - local.get $1 + local.get $2 i32.load - local.get $1 + local.get $2 i32.load offset=4 local.tee $4 i32.const 3 @@ -8187,7 +8134,7 @@ i32.const 0 i32.ge_s local.set $3 - local.get $1 + local.get $2 i32.load offset=8 local.get $4 i32.const 1579 @@ -8419,10 +8366,9 @@ call $~lib/date/Date#toISOString local.set $0 global.get $~lib/memory/__stack_pointer - local.tee $1 local.get $0 i32.store offset=28 - local.get $1 + global.get $~lib/memory/__stack_pointer i32.const 3616 i32.store offset=32 local.get $0 @@ -8446,10 +8392,9 @@ call $~lib/date/Date#toISOString local.set $0 global.get $~lib/memory/__stack_pointer - local.tee $1 local.get $0 i32.store offset=28 - local.get $1 + global.get $~lib/memory/__stack_pointer i32.const 3696 i32.store offset=32 local.get $0 @@ -8473,10 +8418,9 @@ call $~lib/date/Date#toISOString local.set $0 global.get $~lib/memory/__stack_pointer - local.tee $1 local.get $0 i32.store offset=28 - local.get $1 + global.get $~lib/memory/__stack_pointer i32.const 3776 i32.store offset=32 local.get $0 @@ -8500,10 +8444,9 @@ call $~lib/date/Date#toISOString local.set $0 global.get $~lib/memory/__stack_pointer - local.tee $1 local.get $0 i32.store offset=28 - local.get $1 + global.get $~lib/memory/__stack_pointer i32.const 3856 i32.store offset=32 local.get $0 @@ -8527,10 +8470,9 @@ call $~lib/date/Date#toISOString local.set $0 global.get $~lib/memory/__stack_pointer - local.tee $1 local.get $0 i32.store offset=28 - local.get $1 + global.get $~lib/memory/__stack_pointer i32.const 3936 i32.store offset=32 local.get $0 @@ -8554,10 +8496,9 @@ call $~lib/date/Date#toISOString local.set $0 global.get $~lib/memory/__stack_pointer - local.tee $1 local.get $0 i32.store offset=28 - local.get $1 + global.get $~lib/memory/__stack_pointer i32.const 4016 i32.store offset=32 local.get $0 @@ -8581,10 +8522,9 @@ call $~lib/date/Date#toISOString local.set $0 global.get $~lib/memory/__stack_pointer - local.tee $1 local.get $0 i32.store offset=28 - local.get $1 + global.get $~lib/memory/__stack_pointer i32.const 4096 i32.store offset=32 local.get $0 @@ -8608,10 +8548,9 @@ call $~lib/date/Date#toISOString local.set $0 global.get $~lib/memory/__stack_pointer - local.tee $1 local.get $0 i32.store offset=28 - local.get $1 + global.get $~lib/memory/__stack_pointer i32.const 4176 i32.store offset=32 local.get $0 @@ -8635,10 +8574,9 @@ call $~lib/date/Date#toISOString local.set $0 global.get $~lib/memory/__stack_pointer - local.tee $1 local.get $0 i32.store offset=28 - local.get $1 + global.get $~lib/memory/__stack_pointer i32.const 4256 i32.store offset=32 local.get $0 @@ -8662,10 +8600,9 @@ call $~lib/date/Date#toDateString local.set $0 global.get $~lib/memory/__stack_pointer - local.tee $1 local.get $0 i32.store offset=28 - local.get $1 + global.get $~lib/memory/__stack_pointer i32.const 5104 i32.store offset=32 local.get $0 @@ -8689,10 +8626,9 @@ call $~lib/date/Date#toDateString local.set $0 global.get $~lib/memory/__stack_pointer - local.tee $1 local.get $0 i32.store offset=28 - local.get $1 + global.get $~lib/memory/__stack_pointer i32.const 5168 i32.store offset=32 local.get $0 @@ -8716,10 +8652,9 @@ call $~lib/date/Date#toDateString local.set $0 global.get $~lib/memory/__stack_pointer - local.tee $1 local.get $0 i32.store offset=28 - local.get $1 + global.get $~lib/memory/__stack_pointer i32.const 5232 i32.store offset=32 local.get $0 @@ -8743,10 +8678,9 @@ call $~lib/date/Date#toTimeString local.set $0 global.get $~lib/memory/__stack_pointer - local.tee $1 local.get $0 i32.store offset=28 - local.get $1 + global.get $~lib/memory/__stack_pointer i32.const 5296 i32.store offset=32 local.get $0 @@ -8770,10 +8704,9 @@ call $~lib/date/Date#toTimeString local.set $0 global.get $~lib/memory/__stack_pointer - local.tee $1 local.get $0 i32.store offset=28 - local.get $1 + global.get $~lib/memory/__stack_pointer i32.const 5344 i32.store offset=32 local.get $0 @@ -8797,10 +8730,9 @@ call $~lib/date/Date#toUTCString local.set $0 global.get $~lib/memory/__stack_pointer - local.tee $1 local.get $0 i32.store offset=28 - local.get $1 + global.get $~lib/memory/__stack_pointer i32.const 6160 i32.store offset=32 local.get $0 @@ -8824,10 +8756,9 @@ call $~lib/date/Date#toUTCString local.set $0 global.get $~lib/memory/__stack_pointer - local.tee $1 local.get $0 i32.store offset=28 - local.get $1 + global.get $~lib/memory/__stack_pointer i32.const 6240 i32.store offset=32 local.get $0 @@ -8851,10 +8782,9 @@ call $~lib/date/Date#toUTCString local.set $0 global.get $~lib/memory/__stack_pointer - local.tee $1 local.get $0 i32.store offset=28 - local.get $1 + global.get $~lib/memory/__stack_pointer i32.const 6320 i32.store offset=32 local.get $0 @@ -9150,7 +9080,7 @@ global.get $~lib/memory/__stack_pointer i64.const 8640000000000000 call $~lib/date/Date#constructor - local.tee $1 + local.tee $2 i32.store local.get $0 i64.load offset=16 @@ -9164,7 +9094,7 @@ call $~lib/builtins/abort unreachable end - local.get $1 + local.get $2 i64.load offset=16 i64.const 8640000000000000 i64.ne @@ -9188,7 +9118,7 @@ call $~lib/builtins/abort unreachable end - local.get $1 + local.get $2 i32.load i32.const 275760 i32.ne @@ -9212,7 +9142,7 @@ call $~lib/builtins/abort unreachable end - local.get $1 + local.get $2 i32.load offset=4 i32.const 9 i32.ne @@ -9236,7 +9166,7 @@ call $~lib/builtins/abort unreachable end - local.get $1 + local.get $2 i32.load offset=8 i32.const 13 i32.ne @@ -9270,14 +9200,14 @@ call $~lib/builtins/abort unreachable end - local.get $1 + local.get $2 call $~lib/date/Date#toISOString local.set $0 global.get $~lib/memory/__stack_pointer - local.tee $1 + local.tee $2 local.get $0 i32.store offset=28 - local.get $1 + local.get $2 i32.const 7280 i32.store offset=32 local.get $0 @@ -9295,7 +9225,7 @@ global.get $~lib/memory/__stack_pointer i64.const 8639999999999999 call $~lib/date/Date#constructor - local.tee $1 + local.tee $2 i32.store offset=16 global.get $~lib/memory/__stack_pointer i64.const -8639999999999999 @@ -9342,10 +9272,10 @@ i64.load offset=16 i64.const 86400000 i64.rem_s - local.tee $2 + local.tee $1 i64.const 86400000 i64.const 0 - local.get $2 + local.get $1 i64.const 0 i64.lt_s select @@ -9365,10 +9295,10 @@ i64.load offset=16 i64.const 3600000 i64.rem_s - local.tee $2 + local.tee $1 i64.const 3600000 i64.const 0 - local.get $2 + local.get $1 i64.const 0 i64.lt_s select @@ -9388,10 +9318,10 @@ i64.load offset=16 i64.const 60000 i64.rem_s - local.tee $2 + local.tee $1 i64.const 60000 i64.const 0 - local.get $2 + local.get $1 i64.const 0 i64.lt_s select @@ -9411,10 +9341,10 @@ i64.load offset=16 i64.const 1000 i64.rem_s - local.tee $2 + local.tee $1 i64.const 1000 i64.const 0 - local.get $2 + local.get $1 i64.const 0 i64.lt_s select @@ -9430,17 +9360,17 @@ call $~lib/builtins/abort unreachable end - local.get $1 + local.get $2 call $~lib/date/Date#toISOString - local.set $1 + local.set $2 global.get $~lib/memory/__stack_pointer local.tee $3 - local.get $1 + local.get $2 i32.store offset=28 local.get $3 i32.const 7360 i32.store offset=32 - local.get $1 + local.get $2 i32.const 7360 call $~lib/string/String.__eq i32.eqz @@ -9456,10 +9386,10 @@ call $~lib/date/Date#toISOString local.set $0 global.get $~lib/memory/__stack_pointer - local.tee $1 + local.tee $2 local.get $0 i32.store offset=28 - local.get $1 + local.get $2 i32.const 7440 i32.store offset=32 local.get $0 @@ -9599,7 +9529,7 @@ i32.shr_u i32.const 1 i32.shl - local.tee $3 + local.tee $2 local.get $0 i32.const 20 i32.sub @@ -9608,11 +9538,11 @@ i32.shr_u i32.const 1 i32.shl - local.tee $5 + local.tee $6 local.get $1 i32.const 1 i32.shl - local.tee $2 + local.tee $1 i32.gt_u select i32.eqz @@ -9625,70 +9555,70 @@ return end global.get $~lib/memory/__stack_pointer - local.get $2 + local.get $1 i32.const 1 call $~lib/rt/itcms/__new - local.tee $1 + local.tee $3 i32.store - local.get $3 local.get $2 - local.get $5 + local.get $1 + local.get $6 i32.sub - local.tee $2 + local.tee $4 i32.lt_u if - local.get $3 local.get $2 + local.get $4 i32.const 2 i32.sub - local.get $3 + local.get $2 i32.div_u i32.mul - local.tee $6 + local.tee $1 local.set $7 loop $while-continue|0 - local.get $4 - local.get $7 - i32.lt_u + local.get $1 + local.get $5 + i32.gt_u if - local.get $1 - local.get $4 + local.get $3 + local.get $5 i32.add i32.const 1872 - local.get $3 + local.get $2 call $~lib/memory/memory.copy - local.get $3 - local.get $4 + local.get $2 + local.get $5 i32.add - local.set $4 + local.set $5 br $while-continue|0 end end - local.get $1 - local.get $6 + local.get $3 + local.get $7 i32.add i32.const 1872 - local.get $2 - local.get $6 + local.get $4 + local.get $7 i32.sub call $~lib/memory/memory.copy else - local.get $1 + local.get $3 i32.const 1872 - local.get $2 + local.get $4 call $~lib/memory/memory.copy end - local.get $1 - local.get $2 + local.get $3 + local.get $4 i32.add local.get $0 - local.get $5 + local.get $6 call $~lib/memory/memory.copy global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $1 + local.get $3 ) (func $~lib/string/String#substring (param $0 i32) (param $1 i32) (param $2 i32) (result i32) (local $3 i32) @@ -9745,22 +9675,23 @@ local.tee $2 local.get $2 local.get $3 - i32.lt_s + i32.gt_s select i32.const 1 i32.shl - local.tee $4 + local.set $4 local.get $3 local.get $2 local.get $2 local.get $3 - i32.gt_s + i32.lt_s select i32.const 1 i32.shl - local.tee $2 - i32.sub local.tee $3 + local.get $4 + i32.sub + local.tee $2 i32.eqz if global.get $~lib/memory/__stack_pointer @@ -9771,12 +9702,12 @@ return end i32.const 0 - local.get $4 local.get $1 i32.const 1 i32.shl + local.get $3 i32.eq - local.get $2 + local.get $4 select if global.get $~lib/memory/__stack_pointer @@ -9787,16 +9718,16 @@ return end global.get $~lib/memory/__stack_pointer - local.get $3 + local.get $2 i32.const 1 call $~lib/rt/itcms/__new local.tee $1 i32.store local.get $1 local.get $0 - local.get $2 + local.get $4 i32.add - local.get $3 + local.get $2 call $~lib/memory/memory.copy global.get $~lib/memory/__stack_pointer i32.const 4 @@ -9880,10 +9811,10 @@ global.get $~lib/memory/__stack_pointer i32.const 0 i32.store - local.get $1 local.get $0 i32.load offset=12 - i32.ge_u + local.get $1 + i32.le_u if i32.const 1392 i32.const 6496 diff --git a/tests/compiler/std/hash.optimized.wat b/tests/compiler/std/hash.optimized.wat index 72f358b8ca..656711ac9a 100644 --- a/tests/compiler/std/hash.optimized.wat +++ b/tests/compiler/std/hash.optimized.wat @@ -67,44 +67,44 @@ local.get $7 i32.le_u if - local.get $2 local.get $1 i32.load i32.const -2048144777 i32.mul + local.get $2 i32.add i32.const 13 i32.rotl i32.const -1640531535 i32.mul local.set $2 - local.get $4 local.get $1 i32.load offset=4 i32.const -2048144777 i32.mul + local.get $4 i32.add i32.const 13 i32.rotl i32.const -1640531535 i32.mul local.set $4 - local.get $6 local.get $1 i32.load offset=8 i32.const -2048144777 i32.mul + local.get $6 i32.add i32.const 13 i32.rotl i32.const -1640531535 i32.mul local.set $6 - local.get $5 local.get $1 i32.load offset=12 i32.const -2048144777 i32.mul + local.get $5 i32.add i32.const 13 i32.rotl @@ -118,7 +118,6 @@ br $while-continue|0 end end - local.get $3 local.get $2 i32.const 1 i32.rotl @@ -134,6 +133,7 @@ i32.const 18 i32.rotl i32.add + local.get $3 i32.add else local.get $3 @@ -152,11 +152,11 @@ local.get $4 i32.le_u if - local.get $2 local.get $1 i32.load i32.const -1028477379 i32.mul + local.get $2 i32.add i32.const 17 i32.rotl @@ -179,11 +179,11 @@ local.get $1 i32.gt_u if - local.get $2 local.get $1 i32.load8_u i32.const 374761393 i32.mul + local.get $2 i32.add i32.const 11 i32.rotl diff --git a/tests/compiler/std/map.optimized.wat b/tests/compiler/std/map.optimized.wat index 588bad84d9..e0ae5df9e7 100644 --- a/tests/compiler/std/map.optimized.wat +++ b/tests/compiler/std/map.optimized.wat @@ -109,8 +109,8 @@ (local $1 i32) (local $2 i32) (local $3 i32) - local.get $0 global.get $~lib/rt/itcms/iter + local.get $0 i32.eq if local.get $0 @@ -170,11 +170,11 @@ local.get $1 i32.store offset=8 local.get $1 - local.get $2 local.get $1 i32.load offset=4 i32.const 3 i32.and + local.get $2 i32.or i32.store offset=4 end @@ -188,10 +188,10 @@ if (result i32) i32.const 1 else - local.get $1 i32.const 1760 i32.load - i32.gt_u + local.get $1 + i32.lt_u if i32.const 1248 i32.const 1312 @@ -228,11 +228,11 @@ local.get $1 i32.store offset=8 local.get $1 - local.get $0 local.get $1 i32.load offset=4 i32.const 3 i32.and + local.get $0 i32.or i32.store offset=4 local.get $2 @@ -390,22 +390,22 @@ local.get $4 i32.eqz if - local.get $0 local.get $3 i32.const 2 i32.shl + local.get $0 i32.add - local.tee $1 + local.tee $4 i32.load offset=4 i32.const -2 local.get $2 i32.rotl i32.and - local.set $2 + local.set $1 + local.get $4 local.get $1 - local.get $2 i32.store offset=4 - local.get $2 + local.get $1 i32.eqz if local.get $0 @@ -653,10 +653,10 @@ i32.shl i32.or i32.store - local.get $0 local.get $5 i32.const 2 i32.shl + local.get $0 i32.add local.tee $0 local.get $0 @@ -696,11 +696,11 @@ i32.load offset=1568 local.tee $2 if + local.get $1 local.get $2 i32.const 4 i32.add - local.get $1 - i32.gt_u + i32.lt_u if i32.const 0 i32.const 1392 @@ -724,11 +724,11 @@ local.set $1 end else + local.get $1 local.get $0 i32.const 1572 i32.add - local.get $1 - i32.gt_u + i32.lt_u if i32.const 0 i32.const 1392 @@ -1015,13 +1015,13 @@ if local.get $0 i32.load offset=4 + local.tee $1 i32.const -4 i32.and global.set $~lib/rt/itcms/iter global.get $~lib/rt/itcms/white i32.eqz - local.get $0 - i32.load offset=4 + local.get $1 i32.const 3 i32.and i32.ne @@ -1108,10 +1108,10 @@ end global.get $~lib/rt/itcms/toSpace local.tee $0 - local.get $0 + local.tee $1 + local.get $1 i32.store offset=4 - global.get $~lib/rt/itcms/toSpace - local.tee $0 + local.get $0 local.get $0 i32.store offset=8 i32.const 0 @@ -1536,7 +1536,6 @@ i32.const 536870910 i32.lt_u if (result i32) - local.get $2 i32.const 1 i32.const 27 local.get $2 @@ -1545,6 +1544,7 @@ i32.shl i32.const 1 i32.sub + local.get $2 i32.add else local.get $2 @@ -1605,12 +1605,12 @@ unreachable end end - local.get $2 local.get $3 i32.load i32.const -4 i32.and - i32.gt_u + local.get $2 + i32.lt_u if i32.const 0 i32.const 1392 @@ -1648,10 +1648,10 @@ i32.ge_u if local.get $3 - local.get $2 local.get $4 i32.const 2 i32.and + local.get $2 i32.or i32.store local.get $2 @@ -1678,18 +1678,13 @@ local.get $3 i32.const 4 i32.add - local.tee $2 local.get $3 i32.load i32.const -4 i32.and i32.add + local.tee $2 local.get $2 - local.get $3 - i32.load - i32.const -4 - i32.and - i32.add i32.load i32.const -3 i32.and @@ -1706,19 +1701,19 @@ i32.load offset=8 local.set $2 local.get $3 - local.get $1 global.get $~lib/rt/itcms/white + local.get $1 i32.or i32.store offset=4 local.get $3 local.get $2 i32.store offset=8 local.get $2 - local.get $3 local.get $2 i32.load offset=4 i32.const 3 i32.and + local.get $3 i32.or i32.store offset=4 local.get $1 @@ -1877,8 +1872,6 @@ i32.load offset=4 i32.store offset=4 local.get $2 - local.get $6 - local.get $1 local.get $8 i32.extend8_s i32.const -1028477379 @@ -1908,9 +1901,11 @@ i32.const 16 i32.shr_u i32.xor + local.get $1 i32.and i32.const 2 i32.shl + local.get $6 i32.add local.tee $8 i32.load @@ -1973,22 +1968,22 @@ i32.rotl i32.const 668265263 i32.mul - local.tee $2 - local.get $2 + local.tee $0 + local.get $0 i32.const 15 i32.shr_u i32.xor i32.const -2048144777 i32.mul - local.tee $2 - local.get $2 + local.tee $0 + local.get $0 i32.const 13 i32.shr_u i32.xor i32.const -1028477379 i32.mul - local.tee $2 - local.get $2 + local.tee $0 + local.get $0 i32.const 16 i32.shr_u i32.xor @@ -2054,17 +2049,17 @@ select if local.get $0 - local.tee $3 + local.tee $4 i32.const 1 i32.add local.set $0 local.get $1 - local.tee $4 + local.tee $3 i32.const 1 i32.add local.set $1 - local.get $3 local.get $4 + local.get $3 i32.load8_u i32.store8 local.get $2 @@ -2210,19 +2205,19 @@ local.get $0 i32.const 2 i32.add - local.tee $3 + local.tee $4 i32.const 1 i32.add local.set $0 local.get $1 i32.const 2 i32.add - local.tee $4 + local.tee $3 i32.const 1 i32.add local.set $1 - local.get $3 local.get $4 + local.get $3 i32.load8_u i32.store8 local.get $2 @@ -2237,7 +2232,7 @@ local.get $0 local.get $1 i32.load offset=1 - local.tee $3 + local.tee $4 i32.const 8 i32.shl local.get $5 @@ -2248,10 +2243,10 @@ local.get $0 local.get $1 i32.load offset=5 - local.tee $4 + local.tee $3 i32.const 8 i32.shl - local.get $3 + local.get $4 i32.const 24 i32.shr_u i32.or @@ -2259,10 +2254,10 @@ local.get $0 local.get $1 i32.load offset=9 - local.tee $3 + local.tee $4 i32.const 8 i32.shl - local.get $4 + local.get $3 i32.const 24 i32.shr_u i32.or @@ -2273,7 +2268,7 @@ local.tee $5 i32.const 8 i32.shl - local.get $3 + local.get $4 i32.const 24 i32.shr_u i32.or @@ -2328,7 +2323,7 @@ local.get $0 local.get $1 i32.load offset=2 - local.tee $3 + local.tee $4 i32.const 16 i32.shl local.get $5 @@ -2339,10 +2334,10 @@ local.get $0 local.get $1 i32.load offset=6 - local.tee $4 + local.tee $3 i32.const 16 i32.shl - local.get $3 + local.get $4 i32.const 16 i32.shr_u i32.or @@ -2350,10 +2345,10 @@ local.get $0 local.get $1 i32.load offset=10 - local.tee $3 + local.tee $4 i32.const 16 i32.shl - local.get $4 + local.get $3 i32.const 16 i32.shr_u i32.or @@ -2364,7 +2359,7 @@ local.tee $5 i32.const 16 i32.shl - local.get $3 + local.get $4 i32.const 16 i32.shr_u i32.or @@ -2390,17 +2385,17 @@ i32.load local.set $5 local.get $0 - local.tee $3 + local.tee $4 i32.const 1 i32.add local.set $0 local.get $1 - local.tee $4 + local.tee $3 i32.const 1 i32.add local.set $1 - local.get $3 local.get $4 + local.get $3 i32.load8_u i32.store8 local.get $2 @@ -2415,7 +2410,7 @@ local.get $0 local.get $1 i32.load offset=3 - local.tee $3 + local.tee $4 i32.const 24 i32.shl local.get $5 @@ -2426,10 +2421,10 @@ local.get $0 local.get $1 i32.load offset=7 - local.tee $4 + local.tee $3 i32.const 24 i32.shl - local.get $3 + local.get $4 i32.const 8 i32.shr_u i32.or @@ -2437,10 +2432,10 @@ local.get $0 local.get $1 i32.load offset=11 - local.tee $3 + local.tee $4 i32.const 24 i32.shl - local.get $4 + local.get $3 i32.const 8 i32.shr_u i32.or @@ -2451,7 +2446,7 @@ local.tee $5 i32.const 24 i32.shl - local.get $3 + local.get $4 i32.const 8 i32.shr_u i32.or @@ -2482,145 +2477,137 @@ i32.load8_u i32.store8 local.get $0 - local.tee $4 - i32.const 2 - i32.add - local.set $0 local.get $1 - local.tee $3 - i32.const 2 - i32.add - local.set $1 - local.get $4 - local.get $3 i32.load8_u offset=1 i32.store8 offset=1 local.get $0 - local.get $1 - i32.load8_u - i32.store8 - local.get $0 - local.tee $4 i32.const 2 i32.add - local.set $0 + local.tee $4 local.get $1 + i32.const 2 + i32.add local.tee $3 + i32.load8_u + i32.store8 + local.get $3 + local.tee $0 i32.const 2 i32.add - local.set $1 + local.set $3 local.get $4 - local.get $3 + local.get $0 i32.load8_u offset=1 i32.store8 offset=1 - local.get $0 - local.get $1 + local.get $4 + i32.const 2 + i32.add + local.tee $1 + local.get $3 i32.load8_u i32.store8 - local.get $0 + local.get $1 local.tee $4 i32.const 2 i32.add - local.set $0 - local.get $1 - local.tee $3 + local.set $1 + local.get $3 + local.tee $0 i32.const 2 i32.add - local.set $1 + local.set $3 local.get $4 - local.get $3 + local.get $0 i32.load8_u offset=1 i32.store8 offset=1 - local.get $0 local.get $1 + local.get $3 i32.load8_u i32.store8 - local.get $0 + local.get $1 local.tee $4 i32.const 2 i32.add - local.set $0 - local.get $1 - local.tee $3 + local.set $1 + local.get $3 + local.tee $0 i32.const 2 i32.add - local.set $1 + local.set $3 local.get $4 - local.get $3 + local.get $0 i32.load8_u offset=1 i32.store8 offset=1 - local.get $0 local.get $1 + local.get $3 i32.load8_u i32.store8 - local.get $0 + local.get $1 local.tee $4 i32.const 2 i32.add - local.set $0 - local.get $1 - local.tee $3 + local.set $1 + local.get $3 + local.tee $0 i32.const 2 i32.add - local.set $1 + local.set $3 local.get $4 - local.get $3 + local.get $0 i32.load8_u offset=1 i32.store8 offset=1 - local.get $0 local.get $1 + local.get $3 i32.load8_u i32.store8 - local.get $0 + local.get $1 local.tee $4 i32.const 2 i32.add - local.set $0 - local.get $1 - local.tee $3 + local.set $1 + local.get $3 + local.tee $0 i32.const 2 i32.add - local.set $1 + local.set $3 local.get $4 - local.get $3 + local.get $0 i32.load8_u offset=1 i32.store8 offset=1 - local.get $0 local.get $1 + local.get $3 i32.load8_u i32.store8 - local.get $0 + local.get $1 local.tee $4 i32.const 2 i32.add - local.set $0 - local.get $1 - local.tee $3 + local.set $1 + local.get $3 + local.tee $0 i32.const 2 i32.add - local.set $1 + local.set $3 local.get $4 - local.get $3 + local.get $0 i32.load8_u offset=1 i32.store8 offset=1 - local.get $0 local.get $1 + local.get $3 i32.load8_u i32.store8 - local.get $0 - local.tee $4 + local.get $1 i32.const 2 i32.add local.set $0 local.get $1 - local.tee $3 - i32.const 2 - i32.add - local.set $1 - local.get $4 local.get $3 i32.load8_u offset=1 i32.store8 offset=1 + local.get $3 + i32.const 2 + i32.add + local.set $1 end local.get $2 i32.const 8 @@ -2631,73 +2618,65 @@ i32.load8_u i32.store8 local.get $0 - local.tee $4 + local.get $1 + i32.load8_u offset=1 + i32.store8 offset=1 + local.get $0 i32.const 2 i32.add - local.set $0 + local.tee $4 local.get $1 - local.tee $3 i32.const 2 i32.add - local.set $1 - local.get $4 - local.get $3 - i32.load8_u offset=1 - i32.store8 offset=1 - local.get $0 - local.get $1 + local.tee $3 i32.load8_u i32.store8 - local.get $0 - local.tee $4 - i32.const 2 - i32.add - local.set $0 - local.get $1 - local.tee $3 + local.get $3 + local.tee $0 i32.const 2 i32.add - local.set $1 + local.set $3 local.get $4 - local.get $3 + local.get $0 i32.load8_u offset=1 i32.store8 offset=1 - local.get $0 - local.get $1 + local.get $4 + i32.const 2 + i32.add + local.tee $1 + local.get $3 i32.load8_u i32.store8 - local.get $0 + local.get $1 local.tee $4 i32.const 2 i32.add - local.set $0 - local.get $1 - local.tee $3 + local.set $1 + local.get $3 + local.tee $0 i32.const 2 i32.add - local.set $1 + local.set $3 local.get $4 - local.get $3 + local.get $0 i32.load8_u offset=1 i32.store8 offset=1 - local.get $0 local.get $1 + local.get $3 i32.load8_u i32.store8 - local.get $0 - local.tee $4 + local.get $1 i32.const 2 i32.add local.set $0 local.get $1 - local.tee $3 - i32.const 2 - i32.add - local.set $1 - local.get $4 local.get $3 i32.load8_u offset=1 i32.store8 offset=1 + local.get $3 + i32.const 2 + i32.add + local.set $1 end local.get $2 i32.const 4 @@ -2708,30 +2687,20 @@ i32.load8_u i32.store8 local.get $0 - local.tee $4 - i32.const 2 - i32.add - local.set $0 local.get $1 - local.tee $3 - i32.const 2 - i32.add - local.set $1 - local.get $4 - local.get $3 i32.load8_u offset=1 i32.store8 offset=1 local.get $0 - local.get $1 - i32.load8_u - i32.store8 - local.get $0 - local.tee $4 i32.const 2 i32.add - local.set $0 + local.tee $4 local.get $1 + i32.const 2 + i32.add local.tee $3 + i32.load8_u + i32.store8 + local.get $3 i32.const 2 i32.add local.set $1 @@ -2739,6 +2708,10 @@ local.get $3 i32.load8_u offset=1 i32.store8 offset=1 + local.get $4 + i32.const 2 + i32.add + local.set $0 end local.get $2 i32.const 2 @@ -2780,19 +2753,19 @@ (local $7 i32) (local $8 i32) (local $9 i32) - local.get $1 local.get $0 i32.load offset=8 local.tee $8 local.get $2 i32.shr_u - i32.gt_u + local.get $1 + i32.lt_u if - local.get $1 i32.const 1073741820 local.get $2 i32.shr_u - i32.gt_u + local.get $1 + i32.lt_u if i32.const 1456 i32.const 1728 @@ -3260,8 +3233,6 @@ i32.load offset=4 i32.store offset=4 local.get $2 - local.get $6 - local.get $1 local.get $8 i32.const -1028477379 i32.mul @@ -3290,9 +3261,11 @@ i32.const 16 i32.shr_u i32.xor + local.get $1 i32.and i32.const 2 i32.shl + local.get $6 i32.add local.tee $8 i32.load @@ -3523,16 +3496,16 @@ i32.lt_s br_if $folding-inner1 global.get $~lib/memory/__stack_pointer - local.tee $3 + local.tee $4 i64.const 0 i64.store - local.get $3 + local.get $4 i64.const 0 i64.store offset=8 - local.get $3 + local.get $4 i32.const 0 i32.store offset=16 - local.get $3 + local.get $4 i32.const 4 i32.sub global.set $~lib/memory/__stack_pointer @@ -3541,61 +3514,61 @@ i32.lt_s br_if $folding-inner1 global.get $~lib/memory/__stack_pointer - local.tee $16 + local.tee $5 i32.const 0 i32.store - local.get $16 + local.get $5 i32.const 24 i32.const 3 call $~lib/rt/itcms/__new - local.tee $15 + local.tee $5 i32.store - local.get $15 + local.get $5 i32.const 16 call $~lib/arraybuffer/ArrayBuffer#constructor - local.tee $16 + local.tee $0 i32.store - local.get $15 - local.get $16 + local.get $5 + local.get $0 call $~lib/rt/itcms/__link - local.get $15 + local.get $5 i32.const 3 i32.store offset=4 - local.get $15 + local.get $5 i32.const 48 call $~lib/arraybuffer/ArrayBuffer#constructor - local.tee $16 + local.tee $0 i32.store offset=8 - local.get $15 - local.get $16 + local.get $5 + local.get $0 call $~lib/rt/itcms/__link - local.get $15 + local.get $5 i32.const 4 i32.store offset=12 - local.get $15 + local.get $5 i32.const 0 i32.store offset=16 - local.get $15 + local.get $5 i32.const 0 i32.store offset=20 global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $3 - local.get $15 + local.get $4 + local.get $5 i32.store loop $for-loop|1 - local.get $4 + local.get $2 i32.extend8_s i32.const 100 i32.lt_s if - local.get $15 + local.get $5 i32.load - local.get $15 + local.get $5 i32.load offset=4 - local.get $4 + local.get $2 i32.extend8_s i32.const -1028477379 i32.mul @@ -3605,62 +3578,62 @@ i32.rotl i32.const 668265263 i32.mul - local.tee $16 - local.get $16 + local.tee $4 i32.const 15 i32.shr_u + local.get $4 i32.xor i32.const -2048144777 i32.mul - local.tee $16 - local.get $16 + local.tee $4 i32.const 13 i32.shr_u + local.get $4 i32.xor i32.const -1028477379 i32.mul - local.tee $16 - local.get $16 + local.tee $4 i32.const 16 i32.shr_u + local.get $4 i32.xor i32.and i32.const 2 i32.shl i32.add i32.load - local.set $14 + local.set $4 block $__inlined_func$~lib/map/Map#find loop $while-continue|0 - local.get $14 + local.get $4 if - local.get $14 + local.get $4 i32.load offset=8 - local.tee $16 + local.tee $3 i32.const 1 i32.and if (result i32) i32.const 0 else - local.get $14 - i32.load8_u local.get $4 + i32.load8_u + local.get $2 i32.const 255 i32.and i32.eq end br_if $__inlined_func$~lib/map/Map#find - local.get $16 + local.get $3 i32.const -2 i32.and - local.set $14 + local.set $4 br $while-continue|0 end end i32.const 0 - local.set $14 + local.set $4 end - local.get $14 + local.get $4 if i32.const 0 i32.const 1568 @@ -3669,19 +3642,19 @@ call $~lib/builtins/abort unreachable end - local.get $15 - local.get $4 - local.get $4 + local.get $5 + local.get $2 + local.get $2 i32.extend8_s - local.tee $16 + local.tee $4 i32.const 10 i32.add call $~lib/map/Map#set - local.get $15 + local.get $5 i32.load - local.get $15 + local.get $5 i32.load offset=4 - local.get $16 + local.get $4 i32.const -1028477379 i32.mul i32.const 374761394 @@ -3690,62 +3663,62 @@ i32.rotl i32.const 668265263 i32.mul - local.tee $16 - local.get $16 + local.tee $4 i32.const 15 i32.shr_u + local.get $4 i32.xor i32.const -2048144777 i32.mul - local.tee $16 - local.get $16 + local.tee $4 i32.const 13 i32.shr_u + local.get $4 i32.xor i32.const -1028477379 i32.mul - local.tee $16 - local.get $16 + local.tee $4 i32.const 16 i32.shr_u + local.get $4 i32.xor i32.and i32.const 2 i32.shl i32.add i32.load - local.set $14 + local.set $4 block $__inlined_func$~lib/map/Map#find1 loop $while-continue|02 - local.get $14 + local.get $4 if - local.get $14 + local.get $4 i32.load offset=8 - local.tee $16 + local.tee $3 i32.const 1 i32.and if (result i32) i32.const 0 else - local.get $14 - i32.load8_u local.get $4 + i32.load8_u + local.get $2 i32.const 255 i32.and i32.eq end br_if $__inlined_func$~lib/map/Map#find1 - local.get $16 + local.get $3 i32.const -2 i32.and - local.set $14 + local.set $4 br $while-continue|02 end end i32.const 0 - local.set $14 + local.set $4 end - local.get $14 + local.get $4 i32.eqz if i32.const 0 @@ -3755,10 +3728,10 @@ call $~lib/builtins/abort unreachable end - local.get $15 - local.get $4 + local.get $5 + local.get $2 call $~lib/map/Map#get - local.get $4 + local.get $2 i32.extend8_s i32.const 10 i32.add @@ -3771,14 +3744,14 @@ call $~lib/builtins/abort unreachable end - local.get $4 + local.get $2 i32.const 1 i32.add - local.set $4 + local.set $2 br $for-loop|1 end end - local.get $15 + local.get $5 i32.load offset=20 i32.const 100 i32.ne @@ -3791,18 +3764,18 @@ unreachable end i32.const 0 - local.set $4 + local.set $2 loop $for-loop|3 - local.get $4 + local.get $2 i32.extend8_s i32.const 100 i32.lt_s if - local.get $15 + local.get $5 i32.load - local.get $15 + local.get $5 i32.load offset=4 - local.get $4 + local.get $2 i32.extend8_s i32.const -1028477379 i32.mul @@ -3812,62 +3785,62 @@ i32.rotl i32.const 668265263 i32.mul - local.tee $16 - local.get $16 + local.tee $4 i32.const 15 i32.shr_u + local.get $4 i32.xor i32.const -2048144777 i32.mul - local.tee $16 - local.get $16 + local.tee $4 i32.const 13 i32.shr_u + local.get $4 i32.xor i32.const -1028477379 i32.mul - local.tee $16 - local.get $16 + local.tee $4 i32.const 16 i32.shr_u + local.get $4 i32.xor i32.and i32.const 2 i32.shl i32.add i32.load - local.set $14 + local.set $4 block $__inlined_func$~lib/map/Map#find4 loop $while-continue|05 - local.get $14 + local.get $4 if - local.get $14 + local.get $4 i32.load offset=8 - local.tee $16 + local.tee $3 i32.const 1 i32.and if (result i32) i32.const 0 else - local.get $14 - i32.load8_u local.get $4 + i32.load8_u + local.get $2 i32.const 255 i32.and i32.eq end br_if $__inlined_func$~lib/map/Map#find4 - local.get $16 + local.get $3 i32.const -2 i32.and - local.set $14 + local.set $4 br $while-continue|05 end end i32.const 0 - local.set $14 + local.set $4 end - local.get $14 + local.get $4 i32.eqz if i32.const 0 @@ -3877,10 +3850,10 @@ call $~lib/builtins/abort unreachable end - local.get $15 - local.get $4 + local.get $5 + local.get $2 call $~lib/map/Map#get - local.get $4 + local.get $2 i32.extend8_s i32.const 10 i32.add @@ -3893,19 +3866,19 @@ call $~lib/builtins/abort unreachable end - local.get $15 - local.get $4 - local.get $4 + local.get $5 + local.get $2 + local.get $2 i32.extend8_s - local.tee $16 + local.tee $4 i32.const 20 i32.add call $~lib/map/Map#set - local.get $15 + local.get $5 i32.load - local.get $15 + local.get $5 i32.load offset=4 - local.get $16 + local.get $4 i32.const -1028477379 i32.mul i32.const 374761394 @@ -3914,62 +3887,62 @@ i32.rotl i32.const 668265263 i32.mul - local.tee $16 - local.get $16 + local.tee $4 i32.const 15 i32.shr_u + local.get $4 i32.xor i32.const -2048144777 i32.mul - local.tee $16 - local.get $16 + local.tee $4 i32.const 13 i32.shr_u + local.get $4 i32.xor i32.const -1028477379 i32.mul - local.tee $16 - local.get $16 + local.tee $4 i32.const 16 i32.shr_u + local.get $4 i32.xor i32.and i32.const 2 i32.shl i32.add i32.load - local.set $14 + local.set $4 block $__inlined_func$~lib/map/Map#find7 loop $while-continue|08 - local.get $14 + local.get $4 if - local.get $14 + local.get $4 i32.load offset=8 - local.tee $16 + local.tee $3 i32.const 1 i32.and if (result i32) i32.const 0 else - local.get $14 - i32.load8_u local.get $4 + i32.load8_u + local.get $2 i32.const 255 i32.and i32.eq end br_if $__inlined_func$~lib/map/Map#find7 - local.get $16 + local.get $3 i32.const -2 i32.and - local.set $14 + local.set $4 br $while-continue|08 end end i32.const 0 - local.set $14 + local.set $4 end - local.get $14 + local.get $4 i32.eqz if i32.const 0 @@ -3979,10 +3952,10 @@ call $~lib/builtins/abort unreachable end - local.get $15 - local.get $4 + local.get $5 + local.get $2 call $~lib/map/Map#get - local.get $4 + local.get $2 i32.extend8_s i32.const 20 i32.add @@ -3995,14 +3968,14 @@ call $~lib/builtins/abort unreachable end - local.get $4 + local.get $2 i32.const 1 i32.add - local.set $4 + local.set $2 br $for-loop|3 end end - local.get $15 + local.get $5 i32.load offset=20 i32.const 100 i32.ne @@ -4015,7 +3988,8 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $0 + local.tee $2 + local.get $2 i32.const 4 i32.sub global.set $~lib/memory/__stack_pointer @@ -4024,50 +3998,50 @@ i32.lt_s br_if $folding-inner1 global.get $~lib/memory/__stack_pointer - local.tee $13 + local.tee $3 i32.const 0 i32.store - local.get $15 + local.get $5 i32.load offset=8 - local.set $3 - local.get $15 - i32.load offset=16 - local.tee $16 local.set $11 - local.get $13 - i32.const 8 - i32.sub - global.set $~lib/memory/__stack_pointer - global.get $~lib/memory/__stack_pointer + local.get $5 + i32.load offset=16 + local.tee $12 + local.set $4 + local.get $3 + i32.const 8 + i32.sub + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer i32.const 2020 i32.lt_s br_if $folding-inner1 global.get $~lib/memory/__stack_pointer - local.tee $4 + local.tee $2 i64.const 0 i64.store - local.get $4 + local.get $2 i32.const 16 i32.const 4 call $~lib/rt/itcms/__new - local.tee $14 + local.tee $2 i32.store - local.get $14 + local.get $2 i32.const 0 i32.store - local.get $14 + local.get $2 i32.const 0 call $~lib/rt/itcms/__link - local.get $14 + local.get $2 i32.const 0 i32.store offset=4 - local.get $14 + local.get $2 i32.const 0 i32.store offset=8 - local.get $14 + local.get $2 i32.const 0 i32.store offset=12 - local.get $11 + local.get $4 i32.const 1073741820 i32.gt_u if @@ -4079,51 +4053,51 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $11 + local.get $4 i32.const 8 - local.get $11 + local.get $4 i32.const 8 i32.gt_u select - local.tee $4 + local.tee $8 i32.const 0 call $~lib/rt/itcms/__new - local.tee $10 + local.tee $0 i32.store offset=4 - local.get $10 - local.get $4 + local.get $0 + local.get $8 call $~lib/memory/memory.fill - local.get $14 - local.get $10 + local.get $2 + local.get $0 i32.store - local.get $14 - local.get $10 + local.get $2 + local.get $0 call $~lib/rt/itcms/__link - local.get $14 - local.get $10 + local.get $2 + local.get $0 i32.store offset=4 - local.get $14 - local.get $4 + local.get $2 + local.get $8 i32.store offset=8 - local.get $14 - local.get $11 + local.get $2 + local.get $4 i32.store offset=12 global.get $~lib/memory/__stack_pointer i32.const 8 i32.add global.set $~lib/memory/__stack_pointer - local.get $13 - local.get $14 + local.get $3 + local.get $2 i32.store loop $for-loop|0 + local.get $7 local.get $12 - local.get $16 i32.lt_s if - local.get $3 - local.get $12 + local.get $7 i32.const 12 i32.mul + local.get $11 i32.add local.tee $4 i32.load offset=8 @@ -4131,7 +4105,7 @@ i32.and i32.eqz if - local.get $14 + local.get $2 local.get $1 local.get $4 i32.load8_s @@ -4141,35 +4115,35 @@ i32.add local.set $1 end - local.get $12 + local.get $7 i32.const 1 i32.add - local.set $12 + local.set $7 br $for-loop|0 end end - local.get $14 + local.get $2 local.get $1 i32.const 0 i32.const 0 call $~lib/array/ensureCapacity - local.get $14 + local.get $2 local.get $1 i32.store offset=12 global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $0 - local.get $14 + local.get $2 + local.tee $1 i32.store offset=4 global.get $~lib/memory/__stack_pointer - local.get $15 + local.get $5 call $~lib/map/Map#values - local.tee $6 + local.tee $13 i32.store offset=8 global.get $~lib/memory/__stack_pointer - local.tee $16 + global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub global.set $~lib/memory/__stack_pointer @@ -4185,58 +4159,56 @@ i32.const 24 i32.const 6 call $~lib/rt/itcms/__new - local.tee $13 + local.tee $4 i32.store - local.get $13 + local.get $4 i32.const 16 call $~lib/arraybuffer/ArrayBuffer#constructor - local.tee $4 + local.tee $0 i32.store - local.get $13 local.get $4 + local.get $0 call $~lib/rt/itcms/__link - local.get $13 + local.get $4 i32.const 3 i32.store offset=4 - local.get $13 + local.get $4 i32.const 32 call $~lib/arraybuffer/ArrayBuffer#constructor - local.tee $4 + local.tee $0 i32.store offset=8 - local.get $13 local.get $4 + local.get $0 call $~lib/rt/itcms/__link - local.get $13 + local.get $4 i32.const 4 i32.store offset=12 - local.get $13 + local.get $4 i32.const 0 i32.store offset=16 - local.get $13 + local.get $4 i32.const 0 i32.store offset=20 global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $16 - local.get $13 + local.get $4 i32.store offset=12 global.get $~lib/memory/__stack_pointer call $~lib/map/Map#constructor - local.tee $8 + local.tee $11 i32.store offset=16 loop $for-loop|4 - local.get $2 - local.get $14 + local.get $1 i32.load offset=12 - i32.lt_s + local.get $6 + i32.gt_s if - local.get $2 - local.tee $3 - local.get $14 + local.get $1 i32.load offset=12 - i32.ge_u + local.get $6 + i32.le_u if i32.const 1248 i32.const 1728 @@ -4245,19 +4217,19 @@ call $~lib/builtins/abort unreachable end - local.get $3 - local.get $14 + local.get $6 + local.get $1 i32.load offset=4 i32.add i32.load8_s local.set $2 + local.get $13 local.get $6 - local.get $3 call $~lib/array/Array#__get - local.set $7 - local.get $15 + local.set $12 + local.get $5 i32.load - local.get $15 + local.get $5 i32.load offset=4 local.get $2 i32.extend8_s @@ -4269,24 +4241,24 @@ i32.rotl i32.const 668265263 i32.mul - local.tee $4 - local.get $4 + local.tee $0 i32.const 15 i32.shr_u + local.get $0 i32.xor i32.const -2048144777 i32.mul - local.tee $4 - local.get $4 + local.tee $0 i32.const 13 i32.shr_u + local.get $0 i32.xor i32.const -1028477379 i32.mul - local.tee $4 - local.get $4 + local.tee $0 i32.const 16 i32.shr_u + local.get $0 i32.xor i32.and i32.const 2 @@ -4300,7 +4272,7 @@ if local.get $0 i32.load offset=8 - local.tee $4 + local.tee $3 i32.const 1 i32.and if (result i32) @@ -4314,7 +4286,7 @@ i32.eq end br_if $__inlined_func$~lib/map/Map#find10 - local.get $4 + local.get $3 i32.const -2 i32.and local.set $0 @@ -4334,14 +4306,14 @@ call $~lib/builtins/abort unreachable end - local.get $15 + local.get $5 i32.load - local.get $15 + local.get $5 i32.load offset=4 - local.get $7 + local.get $12 i32.const 20 i32.sub - local.tee $16 + local.tee $3 i32.extend8_s i32.const -1028477379 i32.mul @@ -4351,62 +4323,62 @@ i32.rotl i32.const 668265263 i32.mul - local.tee $4 - local.get $4 + local.tee $0 i32.const 15 i32.shr_u + local.get $0 i32.xor i32.const -2048144777 i32.mul - local.tee $4 - local.get $4 + local.tee $0 i32.const 13 i32.shr_u + local.get $0 i32.xor i32.const -1028477379 i32.mul - local.tee $4 - local.get $4 + local.tee $0 i32.const 16 i32.shr_u + local.get $0 i32.xor i32.and i32.const 2 i32.shl i32.add i32.load - local.set $12 + local.set $0 block $__inlined_func$~lib/map/Map#find13 loop $while-continue|014 - local.get $12 + local.get $0 if - local.get $12 + local.get $0 i32.load offset=8 - local.tee $4 + local.tee $8 i32.const 1 i32.and if (result i32) i32.const 0 else - local.get $12 + local.get $0 i32.load8_u - local.get $16 + local.get $3 i32.const 255 i32.and i32.eq end br_if $__inlined_func$~lib/map/Map#find13 - local.get $4 + local.get $8 i32.const -2 i32.and - local.set $12 + local.set $0 br $while-continue|014 end end i32.const 0 - local.set $12 + local.set $0 end - local.get $12 + local.get $0 i32.eqz if i32.const 0 @@ -4427,9 +4399,10 @@ global.get $~lib/memory/__stack_pointer i32.const 0 i32.store - local.get $13 + local.get $4 i32.load local.get $2 + local.tee $0 i32.extend8_s i32.const -1028477379 i32.mul @@ -4439,79 +4412,79 @@ i32.rotl i32.const 668265263 i32.mul - local.tee $4 - local.get $4 + local.tee $7 i32.const 15 i32.shr_u + local.get $7 i32.xor i32.const -2048144777 i32.mul - local.tee $4 - local.get $4 + local.tee $7 i32.const 13 i32.shr_u + local.get $7 i32.xor i32.const -1028477379 i32.mul - local.tee $4 - local.get $4 + local.tee $7 i32.const 16 i32.shr_u + local.get $7 i32.xor - local.tee $5 - local.get $13 + local.tee $14 + local.get $4 i32.load offset=4 i32.and i32.const 2 i32.shl i32.add i32.load - local.set $1 + local.set $7 block $__inlined_func$~lib/map/Map#find loop $while-continue|015 - local.get $1 + local.get $7 if - local.get $1 + local.get $7 i32.load offset=4 - local.tee $4 + local.tee $8 i32.const 1 i32.and if (result i32) i32.const 0 else - local.get $1 + local.get $7 i32.load8_u - local.get $2 + local.get $0 i32.const 255 i32.and i32.eq end br_if $__inlined_func$~lib/map/Map#find - local.get $4 + local.get $8 i32.const -2 i32.and - local.set $1 + local.set $7 br $while-continue|015 end end i32.const 0 - local.set $1 + local.set $7 end - local.get $1 + local.get $7 if - local.get $1 + local.get $7 local.get $2 i32.store8 offset=1 else - local.get $13 + local.get $4 i32.load offset=16 - local.get $13 + local.get $4 i32.load offset=12 i32.eq if - local.get $13 + local.get $4 i32.load offset=20 - local.get $13 + local.get $4 i32.load offset=12 i32.const 3 i32.mul @@ -4519,17 +4492,17 @@ i32.div_s i32.lt_s if (result i32) - local.get $13 + local.get $4 i32.load offset=4 else - local.get $13 + local.get $4 i32.load offset=4 i32.const 1 i32.shl i32.const 1 i32.or end - local.set $16 + local.set $7 global.get $~lib/memory/__stack_pointer i32.const 8 i32.sub @@ -4539,66 +4512,64 @@ i32.lt_s br_if $folding-inner1 global.get $~lib/memory/__stack_pointer - local.tee $4 + local.tee $0 i64.const 0 i64.store - local.get $4 - local.get $16 + local.get $0 + local.get $7 i32.const 1 i32.add - local.tee $4 + local.tee $0 i32.const 2 i32.shl call $~lib/arraybuffer/ArrayBuffer#constructor - local.tee $1 + local.tee $10 i32.store global.get $~lib/memory/__stack_pointer - local.get $4 + local.get $0 i32.const 3 i32.shl i32.const 3 i32.div_s - local.tee $11 + local.tee $15 i32.const 3 i32.shl call $~lib/arraybuffer/ArrayBuffer#constructor - local.tee $4 + local.tee $3 i32.store offset=4 - local.get $13 + local.get $4 i32.load offset=8 - local.tee $9 - local.get $13 + local.tee $8 + local.get $4 i32.load offset=16 i32.const 3 i32.shl i32.add - local.set $10 - local.get $4 + local.set $16 + local.get $3 local.set $0 loop $while-continue|016 - local.get $9 - local.get $10 + local.get $8 + local.get $16 i32.ne if - local.get $9 + local.get $8 i32.load offset=4 i32.const 1 i32.and i32.eqz if local.get $0 - local.get $9 + local.get $8 i32.load8_s - local.tee $12 + local.tee $9 i32.store8 local.get $0 - local.get $9 + local.get $8 i32.load8_s offset=1 i32.store8 offset=1 local.get $0 - local.get $1 - local.get $16 - local.get $12 + local.get $9 i32.extend8_s i32.const -1028477379 i32.mul @@ -4608,33 +4579,35 @@ i32.rotl i32.const 668265263 i32.mul - local.tee $12 - local.get $12 + local.tee $9 i32.const 15 i32.shr_u + local.get $9 i32.xor i32.const -2048144777 i32.mul - local.tee $12 - local.get $12 + local.tee $9 i32.const 13 i32.shr_u + local.get $9 i32.xor i32.const -1028477379 i32.mul - local.tee $12 - local.get $12 + local.tee $9 i32.const 16 i32.shr_u + local.get $9 i32.xor + local.get $7 i32.and i32.const 2 i32.shl + local.get $10 i32.add - local.tee $12 + local.tee $9 i32.load i32.store offset=4 - local.get $12 + local.get $9 local.get $0 i32.store local.get $0 @@ -4642,33 +4615,33 @@ i32.add local.set $0 end - local.get $9 + local.get $8 i32.const 8 i32.add - local.set $9 + local.set $8 br $while-continue|016 end end - local.get $13 - local.get $1 + local.get $4 + local.get $10 i32.store - local.get $13 - local.get $1 + local.get $4 + local.get $10 call $~lib/rt/itcms/__link - local.get $13 - local.get $16 + local.get $4 + local.get $7 i32.store offset=4 - local.get $13 local.get $4 + local.get $3 i32.store offset=8 - local.get $13 local.get $4 + local.get $3 call $~lib/rt/itcms/__link - local.get $13 - local.get $11 + local.get $4 + local.get $15 i32.store offset=12 - local.get $13 - local.get $13 + local.get $4 + local.get $4 i32.load offset=20 i32.store offset=16 global.get $~lib/memory/__stack_pointer @@ -4677,40 +4650,40 @@ global.set $~lib/memory/__stack_pointer end global.get $~lib/memory/__stack_pointer - local.get $13 + local.get $4 i32.load offset=8 - local.tee $16 + local.tee $0 i32.store - local.get $13 - local.get $13 + local.get $4 + local.get $4 i32.load offset=16 - local.tee $4 + local.tee $7 i32.const 1 i32.add i32.store offset=16 - local.get $16 - local.get $4 + local.get $7 i32.const 3 i32.shl + local.get $0 i32.add - local.tee $4 + local.tee $0 local.get $2 i32.store8 - local.get $4 + local.get $0 local.get $2 i32.store8 offset=1 - local.get $13 - local.get $13 + local.get $4 + local.get $4 i32.load offset=20 i32.const 1 i32.add i32.store offset=20 + local.get $0 local.get $4 - local.get $13 i32.load - local.get $5 - local.get $13 + local.get $4 i32.load offset=4 + local.get $14 i32.and i32.const 2 i32.shl @@ -4719,28 +4692,28 @@ i32.load i32.store offset=4 local.get $2 - local.get $4 + local.get $0 i32.store end global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $8 - local.get $7 + local.get $11 + local.get $12 i32.const 20 i32.sub local.tee $2 local.get $2 call $~lib/map/Map#set - local.get $3 + local.get $6 i32.const 1 i32.add - local.set $2 + local.set $6 br $for-loop|4 end end - local.get $13 + local.get $4 i32.load offset=20 i32.const 100 i32.ne @@ -4752,7 +4725,7 @@ call $~lib/builtins/abort unreachable end - local.get $8 + local.get $11 i32.load offset=20 i32.const 100 i32.ne @@ -4765,18 +4738,18 @@ unreachable end i32.const 0 - local.set $2 + local.set $6 loop $for-loop|6 - local.get $2 + local.get $6 i32.extend8_s i32.const 50 i32.lt_s if - local.get $15 + local.get $5 i32.load - local.get $15 + local.get $5 i32.load offset=4 - local.get $2 + local.get $6 i32.extend8_s i32.const -1028477379 i32.mul @@ -4786,62 +4759,62 @@ i32.rotl i32.const 668265263 i32.mul - local.tee $4 - local.get $4 + local.tee $2 i32.const 15 i32.shr_u + local.get $2 i32.xor i32.const -2048144777 i32.mul - local.tee $4 - local.get $4 + local.tee $2 i32.const 13 i32.shr_u + local.get $2 i32.xor i32.const -1028477379 i32.mul - local.tee $4 - local.get $4 + local.tee $2 i32.const 16 i32.shr_u + local.get $2 i32.xor i32.and i32.const 2 i32.shl i32.add i32.load - local.set $3 + local.set $2 block $__inlined_func$~lib/map/Map#find18 loop $while-continue|019 - local.get $3 + local.get $2 if - local.get $3 + local.get $2 i32.load offset=8 - local.tee $4 + local.tee $0 i32.const 1 i32.and if (result i32) i32.const 0 else - local.get $3 - i32.load8_u local.get $2 + i32.load8_u + local.get $6 i32.const 255 i32.and i32.eq end br_if $__inlined_func$~lib/map/Map#find18 - local.get $4 + local.get $0 i32.const -2 i32.and - local.set $3 + local.set $2 br $while-continue|019 end end i32.const 0 - local.set $3 + local.set $2 end - local.get $3 + local.get $2 i32.eqz if i32.const 0 @@ -4851,10 +4824,10 @@ call $~lib/builtins/abort unreachable end - local.get $15 - local.get $2 + local.get $5 + local.get $6 call $~lib/map/Map#get - local.get $2 + local.get $6 i32.extend8_s i32.const 20 i32.add @@ -4867,14 +4840,14 @@ call $~lib/builtins/abort unreachable end - local.get $15 - local.get $2 + local.get $5 + local.get $6 call $~lib/map/Map#delete - local.get $15 + local.get $5 i32.load - local.get $15 + local.get $5 i32.load offset=4 - local.get $2 + local.get $6 i32.extend8_s i32.const -1028477379 i32.mul @@ -4884,62 +4857,62 @@ i32.rotl i32.const 668265263 i32.mul - local.tee $4 - local.get $4 + local.tee $2 i32.const 15 i32.shr_u + local.get $2 i32.xor i32.const -2048144777 i32.mul - local.tee $4 - local.get $4 + local.tee $2 i32.const 13 i32.shr_u + local.get $2 i32.xor i32.const -1028477379 i32.mul - local.tee $4 - local.get $4 + local.tee $2 i32.const 16 i32.shr_u + local.get $2 i32.xor i32.and i32.const 2 i32.shl i32.add i32.load - local.set $3 + local.set $2 block $__inlined_func$~lib/map/Map#find21 loop $while-continue|022 - local.get $3 + local.get $2 if - local.get $3 + local.get $2 i32.load offset=8 - local.tee $4 + local.tee $0 i32.const 1 i32.and if (result i32) i32.const 0 else - local.get $3 - i32.load8_u local.get $2 + i32.load8_u + local.get $6 i32.const 255 i32.and i32.eq end br_if $__inlined_func$~lib/map/Map#find21 - local.get $4 + local.get $0 i32.const -2 i32.and - local.set $3 + local.set $2 br $while-continue|022 end end i32.const 0 - local.set $3 + local.set $2 end - local.get $3 + local.get $2 if i32.const 0 i32.const 1568 @@ -4948,14 +4921,14 @@ call $~lib/builtins/abort unreachable end - local.get $2 + local.get $6 i32.const 1 i32.add - local.set $2 + local.set $6 br $for-loop|6 end end - local.get $15 + local.get $5 i32.load offset=20 i32.const 50 i32.ne @@ -4968,18 +4941,18 @@ unreachable end i32.const 0 - local.set $2 + local.set $6 loop $for-loop|8 - local.get $2 + local.get $6 i32.extend8_s i32.const 50 i32.lt_s if - local.get $15 + local.get $5 i32.load - local.get $15 + local.get $5 i32.load offset=4 - local.get $2 + local.get $6 i32.extend8_s i32.const -1028477379 i32.mul @@ -4989,62 +4962,62 @@ i32.rotl i32.const 668265263 i32.mul - local.tee $4 - local.get $4 + local.tee $2 i32.const 15 i32.shr_u + local.get $2 i32.xor i32.const -2048144777 i32.mul - local.tee $4 - local.get $4 + local.tee $2 i32.const 13 i32.shr_u + local.get $2 i32.xor i32.const -1028477379 i32.mul - local.tee $4 - local.get $4 + local.tee $2 i32.const 16 i32.shr_u + local.get $2 i32.xor i32.and i32.const 2 i32.shl i32.add i32.load - local.set $3 + local.set $2 block $__inlined_func$~lib/map/Map#find24 loop $while-continue|025 - local.get $3 + local.get $2 if - local.get $3 + local.get $2 i32.load offset=8 - local.tee $4 + local.tee $0 i32.const 1 i32.and if (result i32) i32.const 0 else - local.get $3 - i32.load8_u local.get $2 + i32.load8_u + local.get $6 i32.const 255 i32.and i32.eq end br_if $__inlined_func$~lib/map/Map#find24 - local.get $4 + local.get $0 i32.const -2 i32.and - local.set $3 + local.set $2 br $while-continue|025 end end i32.const 0 - local.set $3 + local.set $2 end - local.get $3 + local.get $2 if i32.const 0 i32.const 1568 @@ -5053,19 +5026,19 @@ call $~lib/builtins/abort unreachable end - local.get $15 - local.get $2 - local.get $2 + local.get $5 + local.get $6 + local.get $6 i32.extend8_s - local.tee $4 + local.tee $2 i32.const 10 i32.add call $~lib/map/Map#set - local.get $15 + local.get $5 i32.load - local.get $15 + local.get $5 i32.load offset=4 - local.get $4 + local.get $2 i32.const -1028477379 i32.mul i32.const 374761394 @@ -5074,62 +5047,62 @@ i32.rotl i32.const 668265263 i32.mul - local.tee $4 - local.get $4 + local.tee $2 i32.const 15 i32.shr_u + local.get $2 i32.xor i32.const -2048144777 i32.mul - local.tee $4 - local.get $4 + local.tee $2 i32.const 13 i32.shr_u + local.get $2 i32.xor i32.const -1028477379 i32.mul - local.tee $4 - local.get $4 + local.tee $2 i32.const 16 i32.shr_u + local.get $2 i32.xor i32.and i32.const 2 i32.shl i32.add i32.load - local.set $3 + local.set $2 block $__inlined_func$~lib/map/Map#find27 loop $while-continue|028 - local.get $3 + local.get $2 if - local.get $3 + local.get $2 i32.load offset=8 - local.tee $4 + local.tee $0 i32.const 1 i32.and if (result i32) i32.const 0 else - local.get $3 - i32.load8_u local.get $2 + i32.load8_u + local.get $6 i32.const 255 i32.and i32.eq end br_if $__inlined_func$~lib/map/Map#find27 - local.get $4 + local.get $0 i32.const -2 i32.and - local.set $3 + local.set $2 br $while-continue|028 end end i32.const 0 - local.set $3 + local.set $2 end - local.get $3 + local.get $2 i32.eqz if i32.const 0 @@ -5139,14 +5112,14 @@ call $~lib/builtins/abort unreachable end - local.get $15 - local.get $2 + local.get $5 + local.get $6 call $~lib/map/Map#delete - local.get $15 + local.get $5 i32.load - local.get $15 + local.get $5 i32.load offset=4 - local.get $2 + local.get $6 i32.extend8_s i32.const -1028477379 i32.mul @@ -5156,62 +5129,62 @@ i32.rotl i32.const 668265263 i32.mul - local.tee $4 - local.get $4 + local.tee $2 i32.const 15 i32.shr_u + local.get $2 i32.xor i32.const -2048144777 i32.mul - local.tee $4 - local.get $4 + local.tee $2 i32.const 13 i32.shr_u + local.get $2 i32.xor i32.const -1028477379 i32.mul - local.tee $4 - local.get $4 + local.tee $2 i32.const 16 i32.shr_u + local.get $2 i32.xor i32.and i32.const 2 i32.shl i32.add i32.load - local.set $3 + local.set $2 block $__inlined_func$~lib/map/Map#find30 loop $while-continue|031 - local.get $3 + local.get $2 if - local.get $3 + local.get $2 i32.load offset=8 - local.tee $4 + local.tee $0 i32.const 1 i32.and if (result i32) i32.const 0 else - local.get $3 - i32.load8_u local.get $2 + i32.load8_u + local.get $6 i32.const 255 i32.and i32.eq end br_if $__inlined_func$~lib/map/Map#find30 - local.get $4 + local.get $0 i32.const -2 i32.and - local.set $3 + local.set $2 br $while-continue|031 end end i32.const 0 - local.set $3 + local.set $2 end - local.get $3 + local.get $2 if i32.const 0 i32.const 1568 @@ -5220,14 +5193,14 @@ call $~lib/builtins/abort unreachable end - local.get $2 + local.get $6 i32.const 1 i32.add - local.set $2 + local.set $6 br $for-loop|8 end end - local.get $15 + local.get $5 i32.load offset=20 i32.const 50 i32.ne @@ -5239,9 +5212,9 @@ call $~lib/builtins/abort unreachable end - local.get $15 + local.get $5 call $~lib/map/Map#clear - local.get $15 + local.get $5 i32.load offset=20 if i32.const 0 @@ -5345,11 +5318,7 @@ i32.load offset=4 i32.store offset=4 local.get $2 - local.get $6 - local.get $1 local.get $8 - i32.const 255 - i32.and i32.const -1028477379 i32.mul i32.const 374761394 @@ -5377,9 +5346,11 @@ i32.const 16 i32.shr_u i32.xor + local.get $1 i32.and i32.const 2 i32.shl + local.get $6 i32.add local.tee $8 i32.load @@ -5443,22 +5414,22 @@ i32.rotl i32.const 668265263 i32.mul - local.tee $2 - local.get $2 + local.tee $0 + local.get $0 i32.const 15 i32.shr_u i32.xor i32.const -2048144777 i32.mul - local.tee $2 - local.get $2 + local.tee $0 + local.get $0 i32.const 13 i32.shr_u i32.xor i32.const -1028477379 i32.mul - local.tee $2 - local.get $2 + local.tee $0 + local.get $0 i32.const 16 i32.shr_u i32.xor @@ -5665,16 +5636,16 @@ i32.lt_s br_if $folding-inner1 global.get $~lib/memory/__stack_pointer - local.tee $3 + local.tee $4 i64.const 0 i64.store - local.get $3 + local.get $4 i64.const 0 i64.store offset=8 - local.get $3 + local.get $4 i32.const 0 i32.store offset=16 - local.get $3 + local.get $4 i32.const 4 i32.sub global.set $~lib/memory/__stack_pointer @@ -5683,62 +5654,62 @@ i32.lt_s br_if $folding-inner1 global.get $~lib/memory/__stack_pointer - local.tee $16 + local.tee $5 i32.const 0 i32.store - local.get $16 + local.get $5 i32.const 24 i32.const 8 call $~lib/rt/itcms/__new - local.tee $15 + local.tee $5 i32.store - local.get $15 + local.get $5 i32.const 16 call $~lib/arraybuffer/ArrayBuffer#constructor - local.tee $16 + local.tee $0 i32.store - local.get $15 - local.get $16 + local.get $5 + local.get $0 call $~lib/rt/itcms/__link - local.get $15 + local.get $5 i32.const 3 i32.store offset=4 - local.get $15 + local.get $5 i32.const 48 call $~lib/arraybuffer/ArrayBuffer#constructor - local.tee $16 + local.tee $0 i32.store offset=8 - local.get $15 - local.get $16 + local.get $5 + local.get $0 call $~lib/rt/itcms/__link - local.get $15 + local.get $5 i32.const 4 i32.store offset=12 - local.get $15 + local.get $5 i32.const 0 i32.store offset=16 - local.get $15 + local.get $5 i32.const 0 i32.store offset=20 global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $3 - local.get $15 + local.get $4 + local.get $5 i32.store loop $for-loop|1 - local.get $4 + local.get $2 i32.const 255 i32.and i32.const 100 i32.lt_u if - local.get $15 + local.get $5 i32.load - local.get $15 + local.get $5 i32.load offset=4 - local.get $4 + local.get $2 i32.const 255 i32.and i32.const -1028477379 @@ -5749,62 +5720,62 @@ i32.rotl i32.const 668265263 i32.mul - local.tee $16 - local.get $16 + local.tee $4 i32.const 15 i32.shr_u + local.get $4 i32.xor i32.const -2048144777 i32.mul - local.tee $16 - local.get $16 + local.tee $4 i32.const 13 i32.shr_u + local.get $4 i32.xor i32.const -1028477379 i32.mul - local.tee $16 - local.get $16 + local.tee $4 i32.const 16 i32.shr_u + local.get $4 i32.xor i32.and i32.const 2 i32.shl i32.add i32.load - local.set $14 + local.set $4 block $__inlined_func$~lib/map/Map#find loop $while-continue|0 - local.get $14 + local.get $4 if - local.get $14 + local.get $4 i32.load offset=8 - local.tee $16 + local.tee $3 i32.const 1 i32.and if (result i32) i32.const 0 else - local.get $14 - i32.load8_u local.get $4 + i32.load8_u + local.get $2 i32.const 255 i32.and i32.eq end br_if $__inlined_func$~lib/map/Map#find - local.get $16 + local.get $3 i32.const -2 i32.and - local.set $14 + local.set $4 br $while-continue|0 end end i32.const 0 - local.set $14 + local.set $4 end - local.get $14 + local.get $4 if i32.const 0 i32.const 1568 @@ -5813,20 +5784,20 @@ call $~lib/builtins/abort unreachable end - local.get $15 - local.get $4 - local.get $4 + local.get $5 + local.get $2 + local.get $2 i32.const 255 i32.and - local.tee $16 + local.tee $4 i32.const 10 i32.add call $~lib/map/Map#set - local.get $15 + local.get $5 i32.load - local.get $15 + local.get $5 i32.load offset=4 - local.get $16 + local.get $4 i32.const -1028477379 i32.mul i32.const 374761394 @@ -5835,62 +5806,62 @@ i32.rotl i32.const 668265263 i32.mul - local.tee $16 - local.get $16 + local.tee $4 i32.const 15 i32.shr_u + local.get $4 i32.xor i32.const -2048144777 i32.mul - local.tee $16 - local.get $16 + local.tee $4 i32.const 13 i32.shr_u + local.get $4 i32.xor i32.const -1028477379 i32.mul - local.tee $16 - local.get $16 + local.tee $4 i32.const 16 i32.shr_u + local.get $4 i32.xor i32.and i32.const 2 i32.shl i32.add i32.load - local.set $14 + local.set $4 block $__inlined_func$~lib/map/Map#find1 loop $while-continue|02 - local.get $14 + local.get $4 if - local.get $14 + local.get $4 i32.load offset=8 - local.tee $16 + local.tee $3 i32.const 1 i32.and if (result i32) i32.const 0 else - local.get $14 - i32.load8_u local.get $4 + i32.load8_u + local.get $2 i32.const 255 i32.and i32.eq end br_if $__inlined_func$~lib/map/Map#find1 - local.get $16 + local.get $3 i32.const -2 i32.and - local.set $14 + local.set $4 br $while-continue|02 end end i32.const 0 - local.set $14 + local.set $4 end - local.get $14 + local.get $4 i32.eqz if i32.const 0 @@ -5900,10 +5871,10 @@ call $~lib/builtins/abort unreachable end - local.get $15 - local.get $4 + local.get $5 + local.get $2 call $~lib/map/Map#get - local.get $4 + local.get $2 i32.const 255 i32.and i32.const 10 @@ -5917,14 +5888,14 @@ call $~lib/builtins/abort unreachable end - local.get $4 + local.get $2 i32.const 1 i32.add - local.set $4 + local.set $2 br $for-loop|1 end end - local.get $15 + local.get $5 i32.load offset=20 i32.const 100 i32.ne @@ -5937,19 +5908,19 @@ unreachable end i32.const 0 - local.set $4 + local.set $2 loop $for-loop|3 - local.get $4 + local.get $2 i32.const 255 i32.and i32.const 100 i32.lt_u if - local.get $15 + local.get $5 i32.load - local.get $15 + local.get $5 i32.load offset=4 - local.get $4 + local.get $2 i32.const 255 i32.and i32.const -1028477379 @@ -5960,62 +5931,62 @@ i32.rotl i32.const 668265263 i32.mul - local.tee $16 - local.get $16 + local.tee $4 i32.const 15 i32.shr_u + local.get $4 i32.xor i32.const -2048144777 i32.mul - local.tee $16 - local.get $16 + local.tee $4 i32.const 13 i32.shr_u + local.get $4 i32.xor i32.const -1028477379 i32.mul - local.tee $16 - local.get $16 + local.tee $4 i32.const 16 i32.shr_u + local.get $4 i32.xor i32.and i32.const 2 i32.shl i32.add i32.load - local.set $14 + local.set $4 block $__inlined_func$~lib/map/Map#find4 loop $while-continue|05 - local.get $14 + local.get $4 if - local.get $14 + local.get $4 i32.load offset=8 - local.tee $16 + local.tee $3 i32.const 1 i32.and if (result i32) i32.const 0 else - local.get $14 - i32.load8_u local.get $4 + i32.load8_u + local.get $2 i32.const 255 i32.and i32.eq end br_if $__inlined_func$~lib/map/Map#find4 - local.get $16 + local.get $3 i32.const -2 i32.and - local.set $14 + local.set $4 br $while-continue|05 end end i32.const 0 - local.set $14 + local.set $4 end - local.get $14 + local.get $4 i32.eqz if i32.const 0 @@ -6025,10 +5996,10 @@ call $~lib/builtins/abort unreachable end - local.get $15 - local.get $4 + local.get $5 + local.get $2 call $~lib/map/Map#get - local.get $4 + local.get $2 i32.const 255 i32.and i32.const 10 @@ -6042,20 +6013,20 @@ call $~lib/builtins/abort unreachable end - local.get $15 - local.get $4 - local.get $4 + local.get $5 + local.get $2 + local.get $2 i32.const 255 i32.and - local.tee $16 + local.tee $4 i32.const 20 i32.add call $~lib/map/Map#set - local.get $15 + local.get $5 i32.load - local.get $15 + local.get $5 i32.load offset=4 - local.get $16 + local.get $4 i32.const -1028477379 i32.mul i32.const 374761394 @@ -6064,62 +6035,62 @@ i32.rotl i32.const 668265263 i32.mul - local.tee $16 - local.get $16 + local.tee $4 i32.const 15 i32.shr_u + local.get $4 i32.xor i32.const -2048144777 i32.mul - local.tee $16 - local.get $16 + local.tee $4 i32.const 13 i32.shr_u + local.get $4 i32.xor i32.const -1028477379 i32.mul - local.tee $16 - local.get $16 + local.tee $4 i32.const 16 i32.shr_u + local.get $4 i32.xor i32.and i32.const 2 i32.shl i32.add i32.load - local.set $14 + local.set $4 block $__inlined_func$~lib/map/Map#find7 loop $while-continue|08 - local.get $14 + local.get $4 if - local.get $14 + local.get $4 i32.load offset=8 - local.tee $16 + local.tee $3 i32.const 1 i32.and if (result i32) i32.const 0 else - local.get $14 - i32.load8_u local.get $4 + i32.load8_u + local.get $2 i32.const 255 i32.and i32.eq end br_if $__inlined_func$~lib/map/Map#find7 - local.get $16 + local.get $3 i32.const -2 i32.and - local.set $14 + local.set $4 br $while-continue|08 end end i32.const 0 - local.set $14 + local.set $4 end - local.get $14 + local.get $4 i32.eqz if i32.const 0 @@ -6129,10 +6100,10 @@ call $~lib/builtins/abort unreachable end - local.get $15 - local.get $4 + local.get $5 + local.get $2 call $~lib/map/Map#get - local.get $4 + local.get $2 i32.const 255 i32.and i32.const 20 @@ -6146,14 +6117,14 @@ call $~lib/builtins/abort unreachable end - local.get $4 + local.get $2 i32.const 1 i32.add - local.set $4 + local.set $2 br $for-loop|3 end end - local.get $15 + local.get $5 i32.load offset=20 i32.const 100 i32.ne @@ -6166,7 +6137,8 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $0 + local.tee $2 + local.get $2 i32.const 4 i32.sub global.set $~lib/memory/__stack_pointer @@ -6175,17 +6147,17 @@ i32.lt_s br_if $folding-inner1 global.get $~lib/memory/__stack_pointer - local.tee $13 + local.tee $3 i32.const 0 i32.store - local.get $15 + local.get $5 i32.load offset=8 - local.set $3 - local.get $15 - i32.load offset=16 - local.tee $16 local.set $11 - local.get $13 + local.get $5 + i32.load offset=16 + local.tee $12 + local.set $4 + local.get $3 i32.const 8 i32.sub global.set $~lib/memory/__stack_pointer @@ -6194,31 +6166,31 @@ i32.lt_s br_if $folding-inner1 global.get $~lib/memory/__stack_pointer - local.tee $4 + local.tee $2 i64.const 0 i64.store - local.get $4 + local.get $2 i32.const 16 i32.const 9 call $~lib/rt/itcms/__new - local.tee $14 + local.tee $2 i32.store - local.get $14 + local.get $2 i32.const 0 i32.store - local.get $14 + local.get $2 i32.const 0 call $~lib/rt/itcms/__link - local.get $14 + local.get $2 i32.const 0 i32.store offset=4 - local.get $14 + local.get $2 i32.const 0 i32.store offset=8 - local.get $14 + local.get $2 i32.const 0 i32.store offset=12 - local.get $11 + local.get $4 i32.const 1073741820 i32.gt_u if @@ -6230,51 +6202,51 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $11 + local.get $4 i32.const 8 - local.get $11 + local.get $4 i32.const 8 i32.gt_u select - local.tee $4 + local.tee $8 i32.const 0 call $~lib/rt/itcms/__new - local.tee $10 + local.tee $0 i32.store offset=4 - local.get $10 - local.get $4 + local.get $0 + local.get $8 call $~lib/memory/memory.fill - local.get $14 - local.get $10 + local.get $2 + local.get $0 i32.store - local.get $14 - local.get $10 + local.get $2 + local.get $0 call $~lib/rt/itcms/__link - local.get $14 - local.get $10 + local.get $2 + local.get $0 i32.store offset=4 - local.get $14 - local.get $4 + local.get $2 + local.get $8 i32.store offset=8 - local.get $14 - local.get $11 + local.get $2 + local.get $4 i32.store offset=12 global.get $~lib/memory/__stack_pointer i32.const 8 i32.add global.set $~lib/memory/__stack_pointer - local.get $13 - local.get $14 + local.get $3 + local.get $2 i32.store loop $for-loop|0 + local.get $7 local.get $12 - local.get $16 i32.lt_s if - local.get $3 - local.get $12 + local.get $7 i32.const 12 i32.mul + local.get $11 i32.add local.tee $4 i32.load offset=8 @@ -6282,7 +6254,7 @@ i32.and i32.eqz if - local.get $14 + local.get $2 local.get $1 local.get $4 i32.load8_u @@ -6292,35 +6264,35 @@ i32.add local.set $1 end - local.get $12 + local.get $7 i32.const 1 i32.add - local.set $12 + local.set $7 br $for-loop|0 end end - local.get $14 + local.get $2 local.get $1 i32.const 0 i32.const 0 call $~lib/array/ensureCapacity - local.get $14 + local.get $2 local.get $1 i32.store offset=12 global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $0 - local.get $14 + local.get $2 + local.tee $1 i32.store offset=4 global.get $~lib/memory/__stack_pointer - local.get $15 + local.get $5 call $~lib/map/Map#values - local.tee $6 + local.tee $13 i32.store offset=8 global.get $~lib/memory/__stack_pointer - local.tee $16 + global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub global.set $~lib/memory/__stack_pointer @@ -6336,58 +6308,56 @@ i32.const 24 i32.const 10 call $~lib/rt/itcms/__new - local.tee $13 + local.tee $4 i32.store - local.get $13 + local.get $4 i32.const 16 call $~lib/arraybuffer/ArrayBuffer#constructor - local.tee $4 + local.tee $0 i32.store - local.get $13 local.get $4 + local.get $0 call $~lib/rt/itcms/__link - local.get $13 + local.get $4 i32.const 3 i32.store offset=4 - local.get $13 + local.get $4 i32.const 32 call $~lib/arraybuffer/ArrayBuffer#constructor - local.tee $4 + local.tee $0 i32.store offset=8 - local.get $13 local.get $4 + local.get $0 call $~lib/rt/itcms/__link - local.get $13 + local.get $4 i32.const 4 i32.store offset=12 - local.get $13 + local.get $4 i32.const 0 i32.store offset=16 - local.get $13 + local.get $4 i32.const 0 i32.store offset=20 global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $16 - local.get $13 + local.get $4 i32.store offset=12 global.get $~lib/memory/__stack_pointer call $~lib/map/Map#constructor - local.tee $8 + local.tee $11 i32.store offset=16 loop $for-loop|4 - local.get $2 - local.get $14 + local.get $1 i32.load offset=12 - i32.lt_s + local.get $6 + i32.gt_s if - local.get $2 - local.tee $3 - local.get $14 + local.get $1 i32.load offset=12 - i32.ge_u + local.get $6 + i32.le_u if i32.const 1248 i32.const 1728 @@ -6396,23 +6366,21 @@ call $~lib/builtins/abort unreachable end - local.get $3 - local.get $14 + local.get $6 + local.get $1 i32.load offset=4 i32.add i32.load8_u local.set $2 + local.get $13 local.get $6 - local.get $3 call $~lib/array/Array#__get - local.set $7 - local.get $15 + local.set $12 + local.get $5 i32.load - local.get $15 + local.get $5 i32.load offset=4 local.get $2 - i32.const 255 - i32.and i32.const -1028477379 i32.mul i32.const 374761394 @@ -6421,24 +6389,24 @@ i32.rotl i32.const 668265263 i32.mul - local.tee $4 - local.get $4 + local.tee $0 i32.const 15 i32.shr_u + local.get $0 i32.xor i32.const -2048144777 i32.mul - local.tee $4 - local.get $4 + local.tee $0 i32.const 13 i32.shr_u + local.get $0 i32.xor i32.const -1028477379 i32.mul - local.tee $4 - local.get $4 + local.tee $0 i32.const 16 i32.shr_u + local.get $0 i32.xor i32.and i32.const 2 @@ -6452,7 +6420,7 @@ if local.get $0 i32.load offset=8 - local.tee $4 + local.tee $3 i32.const 1 i32.and if (result i32) @@ -6466,7 +6434,7 @@ i32.eq end br_if $__inlined_func$~lib/map/Map#find10 - local.get $4 + local.get $3 i32.const -2 i32.and local.set $0 @@ -6486,14 +6454,14 @@ call $~lib/builtins/abort unreachable end - local.get $15 + local.get $5 i32.load - local.get $15 + local.get $5 i32.load offset=4 - local.get $7 + local.get $12 i32.const 20 i32.sub - local.tee $16 + local.tee $3 i32.const 255 i32.and i32.const -1028477379 @@ -6504,62 +6472,62 @@ i32.rotl i32.const 668265263 i32.mul - local.tee $4 - local.get $4 + local.tee $0 i32.const 15 i32.shr_u + local.get $0 i32.xor i32.const -2048144777 i32.mul - local.tee $4 - local.get $4 + local.tee $0 i32.const 13 i32.shr_u + local.get $0 i32.xor i32.const -1028477379 i32.mul - local.tee $4 - local.get $4 + local.tee $0 i32.const 16 i32.shr_u + local.get $0 i32.xor i32.and i32.const 2 i32.shl i32.add i32.load - local.set $12 + local.set $0 block $__inlined_func$~lib/map/Map#find13 loop $while-continue|014 - local.get $12 + local.get $0 if - local.get $12 + local.get $0 i32.load offset=8 - local.tee $4 + local.tee $8 i32.const 1 i32.and if (result i32) i32.const 0 else - local.get $12 + local.get $0 i32.load8_u - local.get $16 + local.get $3 i32.const 255 i32.and i32.eq end br_if $__inlined_func$~lib/map/Map#find13 - local.get $4 + local.get $8 i32.const -2 i32.and - local.set $12 + local.set $0 br $while-continue|014 end end i32.const 0 - local.set $12 + local.set $0 end - local.get $12 + local.get $0 i32.eqz if i32.const 0 @@ -6580,11 +6548,10 @@ global.get $~lib/memory/__stack_pointer i32.const 0 i32.store - local.get $13 + local.get $4 i32.load local.get $2 - i32.const 255 - i32.and + local.tee $0 i32.const -1028477379 i32.mul i32.const 374761394 @@ -6593,79 +6560,79 @@ i32.rotl i32.const 668265263 i32.mul - local.tee $4 - local.get $4 + local.tee $7 i32.const 15 i32.shr_u + local.get $7 i32.xor i32.const -2048144777 i32.mul - local.tee $4 - local.get $4 + local.tee $7 i32.const 13 i32.shr_u + local.get $7 i32.xor i32.const -1028477379 i32.mul - local.tee $4 - local.get $4 + local.tee $7 i32.const 16 i32.shr_u + local.get $7 i32.xor - local.tee $5 - local.get $13 + local.tee $14 + local.get $4 i32.load offset=4 i32.and i32.const 2 i32.shl i32.add i32.load - local.set $1 + local.set $7 block $__inlined_func$~lib/map/Map#find loop $while-continue|015 - local.get $1 + local.get $7 if - local.get $1 + local.get $7 i32.load offset=4 - local.tee $4 + local.tee $8 i32.const 1 i32.and if (result i32) i32.const 0 else - local.get $1 + local.get $7 i32.load8_u - local.get $2 + local.get $0 i32.const 255 i32.and i32.eq end br_if $__inlined_func$~lib/map/Map#find - local.get $4 + local.get $8 i32.const -2 i32.and - local.set $1 + local.set $7 br $while-continue|015 end end i32.const 0 - local.set $1 + local.set $7 end - local.get $1 + local.get $7 if - local.get $1 + local.get $7 local.get $2 i32.store8 offset=1 else - local.get $13 + local.get $4 i32.load offset=16 - local.get $13 + local.get $4 i32.load offset=12 i32.eq if - local.get $13 + local.get $4 i32.load offset=20 - local.get $13 + local.get $4 i32.load offset=12 i32.const 3 i32.mul @@ -6673,17 +6640,17 @@ i32.div_s i32.lt_s if (result i32) - local.get $13 + local.get $4 i32.load offset=4 else - local.get $13 + local.get $4 i32.load offset=4 i32.const 1 i32.shl i32.const 1 i32.or end - local.set $16 + local.set $7 global.get $~lib/memory/__stack_pointer i32.const 8 i32.sub @@ -6693,68 +6660,64 @@ i32.lt_s br_if $folding-inner1 global.get $~lib/memory/__stack_pointer - local.tee $4 + local.tee $0 i64.const 0 i64.store - local.get $4 - local.get $16 + local.get $0 + local.get $7 i32.const 1 i32.add - local.tee $4 + local.tee $0 i32.const 2 i32.shl call $~lib/arraybuffer/ArrayBuffer#constructor - local.tee $1 + local.tee $10 i32.store global.get $~lib/memory/__stack_pointer - local.get $4 + local.get $0 i32.const 3 i32.shl i32.const 3 i32.div_s - local.tee $11 + local.tee $15 i32.const 3 i32.shl call $~lib/arraybuffer/ArrayBuffer#constructor - local.tee $4 + local.tee $3 i32.store offset=4 - local.get $13 + local.get $4 i32.load offset=8 - local.tee $9 - local.get $13 + local.tee $8 + local.get $4 i32.load offset=16 i32.const 3 i32.shl i32.add - local.set $10 - local.get $4 + local.set $16 + local.get $3 local.set $0 loop $while-continue|016 - local.get $9 - local.get $10 + local.get $8 + local.get $16 i32.ne if - local.get $9 + local.get $8 i32.load offset=4 i32.const 1 i32.and i32.eqz if local.get $0 - local.get $9 + local.get $8 i32.load8_u - local.tee $12 + local.tee $9 i32.store8 local.get $0 - local.get $9 + local.get $8 i32.load8_u offset=1 i32.store8 offset=1 local.get $0 - local.get $1 - local.get $16 - local.get $12 - i32.const 255 - i32.and + local.get $9 i32.const -1028477379 i32.mul i32.const 374761394 @@ -6763,33 +6726,35 @@ i32.rotl i32.const 668265263 i32.mul - local.tee $12 - local.get $12 + local.tee $9 i32.const 15 i32.shr_u + local.get $9 i32.xor i32.const -2048144777 i32.mul - local.tee $12 - local.get $12 + local.tee $9 i32.const 13 i32.shr_u + local.get $9 i32.xor i32.const -1028477379 i32.mul - local.tee $12 - local.get $12 + local.tee $9 i32.const 16 i32.shr_u + local.get $9 i32.xor + local.get $7 i32.and i32.const 2 i32.shl + local.get $10 i32.add - local.tee $12 + local.tee $9 i32.load i32.store offset=4 - local.get $12 + local.get $9 local.get $0 i32.store local.get $0 @@ -6797,33 +6762,33 @@ i32.add local.set $0 end - local.get $9 + local.get $8 i32.const 8 i32.add - local.set $9 + local.set $8 br $while-continue|016 end end - local.get $13 - local.get $1 + local.get $4 + local.get $10 i32.store - local.get $13 - local.get $1 + local.get $4 + local.get $10 call $~lib/rt/itcms/__link - local.get $13 - local.get $16 + local.get $4 + local.get $7 i32.store offset=4 - local.get $13 local.get $4 + local.get $3 i32.store offset=8 - local.get $13 local.get $4 + local.get $3 call $~lib/rt/itcms/__link - local.get $13 - local.get $11 + local.get $4 + local.get $15 i32.store offset=12 - local.get $13 - local.get $13 + local.get $4 + local.get $4 i32.load offset=20 i32.store offset=16 global.get $~lib/memory/__stack_pointer @@ -6832,40 +6797,40 @@ global.set $~lib/memory/__stack_pointer end global.get $~lib/memory/__stack_pointer - local.get $13 + local.get $4 i32.load offset=8 - local.tee $16 + local.tee $0 i32.store - local.get $13 - local.get $13 + local.get $4 + local.get $4 i32.load offset=16 - local.tee $4 + local.tee $7 i32.const 1 i32.add i32.store offset=16 - local.get $16 - local.get $4 + local.get $7 i32.const 3 i32.shl + local.get $0 i32.add - local.tee $4 + local.tee $0 local.get $2 i32.store8 - local.get $4 + local.get $0 local.get $2 i32.store8 offset=1 - local.get $13 - local.get $13 + local.get $4 + local.get $4 i32.load offset=20 i32.const 1 i32.add i32.store offset=20 + local.get $0 local.get $4 - local.get $13 i32.load - local.get $5 - local.get $13 + local.get $4 i32.load offset=4 + local.get $14 i32.and i32.const 2 i32.shl @@ -6874,28 +6839,28 @@ i32.load i32.store offset=4 local.get $2 - local.get $4 + local.get $0 i32.store end global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $8 - local.get $7 + local.get $11 + local.get $12 i32.const 20 i32.sub local.tee $2 local.get $2 call $~lib/map/Map#set - local.get $3 + local.get $6 i32.const 1 i32.add - local.set $2 + local.set $6 br $for-loop|4 end end - local.get $13 + local.get $4 i32.load offset=20 i32.const 100 i32.ne @@ -6907,7 +6872,7 @@ call $~lib/builtins/abort unreachable end - local.get $8 + local.get $11 i32.load offset=20 i32.const 100 i32.ne @@ -6920,19 +6885,19 @@ unreachable end i32.const 0 - local.set $2 + local.set $6 loop $for-loop|6 - local.get $2 + local.get $6 i32.const 255 i32.and i32.const 50 i32.lt_u if - local.get $15 + local.get $5 i32.load - local.get $15 + local.get $5 i32.load offset=4 - local.get $2 + local.get $6 i32.const 255 i32.and i32.const -1028477379 @@ -6943,62 +6908,62 @@ i32.rotl i32.const 668265263 i32.mul - local.tee $4 - local.get $4 + local.tee $2 i32.const 15 i32.shr_u + local.get $2 i32.xor i32.const -2048144777 i32.mul - local.tee $4 - local.get $4 + local.tee $2 i32.const 13 i32.shr_u + local.get $2 i32.xor i32.const -1028477379 i32.mul - local.tee $4 - local.get $4 + local.tee $2 i32.const 16 i32.shr_u + local.get $2 i32.xor i32.and i32.const 2 i32.shl i32.add i32.load - local.set $3 + local.set $2 block $__inlined_func$~lib/map/Map#find18 loop $while-continue|019 - local.get $3 + local.get $2 if - local.get $3 + local.get $2 i32.load offset=8 - local.tee $4 + local.tee $0 i32.const 1 i32.and if (result i32) i32.const 0 else - local.get $3 - i32.load8_u local.get $2 + i32.load8_u + local.get $6 i32.const 255 i32.and i32.eq end br_if $__inlined_func$~lib/map/Map#find18 - local.get $4 + local.get $0 i32.const -2 i32.and - local.set $3 + local.set $2 br $while-continue|019 end end i32.const 0 - local.set $3 + local.set $2 end - local.get $3 + local.get $2 i32.eqz if i32.const 0 @@ -7008,10 +6973,10 @@ call $~lib/builtins/abort unreachable end - local.get $15 - local.get $2 + local.get $5 + local.get $6 call $~lib/map/Map#get - local.get $2 + local.get $6 i32.const 255 i32.and i32.const 20 @@ -7025,14 +6990,14 @@ call $~lib/builtins/abort unreachable end - local.get $15 - local.get $2 + local.get $5 + local.get $6 call $~lib/map/Map#delete - local.get $15 + local.get $5 i32.load - local.get $15 + local.get $5 i32.load offset=4 - local.get $2 + local.get $6 i32.const 255 i32.and i32.const -1028477379 @@ -7043,62 +7008,62 @@ i32.rotl i32.const 668265263 i32.mul - local.tee $4 - local.get $4 + local.tee $2 i32.const 15 i32.shr_u + local.get $2 i32.xor i32.const -2048144777 i32.mul - local.tee $4 - local.get $4 + local.tee $2 i32.const 13 i32.shr_u + local.get $2 i32.xor i32.const -1028477379 i32.mul - local.tee $4 - local.get $4 + local.tee $2 i32.const 16 i32.shr_u + local.get $2 i32.xor i32.and i32.const 2 i32.shl i32.add i32.load - local.set $3 + local.set $2 block $__inlined_func$~lib/map/Map#find21 loop $while-continue|022 - local.get $3 + local.get $2 if - local.get $3 + local.get $2 i32.load offset=8 - local.tee $4 + local.tee $0 i32.const 1 i32.and if (result i32) i32.const 0 else - local.get $3 - i32.load8_u local.get $2 + i32.load8_u + local.get $6 i32.const 255 i32.and i32.eq end br_if $__inlined_func$~lib/map/Map#find21 - local.get $4 + local.get $0 i32.const -2 i32.and - local.set $3 + local.set $2 br $while-continue|022 end end i32.const 0 - local.set $3 + local.set $2 end - local.get $3 + local.get $2 if i32.const 0 i32.const 1568 @@ -7107,14 +7072,14 @@ call $~lib/builtins/abort unreachable end - local.get $2 + local.get $6 i32.const 1 i32.add - local.set $2 + local.set $6 br $for-loop|6 end end - local.get $15 + local.get $5 i32.load offset=20 i32.const 50 i32.ne @@ -7127,19 +7092,19 @@ unreachable end i32.const 0 - local.set $2 + local.set $6 loop $for-loop|8 - local.get $2 + local.get $6 i32.const 255 i32.and i32.const 50 i32.lt_u if - local.get $15 + local.get $5 i32.load - local.get $15 + local.get $5 i32.load offset=4 - local.get $2 + local.get $6 i32.const 255 i32.and i32.const -1028477379 @@ -7150,62 +7115,62 @@ i32.rotl i32.const 668265263 i32.mul - local.tee $4 - local.get $4 + local.tee $2 i32.const 15 i32.shr_u + local.get $2 i32.xor i32.const -2048144777 i32.mul - local.tee $4 - local.get $4 + local.tee $2 i32.const 13 i32.shr_u + local.get $2 i32.xor i32.const -1028477379 i32.mul - local.tee $4 - local.get $4 + local.tee $2 i32.const 16 i32.shr_u + local.get $2 i32.xor i32.and i32.const 2 i32.shl i32.add i32.load - local.set $3 + local.set $2 block $__inlined_func$~lib/map/Map#find24 loop $while-continue|025 - local.get $3 + local.get $2 if - local.get $3 + local.get $2 i32.load offset=8 - local.tee $4 + local.tee $0 i32.const 1 i32.and if (result i32) i32.const 0 else - local.get $3 - i32.load8_u local.get $2 + i32.load8_u + local.get $6 i32.const 255 i32.and i32.eq end br_if $__inlined_func$~lib/map/Map#find24 - local.get $4 + local.get $0 i32.const -2 i32.and - local.set $3 + local.set $2 br $while-continue|025 end end i32.const 0 - local.set $3 + local.set $2 end - local.get $3 + local.get $2 if i32.const 0 i32.const 1568 @@ -7214,20 +7179,20 @@ call $~lib/builtins/abort unreachable end - local.get $15 - local.get $2 - local.get $2 + local.get $5 + local.get $6 + local.get $6 i32.const 255 i32.and - local.tee $4 + local.tee $2 i32.const 10 i32.add call $~lib/map/Map#set - local.get $15 + local.get $5 i32.load - local.get $15 + local.get $5 i32.load offset=4 - local.get $4 + local.get $2 i32.const -1028477379 i32.mul i32.const 374761394 @@ -7236,62 +7201,62 @@ i32.rotl i32.const 668265263 i32.mul - local.tee $4 - local.get $4 + local.tee $2 i32.const 15 i32.shr_u + local.get $2 i32.xor i32.const -2048144777 i32.mul - local.tee $4 - local.get $4 + local.tee $2 i32.const 13 i32.shr_u + local.get $2 i32.xor i32.const -1028477379 i32.mul - local.tee $4 - local.get $4 + local.tee $2 i32.const 16 i32.shr_u + local.get $2 i32.xor i32.and i32.const 2 i32.shl i32.add i32.load - local.set $3 + local.set $2 block $__inlined_func$~lib/map/Map#find27 loop $while-continue|028 - local.get $3 + local.get $2 if - local.get $3 + local.get $2 i32.load offset=8 - local.tee $4 + local.tee $0 i32.const 1 i32.and if (result i32) i32.const 0 else - local.get $3 - i32.load8_u local.get $2 + i32.load8_u + local.get $6 i32.const 255 i32.and i32.eq end br_if $__inlined_func$~lib/map/Map#find27 - local.get $4 + local.get $0 i32.const -2 i32.and - local.set $3 + local.set $2 br $while-continue|028 end end i32.const 0 - local.set $3 + local.set $2 end - local.get $3 + local.get $2 i32.eqz if i32.const 0 @@ -7301,14 +7266,14 @@ call $~lib/builtins/abort unreachable end - local.get $15 - local.get $2 + local.get $5 + local.get $6 call $~lib/map/Map#delete - local.get $15 + local.get $5 i32.load - local.get $15 + local.get $5 i32.load offset=4 - local.get $2 + local.get $6 i32.const 255 i32.and i32.const -1028477379 @@ -7319,62 +7284,62 @@ i32.rotl i32.const 668265263 i32.mul - local.tee $4 - local.get $4 + local.tee $2 i32.const 15 i32.shr_u + local.get $2 i32.xor i32.const -2048144777 i32.mul - local.tee $4 - local.get $4 + local.tee $2 i32.const 13 i32.shr_u + local.get $2 i32.xor i32.const -1028477379 i32.mul - local.tee $4 - local.get $4 + local.tee $2 i32.const 16 i32.shr_u + local.get $2 i32.xor i32.and i32.const 2 i32.shl i32.add i32.load - local.set $3 + local.set $2 block $__inlined_func$~lib/map/Map#find30 loop $while-continue|031 - local.get $3 + local.get $2 if - local.get $3 + local.get $2 i32.load offset=8 - local.tee $4 + local.tee $0 i32.const 1 i32.and if (result i32) i32.const 0 else - local.get $3 - i32.load8_u local.get $2 + i32.load8_u + local.get $6 i32.const 255 i32.and i32.eq end br_if $__inlined_func$~lib/map/Map#find30 - local.get $4 + local.get $0 i32.const -2 i32.and - local.set $3 + local.set $2 br $while-continue|031 end end i32.const 0 - local.set $3 + local.set $2 end - local.get $3 + local.get $2 if i32.const 0 i32.const 1568 @@ -7383,14 +7348,14 @@ call $~lib/builtins/abort unreachable end - local.get $2 + local.get $6 i32.const 1 i32.add - local.set $2 + local.set $6 br $for-loop|8 end end - local.get $15 + local.get $5 i32.load offset=20 i32.const 50 i32.ne @@ -7402,9 +7367,9 @@ call $~lib/builtins/abort unreachable end - local.get $15 + local.get $5 call $~lib/map/Map#clear - local.get $15 + local.get $5 i32.load offset=20 if i32.const 0 @@ -7508,8 +7473,6 @@ i32.load offset=4 i32.store offset=4 local.get $2 - local.get $6 - local.get $1 local.get $8 i32.extend16_s i32.const -1028477379 @@ -7539,9 +7502,11 @@ i32.const 16 i32.shr_u i32.xor + local.get $1 i32.and i32.const 2 i32.shl + local.get $6 i32.add local.tee $8 i32.load @@ -7604,22 +7569,22 @@ i32.rotl i32.const 668265263 i32.mul - local.tee $2 - local.get $2 + local.tee $0 + local.get $0 i32.const 15 i32.shr_u i32.xor i32.const -2048144777 i32.mul - local.tee $2 - local.get $2 + local.tee $0 + local.get $0 i32.const 13 i32.shr_u i32.xor i32.const -1028477379 i32.mul - local.tee $2 - local.get $2 + local.tee $0 + local.get $0 i32.const 16 i32.shr_u i32.xor @@ -7864,16 +7829,16 @@ i32.lt_s br_if $folding-inner1 global.get $~lib/memory/__stack_pointer - local.tee $3 + local.tee $4 i64.const 0 i64.store - local.get $3 + local.get $4 i64.const 0 i64.store offset=8 - local.get $3 + local.get $4 i32.const 0 i32.store offset=16 - local.get $3 + local.get $4 i32.const 4 i32.sub global.set $~lib/memory/__stack_pointer @@ -7882,61 +7847,61 @@ i32.lt_s br_if $folding-inner1 global.get $~lib/memory/__stack_pointer - local.tee $16 + local.tee $5 i32.const 0 i32.store - local.get $16 + local.get $5 i32.const 24 i32.const 11 call $~lib/rt/itcms/__new - local.tee $15 + local.tee $5 i32.store - local.get $15 + local.get $5 i32.const 16 call $~lib/arraybuffer/ArrayBuffer#constructor - local.tee $16 + local.tee $0 i32.store - local.get $15 - local.get $16 + local.get $5 + local.get $0 call $~lib/rt/itcms/__link - local.get $15 + local.get $5 i32.const 3 i32.store offset=4 - local.get $15 + local.get $5 i32.const 48 call $~lib/arraybuffer/ArrayBuffer#constructor - local.tee $16 + local.tee $0 i32.store offset=8 - local.get $15 - local.get $16 + local.get $5 + local.get $0 call $~lib/rt/itcms/__link - local.get $15 + local.get $5 i32.const 4 i32.store offset=12 - local.get $15 + local.get $5 i32.const 0 i32.store offset=16 - local.get $15 + local.get $5 i32.const 0 i32.store offset=20 global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $3 - local.get $15 + local.get $4 + local.get $5 i32.store loop $for-loop|1 - local.get $4 + local.get $2 i32.extend16_s i32.const 100 i32.lt_s if - local.get $15 + local.get $5 i32.load - local.get $15 + local.get $5 i32.load offset=4 - local.get $4 + local.get $2 i32.extend16_s i32.const -1028477379 i32.mul @@ -7946,62 +7911,62 @@ i32.rotl i32.const 668265263 i32.mul - local.tee $16 - local.get $16 + local.tee $4 i32.const 15 i32.shr_u + local.get $4 i32.xor i32.const -2048144777 i32.mul - local.tee $16 - local.get $16 + local.tee $4 i32.const 13 i32.shr_u + local.get $4 i32.xor i32.const -1028477379 i32.mul - local.tee $16 - local.get $16 + local.tee $4 i32.const 16 i32.shr_u + local.get $4 i32.xor i32.and i32.const 2 i32.shl i32.add i32.load - local.set $14 + local.set $4 block $__inlined_func$~lib/map/Map#find loop $while-continue|0 - local.get $14 + local.get $4 if - local.get $14 + local.get $4 i32.load offset=8 - local.tee $16 + local.tee $3 i32.const 1 i32.and if (result i32) i32.const 0 else - local.get $14 - i32.load16_u local.get $4 + i32.load16_u + local.get $2 i32.const 65535 i32.and i32.eq end br_if $__inlined_func$~lib/map/Map#find - local.get $16 + local.get $3 i32.const -2 i32.and - local.set $14 + local.set $4 br $while-continue|0 end end i32.const 0 - local.set $14 + local.set $4 end - local.get $14 + local.get $4 if i32.const 0 i32.const 1568 @@ -8010,19 +7975,19 @@ call $~lib/builtins/abort unreachable end - local.get $15 - local.get $4 - local.get $4 + local.get $5 + local.get $2 + local.get $2 i32.extend16_s - local.tee $16 + local.tee $4 i32.const 10 i32.add call $~lib/map/Map#set - local.get $15 + local.get $5 i32.load - local.get $15 + local.get $5 i32.load offset=4 - local.get $16 + local.get $4 i32.const -1028477379 i32.mul i32.const 374761395 @@ -8031,62 +7996,62 @@ i32.rotl i32.const 668265263 i32.mul - local.tee $16 - local.get $16 + local.tee $4 i32.const 15 i32.shr_u + local.get $4 i32.xor i32.const -2048144777 i32.mul - local.tee $16 - local.get $16 + local.tee $4 i32.const 13 i32.shr_u + local.get $4 i32.xor i32.const -1028477379 i32.mul - local.tee $16 - local.get $16 + local.tee $4 i32.const 16 i32.shr_u + local.get $4 i32.xor i32.and i32.const 2 i32.shl i32.add i32.load - local.set $14 + local.set $4 block $__inlined_func$~lib/map/Map#find1 loop $while-continue|02 - local.get $14 + local.get $4 if - local.get $14 + local.get $4 i32.load offset=8 - local.tee $16 + local.tee $3 i32.const 1 i32.and if (result i32) i32.const 0 else - local.get $14 - i32.load16_u local.get $4 + i32.load16_u + local.get $2 i32.const 65535 i32.and i32.eq end br_if $__inlined_func$~lib/map/Map#find1 - local.get $16 + local.get $3 i32.const -2 i32.and - local.set $14 + local.set $4 br $while-continue|02 end end i32.const 0 - local.set $14 + local.set $4 end - local.get $14 + local.get $4 i32.eqz if i32.const 0 @@ -8096,10 +8061,10 @@ call $~lib/builtins/abort unreachable end - local.get $15 - local.get $4 + local.get $5 + local.get $2 call $~lib/map/Map#get - local.get $4 + local.get $2 i32.extend16_s i32.const 10 i32.add @@ -8112,14 +8077,14 @@ call $~lib/builtins/abort unreachable end - local.get $4 + local.get $2 i32.const 1 i32.add - local.set $4 + local.set $2 br $for-loop|1 end end - local.get $15 + local.get $5 i32.load offset=20 i32.const 100 i32.ne @@ -8132,18 +8097,18 @@ unreachable end i32.const 0 - local.set $4 + local.set $2 loop $for-loop|3 - local.get $4 + local.get $2 i32.extend16_s i32.const 100 i32.lt_s if - local.get $15 + local.get $5 i32.load - local.get $15 + local.get $5 i32.load offset=4 - local.get $4 + local.get $2 i32.extend16_s i32.const -1028477379 i32.mul @@ -8153,62 +8118,62 @@ i32.rotl i32.const 668265263 i32.mul - local.tee $16 - local.get $16 + local.tee $4 i32.const 15 i32.shr_u + local.get $4 i32.xor i32.const -2048144777 i32.mul - local.tee $16 - local.get $16 + local.tee $4 i32.const 13 i32.shr_u + local.get $4 i32.xor i32.const -1028477379 i32.mul - local.tee $16 - local.get $16 + local.tee $4 i32.const 16 i32.shr_u + local.get $4 i32.xor i32.and i32.const 2 i32.shl i32.add i32.load - local.set $14 + local.set $4 block $__inlined_func$~lib/map/Map#find4 loop $while-continue|05 - local.get $14 + local.get $4 if - local.get $14 + local.get $4 i32.load offset=8 - local.tee $16 + local.tee $3 i32.const 1 i32.and if (result i32) i32.const 0 else - local.get $14 - i32.load16_u local.get $4 + i32.load16_u + local.get $2 i32.const 65535 i32.and i32.eq end br_if $__inlined_func$~lib/map/Map#find4 - local.get $16 + local.get $3 i32.const -2 i32.and - local.set $14 + local.set $4 br $while-continue|05 end end i32.const 0 - local.set $14 + local.set $4 end - local.get $14 + local.get $4 i32.eqz if i32.const 0 @@ -8218,10 +8183,10 @@ call $~lib/builtins/abort unreachable end - local.get $15 - local.get $4 + local.get $5 + local.get $2 call $~lib/map/Map#get - local.get $4 + local.get $2 i32.extend16_s i32.const 10 i32.add @@ -8234,19 +8199,19 @@ call $~lib/builtins/abort unreachable end - local.get $15 - local.get $4 - local.get $4 + local.get $5 + local.get $2 + local.get $2 i32.extend16_s - local.tee $16 + local.tee $4 i32.const 20 i32.add call $~lib/map/Map#set - local.get $15 + local.get $5 i32.load - local.get $15 + local.get $5 i32.load offset=4 - local.get $16 + local.get $4 i32.const -1028477379 i32.mul i32.const 374761395 @@ -8255,62 +8220,62 @@ i32.rotl i32.const 668265263 i32.mul - local.tee $16 - local.get $16 + local.tee $4 i32.const 15 i32.shr_u + local.get $4 i32.xor i32.const -2048144777 i32.mul - local.tee $16 - local.get $16 + local.tee $4 i32.const 13 i32.shr_u + local.get $4 i32.xor i32.const -1028477379 i32.mul - local.tee $16 - local.get $16 + local.tee $4 i32.const 16 i32.shr_u + local.get $4 i32.xor i32.and i32.const 2 i32.shl i32.add i32.load - local.set $14 + local.set $4 block $__inlined_func$~lib/map/Map#find7 loop $while-continue|08 - local.get $14 + local.get $4 if - local.get $14 + local.get $4 i32.load offset=8 - local.tee $16 + local.tee $3 i32.const 1 i32.and if (result i32) i32.const 0 else - local.get $14 - i32.load16_u local.get $4 + i32.load16_u + local.get $2 i32.const 65535 i32.and i32.eq end br_if $__inlined_func$~lib/map/Map#find7 - local.get $16 + local.get $3 i32.const -2 i32.and - local.set $14 + local.set $4 br $while-continue|08 end end i32.const 0 - local.set $14 + local.set $4 end - local.get $14 + local.get $4 i32.eqz if i32.const 0 @@ -8320,10 +8285,10 @@ call $~lib/builtins/abort unreachable end - local.get $15 - local.get $4 + local.get $5 + local.get $2 call $~lib/map/Map#get - local.get $4 + local.get $2 i32.extend16_s i32.const 20 i32.add @@ -8336,14 +8301,14 @@ call $~lib/builtins/abort unreachable end - local.get $4 + local.get $2 i32.const 1 i32.add - local.set $4 + local.set $2 br $for-loop|3 end end - local.get $15 + local.get $5 i32.load offset=20 i32.const 100 i32.ne @@ -8356,7 +8321,8 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $0 + local.tee $2 + local.get $2 i32.const 4 i32.sub global.set $~lib/memory/__stack_pointer @@ -8365,17 +8331,17 @@ i32.lt_s br_if $folding-inner1 global.get $~lib/memory/__stack_pointer - local.tee $13 + local.tee $3 i32.const 0 i32.store - local.get $15 + local.get $5 i32.load offset=8 - local.set $3 - local.get $15 - i32.load offset=16 - local.tee $16 local.set $11 - local.get $13 + local.get $5 + i32.load offset=16 + local.tee $12 + local.set $4 + local.get $3 i32.const 8 i32.sub global.set $~lib/memory/__stack_pointer @@ -8384,31 +8350,31 @@ i32.lt_s br_if $folding-inner1 global.get $~lib/memory/__stack_pointer - local.tee $4 + local.tee $2 i64.const 0 i64.store - local.get $4 + local.get $2 i32.const 16 i32.const 12 call $~lib/rt/itcms/__new - local.tee $14 + local.tee $2 i32.store - local.get $14 + local.get $2 i32.const 0 i32.store - local.get $14 + local.get $2 i32.const 0 call $~lib/rt/itcms/__link - local.get $14 + local.get $2 i32.const 0 i32.store offset=4 - local.get $14 + local.get $2 i32.const 0 i32.store offset=8 - local.get $14 + local.get $2 i32.const 0 i32.store offset=12 - local.get $11 + local.get $4 i32.const 536870910 i32.gt_u if @@ -8420,53 +8386,53 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $11 + local.get $4 i32.const 8 - local.get $11 + local.get $4 i32.const 8 i32.gt_u select i32.const 1 i32.shl - local.tee $4 + local.tee $8 i32.const 0 call $~lib/rt/itcms/__new - local.tee $10 + local.tee $0 i32.store offset=4 - local.get $10 - local.get $4 + local.get $0 + local.get $8 call $~lib/memory/memory.fill - local.get $14 - local.get $10 + local.get $2 + local.get $0 i32.store - local.get $14 - local.get $10 + local.get $2 + local.get $0 call $~lib/rt/itcms/__link - local.get $14 - local.get $10 + local.get $2 + local.get $0 i32.store offset=4 - local.get $14 - local.get $4 + local.get $2 + local.get $8 i32.store offset=8 - local.get $14 - local.get $11 + local.get $2 + local.get $4 i32.store offset=12 global.get $~lib/memory/__stack_pointer i32.const 8 i32.add global.set $~lib/memory/__stack_pointer - local.get $13 - local.get $14 + local.get $3 + local.get $2 i32.store loop $for-loop|0 + local.get $7 local.get $12 - local.get $16 i32.lt_s if - local.get $3 - local.get $12 + local.get $7 i32.const 12 i32.mul + local.get $11 i32.add local.tee $4 i32.load offset=8 @@ -8474,7 +8440,7 @@ i32.and i32.eqz if - local.get $14 + local.get $2 local.get $1 local.get $4 i32.load16_s @@ -8484,35 +8450,35 @@ i32.add local.set $1 end - local.get $12 + local.get $7 i32.const 1 i32.add - local.set $12 + local.set $7 br $for-loop|0 end end - local.get $14 + local.get $2 local.get $1 i32.const 1 i32.const 0 call $~lib/array/ensureCapacity - local.get $14 + local.get $2 local.get $1 i32.store offset=12 global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $0 - local.get $14 + local.get $2 + local.tee $1 i32.store offset=4 global.get $~lib/memory/__stack_pointer - local.get $15 + local.get $5 call $~lib/map/Map#values - local.tee $6 + local.tee $13 i32.store offset=8 global.get $~lib/memory/__stack_pointer - local.tee $16 + global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub global.set $~lib/memory/__stack_pointer @@ -8528,58 +8494,56 @@ i32.const 24 i32.const 13 call $~lib/rt/itcms/__new - local.tee $13 + local.tee $4 i32.store - local.get $13 + local.get $4 i32.const 16 call $~lib/arraybuffer/ArrayBuffer#constructor - local.tee $4 + local.tee $0 i32.store - local.get $13 local.get $4 + local.get $0 call $~lib/rt/itcms/__link - local.get $13 + local.get $4 i32.const 3 i32.store offset=4 - local.get $13 + local.get $4 i32.const 32 call $~lib/arraybuffer/ArrayBuffer#constructor - local.tee $4 + local.tee $0 i32.store offset=8 - local.get $13 local.get $4 + local.get $0 call $~lib/rt/itcms/__link - local.get $13 + local.get $4 i32.const 4 i32.store offset=12 - local.get $13 + local.get $4 i32.const 0 i32.store offset=16 - local.get $13 + local.get $4 i32.const 0 i32.store offset=20 global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $16 - local.get $13 + local.get $4 i32.store offset=12 global.get $~lib/memory/__stack_pointer call $~lib/map/Map#constructor - local.tee $8 + local.tee $11 i32.store offset=16 loop $for-loop|4 - local.get $2 - local.get $14 + local.get $1 i32.load offset=12 - i32.lt_s + local.get $6 + i32.gt_s if - local.get $2 - local.tee $3 - local.get $14 + local.get $1 i32.load offset=12 - i32.ge_u + local.get $6 + i32.le_u if i32.const 1248 i32.const 1728 @@ -8588,21 +8552,21 @@ call $~lib/builtins/abort unreachable end - local.get $14 + local.get $1 i32.load offset=4 - local.get $3 + local.get $6 i32.const 1 i32.shl i32.add i32.load16_s local.set $2 + local.get $13 local.get $6 - local.get $3 call $~lib/array/Array#__get - local.set $7 - local.get $15 + local.set $12 + local.get $5 i32.load - local.get $15 + local.get $5 i32.load offset=4 local.get $2 i32.extend16_s @@ -8614,24 +8578,24 @@ i32.rotl i32.const 668265263 i32.mul - local.tee $4 - local.get $4 + local.tee $0 i32.const 15 i32.shr_u + local.get $0 i32.xor i32.const -2048144777 i32.mul - local.tee $4 - local.get $4 + local.tee $0 i32.const 13 i32.shr_u + local.get $0 i32.xor i32.const -1028477379 i32.mul - local.tee $4 - local.get $4 + local.tee $0 i32.const 16 i32.shr_u + local.get $0 i32.xor i32.and i32.const 2 @@ -8645,7 +8609,7 @@ if local.get $0 i32.load offset=8 - local.tee $4 + local.tee $3 i32.const 1 i32.and if (result i32) @@ -8659,7 +8623,7 @@ i32.eq end br_if $__inlined_func$~lib/map/Map#find10 - local.get $4 + local.get $3 i32.const -2 i32.and local.set $0 @@ -8679,14 +8643,14 @@ call $~lib/builtins/abort unreachable end - local.get $15 + local.get $5 i32.load - local.get $15 + local.get $5 i32.load offset=4 - local.get $7 + local.get $12 i32.const 20 i32.sub - local.tee $16 + local.tee $3 i32.extend16_s i32.const -1028477379 i32.mul @@ -8696,62 +8660,62 @@ i32.rotl i32.const 668265263 i32.mul - local.tee $4 - local.get $4 + local.tee $0 i32.const 15 i32.shr_u + local.get $0 i32.xor i32.const -2048144777 i32.mul - local.tee $4 - local.get $4 + local.tee $0 i32.const 13 i32.shr_u + local.get $0 i32.xor i32.const -1028477379 i32.mul - local.tee $4 - local.get $4 + local.tee $0 i32.const 16 i32.shr_u + local.get $0 i32.xor i32.and i32.const 2 i32.shl i32.add i32.load - local.set $12 + local.set $0 block $__inlined_func$~lib/map/Map#find13 loop $while-continue|014 - local.get $12 + local.get $0 if - local.get $12 + local.get $0 i32.load offset=8 - local.tee $4 + local.tee $8 i32.const 1 i32.and if (result i32) i32.const 0 else - local.get $12 + local.get $0 i32.load16_u - local.get $16 + local.get $3 i32.const 65535 i32.and i32.eq end br_if $__inlined_func$~lib/map/Map#find13 - local.get $4 + local.get $8 i32.const -2 i32.and - local.set $12 + local.set $0 br $while-continue|014 end end i32.const 0 - local.set $12 + local.set $0 end - local.get $12 + local.get $0 i32.eqz if i32.const 0 @@ -8772,9 +8736,10 @@ global.get $~lib/memory/__stack_pointer i32.const 0 i32.store - local.get $13 + local.get $4 i32.load local.get $2 + local.tee $0 i32.extend16_s i32.const -1028477379 i32.mul @@ -8784,79 +8749,79 @@ i32.rotl i32.const 668265263 i32.mul - local.tee $4 - local.get $4 + local.tee $7 i32.const 15 i32.shr_u + local.get $7 i32.xor i32.const -2048144777 i32.mul - local.tee $4 - local.get $4 + local.tee $7 i32.const 13 i32.shr_u + local.get $7 i32.xor i32.const -1028477379 i32.mul - local.tee $4 - local.get $4 + local.tee $7 i32.const 16 i32.shr_u + local.get $7 i32.xor - local.tee $5 - local.get $13 + local.tee $14 + local.get $4 i32.load offset=4 i32.and i32.const 2 i32.shl i32.add i32.load - local.set $1 + local.set $7 block $__inlined_func$~lib/map/Map#find loop $while-continue|015 - local.get $1 + local.get $7 if - local.get $1 + local.get $7 i32.load offset=4 - local.tee $4 + local.tee $8 i32.const 1 i32.and if (result i32) i32.const 0 else - local.get $1 + local.get $7 i32.load16_u - local.get $2 + local.get $0 i32.const 65535 i32.and i32.eq end br_if $__inlined_func$~lib/map/Map#find - local.get $4 + local.get $8 i32.const -2 i32.and - local.set $1 + local.set $7 br $while-continue|015 end end i32.const 0 - local.set $1 + local.set $7 end - local.get $1 + local.get $7 if - local.get $1 + local.get $7 local.get $2 i32.store16 offset=2 else - local.get $13 + local.get $4 i32.load offset=16 - local.get $13 + local.get $4 i32.load offset=12 i32.eq if - local.get $13 + local.get $4 i32.load offset=20 - local.get $13 + local.get $4 i32.load offset=12 i32.const 3 i32.mul @@ -8864,17 +8829,17 @@ i32.div_s i32.lt_s if (result i32) - local.get $13 + local.get $4 i32.load offset=4 else - local.get $13 + local.get $4 i32.load offset=4 i32.const 1 i32.shl i32.const 1 i32.or end - local.set $16 + local.set $7 global.get $~lib/memory/__stack_pointer i32.const 8 i32.sub @@ -8884,66 +8849,64 @@ i32.lt_s br_if $folding-inner1 global.get $~lib/memory/__stack_pointer - local.tee $4 + local.tee $0 i64.const 0 i64.store - local.get $4 - local.get $16 + local.get $0 + local.get $7 i32.const 1 i32.add - local.tee $4 + local.tee $0 i32.const 2 i32.shl call $~lib/arraybuffer/ArrayBuffer#constructor - local.tee $1 + local.tee $10 i32.store global.get $~lib/memory/__stack_pointer - local.get $4 + local.get $0 i32.const 3 i32.shl i32.const 3 i32.div_s - local.tee $11 + local.tee $15 i32.const 3 i32.shl call $~lib/arraybuffer/ArrayBuffer#constructor - local.tee $4 + local.tee $3 i32.store offset=4 - local.get $13 + local.get $4 i32.load offset=8 - local.tee $9 - local.get $13 + local.tee $8 + local.get $4 i32.load offset=16 i32.const 3 i32.shl i32.add - local.set $10 - local.get $4 + local.set $16 + local.get $3 local.set $0 loop $while-continue|016 - local.get $9 - local.get $10 + local.get $8 + local.get $16 i32.ne if - local.get $9 + local.get $8 i32.load offset=4 i32.const 1 i32.and i32.eqz if local.get $0 - local.get $9 + local.get $8 i32.load16_s - local.tee $12 + local.tee $9 i32.store16 local.get $0 - local.get $9 + local.get $8 i32.load16_s offset=2 i32.store16 offset=2 local.get $0 - local.get $1 - local.get $16 - local.get $12 + local.get $9 i32.extend16_s i32.const -1028477379 i32.mul @@ -8953,33 +8916,35 @@ i32.rotl i32.const 668265263 i32.mul - local.tee $12 - local.get $12 + local.tee $9 i32.const 15 i32.shr_u + local.get $9 i32.xor i32.const -2048144777 i32.mul - local.tee $12 - local.get $12 + local.tee $9 i32.const 13 i32.shr_u + local.get $9 i32.xor i32.const -1028477379 i32.mul - local.tee $12 - local.get $12 + local.tee $9 i32.const 16 i32.shr_u + local.get $9 i32.xor + local.get $7 i32.and i32.const 2 i32.shl + local.get $10 i32.add - local.tee $12 + local.tee $9 i32.load i32.store offset=4 - local.get $12 + local.get $9 local.get $0 i32.store local.get $0 @@ -8987,33 +8952,33 @@ i32.add local.set $0 end - local.get $9 + local.get $8 i32.const 8 i32.add - local.set $9 + local.set $8 br $while-continue|016 end end - local.get $13 - local.get $1 + local.get $4 + local.get $10 i32.store - local.get $13 - local.get $1 + local.get $4 + local.get $10 call $~lib/rt/itcms/__link - local.get $13 - local.get $16 + local.get $4 + local.get $7 i32.store offset=4 - local.get $13 local.get $4 + local.get $3 i32.store offset=8 - local.get $13 local.get $4 + local.get $3 call $~lib/rt/itcms/__link - local.get $13 - local.get $11 + local.get $4 + local.get $15 i32.store offset=12 - local.get $13 - local.get $13 + local.get $4 + local.get $4 i32.load offset=20 i32.store offset=16 global.get $~lib/memory/__stack_pointer @@ -9022,40 +8987,40 @@ global.set $~lib/memory/__stack_pointer end global.get $~lib/memory/__stack_pointer - local.get $13 + local.get $4 i32.load offset=8 - local.tee $16 + local.tee $0 i32.store - local.get $13 - local.get $13 + local.get $4 + local.get $4 i32.load offset=16 - local.tee $4 + local.tee $7 i32.const 1 i32.add i32.store offset=16 - local.get $16 - local.get $4 + local.get $7 i32.const 3 i32.shl + local.get $0 i32.add - local.tee $4 + local.tee $0 local.get $2 i32.store16 - local.get $4 + local.get $0 local.get $2 i32.store16 offset=2 - local.get $13 - local.get $13 + local.get $4 + local.get $4 i32.load offset=20 i32.const 1 i32.add i32.store offset=20 + local.get $0 local.get $4 - local.get $13 i32.load - local.get $5 - local.get $13 + local.get $4 i32.load offset=4 + local.get $14 i32.and i32.const 2 i32.shl @@ -9064,28 +9029,28 @@ i32.load i32.store offset=4 local.get $2 - local.get $4 + local.get $0 i32.store end global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $8 - local.get $7 + local.get $11 + local.get $12 i32.const 20 i32.sub local.tee $2 local.get $2 call $~lib/map/Map#set - local.get $3 + local.get $6 i32.const 1 i32.add - local.set $2 + local.set $6 br $for-loop|4 end end - local.get $13 + local.get $4 i32.load offset=20 i32.const 100 i32.ne @@ -9097,7 +9062,7 @@ call $~lib/builtins/abort unreachable end - local.get $8 + local.get $11 i32.load offset=20 i32.const 100 i32.ne @@ -9110,18 +9075,18 @@ unreachable end i32.const 0 - local.set $2 + local.set $6 loop $for-loop|6 - local.get $2 + local.get $6 i32.extend16_s i32.const 50 i32.lt_s if - local.get $15 + local.get $5 i32.load - local.get $15 + local.get $5 i32.load offset=4 - local.get $2 + local.get $6 i32.extend16_s i32.const -1028477379 i32.mul @@ -9131,62 +9096,62 @@ i32.rotl i32.const 668265263 i32.mul - local.tee $4 - local.get $4 + local.tee $2 i32.const 15 i32.shr_u + local.get $2 i32.xor i32.const -2048144777 i32.mul - local.tee $4 - local.get $4 + local.tee $2 i32.const 13 i32.shr_u + local.get $2 i32.xor i32.const -1028477379 i32.mul - local.tee $4 - local.get $4 + local.tee $2 i32.const 16 i32.shr_u + local.get $2 i32.xor i32.and i32.const 2 i32.shl i32.add i32.load - local.set $3 + local.set $2 block $__inlined_func$~lib/map/Map#find18 loop $while-continue|019 - local.get $3 + local.get $2 if - local.get $3 + local.get $2 i32.load offset=8 - local.tee $4 + local.tee $0 i32.const 1 i32.and if (result i32) i32.const 0 else - local.get $3 - i32.load16_u local.get $2 + i32.load16_u + local.get $6 i32.const 65535 i32.and i32.eq end br_if $__inlined_func$~lib/map/Map#find18 - local.get $4 + local.get $0 i32.const -2 i32.and - local.set $3 + local.set $2 br $while-continue|019 end end i32.const 0 - local.set $3 + local.set $2 end - local.get $3 + local.get $2 i32.eqz if i32.const 0 @@ -9196,10 +9161,10 @@ call $~lib/builtins/abort unreachable end - local.get $15 - local.get $2 + local.get $5 + local.get $6 call $~lib/map/Map#get - local.get $2 + local.get $6 i32.extend16_s i32.const 20 i32.add @@ -9212,14 +9177,14 @@ call $~lib/builtins/abort unreachable end - local.get $15 - local.get $2 + local.get $5 + local.get $6 call $~lib/map/Map#delete - local.get $15 + local.get $5 i32.load - local.get $15 + local.get $5 i32.load offset=4 - local.get $2 + local.get $6 i32.extend16_s i32.const -1028477379 i32.mul @@ -9229,62 +9194,62 @@ i32.rotl i32.const 668265263 i32.mul - local.tee $4 - local.get $4 + local.tee $2 i32.const 15 i32.shr_u + local.get $2 i32.xor i32.const -2048144777 i32.mul - local.tee $4 - local.get $4 + local.tee $2 i32.const 13 i32.shr_u + local.get $2 i32.xor i32.const -1028477379 i32.mul - local.tee $4 - local.get $4 + local.tee $2 i32.const 16 i32.shr_u + local.get $2 i32.xor i32.and i32.const 2 i32.shl i32.add i32.load - local.set $3 + local.set $2 block $__inlined_func$~lib/map/Map#find21 loop $while-continue|022 - local.get $3 + local.get $2 if - local.get $3 + local.get $2 i32.load offset=8 - local.tee $4 + local.tee $0 i32.const 1 i32.and if (result i32) i32.const 0 else - local.get $3 - i32.load16_u local.get $2 + i32.load16_u + local.get $6 i32.const 65535 i32.and i32.eq end br_if $__inlined_func$~lib/map/Map#find21 - local.get $4 + local.get $0 i32.const -2 i32.and - local.set $3 + local.set $2 br $while-continue|022 end end i32.const 0 - local.set $3 + local.set $2 end - local.get $3 + local.get $2 if i32.const 0 i32.const 1568 @@ -9293,14 +9258,14 @@ call $~lib/builtins/abort unreachable end - local.get $2 + local.get $6 i32.const 1 i32.add - local.set $2 + local.set $6 br $for-loop|6 end end - local.get $15 + local.get $5 i32.load offset=20 i32.const 50 i32.ne @@ -9313,18 +9278,18 @@ unreachable end i32.const 0 - local.set $2 + local.set $6 loop $for-loop|8 - local.get $2 + local.get $6 i32.extend16_s i32.const 50 i32.lt_s if - local.get $15 + local.get $5 i32.load - local.get $15 + local.get $5 i32.load offset=4 - local.get $2 + local.get $6 i32.extend16_s i32.const -1028477379 i32.mul @@ -9334,62 +9299,62 @@ i32.rotl i32.const 668265263 i32.mul - local.tee $4 - local.get $4 + local.tee $2 i32.const 15 i32.shr_u + local.get $2 i32.xor i32.const -2048144777 i32.mul - local.tee $4 - local.get $4 + local.tee $2 i32.const 13 i32.shr_u + local.get $2 i32.xor i32.const -1028477379 i32.mul - local.tee $4 - local.get $4 + local.tee $2 i32.const 16 i32.shr_u + local.get $2 i32.xor i32.and i32.const 2 i32.shl i32.add i32.load - local.set $3 + local.set $2 block $__inlined_func$~lib/map/Map#find24 loop $while-continue|025 - local.get $3 + local.get $2 if - local.get $3 + local.get $2 i32.load offset=8 - local.tee $4 + local.tee $0 i32.const 1 i32.and if (result i32) i32.const 0 else - local.get $3 - i32.load16_u local.get $2 + i32.load16_u + local.get $6 i32.const 65535 i32.and i32.eq end br_if $__inlined_func$~lib/map/Map#find24 - local.get $4 + local.get $0 i32.const -2 i32.and - local.set $3 + local.set $2 br $while-continue|025 end end i32.const 0 - local.set $3 + local.set $2 end - local.get $3 + local.get $2 if i32.const 0 i32.const 1568 @@ -9398,19 +9363,19 @@ call $~lib/builtins/abort unreachable end - local.get $15 - local.get $2 - local.get $2 + local.get $5 + local.get $6 + local.get $6 i32.extend16_s - local.tee $4 + local.tee $2 i32.const 10 i32.add call $~lib/map/Map#set - local.get $15 + local.get $5 i32.load - local.get $15 + local.get $5 i32.load offset=4 - local.get $4 + local.get $2 i32.const -1028477379 i32.mul i32.const 374761395 @@ -9419,62 +9384,62 @@ i32.rotl i32.const 668265263 i32.mul - local.tee $4 - local.get $4 + local.tee $2 i32.const 15 i32.shr_u + local.get $2 i32.xor i32.const -2048144777 i32.mul - local.tee $4 - local.get $4 + local.tee $2 i32.const 13 i32.shr_u + local.get $2 i32.xor i32.const -1028477379 i32.mul - local.tee $4 - local.get $4 + local.tee $2 i32.const 16 i32.shr_u + local.get $2 i32.xor i32.and i32.const 2 i32.shl i32.add i32.load - local.set $3 + local.set $2 block $__inlined_func$~lib/map/Map#find27 loop $while-continue|028 - local.get $3 + local.get $2 if - local.get $3 + local.get $2 i32.load offset=8 - local.tee $4 + local.tee $0 i32.const 1 i32.and if (result i32) i32.const 0 else - local.get $3 - i32.load16_u local.get $2 + i32.load16_u + local.get $6 i32.const 65535 i32.and i32.eq end br_if $__inlined_func$~lib/map/Map#find27 - local.get $4 + local.get $0 i32.const -2 i32.and - local.set $3 + local.set $2 br $while-continue|028 end end i32.const 0 - local.set $3 + local.set $2 end - local.get $3 + local.get $2 i32.eqz if i32.const 0 @@ -9484,14 +9449,14 @@ call $~lib/builtins/abort unreachable end - local.get $15 - local.get $2 + local.get $5 + local.get $6 call $~lib/map/Map#delete - local.get $15 + local.get $5 i32.load - local.get $15 + local.get $5 i32.load offset=4 - local.get $2 + local.get $6 i32.extend16_s i32.const -1028477379 i32.mul @@ -9501,62 +9466,62 @@ i32.rotl i32.const 668265263 i32.mul - local.tee $4 - local.get $4 + local.tee $2 i32.const 15 i32.shr_u + local.get $2 i32.xor i32.const -2048144777 i32.mul - local.tee $4 - local.get $4 + local.tee $2 i32.const 13 i32.shr_u + local.get $2 i32.xor i32.const -1028477379 i32.mul - local.tee $4 - local.get $4 + local.tee $2 i32.const 16 i32.shr_u + local.get $2 i32.xor i32.and i32.const 2 i32.shl i32.add i32.load - local.set $3 + local.set $2 block $__inlined_func$~lib/map/Map#find30 loop $while-continue|031 - local.get $3 + local.get $2 if - local.get $3 + local.get $2 i32.load offset=8 - local.tee $4 + local.tee $0 i32.const 1 i32.and if (result i32) i32.const 0 else - local.get $3 - i32.load16_u local.get $2 + i32.load16_u + local.get $6 i32.const 65535 i32.and i32.eq end br_if $__inlined_func$~lib/map/Map#find30 - local.get $4 + local.get $0 i32.const -2 i32.and - local.set $3 + local.set $2 br $while-continue|031 end end i32.const 0 - local.set $3 + local.set $2 end - local.get $3 + local.get $2 if i32.const 0 i32.const 1568 @@ -9565,14 +9530,14 @@ call $~lib/builtins/abort unreachable end - local.get $2 + local.get $6 i32.const 1 i32.add - local.set $2 + local.set $6 br $for-loop|8 end end - local.get $15 + local.get $5 i32.load offset=20 i32.const 50 i32.ne @@ -9584,9 +9549,9 @@ call $~lib/builtins/abort unreachable end - local.get $15 + local.get $5 call $~lib/map/Map#clear - local.get $15 + local.get $5 i32.load offset=20 if i32.const 0 @@ -9690,11 +9655,7 @@ i32.load offset=4 i32.store offset=4 local.get $2 - local.get $6 - local.get $1 local.get $8 - i32.const 65535 - i32.and i32.const -1028477379 i32.mul i32.const 374761395 @@ -9722,9 +9683,11 @@ i32.const 16 i32.shr_u i32.xor + local.get $1 i32.and i32.const 2 i32.shl + local.get $6 i32.add local.tee $8 i32.load @@ -9788,22 +9751,22 @@ i32.rotl i32.const 668265263 i32.mul - local.tee $2 - local.get $2 + local.tee $0 + local.get $0 i32.const 15 i32.shr_u i32.xor i32.const -2048144777 i32.mul - local.tee $2 - local.get $2 + local.tee $0 + local.get $0 i32.const 13 i32.shr_u i32.xor i32.const -1028477379 i32.mul - local.tee $2 - local.get $2 + local.tee $0 + local.get $0 i32.const 16 i32.shr_u i32.xor @@ -10010,16 +9973,16 @@ i32.lt_s br_if $folding-inner1 global.get $~lib/memory/__stack_pointer - local.tee $3 + local.tee $4 i64.const 0 i64.store - local.get $3 + local.get $4 i64.const 0 i64.store offset=8 - local.get $3 + local.get $4 i32.const 0 i32.store offset=16 - local.get $3 + local.get $4 i32.const 4 i32.sub global.set $~lib/memory/__stack_pointer @@ -10028,62 +9991,62 @@ i32.lt_s br_if $folding-inner1 global.get $~lib/memory/__stack_pointer - local.tee $16 + local.tee $5 i32.const 0 i32.store - local.get $16 + local.get $5 i32.const 24 i32.const 14 call $~lib/rt/itcms/__new - local.tee $15 + local.tee $5 i32.store - local.get $15 + local.get $5 i32.const 16 call $~lib/arraybuffer/ArrayBuffer#constructor - local.tee $16 + local.tee $0 i32.store - local.get $15 - local.get $16 + local.get $5 + local.get $0 call $~lib/rt/itcms/__link - local.get $15 + local.get $5 i32.const 3 i32.store offset=4 - local.get $15 + local.get $5 i32.const 48 call $~lib/arraybuffer/ArrayBuffer#constructor - local.tee $16 + local.tee $0 i32.store offset=8 - local.get $15 - local.get $16 + local.get $5 + local.get $0 call $~lib/rt/itcms/__link - local.get $15 + local.get $5 i32.const 4 i32.store offset=12 - local.get $15 + local.get $5 i32.const 0 i32.store offset=16 - local.get $15 + local.get $5 i32.const 0 i32.store offset=20 global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $3 - local.get $15 + local.get $4 + local.get $5 i32.store loop $for-loop|1 - local.get $4 + local.get $2 i32.const 65535 i32.and i32.const 100 i32.lt_u if - local.get $15 + local.get $5 i32.load - local.get $15 + local.get $5 i32.load offset=4 - local.get $4 + local.get $2 i32.const 65535 i32.and i32.const -1028477379 @@ -10094,62 +10057,62 @@ i32.rotl i32.const 668265263 i32.mul - local.tee $16 - local.get $16 + local.tee $4 i32.const 15 i32.shr_u + local.get $4 i32.xor i32.const -2048144777 i32.mul - local.tee $16 - local.get $16 + local.tee $4 i32.const 13 i32.shr_u + local.get $4 i32.xor i32.const -1028477379 i32.mul - local.tee $16 - local.get $16 + local.tee $4 i32.const 16 i32.shr_u + local.get $4 i32.xor i32.and i32.const 2 i32.shl i32.add i32.load - local.set $14 + local.set $4 block $__inlined_func$~lib/map/Map#find loop $while-continue|0 - local.get $14 + local.get $4 if - local.get $14 + local.get $4 i32.load offset=8 - local.tee $16 + local.tee $3 i32.const 1 i32.and if (result i32) i32.const 0 else - local.get $14 - i32.load16_u local.get $4 + i32.load16_u + local.get $2 i32.const 65535 i32.and i32.eq end br_if $__inlined_func$~lib/map/Map#find - local.get $16 + local.get $3 i32.const -2 i32.and - local.set $14 + local.set $4 br $while-continue|0 end end i32.const 0 - local.set $14 + local.set $4 end - local.get $14 + local.get $4 if i32.const 0 i32.const 1568 @@ -10158,20 +10121,20 @@ call $~lib/builtins/abort unreachable end - local.get $15 - local.get $4 - local.get $4 + local.get $5 + local.get $2 + local.get $2 i32.const 65535 i32.and - local.tee $16 + local.tee $4 i32.const 10 i32.add call $~lib/map/Map#set - local.get $15 + local.get $5 i32.load - local.get $15 + local.get $5 i32.load offset=4 - local.get $16 + local.get $4 i32.const -1028477379 i32.mul i32.const 374761395 @@ -10180,62 +10143,62 @@ i32.rotl i32.const 668265263 i32.mul - local.tee $16 - local.get $16 + local.tee $4 i32.const 15 i32.shr_u + local.get $4 i32.xor i32.const -2048144777 i32.mul - local.tee $16 - local.get $16 + local.tee $4 i32.const 13 i32.shr_u + local.get $4 i32.xor i32.const -1028477379 i32.mul - local.tee $16 - local.get $16 + local.tee $4 i32.const 16 i32.shr_u + local.get $4 i32.xor i32.and i32.const 2 i32.shl i32.add i32.load - local.set $14 + local.set $4 block $__inlined_func$~lib/map/Map#find1 loop $while-continue|02 - local.get $14 + local.get $4 if - local.get $14 + local.get $4 i32.load offset=8 - local.tee $16 + local.tee $3 i32.const 1 i32.and if (result i32) i32.const 0 else - local.get $14 - i32.load16_u local.get $4 + i32.load16_u + local.get $2 i32.const 65535 i32.and i32.eq end br_if $__inlined_func$~lib/map/Map#find1 - local.get $16 + local.get $3 i32.const -2 i32.and - local.set $14 + local.set $4 br $while-continue|02 end end i32.const 0 - local.set $14 + local.set $4 end - local.get $14 + local.get $4 i32.eqz if i32.const 0 @@ -10245,10 +10208,10 @@ call $~lib/builtins/abort unreachable end - local.get $15 - local.get $4 + local.get $5 + local.get $2 call $~lib/map/Map#get - local.get $4 + local.get $2 i32.const 65535 i32.and i32.const 10 @@ -10262,14 +10225,14 @@ call $~lib/builtins/abort unreachable end - local.get $4 + local.get $2 i32.const 1 i32.add - local.set $4 + local.set $2 br $for-loop|1 end end - local.get $15 + local.get $5 i32.load offset=20 i32.const 100 i32.ne @@ -10282,19 +10245,19 @@ unreachable end i32.const 0 - local.set $4 + local.set $2 loop $for-loop|3 - local.get $4 + local.get $2 i32.const 65535 i32.and i32.const 100 i32.lt_u if - local.get $15 + local.get $5 i32.load - local.get $15 + local.get $5 i32.load offset=4 - local.get $4 + local.get $2 i32.const 65535 i32.and i32.const -1028477379 @@ -10305,62 +10268,62 @@ i32.rotl i32.const 668265263 i32.mul - local.tee $16 - local.get $16 + local.tee $4 i32.const 15 i32.shr_u + local.get $4 i32.xor i32.const -2048144777 i32.mul - local.tee $16 - local.get $16 + local.tee $4 i32.const 13 i32.shr_u + local.get $4 i32.xor i32.const -1028477379 i32.mul - local.tee $16 - local.get $16 + local.tee $4 i32.const 16 i32.shr_u + local.get $4 i32.xor i32.and i32.const 2 i32.shl i32.add i32.load - local.set $14 + local.set $4 block $__inlined_func$~lib/map/Map#find4 loop $while-continue|05 - local.get $14 + local.get $4 if - local.get $14 + local.get $4 i32.load offset=8 - local.tee $16 + local.tee $3 i32.const 1 i32.and if (result i32) i32.const 0 else - local.get $14 - i32.load16_u local.get $4 + i32.load16_u + local.get $2 i32.const 65535 i32.and i32.eq end br_if $__inlined_func$~lib/map/Map#find4 - local.get $16 + local.get $3 i32.const -2 i32.and - local.set $14 + local.set $4 br $while-continue|05 end end i32.const 0 - local.set $14 + local.set $4 end - local.get $14 + local.get $4 i32.eqz if i32.const 0 @@ -10370,10 +10333,10 @@ call $~lib/builtins/abort unreachable end - local.get $15 - local.get $4 + local.get $5 + local.get $2 call $~lib/map/Map#get - local.get $4 + local.get $2 i32.const 65535 i32.and i32.const 10 @@ -10387,20 +10350,20 @@ call $~lib/builtins/abort unreachable end - local.get $15 - local.get $4 - local.get $4 + local.get $5 + local.get $2 + local.get $2 i32.const 65535 i32.and - local.tee $16 + local.tee $4 i32.const 20 i32.add call $~lib/map/Map#set - local.get $15 + local.get $5 i32.load - local.get $15 + local.get $5 i32.load offset=4 - local.get $16 + local.get $4 i32.const -1028477379 i32.mul i32.const 374761395 @@ -10409,62 +10372,62 @@ i32.rotl i32.const 668265263 i32.mul - local.tee $16 - local.get $16 + local.tee $4 i32.const 15 i32.shr_u + local.get $4 i32.xor i32.const -2048144777 i32.mul - local.tee $16 - local.get $16 + local.tee $4 i32.const 13 i32.shr_u + local.get $4 i32.xor i32.const -1028477379 i32.mul - local.tee $16 - local.get $16 + local.tee $4 i32.const 16 i32.shr_u + local.get $4 i32.xor i32.and i32.const 2 i32.shl i32.add i32.load - local.set $14 + local.set $4 block $__inlined_func$~lib/map/Map#find7 loop $while-continue|08 - local.get $14 + local.get $4 if - local.get $14 + local.get $4 i32.load offset=8 - local.tee $16 + local.tee $3 i32.const 1 i32.and if (result i32) i32.const 0 else - local.get $14 - i32.load16_u local.get $4 + i32.load16_u + local.get $2 i32.const 65535 i32.and i32.eq end br_if $__inlined_func$~lib/map/Map#find7 - local.get $16 + local.get $3 i32.const -2 i32.and - local.set $14 + local.set $4 br $while-continue|08 end end i32.const 0 - local.set $14 + local.set $4 end - local.get $14 + local.get $4 i32.eqz if i32.const 0 @@ -10474,10 +10437,10 @@ call $~lib/builtins/abort unreachable end - local.get $15 - local.get $4 + local.get $5 + local.get $2 call $~lib/map/Map#get - local.get $4 + local.get $2 i32.const 65535 i32.and i32.const 20 @@ -10491,14 +10454,14 @@ call $~lib/builtins/abort unreachable end - local.get $4 + local.get $2 i32.const 1 i32.add - local.set $4 + local.set $2 br $for-loop|3 end end - local.get $15 + local.get $5 i32.load offset=20 i32.const 100 i32.ne @@ -10511,7 +10474,8 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $0 + local.tee $2 + local.get $2 i32.const 4 i32.sub global.set $~lib/memory/__stack_pointer @@ -10520,17 +10484,17 @@ i32.lt_s br_if $folding-inner1 global.get $~lib/memory/__stack_pointer - local.tee $13 + local.tee $3 i32.const 0 i32.store - local.get $15 + local.get $5 i32.load offset=8 - local.set $3 - local.get $15 - i32.load offset=16 - local.tee $16 local.set $11 - local.get $13 + local.get $5 + i32.load offset=16 + local.tee $12 + local.set $4 + local.get $3 i32.const 8 i32.sub global.set $~lib/memory/__stack_pointer @@ -10539,31 +10503,31 @@ i32.lt_s br_if $folding-inner1 global.get $~lib/memory/__stack_pointer - local.tee $4 + local.tee $2 i64.const 0 i64.store - local.get $4 + local.get $2 i32.const 16 i32.const 15 call $~lib/rt/itcms/__new - local.tee $14 + local.tee $2 i32.store - local.get $14 + local.get $2 i32.const 0 i32.store - local.get $14 + local.get $2 i32.const 0 call $~lib/rt/itcms/__link - local.get $14 + local.get $2 i32.const 0 i32.store offset=4 - local.get $14 + local.get $2 i32.const 0 i32.store offset=8 - local.get $14 + local.get $2 i32.const 0 i32.store offset=12 - local.get $11 + local.get $4 i32.const 536870910 i32.gt_u if @@ -10575,53 +10539,53 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $11 + local.get $4 i32.const 8 - local.get $11 + local.get $4 i32.const 8 i32.gt_u select i32.const 1 i32.shl - local.tee $4 + local.tee $8 i32.const 0 call $~lib/rt/itcms/__new - local.tee $10 + local.tee $0 i32.store offset=4 - local.get $10 - local.get $4 + local.get $0 + local.get $8 call $~lib/memory/memory.fill - local.get $14 - local.get $10 + local.get $2 + local.get $0 i32.store - local.get $14 - local.get $10 + local.get $2 + local.get $0 call $~lib/rt/itcms/__link - local.get $14 - local.get $10 + local.get $2 + local.get $0 i32.store offset=4 - local.get $14 - local.get $4 + local.get $2 + local.get $8 i32.store offset=8 - local.get $14 - local.get $11 + local.get $2 + local.get $4 i32.store offset=12 global.get $~lib/memory/__stack_pointer i32.const 8 i32.add global.set $~lib/memory/__stack_pointer - local.get $13 - local.get $14 + local.get $3 + local.get $2 i32.store loop $for-loop|0 + local.get $7 local.get $12 - local.get $16 i32.lt_s if - local.get $3 - local.get $12 + local.get $7 i32.const 12 i32.mul + local.get $11 i32.add local.tee $4 i32.load offset=8 @@ -10629,7 +10593,7 @@ i32.and i32.eqz if - local.get $14 + local.get $2 local.get $1 local.get $4 i32.load16_u @@ -10639,35 +10603,35 @@ i32.add local.set $1 end - local.get $12 + local.get $7 i32.const 1 i32.add - local.set $12 + local.set $7 br $for-loop|0 end end - local.get $14 + local.get $2 local.get $1 i32.const 1 i32.const 0 call $~lib/array/ensureCapacity - local.get $14 + local.get $2 local.get $1 i32.store offset=12 global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $0 - local.get $14 + local.get $2 + local.tee $1 i32.store offset=4 global.get $~lib/memory/__stack_pointer - local.get $15 + local.get $5 call $~lib/map/Map#values - local.tee $6 + local.tee $13 i32.store offset=8 global.get $~lib/memory/__stack_pointer - local.tee $16 + global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub global.set $~lib/memory/__stack_pointer @@ -10683,58 +10647,56 @@ i32.const 24 i32.const 16 call $~lib/rt/itcms/__new - local.tee $13 + local.tee $4 i32.store - local.get $13 + local.get $4 i32.const 16 call $~lib/arraybuffer/ArrayBuffer#constructor - local.tee $4 + local.tee $0 i32.store - local.get $13 local.get $4 + local.get $0 call $~lib/rt/itcms/__link - local.get $13 + local.get $4 i32.const 3 i32.store offset=4 - local.get $13 + local.get $4 i32.const 32 call $~lib/arraybuffer/ArrayBuffer#constructor - local.tee $4 + local.tee $0 i32.store offset=8 - local.get $13 local.get $4 + local.get $0 call $~lib/rt/itcms/__link - local.get $13 + local.get $4 i32.const 4 i32.store offset=12 - local.get $13 + local.get $4 i32.const 0 i32.store offset=16 - local.get $13 + local.get $4 i32.const 0 i32.store offset=20 global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $16 - local.get $13 + local.get $4 i32.store offset=12 global.get $~lib/memory/__stack_pointer call $~lib/map/Map#constructor - local.tee $8 + local.tee $11 i32.store offset=16 loop $for-loop|4 - local.get $2 - local.get $14 + local.get $1 i32.load offset=12 - i32.lt_s + local.get $6 + i32.gt_s if - local.get $2 - local.tee $3 - local.get $14 + local.get $1 i32.load offset=12 - i32.ge_u + local.get $6 + i32.le_u if i32.const 1248 i32.const 1728 @@ -10743,25 +10705,23 @@ call $~lib/builtins/abort unreachable end - local.get $14 + local.get $1 i32.load offset=4 - local.get $3 + local.get $6 i32.const 1 i32.shl i32.add i32.load16_u local.set $2 + local.get $13 local.get $6 - local.get $3 call $~lib/array/Array#__get - local.set $7 - local.get $15 + local.set $12 + local.get $5 i32.load - local.get $15 + local.get $5 i32.load offset=4 local.get $2 - i32.const 65535 - i32.and i32.const -1028477379 i32.mul i32.const 374761395 @@ -10770,24 +10730,24 @@ i32.rotl i32.const 668265263 i32.mul - local.tee $4 - local.get $4 + local.tee $0 i32.const 15 i32.shr_u + local.get $0 i32.xor i32.const -2048144777 i32.mul - local.tee $4 - local.get $4 + local.tee $0 i32.const 13 i32.shr_u + local.get $0 i32.xor i32.const -1028477379 i32.mul - local.tee $4 - local.get $4 + local.tee $0 i32.const 16 i32.shr_u + local.get $0 i32.xor i32.and i32.const 2 @@ -10801,7 +10761,7 @@ if local.get $0 i32.load offset=8 - local.tee $4 + local.tee $3 i32.const 1 i32.and if (result i32) @@ -10815,7 +10775,7 @@ i32.eq end br_if $__inlined_func$~lib/map/Map#find10 - local.get $4 + local.get $3 i32.const -2 i32.and local.set $0 @@ -10835,14 +10795,14 @@ call $~lib/builtins/abort unreachable end - local.get $15 + local.get $5 i32.load - local.get $15 + local.get $5 i32.load offset=4 - local.get $7 + local.get $12 i32.const 20 i32.sub - local.tee $16 + local.tee $3 i32.const 65535 i32.and i32.const -1028477379 @@ -10853,62 +10813,62 @@ i32.rotl i32.const 668265263 i32.mul - local.tee $4 - local.get $4 + local.tee $0 i32.const 15 i32.shr_u + local.get $0 i32.xor i32.const -2048144777 i32.mul - local.tee $4 - local.get $4 + local.tee $0 i32.const 13 i32.shr_u + local.get $0 i32.xor i32.const -1028477379 i32.mul - local.tee $4 - local.get $4 + local.tee $0 i32.const 16 i32.shr_u + local.get $0 i32.xor i32.and i32.const 2 i32.shl i32.add i32.load - local.set $12 + local.set $0 block $__inlined_func$~lib/map/Map#find13 loop $while-continue|014 - local.get $12 + local.get $0 if - local.get $12 + local.get $0 i32.load offset=8 - local.tee $4 + local.tee $8 i32.const 1 i32.and if (result i32) i32.const 0 else - local.get $12 + local.get $0 i32.load16_u - local.get $16 + local.get $3 i32.const 65535 i32.and i32.eq end br_if $__inlined_func$~lib/map/Map#find13 - local.get $4 + local.get $8 i32.const -2 i32.and - local.set $12 + local.set $0 br $while-continue|014 end end i32.const 0 - local.set $12 + local.set $0 end - local.get $12 + local.get $0 i32.eqz if i32.const 0 @@ -10929,11 +10889,10 @@ global.get $~lib/memory/__stack_pointer i32.const 0 i32.store - local.get $13 + local.get $4 i32.load local.get $2 - i32.const 65535 - i32.and + local.tee $0 i32.const -1028477379 i32.mul i32.const 374761395 @@ -10942,79 +10901,79 @@ i32.rotl i32.const 668265263 i32.mul - local.tee $4 - local.get $4 + local.tee $7 i32.const 15 i32.shr_u + local.get $7 i32.xor i32.const -2048144777 i32.mul - local.tee $4 - local.get $4 + local.tee $7 i32.const 13 i32.shr_u + local.get $7 i32.xor i32.const -1028477379 i32.mul - local.tee $4 - local.get $4 + local.tee $7 i32.const 16 i32.shr_u + local.get $7 i32.xor - local.tee $5 - local.get $13 + local.tee $14 + local.get $4 i32.load offset=4 i32.and i32.const 2 i32.shl i32.add i32.load - local.set $1 + local.set $7 block $__inlined_func$~lib/map/Map#find loop $while-continue|015 - local.get $1 + local.get $7 if - local.get $1 + local.get $7 i32.load offset=4 - local.tee $4 + local.tee $8 i32.const 1 i32.and if (result i32) i32.const 0 else - local.get $1 + local.get $7 i32.load16_u - local.get $2 + local.get $0 i32.const 65535 i32.and i32.eq end br_if $__inlined_func$~lib/map/Map#find - local.get $4 + local.get $8 i32.const -2 i32.and - local.set $1 + local.set $7 br $while-continue|015 end end i32.const 0 - local.set $1 + local.set $7 end - local.get $1 + local.get $7 if - local.get $1 + local.get $7 local.get $2 i32.store16 offset=2 else - local.get $13 + local.get $4 i32.load offset=16 - local.get $13 + local.get $4 i32.load offset=12 i32.eq if - local.get $13 + local.get $4 i32.load offset=20 - local.get $13 + local.get $4 i32.load offset=12 i32.const 3 i32.mul @@ -11022,17 +10981,17 @@ i32.div_s i32.lt_s if (result i32) - local.get $13 + local.get $4 i32.load offset=4 else - local.get $13 + local.get $4 i32.load offset=4 i32.const 1 i32.shl i32.const 1 i32.or end - local.set $16 + local.set $7 global.get $~lib/memory/__stack_pointer i32.const 8 i32.sub @@ -11042,68 +11001,64 @@ i32.lt_s br_if $folding-inner1 global.get $~lib/memory/__stack_pointer - local.tee $4 + local.tee $0 i64.const 0 i64.store - local.get $4 - local.get $16 + local.get $0 + local.get $7 i32.const 1 i32.add - local.tee $4 + local.tee $0 i32.const 2 i32.shl call $~lib/arraybuffer/ArrayBuffer#constructor - local.tee $1 + local.tee $10 i32.store global.get $~lib/memory/__stack_pointer - local.get $4 + local.get $0 i32.const 3 i32.shl i32.const 3 i32.div_s - local.tee $11 + local.tee $15 i32.const 3 i32.shl call $~lib/arraybuffer/ArrayBuffer#constructor - local.tee $4 + local.tee $3 i32.store offset=4 - local.get $13 + local.get $4 i32.load offset=8 - local.tee $9 - local.get $13 + local.tee $8 + local.get $4 i32.load offset=16 i32.const 3 i32.shl i32.add - local.set $10 - local.get $4 + local.set $16 + local.get $3 local.set $0 loop $while-continue|016 - local.get $9 - local.get $10 + local.get $8 + local.get $16 i32.ne if - local.get $9 + local.get $8 i32.load offset=4 i32.const 1 i32.and i32.eqz if local.get $0 - local.get $9 + local.get $8 i32.load16_u - local.tee $12 + local.tee $9 i32.store16 local.get $0 - local.get $9 + local.get $8 i32.load16_u offset=2 i32.store16 offset=2 local.get $0 - local.get $1 - local.get $16 - local.get $12 - i32.const 65535 - i32.and + local.get $9 i32.const -1028477379 i32.mul i32.const 374761395 @@ -11112,33 +11067,35 @@ i32.rotl i32.const 668265263 i32.mul - local.tee $12 - local.get $12 + local.tee $9 i32.const 15 i32.shr_u + local.get $9 i32.xor i32.const -2048144777 i32.mul - local.tee $12 - local.get $12 + local.tee $9 i32.const 13 i32.shr_u + local.get $9 i32.xor i32.const -1028477379 i32.mul - local.tee $12 - local.get $12 + local.tee $9 i32.const 16 i32.shr_u + local.get $9 i32.xor + local.get $7 i32.and i32.const 2 i32.shl + local.get $10 i32.add - local.tee $12 + local.tee $9 i32.load i32.store offset=4 - local.get $12 + local.get $9 local.get $0 i32.store local.get $0 @@ -11146,33 +11103,33 @@ i32.add local.set $0 end - local.get $9 + local.get $8 i32.const 8 i32.add - local.set $9 + local.set $8 br $while-continue|016 end end - local.get $13 - local.get $1 + local.get $4 + local.get $10 i32.store - local.get $13 - local.get $1 + local.get $4 + local.get $10 call $~lib/rt/itcms/__link - local.get $13 - local.get $16 + local.get $4 + local.get $7 i32.store offset=4 - local.get $13 local.get $4 + local.get $3 i32.store offset=8 - local.get $13 local.get $4 + local.get $3 call $~lib/rt/itcms/__link - local.get $13 - local.get $11 + local.get $4 + local.get $15 i32.store offset=12 - local.get $13 - local.get $13 + local.get $4 + local.get $4 i32.load offset=20 i32.store offset=16 global.get $~lib/memory/__stack_pointer @@ -11181,40 +11138,40 @@ global.set $~lib/memory/__stack_pointer end global.get $~lib/memory/__stack_pointer - local.get $13 + local.get $4 i32.load offset=8 - local.tee $16 + local.tee $0 i32.store - local.get $13 - local.get $13 + local.get $4 + local.get $4 i32.load offset=16 - local.tee $4 + local.tee $7 i32.const 1 i32.add i32.store offset=16 - local.get $16 - local.get $4 + local.get $7 i32.const 3 i32.shl + local.get $0 i32.add - local.tee $4 + local.tee $0 local.get $2 i32.store16 - local.get $4 + local.get $0 local.get $2 i32.store16 offset=2 - local.get $13 - local.get $13 + local.get $4 + local.get $4 i32.load offset=20 i32.const 1 i32.add i32.store offset=20 + local.get $0 local.get $4 - local.get $13 i32.load - local.get $5 - local.get $13 + local.get $4 i32.load offset=4 + local.get $14 i32.and i32.const 2 i32.shl @@ -11223,28 +11180,28 @@ i32.load i32.store offset=4 local.get $2 - local.get $4 + local.get $0 i32.store end global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $8 - local.get $7 + local.get $11 + local.get $12 i32.const 20 i32.sub local.tee $2 local.get $2 call $~lib/map/Map#set - local.get $3 + local.get $6 i32.const 1 i32.add - local.set $2 + local.set $6 br $for-loop|4 end end - local.get $13 + local.get $4 i32.load offset=20 i32.const 100 i32.ne @@ -11256,7 +11213,7 @@ call $~lib/builtins/abort unreachable end - local.get $8 + local.get $11 i32.load offset=20 i32.const 100 i32.ne @@ -11269,19 +11226,19 @@ unreachable end i32.const 0 - local.set $2 + local.set $6 loop $for-loop|6 - local.get $2 + local.get $6 i32.const 65535 i32.and i32.const 50 i32.lt_u if - local.get $15 + local.get $5 i32.load - local.get $15 + local.get $5 i32.load offset=4 - local.get $2 + local.get $6 i32.const 65535 i32.and i32.const -1028477379 @@ -11292,62 +11249,62 @@ i32.rotl i32.const 668265263 i32.mul - local.tee $4 - local.get $4 + local.tee $2 i32.const 15 i32.shr_u + local.get $2 i32.xor i32.const -2048144777 i32.mul - local.tee $4 - local.get $4 + local.tee $2 i32.const 13 i32.shr_u + local.get $2 i32.xor i32.const -1028477379 i32.mul - local.tee $4 - local.get $4 + local.tee $2 i32.const 16 i32.shr_u + local.get $2 i32.xor i32.and i32.const 2 i32.shl i32.add i32.load - local.set $3 + local.set $2 block $__inlined_func$~lib/map/Map#find18 loop $while-continue|019 - local.get $3 + local.get $2 if - local.get $3 + local.get $2 i32.load offset=8 - local.tee $4 + local.tee $0 i32.const 1 i32.and if (result i32) i32.const 0 else - local.get $3 - i32.load16_u local.get $2 + i32.load16_u + local.get $6 i32.const 65535 i32.and i32.eq end br_if $__inlined_func$~lib/map/Map#find18 - local.get $4 + local.get $0 i32.const -2 i32.and - local.set $3 + local.set $2 br $while-continue|019 end end i32.const 0 - local.set $3 + local.set $2 end - local.get $3 + local.get $2 i32.eqz if i32.const 0 @@ -11357,10 +11314,10 @@ call $~lib/builtins/abort unreachable end - local.get $15 - local.get $2 + local.get $5 + local.get $6 call $~lib/map/Map#get - local.get $2 + local.get $6 i32.const 65535 i32.and i32.const 20 @@ -11374,14 +11331,14 @@ call $~lib/builtins/abort unreachable end - local.get $15 - local.get $2 + local.get $5 + local.get $6 call $~lib/map/Map#delete - local.get $15 + local.get $5 i32.load - local.get $15 + local.get $5 i32.load offset=4 - local.get $2 + local.get $6 i32.const 65535 i32.and i32.const -1028477379 @@ -11392,62 +11349,62 @@ i32.rotl i32.const 668265263 i32.mul - local.tee $4 - local.get $4 + local.tee $2 i32.const 15 i32.shr_u + local.get $2 i32.xor i32.const -2048144777 i32.mul - local.tee $4 - local.get $4 + local.tee $2 i32.const 13 i32.shr_u + local.get $2 i32.xor i32.const -1028477379 i32.mul - local.tee $4 - local.get $4 + local.tee $2 i32.const 16 i32.shr_u + local.get $2 i32.xor i32.and i32.const 2 i32.shl i32.add i32.load - local.set $3 + local.set $2 block $__inlined_func$~lib/map/Map#find21 loop $while-continue|022 - local.get $3 + local.get $2 if - local.get $3 + local.get $2 i32.load offset=8 - local.tee $4 + local.tee $0 i32.const 1 i32.and if (result i32) i32.const 0 else - local.get $3 - i32.load16_u local.get $2 + i32.load16_u + local.get $6 i32.const 65535 i32.and i32.eq end br_if $__inlined_func$~lib/map/Map#find21 - local.get $4 + local.get $0 i32.const -2 i32.and - local.set $3 + local.set $2 br $while-continue|022 end end i32.const 0 - local.set $3 + local.set $2 end - local.get $3 + local.get $2 if i32.const 0 i32.const 1568 @@ -11456,14 +11413,14 @@ call $~lib/builtins/abort unreachable end - local.get $2 + local.get $6 i32.const 1 i32.add - local.set $2 + local.set $6 br $for-loop|6 end end - local.get $15 + local.get $5 i32.load offset=20 i32.const 50 i32.ne @@ -11476,19 +11433,19 @@ unreachable end i32.const 0 - local.set $2 + local.set $6 loop $for-loop|8 - local.get $2 + local.get $6 i32.const 65535 i32.and i32.const 50 i32.lt_u if - local.get $15 + local.get $5 i32.load - local.get $15 + local.get $5 i32.load offset=4 - local.get $2 + local.get $6 i32.const 65535 i32.and i32.const -1028477379 @@ -11499,62 +11456,62 @@ i32.rotl i32.const 668265263 i32.mul - local.tee $4 - local.get $4 + local.tee $2 i32.const 15 i32.shr_u + local.get $2 i32.xor i32.const -2048144777 i32.mul - local.tee $4 - local.get $4 + local.tee $2 i32.const 13 i32.shr_u + local.get $2 i32.xor i32.const -1028477379 i32.mul - local.tee $4 - local.get $4 + local.tee $2 i32.const 16 i32.shr_u + local.get $2 i32.xor i32.and i32.const 2 i32.shl i32.add i32.load - local.set $3 + local.set $2 block $__inlined_func$~lib/map/Map#find24 loop $while-continue|025 - local.get $3 + local.get $2 if - local.get $3 + local.get $2 i32.load offset=8 - local.tee $4 + local.tee $0 i32.const 1 i32.and if (result i32) i32.const 0 - else - local.get $3 - i32.load16_u + else local.get $2 + i32.load16_u + local.get $6 i32.const 65535 i32.and i32.eq end br_if $__inlined_func$~lib/map/Map#find24 - local.get $4 + local.get $0 i32.const -2 i32.and - local.set $3 + local.set $2 br $while-continue|025 end end i32.const 0 - local.set $3 + local.set $2 end - local.get $3 + local.get $2 if i32.const 0 i32.const 1568 @@ -11563,20 +11520,20 @@ call $~lib/builtins/abort unreachable end - local.get $15 - local.get $2 - local.get $2 + local.get $5 + local.get $6 + local.get $6 i32.const 65535 i32.and - local.tee $4 + local.tee $2 i32.const 10 i32.add call $~lib/map/Map#set - local.get $15 + local.get $5 i32.load - local.get $15 + local.get $5 i32.load offset=4 - local.get $4 + local.get $2 i32.const -1028477379 i32.mul i32.const 374761395 @@ -11585,62 +11542,62 @@ i32.rotl i32.const 668265263 i32.mul - local.tee $4 - local.get $4 + local.tee $2 i32.const 15 i32.shr_u + local.get $2 i32.xor i32.const -2048144777 i32.mul - local.tee $4 - local.get $4 + local.tee $2 i32.const 13 i32.shr_u + local.get $2 i32.xor i32.const -1028477379 i32.mul - local.tee $4 - local.get $4 + local.tee $2 i32.const 16 i32.shr_u + local.get $2 i32.xor i32.and i32.const 2 i32.shl i32.add i32.load - local.set $3 + local.set $2 block $__inlined_func$~lib/map/Map#find27 loop $while-continue|028 - local.get $3 + local.get $2 if - local.get $3 + local.get $2 i32.load offset=8 - local.tee $4 + local.tee $0 i32.const 1 i32.and if (result i32) i32.const 0 else - local.get $3 - i32.load16_u local.get $2 + i32.load16_u + local.get $6 i32.const 65535 i32.and i32.eq end br_if $__inlined_func$~lib/map/Map#find27 - local.get $4 + local.get $0 i32.const -2 i32.and - local.set $3 + local.set $2 br $while-continue|028 end end i32.const 0 - local.set $3 + local.set $2 end - local.get $3 + local.get $2 i32.eqz if i32.const 0 @@ -11650,14 +11607,14 @@ call $~lib/builtins/abort unreachable end - local.get $15 - local.get $2 + local.get $5 + local.get $6 call $~lib/map/Map#delete - local.get $15 + local.get $5 i32.load - local.get $15 + local.get $5 i32.load offset=4 - local.get $2 + local.get $6 i32.const 65535 i32.and i32.const -1028477379 @@ -11668,62 +11625,62 @@ i32.rotl i32.const 668265263 i32.mul - local.tee $4 - local.get $4 + local.tee $2 i32.const 15 i32.shr_u + local.get $2 i32.xor i32.const -2048144777 i32.mul - local.tee $4 - local.get $4 + local.tee $2 i32.const 13 i32.shr_u + local.get $2 i32.xor i32.const -1028477379 i32.mul - local.tee $4 - local.get $4 + local.tee $2 i32.const 16 i32.shr_u + local.get $2 i32.xor i32.and i32.const 2 i32.shl i32.add i32.load - local.set $3 + local.set $2 block $__inlined_func$~lib/map/Map#find30 loop $while-continue|031 - local.get $3 + local.get $2 if - local.get $3 + local.get $2 i32.load offset=8 - local.tee $4 + local.tee $0 i32.const 1 i32.and if (result i32) i32.const 0 else - local.get $3 - i32.load16_u local.get $2 + i32.load16_u + local.get $6 i32.const 65535 i32.and i32.eq end br_if $__inlined_func$~lib/map/Map#find30 - local.get $4 + local.get $0 i32.const -2 i32.and - local.set $3 + local.set $2 br $while-continue|031 end end i32.const 0 - local.set $3 + local.set $2 end - local.get $3 + local.get $2 if i32.const 0 i32.const 1568 @@ -11732,14 +11689,14 @@ call $~lib/builtins/abort unreachable end - local.get $2 + local.get $6 i32.const 1 i32.add - local.set $2 + local.set $6 br $for-loop|8 end end - local.get $15 + local.get $5 i32.load offset=20 i32.const 50 i32.ne @@ -11751,9 +11708,9 @@ call $~lib/builtins/abort unreachable end - local.get $15 + local.get $5 call $~lib/map/Map#clear - local.get $15 + local.get $5 i32.load offset=20 if i32.const 0 @@ -11791,22 +11748,22 @@ i32.rotl i32.const 668265263 i32.mul - local.tee $2 - local.get $2 + local.tee $0 + local.get $0 i32.const 15 i32.shr_u i32.xor i32.const -2048144777 i32.mul - local.tee $2 - local.get $2 + local.tee $0 + local.get $0 i32.const 13 i32.shr_u i32.xor i32.const -1028477379 i32.mul - local.tee $2 - local.get $2 + local.tee $0 + local.get $0 i32.const 16 i32.shr_u i32.xor @@ -12033,23 +11990,23 @@ i32.const 668265263 i32.mul local.tee $1 - local.get $1 i32.const 15 i32.shr_u + local.get $1 i32.xor i32.const -2048144777 i32.mul local.tee $1 - local.get $1 i32.const 13 i32.shr_u + local.get $1 i32.xor i32.const -1028477379 i32.mul local.tee $1 - local.get $1 i32.const 16 i32.shr_u + local.get $1 i32.xor i32.and i32.const 2 @@ -12114,23 +12071,23 @@ i32.const 668265263 i32.mul local.tee $1 - local.get $1 i32.const 15 i32.shr_u + local.get $1 i32.xor i32.const -2048144777 i32.mul local.tee $1 - local.get $1 i32.const 13 i32.shr_u + local.get $1 i32.xor i32.const -1028477379 i32.mul local.tee $1 - local.get $1 i32.const 16 i32.shr_u + local.get $1 i32.xor i32.and i32.const 2 @@ -12231,23 +12188,23 @@ i32.const 668265263 i32.mul local.tee $1 - local.get $1 i32.const 15 i32.shr_u + local.get $1 i32.xor i32.const -2048144777 i32.mul local.tee $1 - local.get $1 i32.const 13 i32.shr_u + local.get $1 i32.xor i32.const -1028477379 i32.mul local.tee $1 - local.get $1 i32.const 16 i32.shr_u + local.get $1 i32.xor i32.and i32.const 2 @@ -12328,23 +12285,23 @@ i32.const 668265263 i32.mul local.tee $1 - local.get $1 i32.const 15 i32.shr_u + local.get $1 i32.xor i32.const -2048144777 i32.mul local.tee $1 - local.get $1 i32.const 13 i32.shr_u + local.get $1 i32.xor i32.const -1028477379 i32.mul local.tee $1 - local.get $1 i32.const 16 i32.shr_u + local.get $1 i32.xor i32.and i32.const 2 @@ -12424,10 +12381,11 @@ call $~lib/builtins/abort unreachable end + global.get $~lib/memory/__stack_pointer + local.tee $1 i32.const 0 local.set $0 - global.get $~lib/memory/__stack_pointer - local.tee $7 + local.get $1 i32.const 4 i32.sub global.set $~lib/memory/__stack_pointer @@ -12454,10 +12412,10 @@ local.get $8 i32.lt_s if - local.get $5 local.get $3 i32.const 12 i32.mul + local.get $5 i32.add local.tee $6 i32.load offset=8 @@ -12494,7 +12452,6 @@ i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $7 local.get $1 i32.store offset=4 global.get $~lib/memory/__stack_pointer @@ -12511,10 +12468,10 @@ local.tee $5 i32.store offset=16 loop $for-loop|2 - local.get $4 local.get $1 i32.load offset=12 - i32.lt_s + local.get $4 + i32.gt_s if local.get $1 local.get $4 @@ -12538,23 +12495,23 @@ i32.const 668265263 i32.mul local.tee $3 - local.get $3 i32.const 15 i32.shr_u + local.get $3 i32.xor i32.const -2048144777 i32.mul local.tee $3 - local.get $3 i32.const 13 i32.shr_u + local.get $3 i32.xor i32.const -1028477379 i32.mul local.tee $3 - local.get $3 i32.const 16 i32.shr_u + local.get $3 i32.xor i32.and i32.const 2 @@ -12617,23 +12574,23 @@ i32.const 668265263 i32.mul local.tee $3 - local.get $3 i32.const 15 i32.shr_u + local.get $3 i32.xor i32.const -2048144777 i32.mul local.tee $3 - local.get $3 i32.const 13 i32.shr_u + local.get $3 i32.xor i32.const -1028477379 i32.mul local.tee $3 - local.get $3 i32.const 16 i32.shr_u + local.get $3 i32.xor i32.and i32.const 2 @@ -12742,23 +12699,23 @@ i32.const 668265263 i32.mul local.tee $0 - local.get $0 i32.const 15 i32.shr_u + local.get $0 i32.xor i32.const -2048144777 i32.mul local.tee $0 - local.get $0 i32.const 13 i32.shr_u + local.get $0 i32.xor i32.const -1028477379 i32.mul local.tee $0 - local.get $0 i32.const 16 i32.shr_u + local.get $0 i32.xor i32.and i32.const 2 @@ -12836,23 +12793,23 @@ i32.const 668265263 i32.mul local.tee $0 - local.get $0 i32.const 15 i32.shr_u + local.get $0 i32.xor i32.const -2048144777 i32.mul local.tee $0 - local.get $0 i32.const 13 i32.shr_u + local.get $0 i32.xor i32.const -1028477379 i32.mul local.tee $0 - local.get $0 i32.const 16 i32.shr_u + local.get $0 i32.xor i32.and i32.const 2 @@ -12937,23 +12894,23 @@ i32.const 668265263 i32.mul local.tee $0 - local.get $0 i32.const 15 i32.shr_u + local.get $0 i32.xor i32.const -2048144777 i32.mul local.tee $0 - local.get $0 i32.const 13 i32.shr_u + local.get $0 i32.xor i32.const -1028477379 i32.mul local.tee $0 - local.get $0 i32.const 16 i32.shr_u + local.get $0 i32.xor i32.and i32.const 2 @@ -13018,23 +12975,23 @@ i32.const 668265263 i32.mul local.tee $0 - local.get $0 i32.const 15 i32.shr_u + local.get $0 i32.xor i32.const -2048144777 i32.mul local.tee $0 - local.get $0 i32.const 13 i32.shr_u + local.get $0 i32.xor i32.const -1028477379 i32.mul local.tee $0 - local.get $0 i32.const 16 i32.shr_u + local.get $0 i32.xor i32.and i32.const 2 @@ -13097,23 +13054,23 @@ i32.const 668265263 i32.mul local.tee $0 - local.get $0 i32.const 15 i32.shr_u + local.get $0 i32.xor i32.const -2048144777 i32.mul local.tee $0 - local.get $0 i32.const 13 i32.shr_u + local.get $0 i32.xor i32.const -1028477379 i32.mul local.tee $0 - local.get $0 i32.const 16 i32.shr_u + local.get $0 i32.xor i32.and i32.const 2 @@ -13283,8 +13240,6 @@ i32.load offset=4 i32.store offset=4 local.get $2 - local.get $6 - local.get $1 local.get $8 i32.const -1028477379 i32.mul @@ -13313,9 +13268,11 @@ i32.const 16 i32.shr_u i32.xor + local.get $1 i32.and i32.const 2 i32.shl + local.get $6 i32.add local.tee $8 i32.load @@ -13377,22 +13334,22 @@ i32.rotl i32.const 668265263 i32.mul - local.tee $2 - local.get $2 + local.tee $0 + local.get $0 i32.const 15 i32.shr_u i32.xor i32.const -2048144777 i32.mul - local.tee $2 - local.get $2 + local.tee $0 + local.get $0 i32.const 13 i32.shr_u i32.xor i32.const -1028477379 i32.mul - local.tee $2 - local.get $2 + local.tee $0 + local.get $0 i32.const 16 i32.shr_u i32.xor @@ -13674,23 +13631,23 @@ i32.const 668265263 i32.mul local.tee $3 - local.get $3 i32.const 15 i32.shr_u + local.get $3 i32.xor i32.const -2048144777 i32.mul local.tee $3 - local.get $3 i32.const 13 i32.shr_u + local.get $3 i32.xor i32.const -1028477379 i32.mul local.tee $3 - local.get $3 i32.const 16 i32.shr_u + local.get $3 i32.xor i32.and i32.const 2 @@ -13755,23 +13712,23 @@ i32.const 668265263 i32.mul local.tee $3 - local.get $3 i32.const 15 i32.shr_u + local.get $3 i32.xor i32.const -2048144777 i32.mul local.tee $3 - local.get $3 i32.const 13 i32.shr_u + local.get $3 i32.xor i32.const -1028477379 i32.mul local.tee $3 - local.get $3 i32.const 16 i32.shr_u + local.get $3 i32.xor i32.and i32.const 2 @@ -13872,23 +13829,23 @@ i32.const 668265263 i32.mul local.tee $3 - local.get $3 i32.const 15 i32.shr_u + local.get $3 i32.xor i32.const -2048144777 i32.mul local.tee $3 - local.get $3 i32.const 13 i32.shr_u + local.get $3 i32.xor i32.const -1028477379 i32.mul local.tee $3 - local.get $3 i32.const 16 i32.shr_u + local.get $3 i32.xor i32.and i32.const 2 @@ -13969,23 +13926,23 @@ i32.const 668265263 i32.mul local.tee $3 - local.get $3 i32.const 15 i32.shr_u + local.get $3 i32.xor i32.const -2048144777 i32.mul local.tee $3 - local.get $3 i32.const 13 i32.shr_u + local.get $3 i32.xor i32.const -1028477379 i32.mul local.tee $3 - local.get $3 i32.const 16 i32.shr_u + local.get $3 i32.xor i32.and i32.const 2 @@ -14065,10 +14022,11 @@ call $~lib/builtins/abort unreachable end + global.get $~lib/memory/__stack_pointer + local.tee $3 i32.const 0 local.set $0 - global.get $~lib/memory/__stack_pointer - local.tee $10 + local.get $3 i32.const 4 i32.sub global.set $~lib/memory/__stack_pointer @@ -14175,10 +14133,10 @@ local.get $12 i32.lt_s if - local.get $11 local.get $8 i32.const 12 i32.mul + local.get $11 i32.add local.tee $3 i32.load offset=8 @@ -14215,7 +14173,6 @@ i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $10 local.get $6 i32.store offset=4 global.get $~lib/memory/__stack_pointer @@ -14224,7 +14181,7 @@ local.tee $13 i32.store offset=8 global.get $~lib/memory/__stack_pointer - local.tee $0 + global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub global.set $~lib/memory/__stack_pointer @@ -14274,7 +14231,6 @@ i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $0 local.get $3 i32.store offset=12 global.get $~lib/memory/__stack_pointer @@ -14282,15 +14238,15 @@ local.tee $11 i32.store offset=16 loop $for-loop|2 - local.get $5 local.get $6 i32.load offset=12 - i32.lt_s + local.get $5 + i32.gt_s if - local.get $5 local.get $6 i32.load offset=12 - i32.ge_u + local.get $5 + i32.le_u if i32.const 1248 i32.const 1728 @@ -14325,23 +14281,23 @@ i32.const 668265263 i32.mul local.tee $1 - local.get $1 i32.const 15 i32.shr_u + local.get $1 i32.xor i32.const -2048144777 i32.mul local.tee $1 - local.get $1 i32.const 13 i32.shr_u + local.get $1 i32.xor i32.const -1028477379 i32.mul local.tee $1 - local.get $1 i32.const 16 i32.shr_u + local.get $1 i32.xor i32.and i32.const 2 @@ -14404,23 +14360,23 @@ i32.const 668265263 i32.mul local.tee $1 - local.get $1 i32.const 15 i32.shr_u + local.get $1 i32.xor i32.const -2048144777 i32.mul local.tee $1 - local.get $1 i32.const 13 i32.shr_u + local.get $1 i32.xor i32.const -1028477379 i32.mul local.tee $1 - local.get $1 i32.const 16 i32.shr_u + local.get $1 i32.xor i32.and i32.const 2 @@ -14490,23 +14446,23 @@ i32.const 668265263 i32.mul local.tee $0 - local.get $0 i32.const 15 i32.shr_u + local.get $0 i32.xor i32.const -2048144777 i32.mul local.tee $0 - local.get $0 i32.const 13 i32.shr_u + local.get $0 i32.xor i32.const -1028477379 i32.mul local.tee $0 - local.get $0 i32.const 16 i32.shr_u + local.get $0 i32.xor local.tee $14 local.get $3 @@ -14644,8 +14600,6 @@ i32.load offset=4 i32.store offset=4 local.get $0 - local.get $10 - local.get $8 local.get $9 i32.const -1028477379 i32.mul @@ -14656,27 +14610,29 @@ i32.const 668265263 i32.mul local.tee $9 - local.get $9 i32.const 15 i32.shr_u + local.get $9 i32.xor i32.const -2048144777 i32.mul local.tee $9 - local.get $9 i32.const 13 i32.shr_u + local.get $9 i32.xor i32.const -1028477379 i32.mul local.tee $9 - local.get $9 i32.const 16 i32.shr_u + local.get $9 i32.xor + local.get $8 i32.and i32.const 2 i32.shl + local.get $10 i32.add local.tee $9 i32.load @@ -14735,10 +14691,10 @@ i32.const 1 i32.add i32.store offset=16 - local.get $0 local.get $8 i32.const 12 i32.mul + local.get $0 i32.add local.tee $0 local.get $1 @@ -14755,9 +14711,9 @@ local.get $0 local.get $3 i32.load - local.get $14 local.get $3 i32.load offset=4 + local.get $14 i32.and i32.const 2 i32.shl @@ -14832,23 +14788,23 @@ i32.const 668265263 i32.mul local.tee $0 - local.get $0 i32.const 15 i32.shr_u + local.get $0 i32.xor i32.const -2048144777 i32.mul local.tee $0 - local.get $0 i32.const 13 i32.shr_u + local.get $0 i32.xor i32.const -1028477379 i32.mul local.tee $0 - local.get $0 i32.const 16 i32.shr_u + local.get $0 i32.xor i32.and i32.const 2 @@ -14926,23 +14882,23 @@ i32.const 668265263 i32.mul local.tee $0 - local.get $0 i32.const 15 i32.shr_u + local.get $0 i32.xor i32.const -2048144777 i32.mul local.tee $0 - local.get $0 i32.const 13 i32.shr_u + local.get $0 i32.xor i32.const -1028477379 i32.mul local.tee $0 - local.get $0 i32.const 16 i32.shr_u + local.get $0 i32.xor i32.and i32.const 2 @@ -15027,23 +14983,23 @@ i32.const 668265263 i32.mul local.tee $0 - local.get $0 i32.const 15 i32.shr_u + local.get $0 i32.xor i32.const -2048144777 i32.mul local.tee $0 - local.get $0 i32.const 13 i32.shr_u + local.get $0 i32.xor i32.const -1028477379 i32.mul local.tee $0 - local.get $0 i32.const 16 i32.shr_u + local.get $0 i32.xor i32.and i32.const 2 @@ -15108,23 +15064,23 @@ i32.const 668265263 i32.mul local.tee $0 - local.get $0 i32.const 15 i32.shr_u + local.get $0 i32.xor i32.const -2048144777 i32.mul local.tee $0 - local.get $0 i32.const 13 i32.shr_u + local.get $0 i32.xor i32.const -1028477379 i32.mul local.tee $0 - local.get $0 i32.const 16 i32.shr_u + local.get $0 i32.xor i32.and i32.const 2 @@ -15187,23 +15143,23 @@ i32.const 668265263 i32.mul local.tee $0 - local.get $0 i32.const 15 i32.shr_u + local.get $0 i32.xor i32.const -2048144777 i32.mul local.tee $0 - local.get $0 i32.const 13 i32.shr_u + local.get $0 i32.xor i32.const -1028477379 i32.mul local.tee $0 - local.get $0 i32.const 16 i32.shr_u + local.get $0 i32.xor i32.and i32.const 2 @@ -15319,22 +15275,22 @@ i32.rotl i32.const 668265263 i32.mul - local.tee $2 - local.get $2 + local.tee $0 + local.get $0 i32.const 15 i32.shr_u i32.xor i32.const -2048144777 i32.mul - local.tee $2 - local.get $2 + local.tee $0 + local.get $0 i32.const 13 i32.shr_u i32.xor i32.const -1028477379 i32.mul - local.tee $2 - local.get $2 + local.tee $0 + local.get $0 i32.const 16 i32.shr_u i32.xor @@ -15458,7 +15414,6 @@ i32.load offset=8 i32.store offset=8 local.get $2 - local.get $7 local.get $1 local.get $6 i32.wrap_i64 @@ -15503,6 +15458,7 @@ i32.and i32.const 2 i32.shl + local.get $7 i32.add local.tee $9 i32.load @@ -15576,22 +15532,22 @@ i32.rotl i32.const 668265263 i32.mul - local.tee $2 - local.get $2 + local.tee $0 + local.get $0 i32.const 15 i32.shr_u i32.xor i32.const -2048144777 i32.mul - local.tee $2 - local.get $2 + local.tee $0 + local.get $0 i32.const 13 i32.shr_u i32.xor i32.const -1028477379 i32.mul - local.tee $2 - local.get $2 + local.tee $0 + local.get $0 i32.const 16 i32.shr_u i32.xor @@ -16096,7 +16052,8 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $11 + local.tee $3 + local.get $3 i32.const 4 i32.sub global.set $~lib/memory/__stack_pointer @@ -16203,10 +16160,10 @@ local.get $13 i32.lt_s if - local.get $12 local.get $2 i32.const 4 i32.shl + local.get $12 i32.add local.tee $3 i32.load offset=12 @@ -16243,7 +16200,6 @@ i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $11 local.get $6 i32.store offset=4 global.get $~lib/memory/__stack_pointer @@ -16252,7 +16208,7 @@ local.tee $13 i32.store offset=8 global.get $~lib/memory/__stack_pointer - local.tee $0 + global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub global.set $~lib/memory/__stack_pointer @@ -16302,7 +16258,6 @@ i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $0 local.get $3 i32.store offset=12 global.get $~lib/memory/__stack_pointer @@ -16310,15 +16265,15 @@ local.tee $11 i32.store offset=16 loop $for-loop|2 - local.get $10 local.get $6 i32.load offset=12 - i32.lt_s + local.get $10 + i32.gt_s if - local.get $10 local.get $6 i32.load offset=12 - i32.ge_u + local.get $10 + i32.le_u if i32.const 1248 i32.const 1728 @@ -16401,23 +16356,23 @@ i32.const 668265263 i32.mul local.tee $0 - local.get $0 i32.const 15 i32.shr_u + local.get $0 i32.xor i32.const -2048144777 i32.mul local.tee $0 - local.get $0 i32.const 13 i32.shr_u + local.get $0 i32.xor i32.const -1028477379 i32.mul local.tee $0 - local.get $0 i32.const 16 i32.shr_u + local.get $0 i32.xor local.tee $15 local.get $3 @@ -16555,7 +16510,6 @@ i64.load offset=8 i64.store offset=8 local.get $0 - local.get $9 local.get $1 local.get $14 i32.wrap_i64 @@ -16579,27 +16533,28 @@ i32.const 668265263 i32.mul local.tee $8 - local.get $8 i32.const 15 i32.shr_u + local.get $8 i32.xor i32.const -2048144777 i32.mul local.tee $8 - local.get $8 i32.const 13 i32.shr_u + local.get $8 i32.xor i32.const -1028477379 i32.mul local.tee $8 - local.get $8 i32.const 16 i32.shr_u + local.get $8 i32.xor i32.and i32.const 2 i32.shl + local.get $9 i32.add local.tee $8 i32.load @@ -16658,10 +16613,10 @@ i32.const 1 i32.add i32.store offset=16 - local.get $0 local.get $1 i32.const 24 i32.mul + local.get $0 i32.add local.tee $0 local.get $4 @@ -16678,9 +16633,9 @@ local.get $0 local.get $3 i32.load - local.get $15 local.get $3 i32.load offset=4 + local.get $15 i32.and i32.const 2 i32.shl @@ -16924,22 +16879,22 @@ i32.rotl i32.const 668265263 i32.mul - local.tee $2 - local.get $2 + local.tee $0 + local.get $0 i32.const 15 i32.shr_u i32.xor i32.const -2048144777 i32.mul - local.tee $2 - local.get $2 + local.tee $0 + local.get $0 i32.const 13 i32.shr_u i32.xor i32.const -1028477379 i32.mul - local.tee $2 - local.get $2 + local.tee $0 + local.get $0 i32.const 16 i32.shr_u i32.xor @@ -17063,7 +17018,6 @@ i32.load offset=8 i32.store offset=8 local.get $2 - local.get $7 local.get $1 local.get $6 i32.wrap_i64 @@ -17108,6 +17062,7 @@ i32.and i32.const 2 i32.shl + local.get $7 i32.add local.tee $9 i32.load @@ -17181,22 +17136,22 @@ i32.rotl i32.const 668265263 i32.mul - local.tee $2 - local.get $2 + local.tee $0 + local.get $0 i32.const 15 i32.shr_u i32.xor i32.const -2048144777 i32.mul - local.tee $2 - local.get $2 + local.tee $0 + local.get $0 i32.const 13 i32.shr_u i32.xor i32.const -1028477379 i32.mul - local.tee $2 - local.get $2 + local.tee $0 + local.get $0 i32.const 16 i32.shr_u i32.xor @@ -17631,7 +17586,8 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $11 + local.tee $3 + local.get $3 i32.const 4 i32.sub global.set $~lib/memory/__stack_pointer @@ -17738,10 +17694,10 @@ local.get $13 i32.lt_s if - local.get $12 local.get $2 i32.const 4 i32.shl + local.get $12 i32.add local.tee $3 i32.load offset=12 @@ -17778,7 +17734,6 @@ i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $11 local.get $6 i32.store offset=4 global.get $~lib/memory/__stack_pointer @@ -17787,7 +17742,7 @@ local.tee $13 i32.store offset=8 global.get $~lib/memory/__stack_pointer - local.tee $0 + global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub global.set $~lib/memory/__stack_pointer @@ -17837,7 +17792,6 @@ i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $0 local.get $3 i32.store offset=12 global.get $~lib/memory/__stack_pointer @@ -17845,15 +17799,15 @@ local.tee $11 i32.store offset=16 loop $for-loop|2 - local.get $10 local.get $6 i32.load offset=12 - i32.lt_s + local.get $10 + i32.gt_s if - local.get $10 local.get $6 i32.load offset=12 - i32.ge_u + local.get $10 + i32.le_u if i32.const 1248 i32.const 1728 @@ -17936,23 +17890,23 @@ i32.const 668265263 i32.mul local.tee $0 - local.get $0 i32.const 15 i32.shr_u + local.get $0 i32.xor i32.const -2048144777 i32.mul local.tee $0 - local.get $0 i32.const 13 i32.shr_u + local.get $0 i32.xor i32.const -1028477379 i32.mul local.tee $0 - local.get $0 i32.const 16 i32.shr_u + local.get $0 i32.xor local.tee $15 local.get $3 @@ -18090,7 +18044,6 @@ i64.load offset=8 i64.store offset=8 local.get $0 - local.get $9 local.get $1 local.get $14 i32.wrap_i64 @@ -18114,27 +18067,28 @@ i32.const 668265263 i32.mul local.tee $8 - local.get $8 i32.const 15 i32.shr_u + local.get $8 i32.xor i32.const -2048144777 i32.mul local.tee $8 - local.get $8 i32.const 13 i32.shr_u + local.get $8 i32.xor i32.const -1028477379 i32.mul local.tee $8 - local.get $8 i32.const 16 i32.shr_u + local.get $8 i32.xor i32.and i32.const 2 i32.shl + local.get $9 i32.add local.tee $8 i32.load @@ -18193,10 +18147,10 @@ i32.const 1 i32.add i32.store offset=16 - local.get $0 local.get $1 i32.const 24 i32.mul + local.get $0 i32.add local.tee $0 local.get $4 @@ -18213,9 +18167,9 @@ local.get $0 local.get $3 i32.load - local.get $15 local.get $3 i32.load offset=4 + local.get $15 i32.and i32.const 2 i32.shl @@ -18514,8 +18468,6 @@ i32.load offset=4 i32.store offset=4 local.get $2 - local.get $7 - local.get $1 local.get $4 i32.reinterpret_f32 i32.const -1028477379 @@ -18545,9 +18497,11 @@ i32.const 16 i32.shr_u i32.xor + local.get $1 i32.and i32.const 2 i32.shl + local.get $7 i32.add local.tee $9 i32.load @@ -18610,22 +18564,22 @@ i32.rotl i32.const 668265263 i32.mul - local.tee $2 - local.get $2 + local.tee $0 + local.get $0 i32.const 15 i32.shr_u i32.xor i32.const -2048144777 i32.mul - local.tee $2 - local.get $2 + local.tee $0 + local.get $0 i32.const 13 i32.shr_u i32.xor i32.const -1028477379 i32.mul - local.tee $2 - local.get $2 + local.tee $0 + local.get $0 i32.const 16 i32.shr_u i32.xor @@ -18845,10 +18799,10 @@ i32.lt_s br_if $folding-inner1 global.get $~lib/memory/__stack_pointer - local.tee $4 + local.tee $5 i32.const 0 i32.store - local.get $4 + local.get $5 i32.const 24 i32.const 26 call $~lib/rt/itcms/__new @@ -18857,10 +18811,10 @@ local.get $4 i32.const 16 call $~lib/arraybuffer/ArrayBuffer#constructor - local.tee $0 + local.tee $5 i32.store local.get $4 - local.get $0 + local.get $5 call $~lib/rt/itcms/__link local.get $4 i32.const 3 @@ -18868,10 +18822,10 @@ local.get $4 i32.const 48 call $~lib/arraybuffer/ArrayBuffer#constructor - local.tee $0 + local.tee $5 i32.store offset=8 local.get $4 - local.get $0 + local.get $5 call $~lib/rt/itcms/__link local.get $4 i32.const 4 @@ -18909,23 +18863,23 @@ i32.const 668265263 i32.mul local.tee $1 - local.get $1 i32.const 15 i32.shr_u + local.get $1 i32.xor i32.const -2048144777 i32.mul local.tee $1 - local.get $1 i32.const 13 i32.shr_u + local.get $1 i32.xor i32.const -1028477379 i32.mul local.tee $1 - local.get $1 i32.const 16 i32.shr_u + local.get $1 i32.xor i32.and i32.const 2 @@ -18939,7 +18893,7 @@ if local.get $1 i32.load offset=8 - local.tee $5 + local.tee $6 i32.const 1 i32.and if (result i32) @@ -18951,7 +18905,7 @@ f32.eq end br_if $__inlined_func$~lib/map/Map#find - local.get $5 + local.get $6 i32.const -2 i32.and local.set $1 @@ -18992,23 +18946,23 @@ i32.const 668265263 i32.mul local.tee $1 - local.get $1 i32.const 15 i32.shr_u + local.get $1 i32.xor i32.const -2048144777 i32.mul local.tee $1 - local.get $1 i32.const 13 i32.shr_u + local.get $1 i32.xor i32.const -1028477379 i32.mul local.tee $1 - local.get $1 i32.const 16 i32.shr_u + local.get $1 i32.xor i32.and i32.const 2 @@ -19022,7 +18976,7 @@ if local.get $1 i32.load offset=8 - local.tee $5 + local.tee $6 i32.const 1 i32.and if (result i32) @@ -19034,7 +18988,7 @@ f32.eq end br_if $__inlined_func$~lib/map/Map#find1 - local.get $5 + local.get $6 i32.const -2 i32.and local.set $1 @@ -19111,23 +19065,23 @@ i32.const 668265263 i32.mul local.tee $1 - local.get $1 i32.const 15 i32.shr_u + local.get $1 i32.xor i32.const -2048144777 i32.mul local.tee $1 - local.get $1 i32.const 13 i32.shr_u + local.get $1 i32.xor i32.const -1028477379 i32.mul local.tee $1 - local.get $1 i32.const 16 i32.shr_u + local.get $1 i32.xor i32.and i32.const 2 @@ -19141,7 +19095,7 @@ if local.get $1 i32.load offset=8 - local.tee $5 + local.tee $6 i32.const 1 i32.and if (result i32) @@ -19153,7 +19107,7 @@ f32.eq end br_if $__inlined_func$~lib/map/Map#find4 - local.get $5 + local.get $6 i32.const -2 i32.and local.set $1 @@ -19211,23 +19165,23 @@ i32.const 668265263 i32.mul local.tee $1 - local.get $1 i32.const 15 i32.shr_u + local.get $1 i32.xor i32.const -2048144777 i32.mul local.tee $1 - local.get $1 i32.const 13 i32.shr_u + local.get $1 i32.xor i32.const -1028477379 i32.mul local.tee $1 - local.get $1 i32.const 16 i32.shr_u + local.get $1 i32.xor i32.and i32.const 2 @@ -19241,7 +19195,7 @@ if local.get $1 i32.load offset=8 - local.tee $5 + local.tee $6 i32.const 1 i32.and if (result i32) @@ -19253,7 +19207,7 @@ f32.eq end br_if $__inlined_func$~lib/map/Map#find7 - local.get $5 + local.get $6 i32.const -2 i32.and local.set $1 @@ -19308,10 +19262,9 @@ call $~lib/builtins/abort unreachable end - i32.const 0 - local.set $1 global.get $~lib/memory/__stack_pointer - local.tee $11 + local.tee $1 + local.get $1 i32.const 4 i32.sub global.set $~lib/memory/__stack_pointer @@ -19329,7 +19282,7 @@ local.get $4 i32.load offset=16 local.tee $13 - local.set $0 + local.set $1 local.get $7 i32.const 8 i32.sub @@ -19363,7 +19316,7 @@ local.get $6 i32.const 0 i32.store offset=12 - local.get $0 + local.get $1 i32.const 268435455 i32.gt_u if @@ -19375,9 +19328,9 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $0 + local.get $1 i32.const 8 - local.get $0 + local.get $1 i32.const 8 i32.gt_u select @@ -19404,7 +19357,7 @@ local.get $9 i32.store offset=8 local.get $6 - local.get $0 + local.get $1 i32.store offset=12 global.get $~lib/memory/__stack_pointer i32.const 8 @@ -19418,10 +19371,10 @@ local.get $13 i32.lt_s if - local.get $12 local.get $2 i32.const 12 i32.mul + local.get $12 i32.add local.tee $5 i32.load offset=8 @@ -19429,20 +19382,20 @@ i32.and i32.eqz if - local.get $1 - local.tee $0 + local.get $0 + local.tee $1 i32.const 1 i32.add - local.set $1 + local.set $0 local.get $5 f32.load local.set $3 - local.get $0 local.get $6 i32.load offset=12 - i32.ge_u + local.get $1 + i32.le_u if - local.get $0 + local.get $1 i32.const 0 i32.lt_s if @@ -19454,7 +19407,7 @@ unreachable end local.get $6 - local.get $0 + local.get $1 i32.const 1 i32.add local.tee $5 @@ -19467,7 +19420,7 @@ end local.get $6 i32.load offset=4 - local.get $0 + local.get $1 i32.const 2 i32.shl i32.add @@ -19482,18 +19435,17 @@ end end local.get $6 - local.get $1 + local.get $0 i32.const 2 i32.const 0 call $~lib/array/ensureCapacity local.get $6 - local.get $1 + local.get $0 i32.store offset=12 global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $11 local.get $6 i32.store offset=4 global.get $~lib/memory/__stack_pointer @@ -19502,7 +19454,7 @@ local.tee $13 i32.store offset=8 global.get $~lib/memory/__stack_pointer - local.tee $0 + global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub global.set $~lib/memory/__stack_pointer @@ -19552,7 +19504,6 @@ i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $0 local.get $1 i32.store offset=12 global.get $~lib/memory/__stack_pointer @@ -19560,15 +19511,15 @@ local.tee $11 i32.store offset=16 loop $for-loop|2 - local.get $10 local.get $6 i32.load offset=12 - i32.lt_s + local.get $10 + i32.gt_s if - local.get $10 local.get $6 i32.load offset=12 - i32.ge_u + local.get $10 + i32.le_u if i32.const 1248 i32.const 1728 @@ -19604,23 +19555,23 @@ i32.const 668265263 i32.mul local.tee $0 - local.get $0 i32.const 15 i32.shr_u + local.get $0 i32.xor i32.const -2048144777 i32.mul local.tee $0 - local.get $0 i32.const 13 i32.shr_u + local.get $0 i32.xor i32.const -1028477379 i32.mul local.tee $0 - local.get $0 i32.const 16 i32.shr_u + local.get $0 i32.xor i32.and i32.const 2 @@ -19685,23 +19636,23 @@ i32.const 668265263 i32.mul local.tee $0 - local.get $0 i32.const 15 i32.shr_u + local.get $0 i32.xor i32.const -2048144777 i32.mul local.tee $0 - local.get $0 i32.const 13 i32.shr_u + local.get $0 i32.xor i32.const -1028477379 i32.mul local.tee $0 - local.get $0 i32.const 16 i32.shr_u + local.get $0 i32.xor i32.and i32.const 2 @@ -19771,23 +19722,23 @@ i32.const 668265263 i32.mul local.tee $0 - local.get $0 i32.const 15 i32.shr_u + local.get $0 i32.xor i32.const -2048144777 i32.mul local.tee $0 - local.get $0 i32.const 13 i32.shr_u + local.get $0 i32.xor i32.const -1028477379 i32.mul local.tee $0 - local.get $0 i32.const 16 i32.shr_u + local.get $0 i32.xor local.tee $15 local.get $1 @@ -19925,8 +19876,6 @@ f32.load offset=4 f32.store offset=4 local.get $0 - local.get $9 - local.get $5 local.get $14 i32.reinterpret_f32 i32.const -1028477379 @@ -19938,27 +19887,29 @@ i32.const 668265263 i32.mul local.tee $8 - local.get $8 i32.const 15 i32.shr_u + local.get $8 i32.xor i32.const -2048144777 i32.mul local.tee $8 - local.get $8 i32.const 13 i32.shr_u + local.get $8 i32.xor i32.const -1028477379 i32.mul local.tee $8 - local.get $8 i32.const 16 i32.shr_u + local.get $8 i32.xor + local.get $5 i32.and i32.const 2 i32.shl + local.get $9 i32.add local.tee $8 i32.load @@ -20017,10 +19968,10 @@ i32.const 1 i32.add i32.store offset=16 - local.get $0 local.get $5 i32.const 12 i32.mul + local.get $0 i32.add local.tee $0 local.get $3 @@ -20037,9 +19988,9 @@ local.get $0 local.get $1 i32.load - local.get $15 local.get $1 i32.load offset=4 + local.get $15 i32.and i32.const 2 i32.shl @@ -20115,23 +20066,23 @@ i32.const 668265263 i32.mul local.tee $1 - local.get $1 i32.const 15 i32.shr_u + local.get $1 i32.xor i32.const -2048144777 i32.mul local.tee $1 - local.get $1 i32.const 13 i32.shr_u + local.get $1 i32.xor i32.const -1028477379 i32.mul local.tee $1 - local.get $1 i32.const 16 i32.shr_u + local.get $1 i32.xor i32.and i32.const 2 @@ -20211,23 +20162,23 @@ i32.const 668265263 i32.mul local.tee $1 - local.get $1 i32.const 15 i32.shr_u + local.get $1 i32.xor i32.const -2048144777 i32.mul local.tee $1 - local.get $1 i32.const 13 i32.shr_u + local.get $1 i32.xor i32.const -1028477379 i32.mul local.tee $1 - local.get $1 i32.const 16 i32.shr_u + local.get $1 i32.xor i32.and i32.const 2 @@ -20313,23 +20264,23 @@ i32.const 668265263 i32.mul local.tee $1 - local.get $1 i32.const 15 i32.shr_u + local.get $1 i32.xor i32.const -2048144777 i32.mul local.tee $1 - local.get $1 i32.const 13 i32.shr_u + local.get $1 i32.xor i32.const -1028477379 i32.mul local.tee $1 - local.get $1 i32.const 16 i32.shr_u + local.get $1 i32.xor i32.and i32.const 2 @@ -20396,23 +20347,23 @@ i32.const 668265263 i32.mul local.tee $1 - local.get $1 i32.const 15 i32.shr_u + local.get $1 i32.xor i32.const -2048144777 i32.mul local.tee $1 - local.get $1 i32.const 13 i32.shr_u + local.get $1 i32.xor i32.const -1028477379 i32.mul local.tee $1 - local.get $1 i32.const 16 i32.shr_u + local.get $1 i32.xor i32.and i32.const 2 @@ -20476,23 +20427,23 @@ i32.const 668265263 i32.mul local.tee $1 - local.get $1 i32.const 15 i32.shr_u + local.get $1 i32.xor i32.const -2048144777 i32.mul local.tee $1 - local.get $1 i32.const 13 i32.shr_u + local.get $1 i32.xor i32.const -1028477379 i32.mul local.tee $1 - local.get $1 i32.const 16 i32.shr_u + local.get $1 i32.xor i32.and i32.const 2 @@ -20582,15 +20533,15 @@ unreachable ) (func $~lib/map/Map#has (param $0 i32) (param $1 f64) (result i32) - (local $2 i32) - (local $3 i64) + (local $2 i64) + (local $3 i32) local.get $0 i32.load local.get $0 i32.load offset=4 local.get $1 i64.reinterpret_f64 - local.tee $3 + local.tee $2 i32.wrap_i64 i32.const -1028477379 i32.mul @@ -20600,7 +20551,7 @@ i32.rotl i32.const 668265263 i32.mul - local.get $3 + local.get $2 i64.const 32 i64.shr_u i32.wrap_i64 @@ -20611,22 +20562,22 @@ i32.rotl i32.const 668265263 i32.mul - local.tee $2 - local.get $2 + local.tee $0 + local.get $0 i32.const 15 i32.shr_u i32.xor i32.const -2048144777 i32.mul - local.tee $2 - local.get $2 + local.tee $0 + local.get $0 i32.const 13 i32.shr_u i32.xor i32.const -1028477379 i32.mul - local.tee $2 - local.get $2 + local.tee $0 + local.get $0 i32.const 16 i32.shr_u i32.xor @@ -20642,7 +20593,7 @@ if local.get $0 i32.load offset=12 - local.tee $2 + local.tee $3 i32.const 1 i32.and if (result i32) @@ -20654,7 +20605,7 @@ f64.eq end br_if $__inlined_func$~lib/map/Map#find - local.get $2 + local.get $3 i32.const -2 i32.and local.set $0 @@ -20751,7 +20702,6 @@ i32.load offset=8 i32.store offset=8 local.get $2 - local.get $8 local.get $1 local.get $5 i64.reinterpret_f64 @@ -20798,6 +20748,7 @@ i32.and i32.const 2 i32.shl + local.get $8 i32.add local.tee $10 i32.load @@ -20845,15 +20796,15 @@ global.set $~lib/memory/__stack_pointer ) (func $~lib/map/Map#get (param $0 i32) (param $1 f64) (result i32) - (local $2 i32) - (local $3 i64) + (local $2 i64) + (local $3 i32) local.get $0 i32.load local.get $0 i32.load offset=4 local.get $1 i64.reinterpret_f64 - local.tee $3 + local.tee $2 i32.wrap_i64 i32.const -1028477379 i32.mul @@ -20863,7 +20814,7 @@ i32.rotl i32.const 668265263 i32.mul - local.get $3 + local.get $2 i64.const 32 i64.shr_u i32.wrap_i64 @@ -20874,22 +20825,22 @@ i32.rotl i32.const 668265263 i32.mul - local.tee $2 - local.get $2 + local.tee $0 + local.get $0 i32.const 15 i32.shr_u i32.xor i32.const -2048144777 i32.mul - local.tee $2 - local.get $2 + local.tee $0 + local.get $0 i32.const 13 i32.shr_u i32.xor i32.const -1028477379 i32.mul - local.tee $2 - local.get $2 + local.tee $0 + local.get $0 i32.const 16 i32.shr_u i32.xor @@ -20905,7 +20856,7 @@ if local.get $0 i32.load offset=12 - local.tee $2 + local.tee $3 i32.const 1 i32.and if (result i32) @@ -20917,7 +20868,7 @@ f64.eq end br_if $__inlined_func$~lib/map/Map#find - local.get $2 + local.get $3 i32.const -2 i32.and local.set $0 @@ -21124,10 +21075,10 @@ i32.lt_s br_if $folding-inner1 global.get $~lib/memory/__stack_pointer - local.tee $4 + local.tee $5 i32.const 0 i32.store - local.get $4 + local.get $5 i32.const 24 i32.const 29 call $~lib/rt/itcms/__new @@ -21136,10 +21087,10 @@ local.get $4 i32.const 16 call $~lib/arraybuffer/ArrayBuffer#constructor - local.tee $0 + local.tee $5 i32.store local.get $4 - local.get $0 + local.get $5 call $~lib/rt/itcms/__link local.get $4 i32.const 3 @@ -21147,10 +21098,10 @@ local.get $4 i32.const 64 call $~lib/arraybuffer/ArrayBuffer#constructor - local.tee $0 + local.tee $5 i32.store offset=8 local.get $4 - local.get $0 + local.get $5 call $~lib/rt/itcms/__link local.get $4 i32.const 4 @@ -21327,10 +21278,9 @@ call $~lib/builtins/abort unreachable end - i32.const 0 - local.set $1 global.get $~lib/memory/__stack_pointer - local.tee $11 + local.tee $1 + local.get $1 i32.const 4 i32.sub global.set $~lib/memory/__stack_pointer @@ -21348,7 +21298,7 @@ local.get $4 i32.load offset=16 local.tee $13 - local.set $0 + local.set $1 local.get $7 i32.const 8 i32.sub @@ -21382,7 +21332,7 @@ local.get $6 i32.const 0 i32.store offset=12 - local.get $0 + local.get $1 i32.const 134217727 i32.gt_u if @@ -21394,9 +21344,9 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $0 + local.get $1 i32.const 8 - local.get $0 + local.get $1 i32.const 8 i32.gt_u select @@ -21423,7 +21373,7 @@ local.get $9 i32.store offset=8 local.get $6 - local.get $0 + local.get $1 i32.store offset=12 global.get $~lib/memory/__stack_pointer i32.const 8 @@ -21437,10 +21387,10 @@ local.get $13 i32.lt_s if - local.get $12 local.get $2 i32.const 4 i32.shl + local.get $12 i32.add local.tee $5 i32.load offset=12 @@ -21448,20 +21398,20 @@ i32.and i32.eqz if - local.get $1 - local.tee $0 + local.get $0 + local.tee $1 i32.const 1 i32.add - local.set $1 + local.set $0 local.get $5 f64.load local.set $3 - local.get $0 local.get $6 i32.load offset=12 - i32.ge_u + local.get $1 + i32.le_u if - local.get $0 + local.get $1 i32.const 0 i32.lt_s if @@ -21473,7 +21423,7 @@ unreachable end local.get $6 - local.get $0 + local.get $1 i32.const 1 i32.add local.tee $5 @@ -21486,7 +21436,7 @@ end local.get $6 i32.load offset=4 - local.get $0 + local.get $1 i32.const 3 i32.shl i32.add @@ -21501,18 +21451,17 @@ end end local.get $6 - local.get $1 + local.get $0 i32.const 3 i32.const 0 call $~lib/array/ensureCapacity local.get $6 - local.get $1 + local.get $0 i32.store offset=12 global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $11 local.get $6 i32.store offset=4 global.get $~lib/memory/__stack_pointer @@ -21521,7 +21470,7 @@ local.tee $13 i32.store offset=8 global.get $~lib/memory/__stack_pointer - local.tee $0 + global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub global.set $~lib/memory/__stack_pointer @@ -21571,7 +21520,6 @@ i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $0 local.get $1 i32.store offset=12 global.get $~lib/memory/__stack_pointer @@ -21579,15 +21527,15 @@ local.tee $11 i32.store offset=16 loop $for-loop|2 - local.get $10 local.get $6 i32.load offset=12 - i32.lt_s + local.get $10 + i32.gt_s if - local.get $10 local.get $6 i32.load offset=12 - i32.ge_u + local.get $10 + i32.le_u if i32.const 1248 i32.const 1728 @@ -21672,23 +21620,23 @@ i32.const 668265263 i32.mul local.tee $0 - local.get $0 i32.const 15 i32.shr_u + local.get $0 i32.xor i32.const -2048144777 i32.mul local.tee $0 - local.get $0 i32.const 13 i32.shr_u + local.get $0 i32.xor i32.const -1028477379 i32.mul local.tee $0 - local.get $0 i32.const 16 i32.shr_u + local.get $0 i32.xor local.tee $15 local.get $1 @@ -21826,7 +21774,6 @@ f64.load offset=8 f64.store offset=8 local.get $0 - local.get $9 local.get $5 local.get $18 i64.reinterpret_f64 @@ -21852,27 +21799,28 @@ i32.const 668265263 i32.mul local.tee $8 - local.get $8 i32.const 15 i32.shr_u + local.get $8 i32.xor i32.const -2048144777 i32.mul local.tee $8 - local.get $8 i32.const 13 i32.shr_u + local.get $8 i32.xor i32.const -1028477379 i32.mul local.tee $8 - local.get $8 i32.const 16 i32.shr_u + local.get $8 i32.xor i32.and i32.const 2 i32.shl + local.get $9 i32.add local.tee $8 i32.load @@ -21931,10 +21879,10 @@ i32.const 1 i32.add i32.store offset=16 - local.get $0 local.get $5 i32.const 24 i32.mul + local.get $0 i32.add local.tee $0 local.get $3 @@ -21951,9 +21899,9 @@ local.get $0 local.get $1 i32.load - local.get $15 local.get $1 i32.load offset=4 + local.get $15 i32.and i32.const 2 i32.shl @@ -22473,10 +22421,10 @@ i32.const 1 i32.add i32.store offset=16 - local.get $1 local.get $4 i32.const 12 i32.mul + local.get $1 i32.add local.tee $1 local.get $3 @@ -22493,9 +22441,9 @@ local.get $1 local.get $0 i32.load - local.get $5 local.get $0 i32.load offset=4 + local.get $5 i32.and i32.const 2 i32.shl @@ -22645,10 +22593,10 @@ local.get $3 i32.gt_s if - local.get $4 local.get $3 i32.const 12 i32.mul + local.get $4 i32.add local.tee $5 i32.load offset=8 @@ -22886,10 +22834,10 @@ i32.const 1 i32.add i32.store offset=16 - local.get $1 local.get $4 i32.const 12 i32.mul + local.get $1 i32.add local.tee $1 local.get $3 @@ -22906,9 +22854,9 @@ local.get $1 local.get $0 i32.load - local.get $5 local.get $0 i32.load offset=4 + local.get $5 i32.and i32.const 2 i32.shl @@ -23066,10 +23014,10 @@ i32.const 1 i32.add i32.store offset=16 - local.get $1 local.get $4 i32.const 12 i32.mul + local.get $1 i32.add local.tee $1 local.get $3 @@ -23086,9 +23034,9 @@ local.get $1 local.get $0 i32.load - local.get $5 local.get $0 i32.load offset=4 + local.get $5 i32.and i32.const 2 i32.shl @@ -23245,10 +23193,10 @@ i32.const 1 i32.add i32.store offset=16 - local.get $1 local.get $4 i32.const 12 i32.mul + local.get $1 i32.add local.tee $1 local.get $3 @@ -23265,9 +23213,9 @@ local.get $1 local.get $0 i32.load - local.get $5 local.get $0 i32.load offset=4 + local.get $5 i32.and i32.const 2 i32.shl @@ -23425,10 +23373,10 @@ i32.const 1 i32.add i32.store offset=16 - local.get $1 local.get $4 i32.const 12 i32.mul + local.get $1 i32.add local.tee $1 local.get $3 @@ -23445,9 +23393,9 @@ local.get $1 local.get $0 i32.load - local.get $5 local.get $0 i32.load offset=4 + local.get $5 i32.and i32.const 2 i32.shl @@ -23601,10 +23549,10 @@ i32.const 1 i32.add i32.store offset=16 - local.get $1 local.get $4 i32.const 12 i32.mul + local.get $1 i32.add local.tee $1 local.get $3 @@ -23621,9 +23569,9 @@ local.get $1 local.get $0 i32.load - local.get $5 local.get $0 i32.load offset=4 + local.get $5 i32.and i32.const 2 i32.shl @@ -23788,10 +23736,10 @@ i32.const 1 i32.add i32.store offset=16 - local.get $3 local.get $4 i32.const 4 i32.shl + local.get $3 i32.add local.tee $3 local.get $1 @@ -23808,9 +23756,9 @@ local.get $3 local.get $0 i32.load - local.get $5 local.get $0 i32.load offset=4 + local.get $5 i32.and i32.const 2 i32.shl @@ -23867,10 +23815,10 @@ local.get $3 i32.gt_s if - local.get $4 local.get $3 i32.const 4 i32.shl + local.get $4 i32.add local.tee $5 i32.load offset=12 @@ -24057,10 +24005,10 @@ i32.const 1 i32.add i32.store offset=16 - local.get $3 local.get $4 i32.const 4 i32.shl + local.get $3 i32.add local.tee $3 local.get $1 @@ -24077,9 +24025,9 @@ local.get $3 local.get $0 i32.load - local.get $5 local.get $0 i32.load offset=4 + local.get $5 i32.and i32.const 2 i32.shl @@ -24233,10 +24181,10 @@ i32.const 1 i32.add i32.store offset=16 - local.get $3 local.get $4 i32.const 12 i32.mul + local.get $3 i32.add local.tee $3 local.get $1 @@ -24253,9 +24201,9 @@ local.get $3 local.get $0 i32.load - local.get $5 local.get $0 i32.load offset=4 + local.get $5 i32.and i32.const 2 i32.shl @@ -24423,10 +24371,10 @@ i32.const 1 i32.add i32.store offset=16 - local.get $3 local.get $4 i32.const 4 i32.shl + local.get $3 i32.add local.tee $3 local.get $1 @@ -24443,9 +24391,9 @@ local.get $3 local.get $0 i32.load - local.get $6 local.get $0 i32.load offset=4 + local.get $6 i32.and i32.const 2 i32.shl diff --git a/tests/compiler/std/math.optimized.wat b/tests/compiler/std/math.optimized.wat index 1dfcd2110c..29fc606a72 100644 --- a/tests/compiler/std/math.optimized.wat +++ b/tests/compiler/std/math.optimized.wat @@ -676,12 +676,16 @@ i32.const 31 i32.shr_u if + f64.const 1.5707963267948966 local.get $0 f64.const 0.5 f64.mul f64.const 0.5 f64.add local.tee $0 + f64.sqrt + local.tee $1 + local.get $0 local.get $0 local.get $0 local.get $0 @@ -722,21 +726,14 @@ f64.const 1 f64.add f64.div - local.set $1 - f64.const 1.5707963267948966 - local.get $0 - f64.sqrt - local.tee $0 local.get $1 - local.get $0 f64.mul f64.const 6.123233995736766e-17 f64.sub f64.add f64.sub - local.tee $0 - local.get $0 - f64.add + f64.const 2 + f64.mul return end f64.const 0.5 @@ -806,9 +803,8 @@ f64.div f64.add f64.add - local.tee $0 - local.get $0 - f64.add + f64.const 2 + f64.mul ) (func $~lib/math/NativeMathf.acos (param $0 f32) (result f32) (local $1 f32) @@ -1295,17 +1291,12 @@ br_if $~lib/util/math/log_lut|inlined.0 drop local.get $0 + local.tee $2 local.get $1 i64.const 9218868437227405312 i64.eq br_if $~lib/util/math/log_lut|inlined.0 drop - local.get $0 - local.get $0 - f64.sub - local.tee $2 - local.get $2 - f64.div i32.const 1 local.get $4 i32.const 32752 @@ -1316,9 +1307,16 @@ i32.const 32768 i32.and select - br_if $~lib/util/math/log_lut|inlined.0 - drop - local.get $0 + if + local.get $2 + local.get $2 + f64.sub + local.tee $0 + local.get $0 + f64.div + br $~lib/util/math/log_lut|inlined.0 + end + local.get $2 f64.const 4503599627370496 f64.mul i64.reinterpret_f64 @@ -1338,40 +1336,39 @@ i32.const 4 i32.shl local.tee $4 - i32.const 3136 + i32.const 1088 i32.add local.set $7 + local.get $6 + i64.const 52 + i64.shr_s + f64.convert_i64_s + local.tee $3 + f64.const 0.6931471805598903 + f64.mul + local.get $7 + f64.load offset=8 + f64.add + local.tee $2 local.get $1 local.get $6 i64.const -4503599627370496 i64.and i64.sub f64.reinterpret_i64 - local.get $7 - f64.load - f64.sub - local.get $7 - f64.load offset=8 - f64.sub local.get $4 - i32.const 1088 + i32.const 3136 i32.add local.tee $4 f64.load - f64.mul - local.set $0 - local.get $6 - i64.const 52 - i64.shr_s - f64.convert_i64_s - local.tee $3 - f64.const 0.6931471805598903 - f64.mul + f64.sub local.get $4 f64.load offset=8 - f64.add - local.tee $2 - local.get $0 + f64.sub + local.get $7 + f64.load + f64.mul + local.tee $0 f64.add local.set $5 local.get $2 @@ -1419,17 +1416,17 @@ local.get $0 local.tee $3 i64.reinterpret_f64 - local.set $4 - local.get $3 - local.get $3 - f64.sub - f64.const 0 - f64.div - local.get $4 + local.tee $4 i64.const 4607182418800017408 i64.lt_s - br_if $__inlined_func$~lib/math/NativeMath.acosh - drop + if + local.get $3 + local.get $3 + f64.sub + f64.const 0 + f64.div + br $__inlined_func$~lib/math/NativeMath.acosh + end local.get $4 i64.const 52 i64.shr_u @@ -1600,7 +1597,7 @@ else f32.const 0 end - local.set $5 + local.set $6 local.get $2 i32.const 8388607 i32.and @@ -1619,10 +1616,10 @@ local.tee $0 local.get $0 f32.mul - local.tee $6 - local.get $6 + local.tee $4 + local.get $4 f32.mul - local.set $4 + local.set $5 local.get $0 local.get $1 f32.const 0.5 @@ -1630,15 +1627,15 @@ local.get $1 f32.mul local.tee $0 - local.get $6 local.get $4 + local.get $5 f32.const 0.2849878668785095 f32.mul f32.const 0.6666666269302368 f32.add f32.mul - local.get $4 - local.get $4 + local.get $5 + local.get $5 f32.const 0.24279078841209412 f32.mul f32.const 0.40000972151756287 @@ -1652,7 +1649,7 @@ local.tee $4 f32.const 9.05800061445916e-06 f32.mul - local.get $5 + local.get $6 f32.add f32.add local.get $0 @@ -1670,7 +1667,6 @@ (local $3 i32) (local $4 i32) (local $5 f64) - (local $6 f32) block $~lib/util/math/logf_lut|inlined.0 (result f32) local.get $0 i32.reinterpret_f32 @@ -1693,12 +1689,6 @@ i32.eq br_if $~lib/util/math/logf_lut|inlined.0 drop - local.get $0 - local.get $0 - f32.sub - local.tee $6 - local.get $6 - f32.div i32.const 1 local.get $1 i32.const 1 @@ -1709,8 +1699,15 @@ i32.const 31 i32.shr_u select - br_if $~lib/util/math/logf_lut|inlined.0 - drop + if + local.get $0 + local.get $0 + f32.sub + local.tee $0 + local.get $0 + f32.div + br $~lib/util/math/logf_lut|inlined.0 + end local.get $0 f32.const 8388608 f32.mul @@ -1996,9 +1993,8 @@ local.get $3 f64.mul f64.add - local.tee $0 - local.get $0 - f64.add + f64.const 2 + f64.mul f64.const 6.123233995736766e-17 f64.sub f64.sub @@ -2024,9 +2020,8 @@ local.get $0 f64.add f64.div - local.tee $1 - local.get $1 - f64.add + f64.const 2 + f64.mul f64.sub f64.sub f64.const 0.7853981633974483 @@ -2847,35 +2842,33 @@ (local $8 i64) (local $9 i32) (local $10 i32) - local.get $1 - local.set $4 block $__inlined_func$~lib/math/NativeMath.atan2 i32.const 1 local.get $0 - local.tee $1 - local.get $1 - f64.ne - local.get $4 + local.tee $4 local.get $4 f64.ne + local.get $1 + local.get $1 + f64.ne select if - local.get $4 local.get $1 + local.get $4 f64.add - local.set $1 + local.set $4 br $__inlined_func$~lib/math/NativeMath.atan2 end - local.get $1 + local.get $4 i64.reinterpret_f64 local.tee $8 i64.const 32 i64.shr_u i32.wrap_i64 - local.set $6 + local.set $9 local.get $8 i32.wrap_i64 - local.get $4 + local.get $1 i64.reinterpret_f64 local.tee $8 i64.const 32 @@ -2891,9 +2884,9 @@ i32.or i32.eqz if - local.get $1 + local.get $4 call $~lib/math/NativeMath.atan - local.set $1 + local.set $4 br $__inlined_func$~lib/math/NativeMath.atan2 end local.get $5 @@ -2901,34 +2894,34 @@ i32.shr_u i32.const 2 i32.and - local.get $6 + local.get $9 i32.const 31 i32.shr_u i32.or - local.set $7 + local.set $6 local.get $5 i32.const 2147483647 i32.and local.set $5 - local.get $6 + local.get $9 i32.const 2147483647 i32.and - local.tee $6 + local.tee $7 i32.or i32.eqz if block $break|0 block $case3|0 block $case2|0 - local.get $7 + local.get $6 br_table $__inlined_func$~lib/math/NativeMath.atan2 $__inlined_func$~lib/math/NativeMath.atan2 $case2|0 $case3|0 $break|0 end f64.const 3.141592653589793 - local.set $1 + local.set $4 br $__inlined_func$~lib/math/NativeMath.atan2 end f64.const -3.141592653589793 - local.set $1 + local.set $4 br $__inlined_func$~lib/math/NativeMath.atan2 end end @@ -2942,39 +2935,39 @@ i32.const 2146435072 i32.eq if - local.get $6 + local.get $7 i32.const 2146435072 i32.eq if (result f64) f64.const 2.356194490192345 f64.const 0.7853981633974483 - local.get $7 + local.get $6 i32.const 2 i32.and select else f64.const 3.141592653589793 f64.const 0 - local.get $7 + local.get $6 i32.const 2 i32.and select end - local.tee $1 + local.tee $4 f64.neg - local.get $1 - local.get $7 + local.get $4 + local.get $6 i32.const 1 i32.and select - local.set $1 + local.set $4 br $__inlined_func$~lib/math/NativeMath.atan2 end i32.const 1 - local.get $6 + local.get $7 i32.const 2146435072 i32.eq - local.get $6 + local.get $7 local.get $5 i32.const 67108864 i32.add @@ -2982,73 +2975,73 @@ select br_if $folding-inner0 local.get $5 - local.get $6 + local.get $7 i32.const 67108864 i32.add i32.gt_u i32.const 0 - local.get $7 + local.get $6 i32.const 2 i32.and select if (result f64) f64.const 0 else - local.get $1 local.get $4 + local.get $1 f64.div f64.abs call $~lib/math/NativeMath.atan end - local.set $1 + local.set $4 block $break|1 block $case3|1 block $case2|1 block $case1|1 block $case0|1 - local.get $7 + local.get $6 br_table $case0|1 $case1|1 $case2|1 $case3|1 $break|1 end br $__inlined_func$~lib/math/NativeMath.atan2 end - local.get $1 + local.get $4 f64.neg - local.set $1 + local.set $4 br $__inlined_func$~lib/math/NativeMath.atan2 end f64.const 3.141592653589793 - local.get $1 + local.get $4 f64.const 1.2246467991473532e-16 f64.sub f64.sub - local.set $1 + local.set $4 br $__inlined_func$~lib/math/NativeMath.atan2 end - local.get $1 + local.get $4 f64.const 1.2246467991473532e-16 f64.sub f64.const 3.141592653589793 f64.sub - local.set $1 + local.set $4 br $__inlined_func$~lib/math/NativeMath.atan2 end unreachable end f64.const -1.5707963267948966 f64.const 1.5707963267948966 - local.get $7 + local.get $6 i32.const 1 i32.and select - local.set $1 + local.set $4 end - local.get $1 + local.get $4 local.get $2 local.get $3 call $std/math/check if (result i32) local.get $0 - local.get $4 + local.get $1 call $~lib/bindings/Math/atan2 local.get $2 local.get $3 @@ -3463,8 +3456,8 @@ (local $4 i64) (local $5 i64) (local $6 i64) - (local $7 i64) - (local $8 i32) + (local $7 i32) + (local $8 i64) (local $9 i64) (local $10 i64) (local $11 i64) @@ -3476,7 +3469,11 @@ i64.shr_u i64.const 1045 i64.sub - local.tee $2 + local.tee $3 + i64.const 63 + i64.and + local.set $4 + local.get $3 i64.const 6 i64.shr_s i32.wrap_i64 @@ -3484,174 +3481,170 @@ i32.shl i32.const 5440 i32.add - local.tee $8 + local.tee $7 i64.load local.set $5 - local.get $8 + local.get $7 i64.load offset=8 local.set $3 - local.get $8 + local.get $7 i64.load offset=16 local.set $1 - local.get $2 - i64.const 63 - i64.and - local.tee $2 + local.get $4 i64.const 0 i64.ne if local.get $5 - local.get $2 + local.get $4 i64.shl local.get $3 i64.const 64 - local.get $2 + local.get $4 i64.sub - local.tee $4 + local.tee $2 i64.shr_u i64.or local.set $5 local.get $3 - local.get $2 + local.get $4 i64.shl local.get $1 - local.get $4 + local.get $2 i64.shr_u i64.or local.set $3 local.get $1 - local.get $2 + local.get $4 i64.shl - local.get $8 + local.get $7 i64.load offset=24 - local.get $4 + local.get $2 i64.shr_u i64.or local.set $1 end - local.get $3 - i64.const 4294967295 - i64.and - local.tee $6 local.get $0 i64.const 4503599627370495 i64.and i64.const 4503599627370496 i64.or - local.tee $2 + local.tee $4 i64.const 4294967295 i64.and - local.tee $7 - i64.mul - local.set $4 - local.get $6 - local.get $2 + local.tee $2 + local.get $3 i64.const 32 i64.shr_u - local.tee $6 + local.tee $8 i64.mul - local.get $7 + local.get $2 local.get $3 + i64.const 4294967295 + i64.and + local.tee $2 + i64.mul + local.tee $6 i64.const 32 i64.shr_u - local.tee $7 - i64.mul + i64.add + local.set $3 + local.get $2 local.get $4 i64.const 32 i64.shr_u - i64.add local.tee $9 + local.tee $10 + i64.mul + local.get $3 i64.const 4294967295 i64.and i64.add - local.set $3 - local.get $6 - local.get $7 + local.set $2 + local.get $8 + local.get $10 i64.mul - local.get $9 + local.get $3 i64.const 32 i64.shr_u i64.add - local.get $3 + local.get $2 i64.const 32 i64.shr_u i64.add global.set $~lib/math/res128_hi - global.get $~lib/math/res128_hi - local.get $2 - local.get $5 - i64.mul - i64.add - local.get $2 - i64.const 32 - i64.shr_s local.get $1 i64.const 32 i64.shr_u + local.get $9 i64.mul - local.tee $1 - local.get $4 + local.tee $3 + local.get $6 i64.const 4294967295 i64.and - local.get $3 + local.get $2 i64.const 32 i64.shl i64.add i64.add - local.tee $5 - local.get $1 + local.tee $1 + local.get $3 i64.lt_u i64.extend_i32_u + global.get $~lib/math/res128_hi + local.get $4 + local.get $5 + i64.mul i64.add - local.tee $7 + i64.add + local.tee $8 i64.const 2 i64.shl - local.get $5 + local.get $1 i64.const 62 i64.shr_u i64.or - local.tee $2 + local.tee $5 i64.const 63 i64.shr_s - local.tee $1 + local.tee $4 i64.const 1 i64.shr_s - local.get $2 + local.get $5 i64.xor - local.tee $4 + local.tee $2 i64.clz local.set $3 - local.get $4 + local.get $2 local.get $3 i64.shl + local.get $4 local.get $1 - local.get $5 i64.const 2 i64.shl i64.xor - local.tee $9 + local.tee $6 i64.const 64 local.get $3 i64.sub i64.shr_u i64.or - local.tee $5 + local.tee $1 i64.const 4294967295 i64.and - local.tee $6 - i64.const 560513588 - i64.mul - local.set $4 - local.get $5 + local.set $2 + local.get $1 i64.const 32 i64.shr_u local.tee $10 i64.const 560513588 i64.mul - local.get $6 + local.get $2 i64.const 3373259426 i64.mul - local.get $4 + local.get $2 + i64.const 560513588 + i64.mul + local.tee $9 i64.const 32 i64.shr_u i64.add @@ -3659,7 +3652,7 @@ i64.const 4294967295 i64.and i64.add - local.set $6 + local.set $2 local.get $10 i64.const 3373259426 i64.mul @@ -3667,24 +3660,24 @@ i64.const 32 i64.shr_u i64.add - local.get $6 + local.get $2 i64.const 32 i64.shr_u i64.add global.set $~lib/math/res128_hi - local.get $4 + local.get $9 i64.const 4294967295 i64.and - local.get $6 + local.get $2 i64.const 32 i64.shl i64.add - local.tee $4 - local.get $5 + local.tee $2 + local.get $1 f64.convert_i64_u f64.const 3.753184150245214e-04 f64.mul - local.get $9 + local.get $6 local.get $3 i64.shl f64.convert_i64_u @@ -3692,21 +3685,21 @@ f64.mul f64.add i64.trunc_f64_u - local.tee $5 + local.tee $1 i64.lt_u i64.extend_i32_u global.get $~lib/math/res128_hi - local.tee $10 + local.tee $6 i64.const 11 i64.shr_u i64.add f64.convert_i64_u global.set $~lib/math/rempio2_y0 - local.get $5 - local.get $10 + local.get $1 + local.get $6 i64.const 53 i64.shl - local.get $4 + local.get $2 i64.const 11 i64.shr_u i64.or @@ -3722,7 +3715,7 @@ i64.shl i64.sub local.get $0 - local.get $2 + local.get $5 i64.xor i64.const -9223372036854775808 i64.and @@ -3735,10 +3728,10 @@ local.get $12 f64.mul global.set $~lib/math/rempio2_y1 - local.get $7 + local.get $8 i64.const 62 i64.shr_s - local.get $1 + local.get $4 i64.sub i32.wrap_i64 ) @@ -4191,10 +4184,10 @@ local.tee $9 local.get $9 f64.mul - local.tee $9 - local.get $9 + local.tee $8 + local.get $8 f64.mul - local.set $8 + local.set $9 br $folding-inner0 end local.get $2 @@ -4218,23 +4211,23 @@ local.tee $9 local.get $9 f64.mul - local.tee $9 - local.get $9 + local.tee $8 + local.get $8 f64.mul - local.set $8 - local.get $9 + local.set $9 + local.get $8 f64.const -0.499999997251031 f64.mul f64.const 1 f64.add - local.get $8 + local.get $9 f64.const 0.04166662332373906 f64.mul f64.add - local.get $8 local.get $9 + local.get $8 f64.mul - local.get $9 + local.get $8 f64.const 2.439044879627741e-05 f64.mul f64.const -0.001388676377460993 @@ -4254,7 +4247,7 @@ local.tee $8 local.get $8 f64.mul - local.tee $9 + local.tee $7 local.get $8 f64.mul else @@ -4265,26 +4258,26 @@ local.tee $8 local.get $8 f64.mul - local.tee $9 + local.tee $7 local.get $8 f64.mul end - local.set $7 + local.set $9 local.get $8 - local.get $7 local.get $9 + local.get $7 f64.const 0.008333329385889463 f64.mul f64.const -0.16666666641626524 f64.add f64.mul f64.add - local.get $7 - local.get $9 local.get $9 + local.get $7 + local.get $7 f64.mul f64.mul - local.get $9 + local.get $7 f64.const 2.718311493989822e-06 f64.mul f64.const -1.9839334836096632e-04 @@ -4317,10 +4310,10 @@ local.tee $9 local.get $9 f64.mul - local.tee $9 - local.get $9 + local.tee $8 + local.get $8 f64.mul - local.set $8 + local.set $9 br $folding-inner0 else local.get $5 @@ -4333,7 +4326,7 @@ local.tee $8 local.get $8 f64.mul - local.tee $9 + local.tee $7 local.get $8 f64.mul else @@ -4344,26 +4337,26 @@ local.tee $8 local.get $8 f64.mul - local.tee $9 + local.tee $7 local.get $8 f64.mul end - local.set $7 + local.set $9 local.get $8 - local.get $7 local.get $9 + local.get $7 f64.const 0.008333329385889463 f64.mul f64.const -0.16666666641626524 f64.add f64.mul f64.add - local.get $7 - local.get $9 local.get $9 + local.get $7 + local.get $7 f64.mul f64.mul - local.get $9 + local.get $7 f64.const 2.718311493989822e-06 f64.mul f64.const -1.9839334836096632e-04 @@ -4392,22 +4385,22 @@ if local.get $0 f64.promote_f32 - local.tee $8 + local.tee $9 f64.const 0.6366197723675814 f64.mul f64.nearest - local.set $9 - local.get $8 + local.set $8 local.get $9 + local.get $8 f64.const 1.5707963109016418 f64.mul f64.sub - local.get $9 + local.get $8 f64.const 1.5893254773528196e-08 f64.mul f64.sub global.set $~lib/math/rempio2f_y - local.get $9 + local.get $8 i32.trunc_f64_s br $~lib/math/rempio2f|inlined.0 end @@ -4431,7 +4424,7 @@ i32.const 8388608 i32.or i64.extend_i32_s - local.tee $3 + local.tee $4 local.get $2 i32.const 6 i32.shr_s @@ -4445,7 +4438,7 @@ i64.shl local.get $2 i64.load offset=8 - local.tee $4 + local.tee $3 i64.const 64 local.get $6 i64.sub @@ -4456,7 +4449,7 @@ i64.const 32 i64.gt_u if (result i64) - local.get $4 + local.get $3 local.get $6 i64.const 32 i64.sub @@ -4469,29 +4462,29 @@ i64.shr_u i64.or else - local.get $4 + local.get $3 i64.const 32 local.get $6 i64.sub i64.shr_u end - local.get $3 + local.get $4 i64.mul i64.const 32 i64.shr_u i64.add - local.tee $6 + local.tee $4 i64.const 2 i64.shl - local.tee $4 + local.tee $6 f64.convert_i64_s f64.mul global.set $~lib/math/rempio2f_y i32.const 0 - local.get $6 + local.get $4 i64.const 62 i64.shr_u - local.get $4 + local.get $6 i64.const 63 i64.shr_u i64.add @@ -4513,23 +4506,23 @@ local.get $9 local.get $9 f64.mul - local.tee $8 + local.tee $7 local.get $9 f64.mul - local.tee $7 - local.get $8 + local.tee $8 + local.get $7 f64.const 0.008333329385889463 f64.mul f64.const -0.16666666641626524 f64.add f64.mul f64.add - local.get $7 - local.get $8 local.get $8 + local.get $7 + local.get $7 f64.mul f64.mul - local.get $8 + local.get $7 f64.const 2.718311493989822e-06 f64.mul f64.const -1.9839334836096632e-04 @@ -4541,23 +4534,23 @@ local.get $9 local.get $9 f64.mul - local.tee $9 - local.get $9 + local.tee $8 + local.get $8 f64.mul - local.set $8 - local.get $9 + local.set $9 + local.get $8 f64.const -0.499999997251031 f64.mul f64.const 1 f64.add - local.get $8 + local.get $9 f64.const 0.04166662332373906 f64.mul f64.add - local.get $8 local.get $9 + local.get $8 f64.mul - local.get $9 + local.get $8 f64.const 2.439044879627741e-05 f64.mul f64.const -0.001388676377460993 @@ -4577,19 +4570,19 @@ select return end - local.get $9 + local.get $8 f64.const -0.499999997251031 f64.mul f64.const 1 f64.add - local.get $8 + local.get $9 f64.const 0.04166662332373906 f64.mul f64.add - local.get $8 local.get $9 + local.get $8 f64.mul - local.get $9 + local.get $8 f64.const 2.439044879627741e-05 f64.mul f64.const -0.001388676377460993 @@ -5718,9 +5711,8 @@ f64.mul local.get $0 f64.add - local.tee $0 - local.get $0 - f64.add + f64.const 2 + f64.mul br $~lib/util/math/specialcase2|inlined.0 end local.get $5 @@ -5888,13 +5880,12 @@ (local $3 i64) (local $4 i64) (local $5 f64) - (local $6 f64) - (local $7 i32) - (local $8 f64) - (local $9 i32) + (local $6 i32) + (local $7 f64) + (local $8 i32) + (local $9 f64) (local $10 f64) (local $11 f64) - (local $12 f64) local.get $1 i64.reinterpret_f64 i64.const 9223372036854775807 @@ -5919,7 +5910,7 @@ i64.const 52 i64.shr_u i32.wrap_i64 - local.tee $7 + local.tee $6 i32.const 2047 i32.eq if @@ -5935,7 +5926,7 @@ i64.const 52 i64.shr_u i32.wrap_i64 - local.tee $9 + local.tee $8 i32.const 2047 i32.eq select @@ -5944,8 +5935,8 @@ local.get $0 return end - local.get $9 - local.get $7 + local.get $8 + local.get $6 i32.sub i32.const 64 i32.gt_s @@ -5956,13 +5947,13 @@ return end f64.const 1 - local.set $8 - local.get $9 + local.set $7 + local.get $8 i32.const 1533 i32.gt_u if (result f64) f64.const 5260135901548373507240989e186 - local.set $8 + local.set $7 local.get $1 f64.const 1.90109156629516e-211 f64.mul @@ -5971,12 +5962,12 @@ f64.const 1.90109156629516e-211 f64.mul else - local.get $7 + local.get $6 i32.const 573 i32.lt_u if (result f64) f64.const 1.90109156629516e-211 - local.set $8 + local.set $7 local.get $1 f64.const 5260135901548373507240989e186 f64.mul @@ -5993,63 +5984,62 @@ local.get $0 f64.const 134217729 f64.mul - local.tee $12 + local.tee $11 f64.sub - local.get $12 + local.get $11 f64.add - local.tee $11 + local.tee $10 f64.sub - local.set $6 - local.get $0 - local.get $0 - f64.mul local.set $5 local.get $1 local.get $1 local.get $1 f64.const 134217729 f64.mul - local.tee $0 + local.tee $11 f64.sub - local.get $0 + local.get $11 f64.add - local.tee $10 + local.tee $9 f64.sub - local.set $12 - local.get $8 - local.get $10 - local.get $10 + local.set $11 + local.get $7 + local.get $9 + local.get $9 f64.mul local.get $1 local.get $1 f64.mul - local.tee $0 + local.tee $1 f64.sub - local.get $10 - local.get $10 + local.get $9 + local.get $9 f64.add - local.get $12 + local.get $11 f64.add - local.get $12 + local.get $11 f64.mul f64.add - local.get $11 - local.get $11 + local.get $10 + local.get $10 f64.mul - local.get $5 + local.get $0 + local.get $0 + f64.mul + local.tee $0 f64.sub - local.get $11 - local.get $11 + local.get $10 + local.get $10 f64.add - local.get $6 + local.get $5 f64.add - local.get $6 + local.get $5 f64.mul f64.add f64.add - local.get $0 + local.get $1 f64.add - local.get $5 + local.get $0 f64.add f64.sqrt f64.mul @@ -6331,17 +6321,17 @@ local.get $8 i32.add f64.convert_i32_s - local.tee $3 + local.tee $2 f64.const 0.30102999566361177 f64.mul - local.tee $6 + local.tee $3 local.get $7 f64.const 0.4342944818781689 f64.mul - local.tee $2 + local.tee $6 f64.add local.set $4 - local.get $3 + local.get $2 f64.const 3.694239077158931e-13 f64.mul local.get $0 @@ -6354,10 +6344,10 @@ f64.const 0.4342944818781689 f64.mul f64.add - local.get $6 + local.get $3 local.get $4 f64.sub - local.get $2 + local.get $6 f64.add f64.add local.get $4 @@ -6370,6 +6360,7 @@ (local $4 f32) (local $5 f32) (local $6 i32) + (local $7 f32) i32.const 1 local.get $0 i32.reinterpret_f32 @@ -6444,13 +6435,24 @@ f32.const 2 f32.add f32.div - local.tee $2 - local.get $2 + local.tee $3 + local.get $3 f32.mul local.tee $4 local.get $4 f32.mul - local.set $3 + local.set $2 + local.get $1 + i32.const 23 + i32.shr_u + i32.const 127 + i32.sub + local.get $6 + i32.add + f32.convert_i32_s + local.tee $7 + f32.const 7.903415166765626e-07 + f32.mul local.get $0 local.get $0 local.get $0 @@ -6468,17 +6470,17 @@ f32.sub local.get $0 f32.sub - local.get $2 + local.get $3 local.get $0 local.get $4 - local.get $3 + local.get $2 f32.const 0.2849878668785095 f32.mul f32.const 0.6666666269302368 f32.add f32.mul - local.get $3 - local.get $3 + local.get $2 + local.get $2 f32.const 0.24279078841209412 f32.mul f32.const 0.40000972151756287 @@ -6488,19 +6490,7 @@ f32.add f32.mul f32.add - local.set $0 - local.get $1 - i32.const 23 - i32.shr_u - i32.const 127 - i32.sub - local.get $6 - i32.add - f32.convert_i32_s - local.tee $2 - f32.const 7.903415166765626e-07 - f32.mul - local.get $0 + local.tee $0 local.get $5 f32.add f32.const -3.168997136526741e-05 @@ -6514,7 +6504,7 @@ f32.const 0.434326171875 f32.mul f32.add - local.get $2 + local.get $7 f32.const 0.3010292053222656 f32.mul f32.add @@ -6641,17 +6631,12 @@ br_if $~lib/util/math/log2_lut|inlined.0 drop local.get $0 + local.tee $2 local.get $1 i64.const 9218868437227405312 i64.eq br_if $~lib/util/math/log2_lut|inlined.0 drop - local.get $0 - local.get $0 - f64.sub - local.tee $2 - local.get $2 - f64.div i32.const 1 local.get $3 i32.const 32752 @@ -6662,9 +6647,16 @@ i32.const 32768 i32.and select - br_if $~lib/util/math/log2_lut|inlined.0 - drop - local.get $0 + if + local.get $2 + local.get $2 + f64.sub + local.tee $0 + local.get $0 + f64.div + br $~lib/util/math/log2_lut|inlined.0 + end + local.get $2 f64.const 4503599627370496 f64.mul i64.reinterpret_f64 @@ -6684,25 +6676,33 @@ i32.const 4 i32.shl local.tee $3 - i32.const 8992 + i32.const 7968 i32.add local.set $9 + local.get $8 + i64.const 52 + i64.shr_s + f64.convert_i64_s + local.get $9 + f64.load offset=8 + f64.add + local.tee $7 local.get $1 local.get $8 i64.const -4503599627370496 i64.and i64.sub f64.reinterpret_i64 - local.get $9 + local.get $3 + i32.const 8992 + i32.add + local.tee $3 f64.load f64.sub - local.get $9 + local.get $3 f64.load offset=8 f64.sub - local.get $3 - i32.const 7968 - i32.add - local.tee $3 + local.get $9 f64.load f64.mul local.tee $0 @@ -6710,28 +6710,19 @@ i64.const -4294967296 i64.and f64.reinterpret_i64 - local.tee $7 + local.tee $4 f64.const 1.4426950407214463 f64.mul - local.set $4 - local.get $8 - i64.const 52 - i64.shr_s - f64.convert_i64_s - local.get $3 - f64.load offset=8 - f64.add local.tee $5 - local.get $4 f64.add local.set $6 - local.get $5 + local.get $7 local.get $6 f64.sub - local.get $4 + local.get $5 f64.add local.get $0 - local.get $7 + local.get $4 f64.sub f64.const 1.4426950407214463 f64.mul @@ -6779,7 +6770,6 @@ (local $5 i32) (local $6 i32) (local $7 f64) - (local $8 f32) block $~lib/util/math/log2f_lut|inlined.0 (result f32) local.get $0 i32.reinterpret_f32 @@ -6802,12 +6792,6 @@ i32.eq br_if $~lib/util/math/log2f_lut|inlined.0 drop - local.get $0 - local.get $0 - f32.sub - local.tee $8 - local.get $8 - f32.div i32.const 1 local.get $3 i32.const 1 @@ -6818,8 +6802,15 @@ i32.const 31 i32.shr_u select - br_if $~lib/util/math/log2f_lut|inlined.0 - drop + if + local.get $0 + local.get $0 + f32.sub + local.tee $0 + local.get $0 + f32.div + br $~lib/util/math/log2f_lut|inlined.0 + end local.get $0 f32.const 8388608 f32.mul @@ -6928,9 +6919,8 @@ (local $5 i64) (local $6 i64) (local $7 i64) - (local $8 i64) - (local $9 f64) - (local $10 i64) + (local $8 f64) + (local $9 i64) block $__inlined_func$~lib/math/NativeMath.mod (result f64) local.get $0 local.get $0 @@ -6952,18 +6942,14 @@ i64.const 2047 i64.and local.set $6 - local.get $0 - i64.reinterpret_f64 - local.tee $3 - i64.const 63 - i64.shr_u - local.set $8 i32.const 1 local.get $1 local.get $1 f64.ne i32.const 1 - local.get $3 + local.get $0 + i64.reinterpret_f64 + local.tee $3 i64.const 52 i64.shr_u i64.const 2047 @@ -6982,8 +6968,8 @@ local.get $0 local.get $1 f64.mul - local.tee $9 - local.get $9 + local.tee $8 + local.get $8 f64.div br $__inlined_func$~lib/math/NativeMath.mod end @@ -6991,17 +6977,21 @@ local.get $3 i64.const 1 i64.shl - local.tee $10 + local.tee $9 i64.ge_u if local.get $0 local.get $7 - local.get $10 + local.get $9 i64.ne f64.convert_i32_u f64.mul br $__inlined_func$~lib/math/NativeMath.mod end + local.get $3 + i64.const 63 + i64.shr_u + local.set $7 local.get $5 i64.eqz if (result i64) @@ -7076,6 +7066,7 @@ br $while-continue|0 end end + local.get $5 local.get $3 local.get $4 i64.ge_u @@ -7090,17 +7081,17 @@ local.set $3 end local.get $3 - local.get $3 i64.const 11 i64.shl i64.clz - local.tee $4 + local.tee $5 + i64.sub + local.set $4 + local.get $3 + local.get $5 i64.shl local.set $3 - local.get $5 local.get $4 - i64.sub - local.tee $4 i64.const 0 i64.gt_s if (result i64) @@ -7118,7 +7109,7 @@ i64.sub i64.shr_u end - local.get $8 + local.get $7 i64.const 63 i64.shl i64.or @@ -7348,11 +7339,11 @@ (local $2 i64) (local $3 i32) (local $4 f64) - (local $5 f64) + (local $5 i64) (local $6 i64) - (local $7 i64) - (local $8 f64) - (local $9 i64) + (local $7 f64) + (local $8 i64) + (local $9 f64) (local $10 f64) (local $11 i32) (local $12 i32) @@ -7414,466 +7405,466 @@ return end end - local.get $1 - local.tee $5 - i64.reinterpret_f64 - local.tee $7 - i64.const 52 - i64.shr_u - local.set $9 - block $~lib/util/math/pow_lut|inlined.0 - local.get $0 + block $~lib/util/math/pow_lut|inlined.0 (result f64) + local.get $1 local.tee $4 i64.reinterpret_f64 - local.tee $2 + local.tee $6 i64.const 52 i64.shr_u - local.tee $14 - i64.const 1 - i64.sub - i64.const 2046 - i64.ge_u - if (result i32) - i32.const 1 - else - local.get $9 - i64.const 2047 - i64.and - i64.const 958 - i64.sub - i64.const 128 - i64.ge_u - end - if - local.get $7 - i64.const 1 - i64.shl + local.set $14 + block $~lib/util/math/exp_inline|inlined.0 (result f64) + local.get $0 + local.tee $1 + i64.reinterpret_f64 + local.tee $2 + i64.const 52 + i64.shr_u + local.tee $8 i64.const 1 i64.sub - i64.const -9007199254740993 + i64.const 2046 i64.ge_u - if - f64.const 1 - local.set $0 - local.get $7 - i64.const 1 - i64.shl - i64.eqz - br_if $~lib/util/math/pow_lut|inlined.0 - f64.const nan:0x8000000000000 - local.set $0 - local.get $2 - i64.const 4607182418800017408 - i64.eq - br_if $~lib/util/math/pow_lut|inlined.0 - local.get $4 - local.get $5 - f64.add - local.set $0 + if (result i32) i32.const 1 - local.get $7 + else + local.get $14 + i64.const 2047 + i64.and + i64.const 958 + i64.sub + i64.const 128 + i64.ge_u + end + if + local.get $6 i64.const 1 i64.shl - i64.const -9007199254740992 - i64.gt_u - local.get $2 i64.const 1 - i64.shl - i64.const -9007199254740992 - i64.gt_u - select - br_if $~lib/util/math/pow_lut|inlined.0 - f64.const nan:0x8000000000000 - local.set $0 + i64.sub + i64.const -9007199254740993 + i64.ge_u + if + f64.const 1 + local.get $6 + i64.const 1 + i64.shl + i64.eqz + br_if $~lib/util/math/pow_lut|inlined.0 + drop + f64.const nan:0x8000000000000 + local.get $2 + i64.const 4607182418800017408 + i64.eq + br_if $~lib/util/math/pow_lut|inlined.0 + drop + local.get $1 + local.get $4 + f64.add + i32.const 1 + local.get $6 + i64.const 1 + i64.shl + i64.const -9007199254740992 + i64.gt_u + local.get $2 + i64.const 1 + i64.shl + i64.const -9007199254740992 + i64.gt_u + select + br_if $~lib/util/math/pow_lut|inlined.0 + drop + f64.const nan:0x8000000000000 + local.get $2 + i64.const 1 + i64.shl + i64.const 9214364837600034816 + i64.eq + br_if $~lib/util/math/pow_lut|inlined.0 + drop + f64.const 0 + local.get $6 + i64.const 63 + i64.shr_u + i64.eqz + local.get $2 + i64.const 1 + i64.shl + i64.const 9214364837600034816 + i64.lt_u + i32.eq + br_if $~lib/util/math/pow_lut|inlined.0 + drop + local.get $4 + local.get $4 + f64.mul + br $~lib/util/math/pow_lut|inlined.0 + end local.get $2 i64.const 1 i64.shl - i64.const 9214364837600034816 - i64.eq - br_if $~lib/util/math/pow_lut|inlined.0 - f64.const 0 - local.set $0 - local.get $7 - i64.const 63 - i64.shr_u - i64.eqz - local.get $2 i64.const 1 - i64.shl - i64.const 9214364837600034816 - i64.lt_u - i32.eq - br_if $~lib/util/math/pow_lut|inlined.0 - local.get $5 - local.get $5 - f64.mul - local.set $0 - br $~lib/util/math/pow_lut|inlined.0 - end - local.get $2 - i64.const 1 - i64.shl - i64.const 1 - i64.sub - i64.const -9007199254740993 - i64.ge_u - if - f64.const 1 - local.get $4 - local.get $4 - f64.mul - local.tee $0 - f64.neg - local.get $0 + i64.sub + i64.const -9007199254740993 + i64.ge_u + if + f64.const 1 + local.get $1 + local.get $1 + f64.mul + local.tee $0 + f64.neg + local.get $0 + local.get $2 + i64.const 63 + i64.shr_u + i32.wrap_i64 + if (result i32) + block $~lib/util/math/checkint|inlined.0 (result i32) + i32.const 0 + local.get $6 + i64.const 52 + i64.shr_u + i64.const 2047 + i64.and + local.tee $5 + i64.const 1023 + i64.lt_u + br_if $~lib/util/math/checkint|inlined.0 + drop + i32.const 2 + local.get $5 + i64.const 1075 + i64.gt_u + br_if $~lib/util/math/checkint|inlined.0 + drop + i32.const 0 + i64.const 1 + i64.const 1075 + local.get $5 + i64.sub + i64.shl + local.tee $5 + i64.const 1 + i64.sub + local.get $6 + i64.and + i64.const 0 + i64.ne + br_if $~lib/util/math/checkint|inlined.0 + drop + i32.const 1 + local.get $5 + local.get $6 + i64.and + i64.const 0 + i64.ne + br_if $~lib/util/math/checkint|inlined.0 + drop + i32.const 2 + end + i32.const 1 + i32.eq + else + i32.const 0 + end + select + local.tee $0 + f64.div + local.get $0 + local.get $6 + i64.const 63 + i64.shr_u + i32.wrap_i64 + select + br $~lib/util/math/pow_lut|inlined.0 + end local.get $2 i64.const 63 i64.shr_u i32.wrap_i64 - if (result i32) - block $~lib/util/math/checkint|inlined.0 (result i32) + if + block $~lib/util/math/checkint|inlined.1 (result i32) i32.const 0 - local.get $7 + local.get $6 i64.const 52 i64.shr_u i64.const 2047 i64.and - local.tee $6 + local.tee $5 i64.const 1023 i64.lt_u - br_if $~lib/util/math/checkint|inlined.0 + br_if $~lib/util/math/checkint|inlined.1 drop i32.const 2 - local.get $6 + local.get $5 i64.const 1075 i64.gt_u - br_if $~lib/util/math/checkint|inlined.0 + br_if $~lib/util/math/checkint|inlined.1 drop i32.const 0 i64.const 1 i64.const 1075 - local.get $6 + local.get $5 i64.sub i64.shl - local.tee $6 + local.tee $5 i64.const 1 i64.sub - local.get $7 + local.get $6 i64.and i64.const 0 i64.ne - br_if $~lib/util/math/checkint|inlined.0 + br_if $~lib/util/math/checkint|inlined.1 drop i32.const 1 + local.get $5 local.get $6 - local.get $7 i64.and i64.const 0 i64.ne - br_if $~lib/util/math/checkint|inlined.0 + br_if $~lib/util/math/checkint|inlined.1 drop i32.const 2 end + local.tee $11 + i32.eqz + if + local.get $1 + local.get $1 + f64.sub + local.tee $0 + local.get $0 + f64.div + br $~lib/util/math/pow_lut|inlined.0 + end + local.get $8 + i64.const 2047 + i64.and + local.set $8 + i32.const 262144 + i32.const 0 + local.get $11 i32.const 1 i32.eq - else - i32.const 0 + select + local.set $12 + local.get $2 + i64.const 9223372036854775807 + i64.and + local.set $2 end - select - local.tee $0 - f64.div - local.get $0 - local.get $7 - i64.const 63 - i64.shr_u - i32.wrap_i64 - select - local.set $0 - br $~lib/util/math/pow_lut|inlined.0 - end - local.get $2 - i64.const 63 - i64.shr_u - i32.wrap_i64 - if - local.get $4 - local.get $4 - f64.sub - local.tee $0 - local.get $0 - f64.div - local.set $0 - block $~lib/util/math/checkint|inlined.1 (result i32) - i32.const 0 - local.get $7 - i64.const 52 - i64.shr_u + local.get $14 + i64.const 2047 + i64.and + i64.const 958 + i64.sub + i64.const 128 + i64.ge_u + if + f64.const 1 + local.get $2 + i64.const 4607182418800017408 + i64.eq + br_if $~lib/util/math/pow_lut|inlined.0 + drop + f64.const 1 + local.get $14 i64.const 2047 i64.and - local.tee $6 - i64.const 1023 + i64.const 958 i64.lt_u - br_if $~lib/util/math/checkint|inlined.1 + br_if $~lib/util/math/pow_lut|inlined.0 drop - i32.const 2 - local.get $6 - i64.const 1075 + f64.const inf + f64.const 0 + local.get $14 + i64.const 2048 + i64.lt_u + local.get $2 + i64.const 4607182418800017408 i64.gt_u - br_if $~lib/util/math/checkint|inlined.1 - drop - i32.const 0 - i64.const 1 - i64.const 1075 - local.get $6 - i64.sub - i64.shl - local.tee $6 - i64.const 1 - i64.sub - local.get $7 - i64.and - i64.const 0 - i64.ne - br_if $~lib/util/math/checkint|inlined.1 - drop - i32.const 1 - local.get $6 - local.get $7 + i32.eq + select + br $~lib/util/math/pow_lut|inlined.0 + end + local.get $8 + i64.eqz + if (result i64) + local.get $1 + f64.const 4503599627370496 + f64.mul + i64.reinterpret_f64 + i64.const 9223372036854775807 i64.and - i64.const 0 - i64.ne - br_if $~lib/util/math/checkint|inlined.1 - drop - i32.const 2 + i64.const 234187180623265792 + i64.sub + else + local.get $2 end - local.tee $11 - i32.eqz - br_if $~lib/util/math/pow_lut|inlined.0 - local.get $14 - i64.const 2047 - i64.and - local.set $14 - i32.const 262144 - i32.const 0 - local.get $11 - i32.const 1 - i32.eq - select - local.set $12 - local.get $2 - i64.const 9223372036854775807 - i64.and local.set $2 end - local.get $9 - i64.const 2047 + local.get $2 + local.get $2 + i64.const 4604531861337669632 + i64.sub + local.tee $8 + i64.const -4503599627370496 i64.and - i64.const 958 i64.sub - i64.const 128 - i64.ge_u - if - f64.const 1 - local.set $0 - local.get $2 - i64.const 4607182418800017408 - i64.eq - br_if $~lib/util/math/pow_lut|inlined.0 - local.get $9 - i64.const 2047 - i64.and - i64.const 958 - i64.lt_u - br_if $~lib/util/math/pow_lut|inlined.0 - f64.const inf - f64.const 0 - local.get $9 - i64.const 2048 - i64.lt_u - local.get $2 - i64.const 4607182418800017408 - i64.gt_u - i32.eq - select - local.set $0 - br $~lib/util/math/pow_lut|inlined.0 - end - local.get $14 - i64.eqz - if (result i64) - local.get $4 - f64.const 4503599627370496 - f64.mul - i64.reinterpret_f64 - i64.const 9223372036854775807 - i64.and - i64.const 234187180623265792 - i64.sub - else - local.get $2 - end - local.set $2 - end - local.get $2 - local.get $2 - i64.const 4604531861337669632 - i64.sub - local.tee $9 - i64.const -4503599627370496 - i64.and - i64.sub - local.tee $6 - i64.const 2147483648 - i64.add - i64.const -4294967296 - i64.and - f64.reinterpret_i64 - local.tee $0 - local.get $9 - i64.const 45 - i64.shr_u - i64.const 127 - i64.and - i32.wrap_i64 - i32.const 5 - i32.shl - i32.const 10272 - i32.add - local.tee $11 - f64.load - local.tee $1 - f64.mul - f64.const 1 - f64.sub - local.set $13 - local.get $9 - i64.const 52 - i64.shr_s - f64.convert_i64_s - local.tee $17 - f64.const 0.6931471805598903 - f64.mul - local.get $11 - f64.load offset=16 - f64.add - local.tee $8 - local.get $13 - local.get $6 - f64.reinterpret_i64 - local.get $0 - f64.sub - local.get $1 - f64.mul - local.tee $18 - f64.add - local.tee $10 - f64.add - local.set $15 - local.get $10 - local.get $10 - f64.const -0.5 - f64.mul - local.tee $4 - f64.mul - local.set $16 - local.get $15 - local.get $13 - local.get $13 - f64.const -0.5 - f64.mul - local.tee $1 - f64.mul - local.tee $0 - f64.add - local.tee $13 - local.get $13 - local.get $17 - f64.const 5.497923018708371e-14 - f64.mul - local.get $11 - f64.load offset=24 - f64.add - local.get $8 - local.get $15 - f64.sub - local.get $10 - f64.add - f64.add - local.get $18 - local.get $4 - local.get $1 - f64.add - f64.mul - f64.add - local.get $15 - local.get $13 - f64.sub - local.get $0 - f64.add - f64.add - local.get $10 - local.get $16 - f64.mul - local.get $10 - f64.const 0.5000000000000007 - f64.mul - f64.const -0.6666666666666679 - f64.add - local.get $16 - local.get $10 - f64.const -0.6666666663487739 - f64.mul - f64.const 0.7999999995323976 - f64.add - local.get $16 - local.get $10 - f64.const 1.0000415263675542 - f64.mul - f64.const -1.142909628459501 - f64.add - f64.mul - f64.add - f64.mul - f64.add - f64.mul - f64.add - local.tee $0 - f64.add - local.tee $8 - f64.sub - local.get $0 - f64.add - global.set $~lib/util/math/log_tail - block $~lib/util/math/exp_inline|inlined.0 (result f64) - local.get $7 - i64.const -134217728 + local.tee $5 + i64.const 2147483648 + i64.add + i64.const -4294967296 i64.and f64.reinterpret_i64 - local.tee $0 + local.tee $1 local.get $8 - i64.reinterpret_f64 - i64.const -134217728 + i64.const 45 + i64.shr_u + i64.const 127 i64.and + i32.wrap_i64 + i32.const 5 + i32.shl + i32.const 10272 + i32.add + local.tee $11 + f64.load + local.tee $0 + f64.mul + f64.const 1 + f64.sub + local.set $13 + local.get $8 + i64.const 52 + i64.shr_s + f64.convert_i64_s + local.tee $17 + f64.const 0.6931471805598903 + f64.mul + local.get $11 + f64.load offset=16 + f64.add + local.tee $18 + local.get $13 + local.get $5 f64.reinterpret_i64 + local.get $1 + f64.sub + local.get $0 + f64.mul + local.tee $7 + f64.add + local.tee $10 + f64.add + local.set $15 + local.get $10 + local.get $10 + f64.const -0.5 + f64.mul + local.tee $9 + f64.mul + local.set $16 + local.get $15 + local.get $13 + local.get $13 + f64.const -0.5 + f64.mul local.tee $1 f64.mul - local.set $4 - local.get $5 + local.tee $0 + f64.add + local.tee $13 + local.get $13 + local.get $17 + f64.const 5.497923018708371e-14 + f64.mul + local.get $11 + f64.load offset=24 + f64.add + local.get $18 + local.get $15 + f64.sub + local.get $10 + f64.add + f64.add + local.get $7 + local.get $9 + local.get $1 + f64.add + f64.mul + f64.add + local.get $15 + local.get $13 + f64.sub local.get $0 + f64.add + f64.add + local.get $10 + local.get $16 + f64.mul + local.get $10 + f64.const 0.5000000000000007 + f64.mul + f64.const -0.6666666666666679 + f64.add + local.get $16 + local.get $10 + f64.const -0.6666666663487739 + f64.mul + f64.const 0.7999999995323976 + f64.add + local.get $16 + local.get $10 + f64.const 1.0000415263675542 + f64.mul + f64.const -1.142909628459501 + f64.add + f64.mul + f64.add + f64.mul + f64.add + f64.mul + f64.add + local.tee $0 + f64.add + local.tee $1 f64.sub + local.get $0 + f64.add + global.set $~lib/util/math/log_tail + local.get $6 + i64.const -134217728 + i64.and + f64.reinterpret_i64 + local.tee $7 local.get $1 + i64.reinterpret_f64 + i64.const -134217728 + i64.and + f64.reinterpret_i64 + local.tee $0 f64.mul - local.get $5 - local.get $8 + local.set $9 + local.get $4 + local.get $7 + f64.sub + local.get $0 + f64.mul + local.get $4 local.get $1 + local.get $0 f64.sub global.get $~lib/util/math/log_tail f64.add f64.mul f64.add local.set $1 - local.get $4 + local.get $9 i64.reinterpret_f64 - local.tee $6 + local.tee $5 i64.const 52 i64.shr_u i32.wrap_i64 @@ -7896,7 +7887,7 @@ i32.ge_u br_if $~lib/util/math/exp_inline|inlined.0 drop - local.get $6 + local.get $5 i64.const 63 i64.shr_u i32.wrap_i64 @@ -7923,14 +7914,14 @@ i32.const 0 local.set $3 end - local.get $4 + local.get $9 f64.const 184.6649652337873 f64.mul f64.const 6755399441055744 f64.add local.tee $0 i64.reinterpret_f64 - local.tee $9 + local.tee $8 i64.const 127 i64.and i64.const 1 @@ -7944,13 +7935,13 @@ i64.load offset=8 local.get $12 i64.extend_i32_u - local.get $9 + local.get $8 i64.add i64.const 45 i64.shl i64.add - local.set $6 - local.get $4 + local.set $5 + local.get $9 local.get $0 f64.const 6755399441055744 f64.sub @@ -7995,12 +7986,12 @@ i32.eqz if block $~lib/util/math/specialcase|inlined.1 (result f64) - local.get $9 + local.get $8 i64.const 2147483648 i64.and i64.eqz if - local.get $6 + local.get $5 i64.const 4544132024016830464 i64.sub f64.reinterpret_i64 @@ -8013,64 +8004,64 @@ f64.mul br $~lib/util/math/specialcase|inlined.1 end - local.get $6 + local.get $5 i64.const 4602678819172646912 i64.add - local.tee $6 + local.tee $5 f64.reinterpret_i64 - local.tee $4 - local.get $4 + local.tee $9 + local.get $9 local.get $0 f64.mul f64.add - local.tee $8 + local.tee $7 f64.abs f64.const 1 f64.lt if (result f64) f64.const 1 - local.get $8 + local.get $7 f64.copysign - local.tee $5 - local.get $8 + local.tee $4 + local.get $7 f64.add local.tee $1 - local.get $5 + local.get $4 local.get $1 f64.sub - local.get $8 + local.get $7 f64.add - local.get $4 - local.get $8 + local.get $9 + local.get $7 f64.sub - local.get $4 + local.get $9 local.get $0 f64.mul f64.add f64.add f64.add - local.get $5 + local.get $4 f64.sub - local.tee $8 + local.tee $7 f64.const 0 f64.eq if (result f64) - local.get $6 + local.get $5 i64.const -9223372036854775808 i64.and f64.reinterpret_i64 else - local.get $8 + local.get $7 end else - local.get $8 + local.get $7 end f64.const 2.2250738585072014e-308 f64.mul end br $~lib/util/math/exp_inline|inlined.0 end - local.get $6 + local.get $5 f64.reinterpret_i64 local.tee $1 local.get $1 @@ -8078,9 +8069,7 @@ f64.mul f64.add end - local.set $0 end - local.get $0 ) (func $std/math/test_pow (param $0 f64) (param $1 f64) (param $2 f64) (param $3 f64) (result i32) local.get $0 @@ -8103,12 +8092,11 @@ (func $~lib/math/NativeMathf.pow (param $0 f32) (param $1 f32) (result f32) (local $2 i32) (local $3 i32) - (local $4 f32) - (local $5 i32) - (local $6 i64) - (local $7 i32) + (local $4 i32) + (local $5 i64) + (local $6 i32) + (local $7 f64) (local $8 f64) - (local $9 f64) local.get $1 f32.abs f32.const 2 @@ -8161,10 +8149,10 @@ return end end - block $~lib/util/math/powf_lut|inlined.0 + block $~lib/util/math/powf_lut|inlined.0 (result f32) local.get $1 i32.reinterpret_f32 - local.tee $5 + local.tee $4 i32.const 1 i32.shl i32.const 1 @@ -8173,7 +8161,6 @@ i32.ge_u local.tee $3 local.get $0 - local.tee $4 i32.reinterpret_f32 local.tee $2 i32.const 8388608 @@ -8185,24 +8172,23 @@ local.get $3 if f32.const 1 - local.set $0 - local.get $5 + local.get $4 i32.const 1 i32.shl i32.eqz br_if $~lib/util/math/powf_lut|inlined.0 + drop f32.const nan:0x400000 - local.set $0 local.get $2 i32.const 1065353216 i32.eq br_if $~lib/util/math/powf_lut|inlined.0 - local.get $4 + drop + local.get $0 local.get $1 f32.add - local.set $0 i32.const 1 - local.get $5 + local.get $4 i32.const 1 i32.shl i32.const -16777216 @@ -8214,17 +8200,17 @@ i32.gt_u select br_if $~lib/util/math/powf_lut|inlined.0 + drop f32.const nan:0x400000 - local.set $0 local.get $2 i32.const 1 i32.shl i32.const 2130706432 i32.eq br_if $~lib/util/math/powf_lut|inlined.0 + drop f32.const 0 - local.set $0 - local.get $5 + local.get $4 i32.const 31 i32.shr_u i32.eqz @@ -8235,10 +8221,10 @@ i32.lt_u i32.eq br_if $~lib/util/math/powf_lut|inlined.0 + drop local.get $1 local.get $1 f32.mul - local.set $0 br $~lib/util/math/powf_lut|inlined.0 end local.get $2 @@ -8250,8 +8236,8 @@ i32.ge_u if f32.const 1 - local.get $4 - local.get $4 + local.get $0 + local.get $0 f32.mul local.tee $0 f32.neg @@ -8262,7 +8248,7 @@ if (result i32) block $~lib/util/math/checkintf|inlined.0 (result i32) i32.const 0 - local.get $5 + local.get $4 i32.const 23 i32.shr_u i32.const 255 @@ -8287,13 +8273,13 @@ local.tee $2 i32.const 1 i32.sub - local.get $5 + local.get $4 i32.and br_if $~lib/util/math/checkintf|inlined.0 drop i32.const 1 local.get $2 - local.get $5 + local.get $4 i32.and br_if $~lib/util/math/checkintf|inlined.0 drop @@ -8308,39 +8294,31 @@ local.tee $0 f32.div local.get $0 - local.get $5 + local.get $4 i32.const 31 i32.shr_u select - local.set $0 br $~lib/util/math/powf_lut|inlined.0 end local.get $2 i32.const 31 i32.shr_u if - local.get $4 - local.get $4 - f32.sub - local.tee $0 - local.get $0 - f32.div - local.set $0 block $~lib/util/math/checkintf|inlined.1 (result i32) i32.const 0 - local.get $5 + local.get $4 local.tee $3 i32.const 23 i32.shr_u i32.const 255 i32.and - local.tee $5 + local.tee $4 i32.const 127 i32.lt_u br_if $~lib/util/math/checkintf|inlined.1 drop i32.const 2 - local.get $5 + local.get $4 i32.const 150 i32.gt_u br_if $~lib/util/math/checkintf|inlined.1 @@ -8348,10 +8326,10 @@ i32.const 0 i32.const 1 i32.const 150 - local.get $5 + local.get $4 i32.sub i32.shl - local.tee $5 + local.tee $4 i32.const 1 i32.sub local.get $3 @@ -8360,22 +8338,30 @@ drop i32.const 1 local.get $3 - local.get $5 + local.get $4 i32.and br_if $~lib/util/math/checkintf|inlined.1 drop i32.const 2 end - local.tee $5 + local.tee $4 i32.eqz - br_if $~lib/util/math/powf_lut|inlined.0 + if + local.get $0 + local.get $0 + f32.sub + local.tee $0 + local.get $0 + f32.div + br $~lib/util/math/powf_lut|inlined.0 + end i32.const 65536 i32.const 0 - local.get $5 + local.get $4 i32.const 1 i32.eq select - local.set $7 + local.set $6 local.get $2 i32.const 2147483647 i32.and @@ -8385,7 +8371,7 @@ i32.const 8388608 i32.lt_u if (result i32) - local.get $4 + local.get $0 f32.const 8388608 f32.mul i32.reinterpret_f32 @@ -8402,14 +8388,14 @@ local.get $2 i32.const 1060306944 i32.sub - local.tee $5 + local.tee $4 i32.const -8388608 i32.and local.tee $3 i32.sub f32.reinterpret_i32 f64.promote_f32 - local.get $5 + local.get $4 i32.const 19 i32.shr_u i32.const 15 @@ -8418,30 +8404,30 @@ i32.shl i32.const 10016 i32.add - local.tee $5 + local.tee $4 f64.load f64.mul f64.const 1 f64.sub - local.tee $9 - local.get $9 + local.tee $8 + local.get $8 f64.mul - local.set $8 + local.set $7 local.get $1 f64.promote_f32 - local.get $9 + local.get $8 f64.const 0.288457581109214 f64.mul f64.const -0.36092606229713164 f64.add - local.get $8 - local.get $8 + local.get $7 + local.get $7 f64.mul f64.mul - local.get $9 + local.get $8 f64.const 1.4426950408774342 f64.mul - local.get $5 + local.get $4 f64.load offset=8 local.get $3 i32.const 23 @@ -8449,17 +8435,17 @@ f64.convert_i32_s f64.add f64.add - local.get $9 + local.get $8 f64.const 0.480898481472577 f64.mul f64.const -0.7213474675006291 f64.add - local.get $8 + local.get $7 f64.mul f64.add f64.add f64.mul - local.tee $9 + local.tee $8 i64.reinterpret_f64 i64.const 47 i64.shr_u @@ -8468,60 +8454,56 @@ i64.const 32959 i64.ge_u if - local.get $9 + f32.const -1584563250285286751870879e5 + f32.const 1584563250285286751870879e5 + local.get $6 + select + f32.const 1584563250285286751870879e5 + f32.mul + local.get $8 f64.const 127.99999995700433 f64.gt - if - f32.const -1584563250285286751870879e5 - f32.const 1584563250285286751870879e5 - local.get $7 - select - f32.const 1584563250285286751870879e5 - f32.mul - local.set $0 - br $~lib/util/math/powf_lut|inlined.0 - end - local.get $9 + br_if $~lib/util/math/powf_lut|inlined.0 + drop + f32.const -2.524354896707238e-29 + f32.const 2.524354896707238e-29 + local.get $6 + select + f32.const 2.524354896707238e-29 + f32.mul + local.get $8 f64.const -150 f64.le - if - f32.const -2.524354896707238e-29 - f32.const 2.524354896707238e-29 - local.get $7 - select - f32.const 2.524354896707238e-29 - f32.mul - local.set $0 - br $~lib/util/math/powf_lut|inlined.0 - end + br_if $~lib/util/math/powf_lut|inlined.0 + drop end - local.get $9 + local.get $8 f64.const 211106232532992 f64.add - local.tee $8 + local.tee $7 i64.reinterpret_f64 - local.set $6 - local.get $9 + local.set $5 local.get $8 + local.get $7 f64.const 211106232532992 f64.sub f64.sub - local.tee $9 + local.tee $8 f64.const 0.6931471806916203 f64.mul f64.const 1 f64.add - local.get $9 + local.get $8 f64.const 0.05550361559341535 f64.mul f64.const 0.2402284522445722 f64.add - local.get $9 - local.get $9 + local.get $8 + local.get $8 f64.mul f64.mul f64.add - local.get $6 + local.get $5 i32.wrap_i64 i32.const 31 i32.and @@ -8530,9 +8512,9 @@ i32.const 7712 i32.add i64.load - local.get $7 - i64.extend_i32_u local.get $6 + i64.extend_i32_u + local.get $5 i64.add i64.const 47 i64.shl @@ -8540,13 +8522,13 @@ f64.reinterpret_i64 f64.mul f32.demote_f64 - local.set $0 end - local.get $0 ) (func $~lib/math/NativeMath.seedRandom (param $0 i64) (local $1 i32) (local $2 i64) + (local $3 i64) + (local $4 i32) i32.const 1 global.set $~lib/math/random_seeded local.get $0 @@ -8570,6 +8552,7 @@ i64.xor global.set $~lib/math/random_state0_64 global.get $~lib/math/random_state0_64 + local.tee $3 i64.const -1 i64.xor local.tee $2 @@ -8625,6 +8608,7 @@ i32.xor global.set $~lib/math/random_state0_32 global.get $~lib/math/random_state0_32 + local.tee $4 i32.const 1831565813 i32.add local.tee $1 @@ -8659,13 +8643,13 @@ i32.const 0 i32.ne i32.const 0 - global.get $~lib/math/random_state0_32 + local.get $4 i32.const 0 global.get $~lib/math/random_state1_64 i64.const 0 i64.ne i32.const 0 - global.get $~lib/math/random_state0_64 + local.get $3 i64.const 0 i64.ne select @@ -9677,13 +9661,13 @@ end local.get $0 f64.promote_f32 - local.tee $8 - local.get $8 - f64.mul local.tee $9 - local.get $8 + local.get $9 f64.mul - local.set $7 + local.tee $7 + local.get $9 + f64.mul + local.set $8 br $folding-inner0 end local.get $2 @@ -9700,8 +9684,8 @@ f64.promote_f32 f64.const 1.5707963267948966 f64.add - local.tee $9 - local.get $9 + local.tee $8 + local.get $8 f64.mul local.tee $9 local.get $9 @@ -9733,8 +9717,8 @@ f64.promote_f32 f64.const 1.5707963267948966 f64.sub - local.tee $9 - local.get $9 + local.tee $8 + local.get $8 f64.mul local.tee $9 local.get $9 @@ -9765,22 +9749,22 @@ end local.get $0 f64.promote_f32 - local.tee $9 + local.tee $8 f64.const 3.141592653589793 f64.add - local.get $9 + local.get $8 f64.const 3.141592653589793 f64.sub local.get $5 select f64.neg - local.tee $8 - local.get $8 - f64.mul local.tee $9 - local.get $8 + local.get $9 f64.mul - local.set $7 + local.tee $7 + local.get $9 + f64.mul + local.set $8 br $folding-inner0 end local.get $2 @@ -9797,8 +9781,8 @@ f64.promote_f32 f64.const 4.71238898038469 f64.add - local.tee $9 - local.get $9 + local.tee $8 + local.get $8 f64.mul local.tee $9 local.get $9 @@ -9829,8 +9813,8 @@ f64.promote_f32 f64.const 4.71238898038469 f64.sub - local.tee $9 - local.get $9 + local.tee $8 + local.get $8 f64.mul local.tee $9 local.get $9 @@ -9862,21 +9846,21 @@ end local.get $0 f64.promote_f32 - local.tee $9 + local.tee $8 f64.const 6.283185307179586 f64.add - local.get $9 + local.get $8 f64.const 6.283185307179586 f64.sub local.get $5 select - local.tee $8 - local.get $8 - f64.mul local.tee $9 - local.get $8 + local.get $9 f64.mul - local.set $7 + local.tee $7 + local.get $9 + f64.mul + local.set $8 br $folding-inner0 end local.get $2 @@ -9935,7 +9919,7 @@ i32.const 8388608 i32.or i64.extend_i32_s - local.tee $3 + local.tee $4 local.get $2 i32.const 6 i32.shr_s @@ -9949,7 +9933,7 @@ i64.shl local.get $2 i64.load offset=8 - local.tee $4 + local.tee $3 i64.const 64 local.get $6 i64.sub @@ -9960,7 +9944,7 @@ i64.const 32 i64.gt_u if (result i64) - local.get $4 + local.get $3 local.get $6 i64.const 32 i64.sub @@ -9973,29 +9957,29 @@ i64.shr_u i64.or else - local.get $4 + local.get $3 i64.const 32 local.get $6 i64.sub i64.shr_u end - local.get $3 + local.get $4 i64.mul i64.const 32 i64.shr_u i64.add - local.tee $6 + local.tee $4 i64.const 2 i64.shl - local.tee $4 + local.tee $6 f64.convert_i64_s f64.mul global.set $~lib/math/rempio2f_y i32.const 0 - local.get $6 + local.get $4 i64.const 62 i64.shr_u - local.get $4 + local.get $6 i64.const 63 i64.shr_u i64.add @@ -10008,13 +9992,13 @@ end local.set $1 global.get $~lib/math/rempio2f_y - local.set $9 + local.set $7 local.get $1 i32.const 1 i32.and if (result f32) - local.get $9 - local.get $9 + local.get $7 + local.get $7 f64.mul local.tee $9 local.get $9 @@ -10041,27 +10025,27 @@ f64.add f32.demote_f64 else - local.get $9 - local.get $9 - local.get $9 + local.get $7 + local.get $7 + local.get $7 + f64.mul + local.tee $9 + local.get $7 f64.mul local.tee $8 local.get $9 - f64.mul - local.tee $7 - local.get $8 f64.const 0.008333329385889463 f64.mul f64.const -0.16666666641626524 f64.add f64.mul f64.add - local.get $7 - local.get $8 local.get $8 + local.get $9 + local.get $9 f64.mul f64.mul - local.get $8 + local.get $9 f64.const 2.718311493989822e-06 f64.mul f64.const -1.9839334836096632e-04 @@ -10079,21 +10063,21 @@ select return end + local.get $9 local.get $8 local.get $7 - local.get $9 f64.const 0.008333329385889463 f64.mul f64.const -0.16666666641626524 f64.add f64.mul f64.add + local.get $8 + local.get $7 local.get $7 - local.get $9 - local.get $9 f64.mul f64.mul - local.get $9 + local.get $7 f64.const 2.718311493989822e-06 f64.mul f64.const -1.9839334836096632e-04 @@ -10416,30 +10400,29 @@ local.get $1 return end + f64.const -1 local.get $1 + f64.div + local.tee $5 i64.reinterpret_f64 i64.const -4294967296 i64.and f64.reinterpret_i64 - local.set $4 - f64.const -1 + local.tee $4 + local.get $5 + local.get $4 local.get $1 - f64.div - local.tee $5 i64.reinterpret_f64 i64.const -4294967296 i64.and f64.reinterpret_i64 local.tee $1 - local.get $5 - local.get $1 - local.get $4 f64.mul f64.const 1 f64.add - local.get $1 - local.get $3 local.get $4 + local.get $3 + local.get $1 local.get $0 f64.sub f64.sub @@ -10740,12 +10723,12 @@ end local.get $0 f64.promote_f32 - local.tee $8 - local.get $8 - f64.mul local.tee $9 local.get $9 f64.mul + local.tee $8 + local.get $8 + f64.mul local.set $7 br $folding-inner0 end @@ -10767,12 +10750,12 @@ f64.sub local.get $5 select - local.tee $8 - local.get $8 - f64.mul local.tee $9 local.get $9 f64.mul + local.tee $8 + local.get $8 + f64.mul local.set $7 br $folding-inner1 else @@ -10786,12 +10769,12 @@ f64.sub local.get $5 select - local.tee $8 - local.get $8 - f64.mul local.tee $9 local.get $9 f64.mul + local.tee $8 + local.get $8 + f64.mul local.set $7 br $folding-inner0 end @@ -10815,12 +10798,12 @@ f64.sub local.get $5 select - local.tee $8 - local.get $8 - f64.mul local.tee $9 local.get $9 f64.mul + local.tee $8 + local.get $8 + f64.mul local.set $7 br $folding-inner1 else @@ -10834,12 +10817,12 @@ f64.sub local.get $5 select - local.tee $8 - local.get $8 - f64.mul local.tee $9 local.get $9 f64.mul + local.tee $8 + local.get $8 + f64.mul local.set $7 br $folding-inner0 end @@ -10862,22 +10845,22 @@ if local.get $0 f64.promote_f32 - local.tee $8 + local.tee $9 f64.const 0.6366197723675814 f64.mul f64.nearest - local.set $9 - local.get $8 + local.set $7 local.get $9 + local.get $7 f64.const 1.5707963109016418 f64.mul f64.sub - local.get $9 + local.get $7 f64.const 1.5893254773528196e-08 f64.mul f64.sub global.set $~lib/math/rempio2f_y - local.get $9 + local.get $7 i32.trunc_f64_s br $~lib/math/rempio2f|inlined.2 end @@ -10901,7 +10884,7 @@ i32.const 8388608 i32.or i64.extend_i32_s - local.tee $3 + local.tee $4 local.get $2 i32.const 6 i32.shr_s @@ -10915,7 +10898,7 @@ i64.shl local.get $2 i64.load offset=8 - local.tee $4 + local.tee $3 i64.const 64 local.get $6 i64.sub @@ -10926,7 +10909,7 @@ i64.const 32 i64.gt_u if (result i64) - local.get $4 + local.get $3 local.get $6 i64.const 32 i64.sub @@ -10939,29 +10922,29 @@ i64.shr_u i64.or else - local.get $4 + local.get $3 i64.const 32 local.get $6 i64.sub i64.shr_u end - local.get $3 + local.get $4 i64.mul i64.const 32 i64.shr_u i64.add - local.tee $6 + local.tee $4 i64.const 2 i64.shl - local.tee $4 + local.tee $6 f64.convert_i64_s f64.mul global.set $~lib/math/rempio2f_y i32.const 0 - local.get $6 + local.get $4 i64.const 62 i64.shr_u - local.get $4 + local.get $6 i64.const 63 i64.shr_u i64.add @@ -10974,36 +10957,36 @@ end local.set $1 global.get $~lib/math/rempio2f_y - local.tee $8 - local.get $8 - f64.mul local.tee $9 local.get $9 f64.mul + local.tee $8 + local.get $8 + f64.mul local.set $7 f64.const -1 - local.get $8 local.get $9 local.get $8 - f64.mul - local.tee $8 local.get $9 + f64.mul + local.tee $9 + local.get $8 f64.const 0.13339200271297674 f64.mul f64.const 0.3333313950307914 f64.add f64.mul f64.add - local.get $8 + local.get $9 local.get $7 f64.mul - local.get $9 + local.get $8 f64.const 0.024528318116654728 f64.mul f64.const 0.05338123784456704 f64.add local.get $7 - local.get $9 + local.get $8 f64.const 0.009465647849436732 f64.mul f64.const 0.002974357433599673 @@ -11022,28 +11005,28 @@ f32.demote_f64 return end - local.get $8 local.get $9 local.get $8 - f64.mul - local.tee $8 local.get $9 + f64.mul + local.tee $9 + local.get $8 f64.const 0.13339200271297674 f64.mul f64.const 0.3333313950307914 f64.add f64.mul f64.add - local.get $8 + local.get $9 local.get $7 f64.mul - local.get $9 + local.get $8 f64.const 0.024528318116654728 f64.mul f64.const 0.05338123784456704 f64.add local.get $7 - local.get $9 + local.get $8 f64.const 0.009465647849436732 f64.mul f64.const 0.002974357433599673 @@ -11056,28 +11039,28 @@ return end f64.const -1 - local.get $8 local.get $9 local.get $8 - f64.mul - local.tee $8 local.get $9 + f64.mul + local.tee $9 + local.get $8 f64.const 0.13339200271297674 f64.mul f64.const 0.3333313950307914 f64.add f64.mul f64.add - local.get $8 + local.get $9 local.get $7 f64.mul - local.get $9 + local.get $8 f64.const 0.024528318116654728 f64.mul f64.const 0.05338123784456704 f64.add local.get $7 - local.get $9 + local.get $8 f64.const 0.009465647849436732 f64.mul f64.const 0.002974357433599673 @@ -11264,7 +11247,6 @@ (local $8 i32) (local $9 f64) (local $10 f64) - (local $11 f64) local.get $0 i64.reinterpret_f64 local.tee $3 @@ -11293,19 +11275,18 @@ return end local.get $0 - local.get $0 - f64.mul local.tee $1 - local.get $1 - f64.mul - local.set $4 - local.get $0 - local.get $1 local.get $0 f64.mul + local.tee $0 + local.set $4 local.get $1 + local.get $4 local.get $1 - local.get $1 + f64.mul + local.get $4 + local.get $4 + local.get $4 f64.const 2.7557313707070068e-06 f64.mul f64.const -1.984126982985795e-04 @@ -11313,10 +11294,12 @@ f64.mul f64.const 0.00833333333332249 f64.add - local.get $1 + local.get $4 + local.get $4 local.get $4 f64.mul - local.get $1 + f64.mul + local.get $4 f64.const 1.58969099521155e-10 f64.mul f64.const -2.5050760253406863e-08 @@ -11330,7 +11313,7 @@ f64.add global.set $~lib/math/NativeMath.sincos_sin f64.const 1 - local.get $1 + local.get $0 f64.const 0.5 f64.mul local.tee $2 @@ -11341,10 +11324,10 @@ f64.sub local.get $2 f64.sub - local.get $1 - local.get $1 - local.get $1 - local.get $1 + local.get $0 + local.get $0 + local.get $0 + local.get $0 f64.const 2.480158728947673e-05 f64.mul f64.const -0.001388888888887411 @@ -11353,11 +11336,14 @@ f64.const 0.0416666666666666 f64.add f64.mul - local.get $4 + local.get $0 + local.get $0 + f64.mul + local.tee $4 local.get $4 f64.mul - local.get $1 - local.get $1 + local.get $0 + local.get $0 f64.const -1.1359647557788195e-11 f64.mul f64.const 2.087572321298175e-09 @@ -11368,7 +11354,7 @@ f64.mul f64.add f64.mul - local.get $0 + local.get $1 f64.const 0 f64.mul f64.sub @@ -11515,8 +11501,7 @@ f64.const 2.0222662487959506e-21 f64.mul local.get $0 - local.tee $1 - local.get $1 + local.get $0 local.get $4 f64.const 6.077100506303966e-11 f64.mul @@ -11549,8 +11534,7 @@ f64.const 8.4784276603689e-32 f64.mul local.get $0 - local.tee $1 - local.get $1 + local.get $0 local.get $4 f64.const 2.0222662487111665e-21 f64.mul @@ -11597,21 +11581,19 @@ local.get $2 f64.mul local.tee $1 - local.get $1 + local.tee $0 + local.get $2 f64.mul - local.set $9 + local.set $4 local.get $2 - local.get $1 + local.get $0 global.get $~lib/math/rempio2_y1 local.tee $7 f64.const 0.5 f64.mul - local.get $1 - local.get $2 - f64.mul - local.tee $0 - local.get $1 - local.get $1 + local.get $4 + local.get $0 + local.get $0 f64.const 2.7557313707070068e-06 f64.mul f64.const -1.984126982985795e-04 @@ -11619,10 +11601,12 @@ f64.mul f64.const 0.00833333333332249 f64.add - local.get $1 - local.get $9 + local.get $0 + local.get $0 + local.get $0 f64.mul - local.get $1 + f64.mul + local.get $0 f64.const 1.58969099521155e-10 f64.mul f64.const -2.5050760253406863e-08 @@ -11634,7 +11618,7 @@ f64.mul local.get $7 f64.sub - local.get $0 + local.get $4 f64.const -0.16666666666666632 f64.mul f64.sub @@ -11647,9 +11631,9 @@ f64.mul local.tee $10 f64.sub - local.tee $11 + local.tee $9 f64.const 1 - local.get $11 + local.get $9 f64.sub local.get $10 f64.sub @@ -11665,7 +11649,10 @@ f64.const 0.0416666666666666 f64.add f64.mul - local.get $9 + local.get $1 + local.get $1 + f64.mul + local.tee $9 local.get $9 f64.mul local.get $1 @@ -44577,14 +44564,14 @@ global.set $~lib/math/random_state0_64 local.get $3 local.get $2 - local.get $2 i64.const 23 i64.shl + local.get $2 i64.xor local.tee $2 - local.get $2 i64.const 17 i64.shr_u + local.get $2 i64.xor i64.xor local.get $3 @@ -44643,24 +44630,24 @@ call $~lib/math/NativeMath.seedRandom end global.get $~lib/math/random_state0_32 - local.tee $4 + local.tee $5 global.get $~lib/math/random_state1_32 i32.xor - local.tee $5 - local.get $4 + local.tee $4 + local.get $5 i32.const 26 i32.rotl i32.xor - local.get $5 + local.get $4 i32.const 9 i32.shl i32.xor global.set $~lib/math/random_state0_32 - local.get $5 + local.get $4 i32.const 13 i32.rotl global.set $~lib/math/random_state1_32 - local.get $4 + local.get $5 i32.const -1640531525 i32.mul i32.const 5 diff --git a/tests/compiler/std/mod.optimized.wat b/tests/compiler/std/mod.optimized.wat index 7cc94f9d46..3a905d40e0 100644 --- a/tests/compiler/std/mod.optimized.wat +++ b/tests/compiler/std/mod.optimized.wat @@ -20,7 +20,6 @@ (local $7 i64) (local $8 i64) (local $9 i64) - (local $10 i64) block $__inlined_func$std/mod/check (result i32) block $__inlined_func$~lib/math/NativeMath.mod (result f64) local.get $0 @@ -44,18 +43,14 @@ i64.const 2047 i64.and local.set $7 - local.get $0 - i64.reinterpret_f64 - local.tee $3 - i64.const 63 - i64.shr_u - local.set $9 i32.const 1 local.get $4 local.get $4 f64.ne i32.const 1 - local.get $3 + local.get $0 + i64.reinterpret_f64 + local.tee $3 i64.const 52 i64.shr_u i64.const 2047 @@ -83,17 +78,21 @@ local.get $3 i64.const 1 i64.shl - local.tee $10 + local.tee $9 i64.ge_u if local.get $0 local.get $8 - local.get $10 + local.get $9 i64.ne f64.convert_i32_u f64.mul br $__inlined_func$~lib/math/NativeMath.mod end + local.get $3 + i64.const 63 + i64.shr_u + local.set $8 local.get $6 i64.eqz if (result i64) @@ -168,6 +167,7 @@ br $while-continue|0 end end + local.get $6 local.get $3 local.get $5 i64.ge_u @@ -182,17 +182,17 @@ local.set $3 end local.get $3 - local.get $3 i64.const 11 i64.shl i64.clz - local.tee $5 + local.tee $6 + i64.sub + local.set $5 + local.get $3 + local.get $6 i64.shl local.set $3 - local.get $6 local.get $5 - i64.sub - local.tee $5 i64.const 0 i64.gt_s if (result i64) @@ -210,7 +210,7 @@ i64.sub i64.shr_u end - local.get $9 + local.get $8 i64.const 63 i64.shl i64.or @@ -285,7 +285,6 @@ (local $6 i32) (local $7 i32) (local $8 i32) - (local $9 i32) block $__inlined_func$std/mod/check (result i32) block $__inlined_func$~lib/math/NativeMathf.mod (result f32) local.get $0 @@ -308,17 +307,13 @@ i32.const 255 i32.and local.set $6 - local.get $0 - i32.reinterpret_f32 - local.tee $3 - i32.const -2147483648 - i32.and - local.set $8 i32.const 1 local.get $1 local.get $1 f32.ne - local.get $3 + local.get $0 + i32.reinterpret_f32 + local.tee $3 i32.const 23 i32.shr_u i32.const 255 @@ -346,17 +341,21 @@ local.get $3 i32.const 1 i32.shl - local.tee $9 + local.tee $8 i32.ge_u if local.get $0 local.get $7 - local.get $9 + local.get $8 i32.ne f32.convert_i32_u f32.mul br $__inlined_func$~lib/math/NativeMathf.mod end + local.get $3 + i32.const -2147483648 + i32.and + local.set $7 local.get $5 if (result i32) local.get $3 @@ -429,6 +428,7 @@ br $while-continue|0 end end + local.get $5 local.get $3 local.get $4 i32.ge_u @@ -443,17 +443,17 @@ local.set $3 end local.get $3 - local.get $3 i32.const 8 i32.shl i32.clz - local.tee $4 + local.tee $5 + i32.sub + local.set $4 + local.get $3 + local.get $5 i32.shl local.set $3 - local.get $5 local.get $4 - i32.sub - local.tee $4 i32.const 0 i32.gt_s if (result i32) @@ -471,7 +471,7 @@ i32.sub i32.shr_u end - local.get $8 + local.get $7 i32.or f32.reinterpret_i32 br $__inlined_func$~lib/math/NativeMathf.mod diff --git a/tests/compiler/std/new.optimized.wat b/tests/compiler/std/new.optimized.wat index 5079d78e9e..37485b7a44 100644 --- a/tests/compiler/std/new.optimized.wat +++ b/tests/compiler/std/new.optimized.wat @@ -104,8 +104,8 @@ i32.and i32.eq if - local.get $0 global.get $~lib/rt/itcms/iter + local.get $0 i32.eq if local.get $0 @@ -165,11 +165,11 @@ local.get $1 i32.store offset=8 local.get $1 - local.get $2 local.get $1 i32.load offset=4 i32.const 3 i32.and + local.get $2 i32.or i32.store offset=4 end @@ -183,10 +183,10 @@ if (result i32) i32.const 1 else - local.get $1 i32.const 1440 i32.load - i32.gt_u + local.get $1 + i32.lt_u if i32.const 1248 i32.const 1312 @@ -223,11 +223,11 @@ local.get $1 i32.store offset=8 local.get $1 - local.get $0 local.get $1 i32.load offset=4 i32.const 3 i32.and + local.get $0 i32.or i32.store offset=4 local.get $2 @@ -366,22 +366,22 @@ local.get $4 i32.eqz if - local.get $0 local.get $3 i32.const 2 i32.shl + local.get $0 i32.add - local.tee $1 + local.tee $4 i32.load offset=4 i32.const -2 local.get $2 i32.rotl i32.and - local.set $2 + local.set $1 + local.get $4 local.get $1 - local.get $2 i32.store offset=4 - local.get $2 + local.get $1 i32.eqz if local.get $0 @@ -629,10 +629,10 @@ i32.shl i32.or i32.store - local.get $0 local.get $5 i32.const 2 i32.shl + local.get $0 i32.add local.tee $0 local.get $0 @@ -672,11 +672,11 @@ i32.load offset=1568 local.tee $2 if + local.get $1 local.get $2 i32.const 4 i32.add - local.get $1 - i32.gt_u + i32.lt_u if i32.const 0 i32.const 1392 @@ -700,11 +700,11 @@ local.set $1 end else + local.get $1 local.get $0 i32.const 1572 i32.add - local.get $1 - i32.gt_u + i32.lt_u if i32.const 0 i32.const 1392 @@ -991,13 +991,13 @@ if local.get $0 i32.load offset=4 + local.tee $1 i32.const -4 i32.and global.set $~lib/rt/itcms/iter global.get $~lib/rt/itcms/white i32.eqz - local.get $0 - i32.load offset=4 + local.get $1 i32.const 3 i32.and i32.ne @@ -1084,10 +1084,10 @@ end global.get $~lib/rt/itcms/toSpace local.tee $0 - local.get $0 + local.tee $1 + local.get $1 i32.store offset=4 - global.get $~lib/rt/itcms/toSpace - local.tee $0 + local.get $0 local.get $0 i32.store offset=8 i32.const 0 @@ -1107,11 +1107,11 @@ i32.and local.tee $2 if (result i32) - local.get $0 local.get $2 i32.ctz i32.const 2 i32.shl + local.get $0 i32.add i32.load offset=96 else @@ -1121,12 +1121,12 @@ i32.and local.tee $1 if (result i32) - local.get $0 local.get $1 i32.ctz local.tee $1 i32.const 2 i32.shl + local.get $0 i32.add i32.load offset=4 local.tee $2 @@ -1139,7 +1139,6 @@ call $~lib/builtins/abort unreachable end - local.get $0 local.get $2 i32.ctz local.get $1 @@ -1148,6 +1147,7 @@ i32.add i32.const 2 i32.shl + local.get $0 i32.add i32.load offset=96 else @@ -1381,18 +1381,13 @@ local.get $0 i32.const 4 i32.add - local.tee $1 local.get $0 i32.load i32.const -4 i32.and i32.add + local.tee $1 local.get $1 - local.get $0 - i32.load - i32.const -4 - i32.and - i32.add i32.load i32.const -3 i32.and @@ -1409,19 +1404,19 @@ i32.load offset=8 local.set $3 local.get $0 - local.get $1 global.get $~lib/rt/itcms/white + local.get $1 i32.or i32.store offset=4 local.get $0 local.get $3 i32.store offset=8 local.get $3 - local.get $0 local.get $3 i32.load offset=4 i32.const 3 i32.and + local.get $0 i32.or i32.store offset=4 local.get $1 diff --git a/tests/compiler/std/operator-overloading.optimized.wat b/tests/compiler/std/operator-overloading.optimized.wat index ba8ff9c7c8..2f5135eadb 100644 --- a/tests/compiler/std/operator-overloading.optimized.wat +++ b/tests/compiler/std/operator-overloading.optimized.wat @@ -163,8 +163,8 @@ i32.and i32.eq if - local.get $0 global.get $~lib/rt/itcms/iter + local.get $0 i32.eq if local.get $0 @@ -224,11 +224,11 @@ local.get $1 i32.store offset=8 local.get $1 - local.get $2 local.get $1 i32.load offset=4 i32.const 3 i32.and + local.get $2 i32.or i32.store offset=4 end @@ -242,10 +242,10 @@ if (result i32) i32.const 1 else - local.get $1 i32.const 1520 i32.load - i32.gt_u + local.get $1 + i32.lt_u if i32.const 1248 i32.const 1312 @@ -282,11 +282,11 @@ local.get $1 i32.store offset=8 local.get $1 - local.get $0 local.get $1 i32.load offset=4 i32.const 3 i32.and + local.get $0 i32.or i32.store offset=4 local.get $2 @@ -425,22 +425,22 @@ local.get $4 i32.eqz if - local.get $0 local.get $3 i32.const 2 i32.shl + local.get $0 i32.add - local.tee $1 + local.tee $4 i32.load offset=4 i32.const -2 local.get $2 i32.rotl i32.and - local.set $2 + local.set $1 + local.get $4 local.get $1 - local.get $2 i32.store offset=4 - local.get $2 + local.get $1 i32.eqz if local.get $0 @@ -688,10 +688,10 @@ i32.shl i32.or i32.store - local.get $0 local.get $5 i32.const 2 i32.shl + local.get $0 i32.add local.tee $0 local.get $0 @@ -731,11 +731,11 @@ i32.load offset=1568 local.tee $2 if + local.get $1 local.get $2 i32.const 4 i32.add - local.get $1 - i32.gt_u + i32.lt_u if i32.const 0 i32.const 1392 @@ -759,11 +759,11 @@ local.set $1 end else + local.get $1 local.get $0 i32.const 1572 i32.add - local.get $1 - i32.gt_u + i32.lt_u if i32.const 0 i32.const 1392 @@ -1050,13 +1050,13 @@ if local.get $0 i32.load offset=4 + local.tee $1 i32.const -4 i32.and global.set $~lib/rt/itcms/iter global.get $~lib/rt/itcms/white i32.eqz - local.get $0 - i32.load offset=4 + local.get $1 i32.const 3 i32.and i32.ne @@ -1143,10 +1143,10 @@ end global.get $~lib/rt/itcms/toSpace local.tee $0 - local.get $0 + local.tee $1 + local.get $1 i32.store offset=4 - global.get $~lib/rt/itcms/toSpace - local.tee $0 + local.get $0 local.get $0 i32.store offset=8 i32.const 0 @@ -1166,11 +1166,11 @@ i32.and local.tee $2 if (result i32) - local.get $0 local.get $2 i32.ctz i32.const 2 i32.shl + local.get $0 i32.add i32.load offset=96 else @@ -1180,12 +1180,12 @@ i32.and local.tee $1 if (result i32) - local.get $0 local.get $1 i32.ctz local.tee $1 i32.const 2 i32.shl + local.get $0 i32.add i32.load offset=4 local.tee $2 @@ -1198,7 +1198,6 @@ call $~lib/builtins/abort unreachable end - local.get $0 local.get $2 i32.ctz local.get $1 @@ -1207,6 +1206,7 @@ i32.add i32.const 2 i32.shl + local.get $0 i32.add i32.load offset=96 else @@ -1388,18 +1388,13 @@ local.get $1 i32.const 4 i32.add - local.tee $2 local.get $1 i32.load i32.const -4 i32.and i32.add + local.tee $2 local.get $2 - local.get $1 - i32.load - i32.const -4 - i32.and - i32.add i32.load i32.const -3 i32.and @@ -1416,19 +1411,19 @@ i32.load offset=8 local.set $2 local.get $1 - local.get $0 global.get $~lib/rt/itcms/white + local.get $0 i32.or i32.store offset=4 local.get $1 local.get $2 i32.store offset=8 local.get $2 - local.get $1 local.get $2 i32.load offset=4 i32.const 3 i32.and + local.get $1 i32.or i32.store offset=4 local.get $0 @@ -2133,23 +2128,22 @@ call $std/operator-overloading/Tester#constructor global.set $std/operator-overloading/a2 global.get $~lib/memory/__stack_pointer - local.tee $1 global.get $std/operator-overloading/a1 - local.tee $0 + local.tee $1 i32.store - local.get $1 + global.get $~lib/memory/__stack_pointer global.get $std/operator-overloading/a2 - local.tee $1 + local.tee $0 i32.store offset=4 - local.get $0 - i32.load local.get $1 i32.load - i32.add local.get $0 - i32.load offset=4 + i32.load + i32.add local.get $1 i32.load offset=4 + local.get $0 + i32.load offset=4 i32.add call $std/operator-overloading/Tester#constructor global.set $std/operator-overloading/a @@ -2183,23 +2177,23 @@ call $std/operator-overloading/Tester#constructor global.set $std/operator-overloading/s2 global.get $~lib/memory/__stack_pointer - local.tee $1 - global.get $std/operator-overloading/s1 local.tee $0 + global.get $std/operator-overloading/s1 + local.tee $1 i32.store - local.get $1 + local.get $0 global.get $std/operator-overloading/s2 - local.tee $1 + local.tee $0 i32.store offset=4 - local.get $0 - i32.load local.get $1 i32.load - i32.sub local.get $0 - i32.load offset=4 + i32.load + i32.sub local.get $1 i32.load offset=4 + local.get $0 + i32.load offset=4 i32.sub call $std/operator-overloading/Tester#constructor global.set $std/operator-overloading/s @@ -2231,23 +2225,23 @@ call $std/operator-overloading/Tester#constructor global.set $std/operator-overloading/m2 global.get $~lib/memory/__stack_pointer - local.tee $1 - global.get $std/operator-overloading/m1 local.tee $0 + global.get $std/operator-overloading/m1 + local.tee $1 i32.store - local.get $1 + local.get $0 global.get $std/operator-overloading/m2 - local.tee $1 + local.tee $0 i32.store offset=4 - local.get $0 - i32.load local.get $1 i32.load - i32.mul local.get $0 - i32.load offset=4 + i32.load + i32.mul local.get $1 i32.load offset=4 + local.get $0 + i32.load offset=4 i32.mul call $std/operator-overloading/Tester#constructor global.set $std/operator-overloading/m @@ -2281,23 +2275,23 @@ call $std/operator-overloading/Tester#constructor global.set $std/operator-overloading/d2 global.get $~lib/memory/__stack_pointer - local.tee $1 - global.get $std/operator-overloading/d1 local.tee $0 + global.get $std/operator-overloading/d1 + local.tee $1 i32.store - local.get $1 + local.get $0 global.get $std/operator-overloading/d2 - local.tee $1 + local.tee $0 i32.store offset=4 - local.get $0 - i32.load local.get $1 i32.load - i32.div_s local.get $0 - i32.load offset=4 + i32.load + i32.div_s local.get $1 i32.load offset=4 + local.get $0 + i32.load offset=4 i32.div_s call $std/operator-overloading/Tester#constructor global.set $std/operator-overloading/d @@ -2331,23 +2325,23 @@ call $std/operator-overloading/Tester#constructor global.set $std/operator-overloading/f2 global.get $~lib/memory/__stack_pointer - local.tee $1 - global.get $std/operator-overloading/f1 local.tee $0 + global.get $std/operator-overloading/f1 + local.tee $1 i32.store - local.get $1 + local.get $0 global.get $std/operator-overloading/f2 - local.tee $1 + local.tee $0 i32.store offset=4 - local.get $0 - i32.load local.get $1 i32.load - i32.rem_s local.get $0 - i32.load offset=4 + i32.load + i32.rem_s local.get $1 i32.load offset=4 + local.get $0 + i32.load offset=4 i32.rem_s call $std/operator-overloading/Tester#constructor global.set $std/operator-overloading/f @@ -2378,23 +2372,23 @@ call $std/operator-overloading/Tester#constructor global.set $std/operator-overloading/p2 global.get $~lib/memory/__stack_pointer - local.tee $1 - global.get $std/operator-overloading/p1 local.tee $0 + global.get $std/operator-overloading/p1 + local.tee $1 i32.store - local.get $1 + local.get $0 global.get $std/operator-overloading/p2 - local.tee $1 + local.tee $0 i32.store offset=4 - local.get $0 - i32.load local.get $1 i32.load - call $~lib/math/ipow32 local.get $0 - i32.load offset=4 + i32.load + call $~lib/math/ipow32 local.get $1 i32.load offset=4 + local.get $0 + i32.load offset=4 call $~lib/math/ipow32 call $std/operator-overloading/Tester#constructor global.set $std/operator-overloading/p @@ -2428,23 +2422,23 @@ call $std/operator-overloading/Tester#constructor global.set $std/operator-overloading/n2 global.get $~lib/memory/__stack_pointer - local.tee $1 - global.get $std/operator-overloading/n1 local.tee $0 + global.get $std/operator-overloading/n1 + local.tee $1 i32.store - local.get $1 + local.get $0 global.get $std/operator-overloading/n2 - local.tee $1 + local.tee $0 i32.store offset=4 - local.get $0 - i32.load local.get $1 i32.load - i32.and local.get $0 - i32.load offset=4 + i32.load + i32.and local.get $1 i32.load offset=4 + local.get $0 + i32.load offset=4 i32.and call $std/operator-overloading/Tester#constructor global.set $std/operator-overloading/n @@ -2478,23 +2472,23 @@ call $std/operator-overloading/Tester#constructor global.set $std/operator-overloading/o2 global.get $~lib/memory/__stack_pointer - local.tee $1 - global.get $std/operator-overloading/o1 local.tee $0 + global.get $std/operator-overloading/o1 + local.tee $1 i32.store - local.get $1 + local.get $0 global.get $std/operator-overloading/o2 - local.tee $1 + local.tee $0 i32.store offset=4 - local.get $0 - i32.load local.get $1 i32.load - i32.or local.get $0 - i32.load offset=4 + i32.load + i32.or local.get $1 i32.load offset=4 + local.get $0 + i32.load offset=4 i32.or call $std/operator-overloading/Tester#constructor global.set $std/operator-overloading/o @@ -2528,23 +2522,23 @@ call $std/operator-overloading/Tester#constructor global.set $std/operator-overloading/x2 global.get $~lib/memory/__stack_pointer - local.tee $1 - global.get $std/operator-overloading/x1 local.tee $0 + global.get $std/operator-overloading/x1 + local.tee $1 i32.store - local.get $1 + local.get $0 global.get $std/operator-overloading/x2 - local.tee $1 + local.tee $0 i32.store offset=4 - local.get $0 - i32.load local.get $1 i32.load - i32.xor local.get $0 - i32.load offset=4 + i32.load + i32.xor local.get $1 i32.load offset=4 + local.get $0 + i32.load offset=4 i32.xor call $std/operator-overloading/Tester#constructor global.set $std/operator-overloading/x @@ -2578,24 +2572,24 @@ call $std/operator-overloading/Tester#constructor global.set $std/operator-overloading/eq2 global.get $~lib/memory/__stack_pointer - local.tee $1 - global.get $std/operator-overloading/eq1 local.tee $0 + global.get $std/operator-overloading/eq1 + local.tee $1 i32.store - local.get $1 + local.get $0 global.get $std/operator-overloading/eq2 - local.tee $1 + local.tee $0 i32.store offset=4 - local.get $0 - i32.load local.get $1 i32.load + local.get $0 + i32.load i32.eq if (result i32) - local.get $0 - i32.load offset=4 local.get $1 i32.load offset=4 + local.get $0 + i32.load offset=4 i32.eq else i32.const 0 @@ -2621,24 +2615,24 @@ call $std/operator-overloading/Tester#constructor global.set $std/operator-overloading/eq4 global.get $~lib/memory/__stack_pointer - local.tee $1 - global.get $std/operator-overloading/eq3 local.tee $0 + global.get $std/operator-overloading/eq3 + local.tee $1 i32.store - local.get $1 + local.get $0 global.get $std/operator-overloading/eq4 - local.tee $1 + local.tee $0 i32.store offset=4 - local.get $0 - i32.load local.get $1 i32.load + local.get $0 + i32.load i32.eq if (result i32) - local.get $0 - i32.load offset=4 local.get $1 i32.load offset=4 + local.get $0 + i32.load offset=4 i32.eq else i32.const 0 @@ -2654,24 +2648,24 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $1 - global.get $std/operator-overloading/eq1 local.tee $0 + global.get $std/operator-overloading/eq1 + local.tee $1 i32.store - local.get $1 + local.get $0 global.get $std/operator-overloading/eq2 - local.tee $1 + local.tee $0 i32.store offset=4 - local.get $0 - i32.load local.get $1 i32.load + local.get $0 + i32.load i32.ne if (result i32) - local.get $0 - i32.load offset=4 local.get $1 i32.load offset=4 + local.get $0 + i32.load offset=4 i32.ne else i32.const 0 @@ -2687,24 +2681,24 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $1 - global.get $std/operator-overloading/eq3 local.tee $0 + global.get $std/operator-overloading/eq3 + local.tee $1 i32.store - local.get $1 + local.get $0 global.get $std/operator-overloading/eq4 - local.tee $1 + local.tee $0 i32.store offset=4 - local.get $0 - i32.load local.get $1 i32.load + local.get $0 + i32.load i32.ne if (result i32) - local.get $0 - i32.load offset=4 local.get $1 i32.load offset=4 + local.get $0 + i32.load offset=4 i32.ne else i32.const 0 @@ -2730,24 +2724,24 @@ call $std/operator-overloading/Tester#constructor global.set $std/operator-overloading/gt2 global.get $~lib/memory/__stack_pointer - local.tee $1 - global.get $std/operator-overloading/gt1 local.tee $0 + global.get $std/operator-overloading/gt1 + local.tee $1 i32.store - local.get $1 + local.get $0 global.get $std/operator-overloading/gt2 - local.tee $1 + local.tee $0 i32.store offset=4 - local.get $0 - i32.load local.get $1 i32.load + local.get $0 + i32.load i32.gt_s if (result i32) - local.get $0 - i32.load offset=4 local.get $1 i32.load offset=4 + local.get $0 + i32.load offset=4 i32.gt_s else i32.const 0 @@ -2773,24 +2767,24 @@ call $std/operator-overloading/Tester#constructor global.set $std/operator-overloading/gte2 global.get $~lib/memory/__stack_pointer - local.tee $1 - global.get $std/operator-overloading/gte1 local.tee $0 + global.get $std/operator-overloading/gte1 + local.tee $1 i32.store - local.get $1 + local.get $0 global.get $std/operator-overloading/gte2 - local.tee $1 + local.tee $0 i32.store offset=4 - local.get $0 - i32.load local.get $1 i32.load + local.get $0 + i32.load i32.ge_s if (result i32) - local.get $0 - i32.load offset=4 local.get $1 i32.load offset=4 + local.get $0 + i32.load offset=4 i32.ge_s else i32.const 0 @@ -2816,24 +2810,24 @@ call $std/operator-overloading/Tester#constructor global.set $std/operator-overloading/le2 global.get $~lib/memory/__stack_pointer - local.tee $1 - global.get $std/operator-overloading/le1 local.tee $0 + global.get $std/operator-overloading/le1 + local.tee $1 i32.store - local.get $1 + local.get $0 global.get $std/operator-overloading/le2 - local.tee $1 + local.tee $0 i32.store offset=4 - local.get $0 - i32.load local.get $1 i32.load + local.get $0 + i32.load i32.lt_s if (result i32) - local.get $0 - i32.load offset=4 local.get $1 i32.load offset=4 + local.get $0 + i32.load offset=4 i32.lt_s else i32.const 0 @@ -2859,24 +2853,24 @@ call $std/operator-overloading/Tester#constructor global.set $std/operator-overloading/leq2 global.get $~lib/memory/__stack_pointer - local.tee $1 - global.get $std/operator-overloading/leq1 local.tee $0 + global.get $std/operator-overloading/leq1 + local.tee $1 i32.store - local.get $1 + local.get $0 global.get $std/operator-overloading/leq2 - local.tee $1 + local.tee $0 i32.store offset=4 - local.get $0 - i32.load local.get $1 i32.load + local.get $0 + i32.load i32.le_s if (result i32) - local.get $0 - i32.load offset=4 local.get $1 i32.load offset=4 + local.get $0 + i32.load offset=4 i32.le_s else i32.const 0 @@ -3386,18 +3380,18 @@ call $std/operator-overloading/TesterInlineStatic#constructor global.set $std/operator-overloading/ais1 global.get $~lib/memory/__stack_pointer - local.tee $1 - global.get $std/operator-overloading/ais1 local.tee $0 + global.get $std/operator-overloading/ais1 + local.tee $1 i32.store - local.get $1 local.get $0 + local.get $1 i32.store offset=8 - local.get $0 + local.get $1 i32.load i32.const 1 i32.add - local.get $0 + local.get $1 i32.load offset=4 i32.const 1 i32.add @@ -3408,23 +3402,22 @@ call $std/operator-overloading/TesterInlineStatic#constructor global.set $std/operator-overloading/ais2 global.get $~lib/memory/__stack_pointer - local.tee $1 global.get $std/operator-overloading/ais1 - local.tee $0 + local.tee $1 i32.store offset=12 - local.get $1 + global.get $~lib/memory/__stack_pointer global.get $std/operator-overloading/ais2 - local.tee $1 + local.tee $0 i32.store offset=8 - local.get $0 - i32.load local.get $1 i32.load - i32.add local.get $0 - i32.load offset=4 + i32.load + i32.add local.get $1 i32.load offset=4 + local.get $0 + i32.load offset=4 i32.add call $std/operator-overloading/TesterInlineStatic#constructor global.set $std/operator-overloading/ais @@ -3472,23 +3465,22 @@ call $std/operator-overloading/TesterInlineInstance#constructor global.set $std/operator-overloading/aii2 global.get $~lib/memory/__stack_pointer - local.tee $1 global.get $std/operator-overloading/aii1 - local.tee $0 + local.tee $1 i32.store offset=8 - local.get $1 + global.get $~lib/memory/__stack_pointer global.get $std/operator-overloading/aii2 - local.tee $1 + local.tee $0 i32.store offset=12 - local.get $0 - i32.load local.get $1 i32.load - i32.add local.get $0 - i32.load offset=4 + i32.load + i32.add local.get $1 i32.load offset=4 + local.get $0 + i32.load offset=4 i32.add call $std/operator-overloading/TesterInlineInstance#constructor global.set $std/operator-overloading/aii diff --git a/tests/compiler/std/pointer.optimized.wat b/tests/compiler/std/pointer.optimized.wat index e440a71518..7be887b047 100644 --- a/tests/compiler/std/pointer.optimized.wat +++ b/tests/compiler/std/pointer.optimized.wat @@ -222,25 +222,25 @@ i32.or i32.store local.get $0 - local.get $2 - i32.const 24 - i32.shr_u local.get $1 i32.load offset=5 - local.tee $2 + local.tee $3 i32.const 8 i32.shl - i32.or - i32.store offset=4 - local.get $0 local.get $2 i32.const 24 i32.shr_u + i32.or + i32.store offset=4 + local.get $0 local.get $1 i32.load offset=9 local.tee $2 i32.const 8 i32.shl + local.get $3 + i32.const 24 + i32.shr_u i32.or i32.store offset=8 local.get $0 @@ -313,25 +313,25 @@ i32.or i32.store local.get $0 - local.get $2 - i32.const 16 - i32.shr_u local.get $1 i32.load offset=6 - local.tee $2 + local.tee $3 i32.const 16 i32.shl - i32.or - i32.store offset=4 - local.get $0 local.get $2 i32.const 16 i32.shr_u + i32.or + i32.store offset=4 + local.get $0 local.get $1 i32.load offset=10 local.tee $2 i32.const 16 i32.shl + local.get $3 + i32.const 16 + i32.shr_u i32.or i32.store offset=8 local.get $0 @@ -400,25 +400,25 @@ i32.or i32.store local.get $0 - local.get $2 - i32.const 8 - i32.shr_u local.get $1 i32.load offset=7 - local.tee $2 + local.tee $3 i32.const 24 i32.shl - i32.or - i32.store offset=4 - local.get $0 local.get $2 i32.const 8 i32.shr_u + i32.or + i32.store offset=4 + local.get $0 local.get $1 i32.load offset=11 local.tee $2 i32.const 24 i32.shl + local.get $3 + i32.const 8 + i32.shr_u i32.or i32.store offset=8 local.get $0 @@ -835,10 +835,10 @@ i32.add global.set $std/pointer/one global.get $std/pointer/one - local.tee $0 + local.tee $1 global.set $std/pointer/nextOne global.get $std/pointer/nextOne - local.get $0 + local.get $1 i32.ne if i32.const 0 @@ -914,9 +914,9 @@ unreachable end global.get $std/pointer/one - local.set $1 + local.set $0 global.get $std/pointer/two - local.tee $0 + local.tee $1 if block $~lib/util/memory/memmove|inlined.0 i32.const 8 @@ -925,33 +925,33 @@ local.get $1 i32.eq br_if $~lib/util/memory/memmove|inlined.0 - local.get $0 local.get $1 + local.get $0 i32.sub i32.const 8 i32.sub i32.const -16 i32.le_u if - local.get $1 local.get $0 + local.get $1 call $~lib/util/memory/memcpy br $~lib/util/memory/memmove|inlined.0 end local.get $0 local.get $1 - i32.gt_u + i32.lt_u if - local.get $0 + local.get $1 i32.const 7 i32.and - local.get $1 + local.get $0 i32.const 7 i32.and i32.eq if loop $while-continue|0 - local.get $1 + local.get $0 i32.const 7 i32.and if @@ -962,18 +962,18 @@ i32.const 1 i32.sub local.set $4 - local.get $1 - local.tee $2 - i32.const 1 - i32.add - local.set $1 local.get $0 local.tee $3 i32.const 1 i32.add local.set $0 - local.get $2 + local.get $1 + local.tee $2 + i32.const 1 + i32.add + local.set $1 local.get $3 + local.get $2 i32.load8_u i32.store8 br $while-continue|0 @@ -984,22 +984,22 @@ i32.const 8 i32.ge_u if - local.get $1 local.get $0 + local.get $1 i64.load i64.store local.get $4 i32.const 8 i32.sub local.set $4 - local.get $1 - i32.const 8 - i32.add - local.set $1 local.get $0 i32.const 8 i32.add local.set $0 + local.get $1 + i32.const 8 + i32.add + local.set $1 br $while-continue|1 end end @@ -1007,18 +1007,18 @@ loop $while-continue|2 local.get $4 if - local.get $1 - local.tee $2 - i32.const 1 - i32.add - local.set $1 local.get $0 local.tee $3 i32.const 1 i32.add local.set $0 - local.get $2 + local.get $1 + local.tee $2 + i32.const 1 + i32.add + local.set $1 local.get $3 + local.get $2 i32.load8_u i32.store8 local.get $4 @@ -1029,16 +1029,16 @@ end end else - local.get $0 + local.get $1 i32.const 7 i32.and - local.get $1 + local.get $0 i32.const 7 i32.and i32.eq if loop $while-continue|3 - local.get $1 + local.get $0 local.get $4 i32.add i32.const 7 @@ -1051,9 +1051,9 @@ i32.const 1 i32.sub local.tee $4 - local.get $1 - i32.add local.get $0 + i32.add + local.get $1 local.get $4 i32.add i32.load8_u @@ -1070,9 +1070,9 @@ i32.const 8 i32.sub local.tee $4 - local.get $1 - i32.add local.get $0 + i32.add + local.get $1 local.get $4 i32.add i64.load @@ -1088,9 +1088,9 @@ i32.const 1 i32.sub local.tee $4 - local.get $1 - i32.add local.get $0 + i32.add + local.get $1 local.get $4 i32.add i32.load8_u @@ -1101,37 +1101,37 @@ end end else - local.get $1 + local.get $0 i32.const 0 i32.store8 - local.get $1 + local.get $0 i32.const 8 i32.add - local.tee $0 + local.tee $1 i32.const 1 i32.sub i32.const 0 i32.store8 - local.get $1 + local.get $0 i32.const 0 i32.store8 offset=1 - local.get $1 + local.get $0 i32.const 0 i32.store8 offset=2 - local.get $0 + local.get $1 i32.const 2 i32.sub i32.const 0 i32.store8 - local.get $0 + local.get $1 i32.const 3 i32.sub i32.const 0 i32.store8 - local.get $1 + local.get $0 i32.const 0 i32.store8 offset=3 - local.get $0 + local.get $1 i32.const 4 i32.sub i32.const 0 @@ -1295,10 +1295,10 @@ unreachable end global.get $std/pointer/buf - local.tee $0 + local.tee $2 f32.const 1.399999976158142 f32.store - local.get $0 + local.get $2 f32.load f32.const 1.399999976158142 f32.ne diff --git a/tests/compiler/std/set.optimized.wat b/tests/compiler/std/set.optimized.wat index c68b7242fe..ffd55b7272 100644 --- a/tests/compiler/std/set.optimized.wat +++ b/tests/compiler/std/set.optimized.wat @@ -102,8 +102,8 @@ (local $1 i32) (local $2 i32) (local $3 i32) - local.get $0 global.get $~lib/rt/itcms/iter + local.get $0 i32.eq if local.get $0 @@ -163,11 +163,11 @@ local.get $1 i32.store offset=8 local.get $1 - local.get $2 local.get $1 i32.load offset=4 i32.const 3 i32.and + local.get $2 i32.or i32.store offset=4 end @@ -181,10 +181,10 @@ if (result i32) i32.const 1 else - local.get $1 i32.const 1648 i32.load - i32.gt_u + local.get $1 + i32.lt_u if i32.const 1248 i32.const 1312 @@ -221,11 +221,11 @@ local.get $1 i32.store offset=8 local.get $1 - local.get $0 local.get $1 i32.load offset=4 i32.const 3 i32.and + local.get $0 i32.or i32.store offset=4 local.get $2 @@ -383,22 +383,22 @@ local.get $4 i32.eqz if - local.get $0 local.get $3 i32.const 2 i32.shl + local.get $0 i32.add - local.tee $1 + local.tee $4 i32.load offset=4 i32.const -2 local.get $2 i32.rotl i32.and - local.set $2 + local.set $1 + local.get $4 local.get $1 - local.get $2 i32.store offset=4 - local.get $2 + local.get $1 i32.eqz if local.get $0 @@ -646,10 +646,10 @@ i32.shl i32.or i32.store - local.get $0 local.get $5 i32.const 2 i32.shl + local.get $0 i32.add local.tee $0 local.get $0 @@ -689,11 +689,11 @@ i32.load offset=1568 local.tee $2 if + local.get $1 local.get $2 i32.const 4 i32.add - local.get $1 - i32.gt_u + i32.lt_u if i32.const 0 i32.const 1392 @@ -717,11 +717,11 @@ local.set $1 end else + local.get $1 local.get $0 i32.const 1572 i32.add - local.get $1 - i32.gt_u + i32.lt_u if i32.const 0 i32.const 1392 @@ -1008,13 +1008,13 @@ if local.get $0 i32.load offset=4 + local.tee $1 i32.const -4 i32.and global.set $~lib/rt/itcms/iter global.get $~lib/rt/itcms/white i32.eqz - local.get $0 - i32.load offset=4 + local.get $1 i32.const 3 i32.and i32.ne @@ -1101,10 +1101,10 @@ end global.get $~lib/rt/itcms/toSpace local.tee $0 - local.get $0 + local.tee $1 + local.get $1 i32.store offset=4 - global.get $~lib/rt/itcms/toSpace - local.tee $0 + local.get $0 local.get $0 i32.store offset=8 i32.const 0 @@ -1529,7 +1529,6 @@ i32.const 536870910 i32.lt_u if (result i32) - local.get $2 i32.const 1 i32.const 27 local.get $2 @@ -1538,6 +1537,7 @@ i32.shl i32.const 1 i32.sub + local.get $2 i32.add else local.get $2 @@ -1598,12 +1598,12 @@ unreachable end end - local.get $2 local.get $3 i32.load i32.const -4 i32.and - i32.gt_u + local.get $2 + i32.lt_u if i32.const 0 i32.const 1392 @@ -1641,10 +1641,10 @@ i32.ge_u if local.get $3 - local.get $2 local.get $4 i32.const 2 i32.and + local.get $2 i32.or i32.store local.get $2 @@ -1671,18 +1671,13 @@ local.get $3 i32.const 4 i32.add - local.tee $2 local.get $3 i32.load i32.const -4 i32.and i32.add + local.tee $2 local.get $2 - local.get $3 - i32.load - i32.const -4 - i32.and - i32.add i32.load i32.const -3 i32.and @@ -1699,19 +1694,19 @@ i32.load offset=8 local.set $2 local.get $3 - local.get $1 global.get $~lib/rt/itcms/white + local.get $1 i32.or i32.store offset=4 local.get $3 local.get $2 i32.store offset=8 local.get $2 - local.get $3 local.get $2 i32.load offset=4 i32.const 3 i32.and + local.get $3 i32.or i32.store offset=4 local.get $1 @@ -1866,8 +1861,6 @@ local.tee $8 i32.store8 local.get $2 - local.get $6 - local.get $1 local.get $8 i32.extend8_s i32.const -1028477379 @@ -1897,9 +1890,11 @@ i32.const 16 i32.shr_u i32.xor + local.get $1 i32.and i32.const 2 i32.shl + local.get $6 i32.add local.tee $8 i32.load @@ -2054,6 +2049,7 @@ end local.get $0 i32.load offset=8 + local.set $3 local.get $0 local.get $0 i32.load offset=16 @@ -2064,6 +2060,7 @@ local.get $2 i32.const 3 i32.shl + local.get $3 i32.add local.tee $2 local.get $1 @@ -2077,9 +2074,9 @@ local.get $2 local.get $0 i32.load - local.get $4 local.get $0 i32.load offset=4 + local.get $4 i32.and i32.const 2 i32.shl @@ -2105,17 +2102,17 @@ select if local.get $0 - local.tee $3 + local.tee $4 i32.const 1 i32.add local.set $0 local.get $1 - local.tee $4 + local.tee $3 i32.const 1 i32.add local.set $1 - local.get $3 local.get $4 + local.get $3 i32.load8_u i32.store8 local.get $2 @@ -2261,19 +2258,19 @@ local.get $0 i32.const 2 i32.add - local.tee $3 + local.tee $4 i32.const 1 i32.add local.set $0 local.get $1 i32.const 2 i32.add - local.tee $4 + local.tee $3 i32.const 1 i32.add local.set $1 - local.get $3 local.get $4 + local.get $3 i32.load8_u i32.store8 local.get $2 @@ -2288,7 +2285,7 @@ local.get $0 local.get $1 i32.load offset=1 - local.tee $3 + local.tee $4 i32.const 8 i32.shl local.get $5 @@ -2299,10 +2296,10 @@ local.get $0 local.get $1 i32.load offset=5 - local.tee $4 + local.tee $3 i32.const 8 i32.shl - local.get $3 + local.get $4 i32.const 24 i32.shr_u i32.or @@ -2310,10 +2307,10 @@ local.get $0 local.get $1 i32.load offset=9 - local.tee $3 + local.tee $4 i32.const 8 i32.shl - local.get $4 + local.get $3 i32.const 24 i32.shr_u i32.or @@ -2324,7 +2321,7 @@ local.tee $5 i32.const 8 i32.shl - local.get $3 + local.get $4 i32.const 24 i32.shr_u i32.or @@ -2379,7 +2376,7 @@ local.get $0 local.get $1 i32.load offset=2 - local.tee $3 + local.tee $4 i32.const 16 i32.shl local.get $5 @@ -2390,10 +2387,10 @@ local.get $0 local.get $1 i32.load offset=6 - local.tee $4 + local.tee $3 i32.const 16 i32.shl - local.get $3 + local.get $4 i32.const 16 i32.shr_u i32.or @@ -2401,10 +2398,10 @@ local.get $0 local.get $1 i32.load offset=10 - local.tee $3 + local.tee $4 i32.const 16 i32.shl - local.get $4 + local.get $3 i32.const 16 i32.shr_u i32.or @@ -2415,7 +2412,7 @@ local.tee $5 i32.const 16 i32.shl - local.get $3 + local.get $4 i32.const 16 i32.shr_u i32.or @@ -2441,17 +2438,17 @@ i32.load local.set $5 local.get $0 - local.tee $3 + local.tee $4 i32.const 1 i32.add local.set $0 local.get $1 - local.tee $4 + local.tee $3 i32.const 1 i32.add local.set $1 - local.get $3 local.get $4 + local.get $3 i32.load8_u i32.store8 local.get $2 @@ -2466,7 +2463,7 @@ local.get $0 local.get $1 i32.load offset=3 - local.tee $3 + local.tee $4 i32.const 24 i32.shl local.get $5 @@ -2477,10 +2474,10 @@ local.get $0 local.get $1 i32.load offset=7 - local.tee $4 + local.tee $3 i32.const 24 i32.shl - local.get $3 + local.get $4 i32.const 8 i32.shr_u i32.or @@ -2488,10 +2485,10 @@ local.get $0 local.get $1 i32.load offset=11 - local.tee $3 + local.tee $4 i32.const 24 i32.shl - local.get $4 + local.get $3 i32.const 8 i32.shr_u i32.or @@ -2502,7 +2499,7 @@ local.tee $5 i32.const 24 i32.shl - local.get $3 + local.get $4 i32.const 8 i32.shr_u i32.or @@ -2533,145 +2530,137 @@ i32.load8_u i32.store8 local.get $0 - local.tee $4 - i32.const 2 - i32.add - local.set $0 local.get $1 - local.tee $3 - i32.const 2 - i32.add - local.set $1 - local.get $4 - local.get $3 i32.load8_u offset=1 i32.store8 offset=1 local.get $0 - local.get $1 - i32.load8_u - i32.store8 - local.get $0 - local.tee $4 i32.const 2 i32.add - local.set $0 + local.tee $4 local.get $1 + i32.const 2 + i32.add local.tee $3 + i32.load8_u + i32.store8 + local.get $3 + local.tee $0 i32.const 2 i32.add - local.set $1 + local.set $3 local.get $4 - local.get $3 + local.get $0 i32.load8_u offset=1 i32.store8 offset=1 - local.get $0 - local.get $1 + local.get $4 + i32.const 2 + i32.add + local.tee $1 + local.get $3 i32.load8_u i32.store8 - local.get $0 + local.get $1 local.tee $4 i32.const 2 i32.add - local.set $0 - local.get $1 - local.tee $3 + local.set $1 + local.get $3 + local.tee $0 i32.const 2 i32.add - local.set $1 + local.set $3 local.get $4 - local.get $3 + local.get $0 i32.load8_u offset=1 i32.store8 offset=1 - local.get $0 local.get $1 + local.get $3 i32.load8_u i32.store8 - local.get $0 + local.get $1 local.tee $4 i32.const 2 i32.add - local.set $0 - local.get $1 - local.tee $3 + local.set $1 + local.get $3 + local.tee $0 i32.const 2 i32.add - local.set $1 + local.set $3 local.get $4 - local.get $3 + local.get $0 i32.load8_u offset=1 i32.store8 offset=1 - local.get $0 local.get $1 + local.get $3 i32.load8_u i32.store8 - local.get $0 + local.get $1 local.tee $4 i32.const 2 i32.add - local.set $0 - local.get $1 - local.tee $3 + local.set $1 + local.get $3 + local.tee $0 i32.const 2 i32.add - local.set $1 + local.set $3 local.get $4 - local.get $3 + local.get $0 i32.load8_u offset=1 i32.store8 offset=1 - local.get $0 local.get $1 + local.get $3 i32.load8_u i32.store8 - local.get $0 + local.get $1 local.tee $4 i32.const 2 i32.add - local.set $0 - local.get $1 - local.tee $3 + local.set $1 + local.get $3 + local.tee $0 i32.const 2 i32.add - local.set $1 + local.set $3 local.get $4 - local.get $3 + local.get $0 i32.load8_u offset=1 i32.store8 offset=1 - local.get $0 local.get $1 + local.get $3 i32.load8_u i32.store8 - local.get $0 + local.get $1 local.tee $4 i32.const 2 i32.add - local.set $0 - local.get $1 - local.tee $3 + local.set $1 + local.get $3 + local.tee $0 i32.const 2 i32.add - local.set $1 + local.set $3 local.get $4 - local.get $3 + local.get $0 i32.load8_u offset=1 i32.store8 offset=1 - local.get $0 local.get $1 + local.get $3 i32.load8_u i32.store8 - local.get $0 - local.tee $4 + local.get $1 i32.const 2 i32.add local.set $0 local.get $1 - local.tee $3 - i32.const 2 - i32.add - local.set $1 - local.get $4 local.get $3 i32.load8_u offset=1 i32.store8 offset=1 + local.get $3 + i32.const 2 + i32.add + local.set $1 end local.get $2 i32.const 8 @@ -2682,73 +2671,65 @@ i32.load8_u i32.store8 local.get $0 - local.tee $4 - i32.const 2 - i32.add - local.set $0 local.get $1 - local.tee $3 - i32.const 2 - i32.add - local.set $1 - local.get $4 - local.get $3 i32.load8_u offset=1 i32.store8 offset=1 local.get $0 - local.get $1 - i32.load8_u - i32.store8 - local.get $0 - local.tee $4 i32.const 2 i32.add - local.set $0 + local.tee $4 local.get $1 + i32.const 2 + i32.add local.tee $3 + i32.load8_u + i32.store8 + local.get $3 + local.tee $0 i32.const 2 i32.add - local.set $1 + local.set $3 local.get $4 - local.get $3 + local.get $0 i32.load8_u offset=1 i32.store8 offset=1 - local.get $0 - local.get $1 + local.get $4 + i32.const 2 + i32.add + local.tee $1 + local.get $3 i32.load8_u i32.store8 - local.get $0 + local.get $1 local.tee $4 i32.const 2 i32.add - local.set $0 - local.get $1 - local.tee $3 + local.set $1 + local.get $3 + local.tee $0 i32.const 2 i32.add - local.set $1 + local.set $3 local.get $4 - local.get $3 + local.get $0 i32.load8_u offset=1 i32.store8 offset=1 - local.get $0 local.get $1 + local.get $3 i32.load8_u i32.store8 - local.get $0 - local.tee $4 + local.get $1 i32.const 2 i32.add local.set $0 local.get $1 - local.tee $3 - i32.const 2 - i32.add - local.set $1 - local.get $4 local.get $3 i32.load8_u offset=1 i32.store8 offset=1 + local.get $3 + i32.const 2 + i32.add + local.set $1 end local.get $2 i32.const 4 @@ -2759,30 +2740,20 @@ i32.load8_u i32.store8 local.get $0 - local.tee $4 - i32.const 2 - i32.add - local.set $0 local.get $1 - local.tee $3 - i32.const 2 - i32.add - local.set $1 - local.get $4 - local.get $3 i32.load8_u offset=1 i32.store8 offset=1 local.get $0 - local.get $1 - i32.load8_u - i32.store8 - local.get $0 - local.tee $4 i32.const 2 i32.add - local.set $0 + local.tee $4 local.get $1 + i32.const 2 + i32.add local.tee $3 + i32.load8_u + i32.store8 + local.get $3 i32.const 2 i32.add local.set $1 @@ -2790,6 +2761,10 @@ local.get $3 i32.load8_u offset=1 i32.store8 offset=1 + local.get $4 + i32.const 2 + i32.add + local.set $0 end local.get $2 i32.const 2 @@ -2831,19 +2806,19 @@ (local $7 i32) (local $8 i32) (local $9 i32) - local.get $1 local.get $0 i32.load offset=8 local.tee $8 local.get $2 i32.shr_u - i32.gt_u + local.get $1 + i32.lt_u if - local.get $1 i32.const 1073741820 local.get $2 i32.shr_u - i32.gt_u + local.get $1 + i32.lt_u if i32.const 1456 i32.const 1616 @@ -3399,23 +3374,23 @@ i32.const 668265263 i32.mul local.tee $1 - local.get $1 i32.const 15 i32.shr_u + local.get $1 i32.xor i32.const -2048144777 i32.mul local.tee $1 - local.get $1 i32.const 13 i32.shr_u + local.get $1 i32.xor i32.const -1028477379 i32.mul local.tee $1 - local.get $1 i32.const 16 i32.shr_u + local.get $1 i32.xor i32.and i32.const 2 @@ -3480,23 +3455,23 @@ i32.const 668265263 i32.mul local.tee $1 - local.get $1 i32.const 15 i32.shr_u + local.get $1 i32.xor i32.const -2048144777 i32.mul local.tee $1 - local.get $1 i32.const 13 i32.shr_u + local.get $1 i32.xor i32.const -1028477379 i32.mul local.tee $1 - local.get $1 i32.const 16 i32.shr_u + local.get $1 i32.xor i32.and i32.const 2 @@ -3586,23 +3561,23 @@ i32.const 668265263 i32.mul local.tee $1 - local.get $1 i32.const 15 i32.shr_u + local.get $1 i32.xor i32.const -2048144777 i32.mul local.tee $1 - local.get $1 i32.const 13 i32.shr_u + local.get $1 i32.xor i32.const -1028477379 i32.mul local.tee $1 - local.get $1 i32.const 16 i32.shr_u + local.get $1 i32.xor i32.and i32.const 2 @@ -3668,23 +3643,23 @@ i32.const 668265263 i32.mul local.tee $1 - local.get $1 i32.const 15 i32.shr_u + local.get $1 i32.xor i32.const -2048144777 i32.mul local.tee $1 - local.get $1 i32.const 13 i32.shr_u + local.get $1 i32.xor i32.const -1028477379 i32.mul local.tee $1 - local.get $1 i32.const 16 i32.shr_u + local.get $1 i32.xor i32.and i32.const 2 @@ -3751,10 +3726,11 @@ call $~lib/builtins/abort unreachable end + global.get $~lib/memory/__stack_pointer + local.tee $1 i32.const 0 local.set $0 - global.get $~lib/memory/__stack_pointer - local.tee $9 + local.get $1 i32.const 4 i32.sub global.set $~lib/memory/__stack_pointer @@ -3859,10 +3835,10 @@ local.get $11 i32.lt_s if - local.get $10 local.get $7 i32.const 3 i32.shl + local.get $10 i32.add local.tee $1 i32.load offset=4 @@ -3899,7 +3875,6 @@ i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $9 local.get $3 i32.store offset=4 global.get $~lib/memory/__stack_pointer @@ -3907,10 +3882,10 @@ local.tee $1 i32.store offset=8 loop $for-loop|4 - local.get $4 local.get $3 i32.load offset=12 - i32.lt_s + local.get $4 + i32.gt_s if local.get $3 local.get $4 @@ -3926,16 +3901,16 @@ i32.const 668265263 i32.mul local.tee $0 - local.get $0 i32.const 15 i32.shr_u + local.get $0 i32.xor i32.const -2048144777 i32.mul local.tee $0 - local.get $0 i32.const 13 i32.shr_u + local.get $0 i32.xor i32.const -1028477379 i32.mul @@ -3945,9 +3920,9 @@ local.get $2 i32.load offset=4 local.get $0 - local.get $0 i32.const 16 i32.shr_u + local.get $0 i32.xor i32.and i32.const 2 @@ -4043,23 +4018,23 @@ i32.const 668265263 i32.mul local.tee $0 - local.get $0 i32.const 15 i32.shr_u + local.get $0 i32.xor i32.const -2048144777 i32.mul local.tee $0 - local.get $0 i32.const 13 i32.shr_u + local.get $0 i32.xor i32.const -1028477379 i32.mul local.tee $0 - local.get $0 i32.const 16 i32.shr_u + local.get $0 i32.xor i32.and i32.const 2 @@ -4125,23 +4100,23 @@ i32.const 668265263 i32.mul local.tee $0 - local.get $0 i32.const 15 i32.shr_u + local.get $0 i32.xor i32.const -2048144777 i32.mul local.tee $0 - local.get $0 i32.const 13 i32.shr_u + local.get $0 i32.xor i32.const -1028477379 i32.mul local.tee $0 - local.get $0 i32.const 16 i32.shr_u + local.get $0 i32.xor i32.and i32.const 2 @@ -4230,23 +4205,23 @@ i32.const 668265263 i32.mul local.tee $0 - local.get $0 i32.const 15 i32.shr_u + local.get $0 i32.xor i32.const -2048144777 i32.mul local.tee $0 - local.get $0 i32.const 13 i32.shr_u + local.get $0 i32.xor i32.const -1028477379 i32.mul local.tee $0 - local.get $0 i32.const 16 i32.shr_u + local.get $0 i32.xor i32.and i32.const 2 @@ -4311,23 +4286,23 @@ i32.const 668265263 i32.mul local.tee $0 - local.get $0 i32.const 15 i32.shr_u + local.get $0 i32.xor i32.const -2048144777 i32.mul local.tee $0 - local.get $0 i32.const 13 i32.shr_u + local.get $0 i32.xor i32.const -1028477379 i32.mul local.tee $0 - local.get $0 i32.const 16 i32.shr_u + local.get $0 i32.xor i32.and i32.const 2 @@ -4393,23 +4368,23 @@ i32.const 668265263 i32.mul local.tee $0 - local.get $0 i32.const 15 i32.shr_u + local.get $0 i32.xor i32.const -2048144777 i32.mul local.tee $0 - local.get $0 i32.const 13 i32.shr_u + local.get $0 i32.xor i32.const -1028477379 i32.mul local.tee $0 - local.get $0 i32.const 16 i32.shr_u + local.get $0 i32.xor i32.and i32.const 2 @@ -4577,11 +4552,7 @@ local.tee $8 i32.store8 local.get $2 - local.get $6 - local.get $1 local.get $8 - i32.const 255 - i32.and i32.const -1028477379 i32.mul i32.const 374761394 @@ -4609,9 +4580,11 @@ i32.const 16 i32.shr_u i32.xor + local.get $1 i32.and i32.const 2 i32.shl + local.get $6 i32.add local.tee $8 i32.load @@ -4767,6 +4740,7 @@ end local.get $0 i32.load offset=8 + local.set $3 local.get $0 local.get $0 i32.load offset=16 @@ -4777,6 +4751,7 @@ local.get $2 i32.const 3 i32.shl + local.get $3 i32.add local.tee $2 local.get $1 @@ -4790,9 +4765,9 @@ local.get $2 local.get $0 i32.load - local.get $4 local.get $0 i32.load offset=4 + local.get $4 i32.and i32.const 2 i32.shl @@ -5006,23 +4981,23 @@ i32.const 668265263 i32.mul local.tee $1 - local.get $1 i32.const 15 i32.shr_u + local.get $1 i32.xor i32.const -2048144777 i32.mul local.tee $1 - local.get $1 i32.const 13 i32.shr_u + local.get $1 i32.xor i32.const -1028477379 i32.mul local.tee $1 - local.get $1 i32.const 16 i32.shr_u + local.get $1 i32.xor i32.and i32.const 2 @@ -5088,23 +5063,23 @@ i32.const 668265263 i32.mul local.tee $1 - local.get $1 i32.const 15 i32.shr_u + local.get $1 i32.xor i32.const -2048144777 i32.mul local.tee $1 - local.get $1 i32.const 13 i32.shr_u + local.get $1 i32.xor i32.const -1028477379 i32.mul local.tee $1 - local.get $1 i32.const 16 i32.shr_u + local.get $1 i32.xor i32.and i32.const 2 @@ -5196,23 +5171,23 @@ i32.const 668265263 i32.mul local.tee $1 - local.get $1 i32.const 15 i32.shr_u + local.get $1 i32.xor i32.const -2048144777 i32.mul local.tee $1 - local.get $1 i32.const 13 i32.shr_u + local.get $1 i32.xor i32.const -1028477379 i32.mul local.tee $1 - local.get $1 i32.const 16 i32.shr_u + local.get $1 i32.xor i32.and i32.const 2 @@ -5279,23 +5254,23 @@ i32.const 668265263 i32.mul local.tee $1 - local.get $1 i32.const 15 i32.shr_u + local.get $1 i32.xor i32.const -2048144777 i32.mul local.tee $1 - local.get $1 i32.const 13 i32.shr_u + local.get $1 i32.xor i32.const -1028477379 i32.mul local.tee $1 - local.get $1 i32.const 16 i32.shr_u + local.get $1 i32.xor i32.and i32.const 2 @@ -5362,10 +5337,11 @@ call $~lib/builtins/abort unreachable end + global.get $~lib/memory/__stack_pointer + local.tee $1 i32.const 0 local.set $0 - global.get $~lib/memory/__stack_pointer - local.tee $9 + local.get $1 i32.const 4 i32.sub global.set $~lib/memory/__stack_pointer @@ -5470,10 +5446,10 @@ local.get $11 i32.lt_s if - local.get $10 local.get $7 i32.const 3 i32.shl + local.get $10 i32.add local.tee $1 i32.load offset=4 @@ -5510,7 +5486,6 @@ i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $9 local.get $3 i32.store offset=4 global.get $~lib/memory/__stack_pointer @@ -5518,10 +5493,10 @@ local.tee $1 i32.store offset=8 loop $for-loop|4 - local.get $4 local.get $3 i32.load offset=12 - i32.lt_s + local.get $4 + i32.gt_s if local.get $3 local.get $4 @@ -5538,16 +5513,16 @@ i32.const 668265263 i32.mul local.tee $0 - local.get $0 i32.const 15 i32.shr_u + local.get $0 i32.xor i32.const -2048144777 i32.mul local.tee $0 - local.get $0 i32.const 13 i32.shr_u + local.get $0 i32.xor i32.const -1028477379 i32.mul @@ -5557,9 +5532,9 @@ local.get $2 i32.load offset=4 local.get $0 - local.get $0 i32.const 16 i32.shr_u + local.get $0 i32.xor i32.and i32.const 2 @@ -5657,23 +5632,23 @@ i32.const 668265263 i32.mul local.tee $0 - local.get $0 i32.const 15 i32.shr_u + local.get $0 i32.xor i32.const -2048144777 i32.mul local.tee $0 - local.get $0 i32.const 13 i32.shr_u + local.get $0 i32.xor i32.const -1028477379 i32.mul local.tee $0 - local.get $0 i32.const 16 i32.shr_u + local.get $0 i32.xor i32.and i32.const 2 @@ -5740,23 +5715,23 @@ i32.const 668265263 i32.mul local.tee $0 - local.get $0 i32.const 15 i32.shr_u + local.get $0 i32.xor i32.const -2048144777 i32.mul local.tee $0 - local.get $0 i32.const 13 i32.shr_u + local.get $0 i32.xor i32.const -1028477379 i32.mul local.tee $0 - local.get $0 i32.const 16 i32.shr_u + local.get $0 i32.xor i32.and i32.const 2 @@ -5847,23 +5822,23 @@ i32.const 668265263 i32.mul local.tee $0 - local.get $0 i32.const 15 i32.shr_u + local.get $0 i32.xor i32.const -2048144777 i32.mul local.tee $0 - local.get $0 i32.const 13 i32.shr_u + local.get $0 i32.xor i32.const -1028477379 i32.mul local.tee $0 - local.get $0 i32.const 16 i32.shr_u + local.get $0 i32.xor i32.and i32.const 2 @@ -5929,23 +5904,23 @@ i32.const 668265263 i32.mul local.tee $0 - local.get $0 i32.const 15 i32.shr_u + local.get $0 i32.xor i32.const -2048144777 i32.mul local.tee $0 - local.get $0 i32.const 13 i32.shr_u + local.get $0 i32.xor i32.const -1028477379 i32.mul local.tee $0 - local.get $0 i32.const 16 i32.shr_u + local.get $0 i32.xor i32.and i32.const 2 @@ -6012,23 +5987,23 @@ i32.const 668265263 i32.mul local.tee $0 - local.get $0 i32.const 15 i32.shr_u + local.get $0 i32.xor i32.const -2048144777 i32.mul local.tee $0 - local.get $0 i32.const 13 i32.shr_u + local.get $0 i32.xor i32.const -1028477379 i32.mul local.tee $0 - local.get $0 i32.const 16 i32.shr_u + local.get $0 i32.xor i32.and i32.const 2 @@ -6196,8 +6171,6 @@ local.tee $8 i32.store16 local.get $2 - local.get $6 - local.get $1 local.get $8 i32.extend16_s i32.const -1028477379 @@ -6227,9 +6200,11 @@ i32.const 16 i32.shr_u i32.xor + local.get $1 i32.and i32.const 2 i32.shl + local.get $6 i32.add local.tee $8 i32.load @@ -6384,6 +6359,7 @@ end local.get $0 i32.load offset=8 + local.set $3 local.get $0 local.get $0 i32.load offset=16 @@ -6394,6 +6370,7 @@ local.get $2 i32.const 3 i32.shl + local.get $3 i32.add local.tee $2 local.get $1 @@ -6407,9 +6384,9 @@ local.get $2 local.get $0 i32.load - local.get $4 local.get $0 i32.load offset=4 + local.get $4 i32.and i32.const 2 i32.shl @@ -6661,23 +6638,23 @@ i32.const 668265263 i32.mul local.tee $1 - local.get $1 i32.const 15 i32.shr_u + local.get $1 i32.xor i32.const -2048144777 i32.mul local.tee $1 - local.get $1 i32.const 13 i32.shr_u + local.get $1 i32.xor i32.const -1028477379 i32.mul local.tee $1 - local.get $1 i32.const 16 i32.shr_u + local.get $1 i32.xor i32.and i32.const 2 @@ -6742,23 +6719,23 @@ i32.const 668265263 i32.mul local.tee $1 - local.get $1 i32.const 15 i32.shr_u + local.get $1 i32.xor i32.const -2048144777 i32.mul local.tee $1 - local.get $1 i32.const 13 i32.shr_u + local.get $1 i32.xor i32.const -1028477379 i32.mul local.tee $1 - local.get $1 i32.const 16 i32.shr_u + local.get $1 i32.xor i32.and i32.const 2 @@ -6848,23 +6825,23 @@ i32.const 668265263 i32.mul local.tee $1 - local.get $1 i32.const 15 i32.shr_u + local.get $1 i32.xor i32.const -2048144777 i32.mul local.tee $1 - local.get $1 i32.const 13 i32.shr_u + local.get $1 i32.xor i32.const -1028477379 i32.mul local.tee $1 - local.get $1 i32.const 16 i32.shr_u + local.get $1 i32.xor i32.and i32.const 2 @@ -6930,23 +6907,23 @@ i32.const 668265263 i32.mul local.tee $1 - local.get $1 i32.const 15 i32.shr_u + local.get $1 i32.xor i32.const -2048144777 i32.mul local.tee $1 - local.get $1 i32.const 13 i32.shr_u + local.get $1 i32.xor i32.const -1028477379 i32.mul local.tee $1 - local.get $1 i32.const 16 i32.shr_u + local.get $1 i32.xor i32.and i32.const 2 @@ -7013,10 +6990,11 @@ call $~lib/builtins/abort unreachable end + global.get $~lib/memory/__stack_pointer + local.tee $1 i32.const 0 local.set $0 - global.get $~lib/memory/__stack_pointer - local.tee $9 + local.get $1 i32.const 4 i32.sub global.set $~lib/memory/__stack_pointer @@ -7123,10 +7101,10 @@ local.get $11 i32.lt_s if - local.get $10 local.get $7 i32.const 3 i32.shl + local.get $10 i32.add local.tee $1 i32.load offset=4 @@ -7163,7 +7141,6 @@ i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $9 local.get $3 i32.store offset=4 global.get $~lib/memory/__stack_pointer @@ -7171,10 +7148,10 @@ local.tee $1 i32.store offset=8 loop $for-loop|4 - local.get $4 local.get $3 i32.load offset=12 - i32.lt_s + local.get $4 + i32.gt_s if local.get $3 local.get $4 @@ -7190,16 +7167,16 @@ i32.const 668265263 i32.mul local.tee $0 - local.get $0 i32.const 15 i32.shr_u + local.get $0 i32.xor i32.const -2048144777 i32.mul local.tee $0 - local.get $0 i32.const 13 i32.shr_u + local.get $0 i32.xor i32.const -1028477379 i32.mul @@ -7209,9 +7186,9 @@ local.get $2 i32.load offset=4 local.get $0 - local.get $0 i32.const 16 i32.shr_u + local.get $0 i32.xor i32.and i32.const 2 @@ -7307,23 +7284,23 @@ i32.const 668265263 i32.mul local.tee $0 - local.get $0 i32.const 15 i32.shr_u + local.get $0 i32.xor i32.const -2048144777 i32.mul local.tee $0 - local.get $0 i32.const 13 i32.shr_u + local.get $0 i32.xor i32.const -1028477379 i32.mul local.tee $0 - local.get $0 i32.const 16 i32.shr_u + local.get $0 i32.xor i32.and i32.const 2 @@ -7389,23 +7366,23 @@ i32.const 668265263 i32.mul local.tee $0 - local.get $0 i32.const 15 i32.shr_u + local.get $0 i32.xor i32.const -2048144777 i32.mul local.tee $0 - local.get $0 i32.const 13 i32.shr_u + local.get $0 i32.xor i32.const -1028477379 i32.mul local.tee $0 - local.get $0 i32.const 16 i32.shr_u + local.get $0 i32.xor i32.and i32.const 2 @@ -7494,23 +7471,23 @@ i32.const 668265263 i32.mul local.tee $0 - local.get $0 i32.const 15 i32.shr_u + local.get $0 i32.xor i32.const -2048144777 i32.mul local.tee $0 - local.get $0 i32.const 13 i32.shr_u + local.get $0 i32.xor i32.const -1028477379 i32.mul local.tee $0 - local.get $0 i32.const 16 i32.shr_u + local.get $0 i32.xor i32.and i32.const 2 @@ -7575,23 +7552,23 @@ i32.const 668265263 i32.mul local.tee $0 - local.get $0 i32.const 15 i32.shr_u + local.get $0 i32.xor i32.const -2048144777 i32.mul local.tee $0 - local.get $0 i32.const 13 i32.shr_u + local.get $0 i32.xor i32.const -1028477379 i32.mul local.tee $0 - local.get $0 i32.const 16 i32.shr_u + local.get $0 i32.xor i32.and i32.const 2 @@ -7657,23 +7634,23 @@ i32.const 668265263 i32.mul local.tee $0 - local.get $0 i32.const 15 i32.shr_u + local.get $0 i32.xor i32.const -2048144777 i32.mul local.tee $0 - local.get $0 i32.const 13 i32.shr_u + local.get $0 i32.xor i32.const -1028477379 i32.mul local.tee $0 - local.get $0 i32.const 16 i32.shr_u + local.get $0 i32.xor i32.and i32.const 2 @@ -7841,11 +7818,7 @@ local.tee $8 i32.store16 local.get $2 - local.get $6 - local.get $1 local.get $8 - i32.const 65535 - i32.and i32.const -1028477379 i32.mul i32.const 374761395 @@ -7873,9 +7846,11 @@ i32.const 16 i32.shr_u i32.xor + local.get $1 i32.and i32.const 2 i32.shl + local.get $6 i32.add local.tee $8 i32.load @@ -8031,6 +8006,7 @@ end local.get $0 i32.load offset=8 + local.set $3 local.get $0 local.get $0 i32.load offset=16 @@ -8041,6 +8017,7 @@ local.get $2 i32.const 3 i32.shl + local.get $3 i32.add local.tee $2 local.get $1 @@ -8054,9 +8031,9 @@ local.get $2 local.get $0 i32.load - local.get $4 local.get $0 i32.load offset=4 + local.get $4 i32.and i32.const 2 i32.shl @@ -8272,23 +8249,23 @@ i32.const 668265263 i32.mul local.tee $1 - local.get $1 i32.const 15 i32.shr_u + local.get $1 i32.xor i32.const -2048144777 i32.mul local.tee $1 - local.get $1 i32.const 13 i32.shr_u + local.get $1 i32.xor i32.const -1028477379 i32.mul local.tee $1 - local.get $1 i32.const 16 i32.shr_u + local.get $1 i32.xor i32.and i32.const 2 @@ -8354,23 +8331,23 @@ i32.const 668265263 i32.mul local.tee $1 - local.get $1 i32.const 15 i32.shr_u + local.get $1 i32.xor i32.const -2048144777 i32.mul local.tee $1 - local.get $1 i32.const 13 i32.shr_u + local.get $1 i32.xor i32.const -1028477379 i32.mul local.tee $1 - local.get $1 i32.const 16 i32.shr_u + local.get $1 i32.xor i32.and i32.const 2 @@ -8462,23 +8439,23 @@ i32.const 668265263 i32.mul local.tee $1 - local.get $1 i32.const 15 i32.shr_u + local.get $1 i32.xor i32.const -2048144777 i32.mul local.tee $1 - local.get $1 i32.const 13 i32.shr_u + local.get $1 i32.xor i32.const -1028477379 i32.mul local.tee $1 - local.get $1 i32.const 16 i32.shr_u + local.get $1 i32.xor i32.and i32.const 2 @@ -8545,23 +8522,23 @@ i32.const 668265263 i32.mul local.tee $1 - local.get $1 i32.const 15 i32.shr_u + local.get $1 i32.xor i32.const -2048144777 i32.mul local.tee $1 - local.get $1 i32.const 13 i32.shr_u + local.get $1 i32.xor i32.const -1028477379 i32.mul local.tee $1 - local.get $1 i32.const 16 i32.shr_u + local.get $1 i32.xor i32.and i32.const 2 @@ -8628,10 +8605,11 @@ call $~lib/builtins/abort unreachable end + global.get $~lib/memory/__stack_pointer + local.tee $1 i32.const 0 local.set $0 - global.get $~lib/memory/__stack_pointer - local.tee $9 + local.get $1 i32.const 4 i32.sub global.set $~lib/memory/__stack_pointer @@ -8738,10 +8716,10 @@ local.get $11 i32.lt_s if - local.get $10 local.get $7 i32.const 3 i32.shl + local.get $10 i32.add local.tee $1 i32.load offset=4 @@ -8778,7 +8756,6 @@ i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $9 local.get $3 i32.store offset=4 global.get $~lib/memory/__stack_pointer @@ -8786,10 +8763,10 @@ local.tee $1 i32.store offset=8 loop $for-loop|4 - local.get $4 local.get $3 i32.load offset=12 - i32.lt_s + local.get $4 + i32.gt_s if local.get $3 local.get $4 @@ -8806,16 +8783,16 @@ i32.const 668265263 i32.mul local.tee $0 - local.get $0 i32.const 15 i32.shr_u + local.get $0 i32.xor i32.const -2048144777 i32.mul local.tee $0 - local.get $0 i32.const 13 i32.shr_u + local.get $0 i32.xor i32.const -1028477379 i32.mul @@ -8825,9 +8802,9 @@ local.get $2 i32.load offset=4 local.get $0 - local.get $0 i32.const 16 i32.shr_u + local.get $0 i32.xor i32.and i32.const 2 @@ -8925,23 +8902,23 @@ i32.const 668265263 i32.mul local.tee $0 - local.get $0 i32.const 15 i32.shr_u + local.get $0 i32.xor i32.const -2048144777 i32.mul local.tee $0 - local.get $0 i32.const 13 i32.shr_u + local.get $0 i32.xor i32.const -1028477379 i32.mul local.tee $0 - local.get $0 i32.const 16 i32.shr_u + local.get $0 i32.xor i32.and i32.const 2 @@ -9008,23 +8985,23 @@ i32.const 668265263 i32.mul local.tee $0 - local.get $0 i32.const 15 i32.shr_u + local.get $0 i32.xor i32.const -2048144777 i32.mul local.tee $0 - local.get $0 i32.const 13 i32.shr_u + local.get $0 i32.xor i32.const -1028477379 i32.mul local.tee $0 - local.get $0 i32.const 16 i32.shr_u + local.get $0 i32.xor i32.and i32.const 2 @@ -9115,23 +9092,23 @@ i32.const 668265263 i32.mul local.tee $0 - local.get $0 i32.const 15 i32.shr_u + local.get $0 i32.xor i32.const -2048144777 i32.mul local.tee $0 - local.get $0 i32.const 13 i32.shr_u + local.get $0 i32.xor i32.const -1028477379 i32.mul local.tee $0 - local.get $0 i32.const 16 i32.shr_u + local.get $0 i32.xor i32.and i32.const 2 @@ -9197,23 +9174,23 @@ i32.const 668265263 i32.mul local.tee $0 - local.get $0 i32.const 15 i32.shr_u + local.get $0 i32.xor i32.const -2048144777 i32.mul local.tee $0 - local.get $0 i32.const 13 i32.shr_u + local.get $0 i32.xor i32.const -1028477379 i32.mul local.tee $0 - local.get $0 i32.const 16 i32.shr_u + local.get $0 i32.xor i32.and i32.const 2 @@ -9280,23 +9257,23 @@ i32.const 668265263 i32.mul local.tee $0 - local.get $0 i32.const 15 i32.shr_u + local.get $0 i32.xor i32.const -2048144777 i32.mul local.tee $0 - local.get $0 i32.const 13 i32.shr_u + local.get $0 i32.xor i32.const -1028477379 i32.mul local.tee $0 - local.get $0 i32.const 16 i32.shr_u + local.get $0 i32.xor i32.and i32.const 2 @@ -9464,8 +9441,6 @@ local.tee $8 i32.store local.get $2 - local.get $6 - local.get $1 local.get $8 i32.const -1028477379 i32.mul @@ -9494,9 +9469,11 @@ i32.const 16 i32.shr_u i32.xor + local.get $1 i32.and i32.const 2 i32.shl + local.get $6 i32.add local.tee $8 i32.load @@ -9648,6 +9625,7 @@ end local.get $0 i32.load offset=8 + local.set $3 local.get $0 local.get $0 i32.load offset=16 @@ -9658,6 +9636,7 @@ local.get $2 i32.const 3 i32.shl + local.get $3 i32.add local.tee $2 local.get $1 @@ -9671,9 +9650,9 @@ local.get $2 local.get $0 i32.load - local.get $4 local.get $0 i32.load offset=4 + local.get $4 i32.and i32.const 2 i32.shl @@ -9920,23 +9899,23 @@ i32.const 668265263 i32.mul local.tee $1 - local.get $1 i32.const 15 i32.shr_u + local.get $1 i32.xor i32.const -2048144777 i32.mul local.tee $1 - local.get $1 i32.const 13 i32.shr_u + local.get $1 i32.xor i32.const -1028477379 i32.mul local.tee $1 - local.get $1 i32.const 16 i32.shr_u + local.get $1 i32.xor i32.and i32.const 2 @@ -9998,23 +9977,23 @@ i32.const 668265263 i32.mul local.tee $1 - local.get $1 i32.const 15 i32.shr_u + local.get $1 i32.xor i32.const -2048144777 i32.mul local.tee $1 - local.get $1 i32.const 13 i32.shr_u + local.get $1 i32.xor i32.const -1028477379 i32.mul local.tee $1 - local.get $1 i32.const 16 i32.shr_u + local.get $1 i32.xor i32.and i32.const 2 @@ -10100,23 +10079,23 @@ i32.const 668265263 i32.mul local.tee $1 - local.get $1 i32.const 15 i32.shr_u + local.get $1 i32.xor i32.const -2048144777 i32.mul local.tee $1 - local.get $1 i32.const 13 i32.shr_u + local.get $1 i32.xor i32.const -1028477379 i32.mul local.tee $1 - local.get $1 i32.const 16 i32.shr_u + local.get $1 i32.xor i32.and i32.const 2 @@ -10179,23 +10158,23 @@ i32.const 668265263 i32.mul local.tee $1 - local.get $1 i32.const 15 i32.shr_u + local.get $1 i32.xor i32.const -2048144777 i32.mul local.tee $1 - local.get $1 i32.const 13 i32.shr_u + local.get $1 i32.xor i32.const -1028477379 i32.mul local.tee $1 - local.get $1 i32.const 16 i32.shr_u + local.get $1 i32.xor i32.and i32.const 2 @@ -10260,10 +10239,11 @@ call $~lib/builtins/abort unreachable end + global.get $~lib/memory/__stack_pointer + local.tee $1 i32.const 0 local.set $0 - global.get $~lib/memory/__stack_pointer - local.tee $9 + local.get $1 i32.const 4 i32.sub global.set $~lib/memory/__stack_pointer @@ -10370,10 +10350,10 @@ local.get $11 i32.lt_s if - local.get $10 local.get $7 i32.const 3 i32.shl + local.get $10 i32.add local.tee $1 i32.load offset=4 @@ -10410,7 +10390,6 @@ i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $9 local.get $3 i32.store offset=4 global.get $~lib/memory/__stack_pointer @@ -10418,10 +10397,10 @@ local.tee $1 i32.store offset=8 loop $for-loop|2 - local.get $4 local.get $3 i32.load offset=12 - i32.lt_s + local.get $4 + i32.gt_s if local.get $3 local.get $4 @@ -10436,16 +10415,16 @@ i32.const 668265263 i32.mul local.tee $0 - local.get $0 i32.const 15 i32.shr_u + local.get $0 i32.xor i32.const -2048144777 i32.mul local.tee $0 - local.get $0 i32.const 13 i32.shr_u + local.get $0 i32.xor i32.const -1028477379 i32.mul @@ -10455,9 +10434,9 @@ local.get $2 i32.load offset=4 local.get $0 - local.get $0 i32.const 16 i32.shr_u + local.get $0 i32.xor i32.and i32.const 2 @@ -10549,23 +10528,23 @@ i32.const 668265263 i32.mul local.tee $0 - local.get $0 i32.const 15 i32.shr_u + local.get $0 i32.xor i32.const -2048144777 i32.mul local.tee $0 - local.get $0 i32.const 13 i32.shr_u + local.get $0 i32.xor i32.const -1028477379 i32.mul local.tee $0 - local.get $0 i32.const 16 i32.shr_u + local.get $0 i32.xor i32.and i32.const 2 @@ -10628,23 +10607,23 @@ i32.const 668265263 i32.mul local.tee $0 - local.get $0 i32.const 15 i32.shr_u + local.get $0 i32.xor i32.const -2048144777 i32.mul local.tee $0 - local.get $0 i32.const 13 i32.shr_u + local.get $0 i32.xor i32.const -1028477379 i32.mul local.tee $0 - local.get $0 i32.const 16 i32.shr_u + local.get $0 i32.xor i32.and i32.const 2 @@ -10729,23 +10708,23 @@ i32.const 668265263 i32.mul local.tee $0 - local.get $0 i32.const 15 i32.shr_u + local.get $0 i32.xor i32.const -2048144777 i32.mul local.tee $0 - local.get $0 i32.const 13 i32.shr_u + local.get $0 i32.xor i32.const -1028477379 i32.mul local.tee $0 - local.get $0 i32.const 16 i32.shr_u + local.get $0 i32.xor i32.and i32.const 2 @@ -10807,23 +10786,23 @@ i32.const 668265263 i32.mul local.tee $0 - local.get $0 i32.const 15 i32.shr_u + local.get $0 i32.xor i32.const -2048144777 i32.mul local.tee $0 - local.get $0 i32.const 13 i32.shr_u + local.get $0 i32.xor i32.const -1028477379 i32.mul local.tee $0 - local.get $0 i32.const 16 i32.shr_u + local.get $0 i32.xor i32.and i32.const 2 @@ -10886,23 +10865,23 @@ i32.const 668265263 i32.mul local.tee $0 - local.get $0 i32.const 15 i32.shr_u + local.get $0 i32.xor i32.const -2048144777 i32.mul local.tee $0 - local.get $0 i32.const 13 i32.shr_u + local.get $0 i32.xor i32.const -1028477379 i32.mul local.tee $0 - local.get $0 i32.const 16 i32.shr_u + local.get $0 i32.xor i32.and i32.const 2 @@ -11068,8 +11047,6 @@ local.tee $8 i32.store local.get $2 - local.get $6 - local.get $1 local.get $8 i32.const -1028477379 i32.mul @@ -11098,9 +11075,11 @@ i32.const 16 i32.shr_u i32.xor + local.get $1 i32.and i32.const 2 i32.shl + local.get $6 i32.add local.tee $8 i32.load @@ -11252,6 +11231,7 @@ end local.get $0 i32.load offset=8 + local.set $3 local.get $0 local.get $0 i32.load offset=16 @@ -11262,6 +11242,7 @@ local.get $2 i32.const 3 i32.shl + local.get $3 i32.add local.tee $2 local.get $1 @@ -11275,9 +11256,9 @@ local.get $2 local.get $0 i32.load - local.get $4 local.get $0 i32.load offset=4 + local.get $4 i32.and i32.const 2 i32.shl @@ -11485,23 +11466,23 @@ i32.const 668265263 i32.mul local.tee $1 - local.get $1 i32.const 15 i32.shr_u + local.get $1 i32.xor i32.const -2048144777 i32.mul local.tee $1 - local.get $1 i32.const 13 i32.shr_u + local.get $1 i32.xor i32.const -1028477379 i32.mul local.tee $1 - local.get $1 i32.const 16 i32.shr_u + local.get $1 i32.xor i32.and i32.const 2 @@ -11563,23 +11544,23 @@ i32.const 668265263 i32.mul local.tee $1 - local.get $1 i32.const 15 i32.shr_u + local.get $1 i32.xor i32.const -2048144777 i32.mul local.tee $1 - local.get $1 i32.const 13 i32.shr_u + local.get $1 i32.xor i32.const -1028477379 i32.mul local.tee $1 - local.get $1 i32.const 16 i32.shr_u + local.get $1 i32.xor i32.and i32.const 2 @@ -11665,23 +11646,23 @@ i32.const 668265263 i32.mul local.tee $1 - local.get $1 i32.const 15 i32.shr_u + local.get $1 i32.xor i32.const -2048144777 i32.mul local.tee $1 - local.get $1 i32.const 13 i32.shr_u + local.get $1 i32.xor i32.const -1028477379 i32.mul local.tee $1 - local.get $1 i32.const 16 i32.shr_u + local.get $1 i32.xor i32.and i32.const 2 @@ -11744,23 +11725,23 @@ i32.const 668265263 i32.mul local.tee $1 - local.get $1 i32.const 15 i32.shr_u + local.get $1 i32.xor i32.const -2048144777 i32.mul local.tee $1 - local.get $1 i32.const 13 i32.shr_u + local.get $1 i32.xor i32.const -1028477379 i32.mul local.tee $1 - local.get $1 i32.const 16 i32.shr_u + local.get $1 i32.xor i32.and i32.const 2 @@ -11825,10 +11806,11 @@ call $~lib/builtins/abort unreachable end + global.get $~lib/memory/__stack_pointer + local.tee $1 i32.const 0 local.set $0 - global.get $~lib/memory/__stack_pointer - local.tee $9 + local.get $1 i32.const 4 i32.sub global.set $~lib/memory/__stack_pointer @@ -11935,10 +11917,10 @@ local.get $11 i32.lt_s if - local.get $10 local.get $7 i32.const 3 i32.shl + local.get $10 i32.add local.tee $1 i32.load offset=4 @@ -11975,7 +11957,6 @@ i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $9 local.get $3 i32.store offset=4 global.get $~lib/memory/__stack_pointer @@ -11983,10 +11964,10 @@ local.tee $1 i32.store offset=8 loop $for-loop|2 - local.get $4 local.get $3 i32.load offset=12 - i32.lt_s + local.get $4 + i32.gt_s if local.get $3 local.get $4 @@ -12001,16 +11982,16 @@ i32.const 668265263 i32.mul local.tee $0 - local.get $0 i32.const 15 i32.shr_u + local.get $0 i32.xor i32.const -2048144777 i32.mul local.tee $0 - local.get $0 i32.const 13 i32.shr_u + local.get $0 i32.xor i32.const -1028477379 i32.mul @@ -12020,9 +12001,9 @@ local.get $2 i32.load offset=4 local.get $0 - local.get $0 i32.const 16 i32.shr_u + local.get $0 i32.xor i32.and i32.const 2 @@ -12114,23 +12095,23 @@ i32.const 668265263 i32.mul local.tee $0 - local.get $0 i32.const 15 i32.shr_u + local.get $0 i32.xor i32.const -2048144777 i32.mul local.tee $0 - local.get $0 i32.const 13 i32.shr_u + local.get $0 i32.xor i32.const -1028477379 i32.mul local.tee $0 - local.get $0 i32.const 16 i32.shr_u + local.get $0 i32.xor i32.and i32.const 2 @@ -12193,23 +12174,23 @@ i32.const 668265263 i32.mul local.tee $0 - local.get $0 i32.const 15 i32.shr_u + local.get $0 i32.xor i32.const -2048144777 i32.mul local.tee $0 - local.get $0 i32.const 13 i32.shr_u + local.get $0 i32.xor i32.const -1028477379 i32.mul local.tee $0 - local.get $0 i32.const 16 i32.shr_u + local.get $0 i32.xor i32.and i32.const 2 @@ -12294,23 +12275,23 @@ i32.const 668265263 i32.mul local.tee $0 - local.get $0 i32.const 15 i32.shr_u + local.get $0 i32.xor i32.const -2048144777 i32.mul local.tee $0 - local.get $0 i32.const 13 i32.shr_u + local.get $0 i32.xor i32.const -1028477379 i32.mul local.tee $0 - local.get $0 i32.const 16 i32.shr_u + local.get $0 i32.xor i32.and i32.const 2 @@ -12372,23 +12353,23 @@ i32.const 668265263 i32.mul local.tee $0 - local.get $0 i32.const 15 i32.shr_u + local.get $0 i32.xor i32.const -2048144777 i32.mul local.tee $0 - local.get $0 i32.const 13 i32.shr_u + local.get $0 i32.xor i32.const -1028477379 i32.mul local.tee $0 - local.get $0 i32.const 16 i32.shr_u + local.get $0 i32.xor i32.and i32.const 2 @@ -12451,23 +12432,23 @@ i32.const 668265263 i32.mul local.tee $0 - local.get $0 i32.const 15 i32.shr_u + local.get $0 i32.xor i32.const -2048144777 i32.mul local.tee $0 - local.get $0 i32.const 13 i32.shr_u + local.get $0 i32.xor i32.const -1028477379 i32.mul local.tee $0 - local.get $0 i32.const 16 i32.shr_u + local.get $0 i32.xor i32.and i32.const 2 @@ -12583,22 +12564,22 @@ i32.rotl i32.const 668265263 i32.mul - local.tee $2 - local.get $2 + local.tee $0 + local.get $0 i32.const 15 i32.shr_u i32.xor i32.const -2048144777 i32.mul - local.tee $2 - local.get $2 + local.tee $0 + local.get $0 i32.const 13 i32.shr_u i32.xor i32.const -1028477379 i32.mul - local.tee $2 - local.get $2 + local.tee $0 + local.get $0 i32.const 16 i32.shr_u i32.xor @@ -12718,7 +12699,6 @@ local.tee $6 i64.store local.get $2 - local.get $7 local.get $1 local.get $6 i32.wrap_i64 @@ -12763,6 +12743,7 @@ i32.and i32.const 2 i32.shl + local.get $7 i32.add local.tee $9 i32.load @@ -12926,6 +12907,7 @@ end local.get $0 i32.load offset=8 + local.set $3 local.get $0 local.get $0 i32.load offset=16 @@ -12936,6 +12918,7 @@ local.get $2 i32.const 4 i32.shl + local.get $3 i32.add local.tee $2 local.get $1 @@ -12949,9 +12932,9 @@ local.get $2 local.get $0 i32.load - local.get $4 local.get $0 i32.load offset=4 + local.get $4 i32.and i32.const 2 i32.shl @@ -13326,7 +13309,8 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $10 + local.tee $1 + local.get $1 i32.const 4 i32.sub global.set $~lib/memory/__stack_pointer @@ -13434,10 +13418,10 @@ local.get $12 i32.lt_s if - local.get $11 local.get $8 i32.const 4 i32.shl + local.get $11 i32.add local.tee $2 i32.load offset=8 @@ -13474,7 +13458,6 @@ i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $10 local.get $1 i32.store offset=4 global.get $~lib/memory/__stack_pointer @@ -13482,10 +13465,10 @@ local.tee $2 i32.store offset=8 loop $for-loop|2 - local.get $7 local.get $1 i32.load offset=12 - i32.lt_s + local.get $7 + i32.gt_s if local.get $4 local.get $1 @@ -13696,22 +13679,22 @@ i32.rotl i32.const 668265263 i32.mul - local.tee $2 - local.get $2 + local.tee $0 + local.get $0 i32.const 15 i32.shr_u i32.xor i32.const -2048144777 i32.mul - local.tee $2 - local.get $2 + local.tee $0 + local.get $0 i32.const 13 i32.shr_u i32.xor i32.const -1028477379 i32.mul - local.tee $2 - local.get $2 + local.tee $0 + local.get $0 i32.const 16 i32.shr_u i32.xor @@ -13831,7 +13814,6 @@ local.tee $6 i64.store local.get $2 - local.get $7 local.get $1 local.get $6 i32.wrap_i64 @@ -13876,6 +13858,7 @@ i32.and i32.const 2 i32.shl + local.get $7 i32.add local.tee $9 i32.load @@ -14039,6 +14022,7 @@ end local.get $0 i32.load offset=8 + local.set $3 local.get $0 local.get $0 i32.load offset=16 @@ -14049,6 +14033,7 @@ local.get $2 i32.const 4 i32.shl + local.get $3 i32.add local.tee $2 local.get $1 @@ -14062,9 +14047,9 @@ local.get $2 local.get $0 i32.load - local.get $4 local.get $0 i32.load offset=4 + local.get $4 i32.and i32.const 2 i32.shl @@ -14369,7 +14354,8 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $10 + local.tee $1 + local.get $1 i32.const 4 i32.sub global.set $~lib/memory/__stack_pointer @@ -14477,10 +14463,10 @@ local.get $12 i32.lt_s if - local.get $11 local.get $8 i32.const 4 i32.shl + local.get $11 i32.add local.tee $2 i32.load offset=8 @@ -14517,7 +14503,6 @@ i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $10 local.get $1 i32.store offset=4 global.get $~lib/memory/__stack_pointer @@ -14525,10 +14510,10 @@ local.tee $2 i32.store offset=8 loop $for-loop|2 - local.get $7 local.get $1 i32.load offset=12 - i32.lt_s + local.get $7 + i32.gt_s if local.get $4 local.get $1 @@ -14790,8 +14775,6 @@ local.tee $4 f32.store local.get $2 - local.get $7 - local.get $1 local.get $4 i32.reinterpret_f32 i32.const -1028477379 @@ -14821,9 +14804,11 @@ i32.const 16 i32.shr_u i32.xor + local.get $1 i32.and i32.const 2 i32.shl + local.get $7 i32.add local.tee $9 i32.load @@ -14976,6 +14961,7 @@ end local.get $0 i32.load offset=8 + local.set $3 local.get $0 local.get $0 i32.load offset=16 @@ -14986,6 +14972,7 @@ local.get $2 i32.const 3 i32.shl + local.get $3 i32.add local.tee $2 local.get $1 @@ -14999,9 +14986,9 @@ local.get $2 local.get $0 i32.load - local.get $4 local.get $0 i32.load offset=4 + local.get $4 i32.and i32.const 2 i32.shl @@ -15211,23 +15198,23 @@ i32.const 668265263 i32.mul local.tee $0 - local.get $0 i32.const 15 i32.shr_u + local.get $0 i32.xor i32.const -2048144777 i32.mul local.tee $0 - local.get $0 i32.const 13 i32.shr_u + local.get $0 i32.xor i32.const -1028477379 i32.mul local.tee $0 - local.get $0 i32.const 16 i32.shr_u + local.get $0 i32.xor i32.and i32.const 2 @@ -15290,23 +15277,23 @@ i32.const 668265263 i32.mul local.tee $0 - local.get $0 i32.const 15 i32.shr_u + local.get $0 i32.xor i32.const -2048144777 i32.mul local.tee $0 - local.get $0 i32.const 13 i32.shr_u + local.get $0 i32.xor i32.const -1028477379 i32.mul local.tee $0 - local.get $0 i32.const 16 i32.shr_u + local.get $0 i32.xor i32.and i32.const 2 @@ -15393,23 +15380,23 @@ i32.const 668265263 i32.mul local.tee $0 - local.get $0 i32.const 15 i32.shr_u + local.get $0 i32.xor i32.const -2048144777 i32.mul local.tee $0 - local.get $0 i32.const 13 i32.shr_u + local.get $0 i32.xor i32.const -1028477379 i32.mul local.tee $0 - local.get $0 i32.const 16 i32.shr_u + local.get $0 i32.xor i32.and i32.const 2 @@ -15473,23 +15460,23 @@ i32.const 668265263 i32.mul local.tee $0 - local.get $0 i32.const 15 i32.shr_u + local.get $0 i32.xor i32.const -2048144777 i32.mul local.tee $0 - local.get $0 i32.const 13 i32.shr_u + local.get $0 i32.xor i32.const -1028477379 i32.mul local.tee $0 - local.get $0 i32.const 16 i32.shr_u + local.get $0 i32.xor i32.and i32.const 2 @@ -15555,7 +15542,8 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $10 + local.tee $0 + local.get $0 i32.const 4 i32.sub global.set $~lib/memory/__stack_pointer @@ -15662,10 +15650,10 @@ local.get $12 i32.lt_s if - local.get $11 local.get $8 i32.const 3 i32.shl + local.get $11 i32.add local.tee $5 i32.load offset=4 @@ -15681,10 +15669,10 @@ local.get $5 f32.load local.set $2 - local.get $0 local.get $4 i32.load offset=12 - i32.ge_u + local.get $0 + i32.le_u if local.get $0 i32.const 0 @@ -15737,7 +15725,6 @@ i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $10 local.get $4 i32.store offset=4 global.get $~lib/memory/__stack_pointer @@ -15745,10 +15732,10 @@ local.tee $1 i32.store offset=8 loop $for-loop|2 - local.get $7 local.get $4 i32.load offset=12 - i32.lt_s + local.get $7 + i32.gt_s if local.get $4 local.get $7 @@ -15764,16 +15751,16 @@ i32.const 668265263 i32.mul local.tee $0 - local.get $0 i32.const 15 i32.shr_u + local.get $0 i32.xor i32.const -2048144777 i32.mul local.tee $0 - local.get $0 i32.const 13 i32.shr_u + local.get $0 i32.xor i32.const -1028477379 i32.mul @@ -15783,9 +15770,9 @@ local.get $3 i32.load offset=4 local.get $0 - local.get $0 i32.const 16 i32.shr_u + local.get $0 i32.xor i32.and i32.const 2 @@ -15878,23 +15865,23 @@ i32.const 668265263 i32.mul local.tee $0 - local.get $0 i32.const 15 i32.shr_u + local.get $0 i32.xor i32.const -2048144777 i32.mul local.tee $0 - local.get $0 i32.const 13 i32.shr_u + local.get $0 i32.xor i32.const -1028477379 i32.mul local.tee $0 - local.get $0 i32.const 16 i32.shr_u + local.get $0 i32.xor i32.and i32.const 2 @@ -15958,23 +15945,23 @@ i32.const 668265263 i32.mul local.tee $0 - local.get $0 i32.const 15 i32.shr_u + local.get $0 i32.xor i32.const -2048144777 i32.mul local.tee $0 - local.get $0 i32.const 13 i32.shr_u + local.get $0 i32.xor i32.const -1028477379 i32.mul local.tee $0 - local.get $0 i32.const 16 i32.shr_u + local.get $0 i32.xor i32.and i32.const 2 @@ -16060,23 +16047,23 @@ i32.const 668265263 i32.mul local.tee $0 - local.get $0 i32.const 15 i32.shr_u + local.get $0 i32.xor i32.const -2048144777 i32.mul local.tee $0 - local.get $0 i32.const 13 i32.shr_u + local.get $0 i32.xor i32.const -1028477379 i32.mul local.tee $0 - local.get $0 i32.const 16 i32.shr_u + local.get $0 i32.xor i32.and i32.const 2 @@ -16139,23 +16126,23 @@ i32.const 668265263 i32.mul local.tee $0 - local.get $0 i32.const 15 i32.shr_u + local.get $0 i32.xor i32.const -2048144777 i32.mul local.tee $0 - local.get $0 i32.const 13 i32.shr_u + local.get $0 i32.xor i32.const -1028477379 i32.mul local.tee $0 - local.get $0 i32.const 16 i32.shr_u + local.get $0 i32.xor i32.and i32.const 2 @@ -16219,23 +16206,23 @@ i32.const 668265263 i32.mul local.tee $0 - local.get $0 i32.const 15 i32.shr_u + local.get $0 i32.xor i32.const -2048144777 i32.mul local.tee $0 - local.get $0 i32.const 13 i32.shr_u + local.get $0 i32.xor i32.const -1028477379 i32.mul local.tee $0 - local.get $0 i32.const 16 i32.shr_u + local.get $0 i32.xor i32.and i32.const 2 @@ -16325,15 +16312,15 @@ unreachable ) (func $~lib/set/Set#has (param $0 i32) (param $1 f64) (result i32) - (local $2 i32) - (local $3 i64) + (local $2 i64) + (local $3 i32) local.get $0 i32.load local.get $0 i32.load offset=4 local.get $1 i64.reinterpret_f64 - local.tee $3 + local.tee $2 i32.wrap_i64 i32.const -1028477379 i32.mul @@ -16343,7 +16330,7 @@ i32.rotl i32.const 668265263 i32.mul - local.get $3 + local.get $2 i64.const 32 i64.shr_u i32.wrap_i64 @@ -16354,22 +16341,22 @@ i32.rotl i32.const 668265263 i32.mul - local.tee $2 - local.get $2 + local.tee $0 + local.get $0 i32.const 15 i32.shr_u i32.xor i32.const -2048144777 i32.mul - local.tee $2 - local.get $2 + local.tee $0 + local.get $0 i32.const 13 i32.shr_u i32.xor i32.const -1028477379 i32.mul - local.tee $2 - local.get $2 + local.tee $0 + local.get $0 i32.const 16 i32.shr_u i32.xor @@ -16385,7 +16372,7 @@ if local.get $0 i32.load offset=8 - local.tee $2 + local.tee $3 i32.const 1 i32.and if (result i32) @@ -16397,7 +16384,7 @@ f64.eq end br_if $__inlined_func$~lib/set/Set#find - local.get $2 + local.get $3 i32.const -2 i32.and local.set $0 @@ -16490,7 +16477,6 @@ local.tee $5 f64.store local.get $2 - local.get $8 local.get $1 local.get $5 i64.reinterpret_f64 @@ -16537,6 +16523,7 @@ i32.and i32.const 2 i32.shl + local.get $8 i32.add local.tee $10 i32.load @@ -16703,6 +16690,7 @@ end local.get $0 i32.load offset=8 + local.set $3 local.get $0 local.get $0 i32.load offset=16 @@ -16713,6 +16701,7 @@ local.get $2 i32.const 4 i32.shl + local.get $3 i32.add local.tee $2 local.get $1 @@ -16726,9 +16715,9 @@ local.get $2 local.get $0 i32.load - local.get $5 local.get $0 i32.load offset=4 + local.get $5 i32.and i32.const 2 i32.shl @@ -17036,7 +17025,8 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $10 + local.tee $1 + local.get $1 i32.const 4 i32.sub global.set $~lib/memory/__stack_pointer @@ -17144,10 +17134,10 @@ local.get $12 i32.lt_s if - local.get $11 local.get $8 i32.const 4 i32.shl + local.get $11 i32.add local.tee $5 i32.load offset=8 @@ -17163,10 +17153,10 @@ local.get $5 f64.load local.set $3 - local.get $0 local.get $1 i32.load offset=12 - i32.ge_u + local.get $0 + i32.le_u if local.get $0 i32.const 0 @@ -17219,7 +17209,6 @@ i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $10 local.get $1 i32.store offset=4 global.get $~lib/memory/__stack_pointer @@ -17227,10 +17216,10 @@ local.tee $0 i32.store offset=8 loop $for-loop|2 - local.get $7 local.get $1 i32.load offset=12 - i32.lt_s + local.get $7 + i32.gt_s if local.get $4 local.get $1 diff --git a/tests/compiler/std/static-array.optimized.wat b/tests/compiler/std/static-array.optimized.wat index a647e7219a..668d2cd2fe 100644 --- a/tests/compiler/std/static-array.optimized.wat +++ b/tests/compiler/std/static-array.optimized.wat @@ -61,10 +61,10 @@ (export "memory" (memory $0)) (start $~start) (func $~lib/array/Array#__get (param $0 i32) (result i32) - local.get $0 i32.const 1100 i32.load - i32.ge_u + local.get $0 + i32.le_u if i32.const 1472 i32.const 1536 @@ -140,8 +140,8 @@ (local $1 i32) (local $2 i32) (local $3 i32) - local.get $0 global.get $~lib/rt/itcms/iter + local.get $0 i32.eq if local.get $0 @@ -201,11 +201,11 @@ local.get $1 i32.store offset=8 local.get $1 - local.get $2 local.get $1 i32.load offset=4 i32.const 3 i32.and + local.get $2 i32.or i32.store offset=4 end @@ -219,10 +219,10 @@ if (result i32) i32.const 1 else - local.get $1 i32.const 1952 i32.load - i32.gt_u + local.get $1 + i32.lt_u if i32.const 1472 i32.const 1824 @@ -259,11 +259,11 @@ local.get $1 i32.store offset=8 local.get $1 - local.get $0 local.get $1 i32.load offset=4 i32.const 3 i32.and + local.get $0 i32.or i32.store offset=4 local.get $2 @@ -421,22 +421,22 @@ local.get $4 i32.eqz if - local.get $0 local.get $3 i32.const 2 i32.shl + local.get $0 i32.add - local.tee $1 + local.tee $4 i32.load offset=4 i32.const -2 local.get $2 i32.rotl i32.and - local.set $2 + local.set $1 + local.get $4 local.get $1 - local.get $2 i32.store offset=4 - local.get $2 + local.get $1 i32.eqz if local.get $0 @@ -684,10 +684,10 @@ i32.shl i32.or i32.store - local.get $0 local.get $5 i32.const 2 i32.shl + local.get $0 i32.add local.tee $0 local.get $0 @@ -727,11 +727,11 @@ i32.load offset=1568 local.tee $2 if + local.get $1 local.get $2 i32.const 4 i32.add - local.get $1 - i32.gt_u + i32.lt_u if i32.const 0 i32.const 1904 @@ -755,11 +755,11 @@ local.set $1 end else + local.get $1 local.get $0 i32.const 1572 i32.add - local.get $1 - i32.gt_u + i32.lt_u if i32.const 0 i32.const 1904 @@ -1046,13 +1046,13 @@ if local.get $0 i32.load offset=4 + local.tee $1 i32.const -4 i32.and global.set $~lib/rt/itcms/iter global.get $~lib/rt/itcms/white i32.eqz - local.get $0 - i32.load offset=4 + local.get $1 i32.const 3 i32.and i32.ne @@ -1139,10 +1139,10 @@ end global.get $~lib/rt/itcms/toSpace local.tee $0 - local.get $0 + local.tee $1 + local.get $1 i32.store offset=4 - global.get $~lib/rt/itcms/toSpace - local.tee $0 + local.get $0 local.get $0 i32.store offset=8 i32.const 0 @@ -1471,17 +1471,17 @@ select if local.get $0 - local.tee $3 + local.tee $4 i32.const 1 i32.add local.set $0 local.get $1 - local.tee $4 + local.tee $3 i32.const 1 i32.add local.set $1 - local.get $3 local.get $4 + local.get $3 i32.load8_u i32.store8 local.get $2 @@ -1627,19 +1627,19 @@ local.get $0 i32.const 2 i32.add - local.tee $3 + local.tee $4 i32.const 1 i32.add local.set $0 local.get $1 i32.const 2 i32.add - local.tee $4 + local.tee $3 i32.const 1 i32.add local.set $1 - local.get $3 local.get $4 + local.get $3 i32.load8_u i32.store8 local.get $2 @@ -1654,7 +1654,7 @@ local.get $0 local.get $1 i32.load offset=1 - local.tee $3 + local.tee $4 i32.const 8 i32.shl local.get $5 @@ -1665,10 +1665,10 @@ local.get $0 local.get $1 i32.load offset=5 - local.tee $4 + local.tee $3 i32.const 8 i32.shl - local.get $3 + local.get $4 i32.const 24 i32.shr_u i32.or @@ -1676,10 +1676,10 @@ local.get $0 local.get $1 i32.load offset=9 - local.tee $3 + local.tee $4 i32.const 8 i32.shl - local.get $4 + local.get $3 i32.const 24 i32.shr_u i32.or @@ -1690,7 +1690,7 @@ local.tee $5 i32.const 8 i32.shl - local.get $3 + local.get $4 i32.const 24 i32.shr_u i32.or @@ -1745,7 +1745,7 @@ local.get $0 local.get $1 i32.load offset=2 - local.tee $3 + local.tee $4 i32.const 16 i32.shl local.get $5 @@ -1756,10 +1756,10 @@ local.get $0 local.get $1 i32.load offset=6 - local.tee $4 + local.tee $3 i32.const 16 i32.shl - local.get $3 + local.get $4 i32.const 16 i32.shr_u i32.or @@ -1767,10 +1767,10 @@ local.get $0 local.get $1 i32.load offset=10 - local.tee $3 + local.tee $4 i32.const 16 i32.shl - local.get $4 + local.get $3 i32.const 16 i32.shr_u i32.or @@ -1781,7 +1781,7 @@ local.tee $5 i32.const 16 i32.shl - local.get $3 + local.get $4 i32.const 16 i32.shr_u i32.or @@ -1807,17 +1807,17 @@ i32.load local.set $5 local.get $0 - local.tee $3 + local.tee $4 i32.const 1 i32.add local.set $0 local.get $1 - local.tee $4 + local.tee $3 i32.const 1 i32.add local.set $1 - local.get $3 local.get $4 + local.get $3 i32.load8_u i32.store8 local.get $2 @@ -1832,7 +1832,7 @@ local.get $0 local.get $1 i32.load offset=3 - local.tee $3 + local.tee $4 i32.const 24 i32.shl local.get $5 @@ -1843,10 +1843,10 @@ local.get $0 local.get $1 i32.load offset=7 - local.tee $4 + local.tee $3 i32.const 24 i32.shl - local.get $3 + local.get $4 i32.const 8 i32.shr_u i32.or @@ -1854,10 +1854,10 @@ local.get $0 local.get $1 i32.load offset=11 - local.tee $3 + local.tee $4 i32.const 24 i32.shl - local.get $4 + local.get $3 i32.const 8 i32.shr_u i32.or @@ -1868,7 +1868,7 @@ local.tee $5 i32.const 24 i32.shl - local.get $3 + local.get $4 i32.const 8 i32.shr_u i32.or @@ -1899,145 +1899,137 @@ i32.load8_u i32.store8 local.get $0 - local.tee $4 - i32.const 2 - i32.add - local.set $0 local.get $1 - local.tee $3 - i32.const 2 - i32.add - local.set $1 - local.get $4 - local.get $3 i32.load8_u offset=1 i32.store8 offset=1 local.get $0 - local.get $1 - i32.load8_u - i32.store8 - local.get $0 - local.tee $4 i32.const 2 i32.add - local.set $0 + local.tee $4 local.get $1 + i32.const 2 + i32.add local.tee $3 + i32.load8_u + i32.store8 + local.get $3 + local.tee $0 i32.const 2 i32.add - local.set $1 + local.set $3 local.get $4 - local.get $3 + local.get $0 i32.load8_u offset=1 i32.store8 offset=1 - local.get $0 - local.get $1 + local.get $4 + i32.const 2 + i32.add + local.tee $1 + local.get $3 i32.load8_u i32.store8 - local.get $0 + local.get $1 local.tee $4 i32.const 2 i32.add - local.set $0 - local.get $1 - local.tee $3 + local.set $1 + local.get $3 + local.tee $0 i32.const 2 i32.add - local.set $1 + local.set $3 local.get $4 - local.get $3 + local.get $0 i32.load8_u offset=1 i32.store8 offset=1 - local.get $0 local.get $1 + local.get $3 i32.load8_u i32.store8 - local.get $0 + local.get $1 local.tee $4 i32.const 2 i32.add - local.set $0 - local.get $1 - local.tee $3 + local.set $1 + local.get $3 + local.tee $0 i32.const 2 i32.add - local.set $1 + local.set $3 local.get $4 - local.get $3 + local.get $0 i32.load8_u offset=1 i32.store8 offset=1 - local.get $0 local.get $1 + local.get $3 i32.load8_u i32.store8 - local.get $0 + local.get $1 local.tee $4 i32.const 2 i32.add - local.set $0 - local.get $1 - local.tee $3 + local.set $1 + local.get $3 + local.tee $0 i32.const 2 i32.add - local.set $1 + local.set $3 local.get $4 - local.get $3 + local.get $0 i32.load8_u offset=1 i32.store8 offset=1 - local.get $0 local.get $1 + local.get $3 i32.load8_u i32.store8 - local.get $0 + local.get $1 local.tee $4 i32.const 2 i32.add - local.set $0 - local.get $1 - local.tee $3 + local.set $1 + local.get $3 + local.tee $0 i32.const 2 i32.add - local.set $1 + local.set $3 local.get $4 - local.get $3 + local.get $0 i32.load8_u offset=1 i32.store8 offset=1 - local.get $0 local.get $1 + local.get $3 i32.load8_u i32.store8 - local.get $0 + local.get $1 local.tee $4 i32.const 2 i32.add - local.set $0 - local.get $1 - local.tee $3 + local.set $1 + local.get $3 + local.tee $0 i32.const 2 i32.add - local.set $1 + local.set $3 local.get $4 - local.get $3 + local.get $0 i32.load8_u offset=1 i32.store8 offset=1 - local.get $0 local.get $1 + local.get $3 i32.load8_u i32.store8 - local.get $0 - local.tee $4 + local.get $1 i32.const 2 i32.add local.set $0 local.get $1 - local.tee $3 - i32.const 2 - i32.add - local.set $1 - local.get $4 local.get $3 i32.load8_u offset=1 i32.store8 offset=1 + local.get $3 + i32.const 2 + i32.add + local.set $1 end local.get $2 i32.const 8 @@ -2048,73 +2040,65 @@ i32.load8_u i32.store8 local.get $0 - local.tee $4 - i32.const 2 - i32.add - local.set $0 local.get $1 - local.tee $3 - i32.const 2 - i32.add - local.set $1 - local.get $4 - local.get $3 i32.load8_u offset=1 i32.store8 offset=1 local.get $0 - local.get $1 - i32.load8_u - i32.store8 - local.get $0 - local.tee $4 i32.const 2 i32.add - local.set $0 + local.tee $4 local.get $1 + i32.const 2 + i32.add local.tee $3 + i32.load8_u + i32.store8 + local.get $3 + local.tee $0 i32.const 2 i32.add - local.set $1 + local.set $3 local.get $4 - local.get $3 + local.get $0 i32.load8_u offset=1 i32.store8 offset=1 - local.get $0 - local.get $1 + local.get $4 + i32.const 2 + i32.add + local.tee $1 + local.get $3 i32.load8_u i32.store8 - local.get $0 + local.get $1 local.tee $4 i32.const 2 i32.add - local.set $0 - local.get $1 - local.tee $3 + local.set $1 + local.get $3 + local.tee $0 i32.const 2 i32.add - local.set $1 + local.set $3 local.get $4 - local.get $3 + local.get $0 i32.load8_u offset=1 i32.store8 offset=1 - local.get $0 local.get $1 + local.get $3 i32.load8_u i32.store8 - local.get $0 - local.tee $4 + local.get $1 i32.const 2 i32.add local.set $0 local.get $1 - local.tee $3 - i32.const 2 - i32.add - local.set $1 - local.get $4 local.get $3 i32.load8_u offset=1 i32.store8 offset=1 + local.get $3 + i32.const 2 + i32.add + local.set $1 end local.get $2 i32.const 4 @@ -2125,30 +2109,20 @@ i32.load8_u i32.store8 local.get $0 - local.tee $4 - i32.const 2 - i32.add - local.set $0 local.get $1 - local.tee $3 - i32.const 2 - i32.add - local.set $1 - local.get $4 - local.get $3 i32.load8_u offset=1 i32.store8 offset=1 local.get $0 - local.get $1 - i32.load8_u - i32.store8 - local.get $0 - local.tee $4 i32.const 2 i32.add - local.set $0 + local.tee $4 local.get $1 + i32.const 2 + i32.add local.tee $3 + i32.load8_u + i32.store8 + local.get $3 i32.const 2 i32.add local.set $1 @@ -2156,6 +2130,10 @@ local.get $3 i32.load8_u offset=1 i32.store8 offset=1 + local.get $4 + i32.const 2 + i32.add + local.set $0 end local.get $2 i32.const 2 @@ -2198,7 +2176,6 @@ (local $6 i32) (local $7 i32) (local $8 i32) - local.get $1 local.get $0 i32.const 20 i32.sub @@ -2208,7 +2185,8 @@ i32.and i32.const 16 i32.sub - i32.le_u + local.get $1 + i32.ge_u if local.get $6 local.get $1 @@ -2323,7 +2301,6 @@ i32.const 536870910 i32.lt_u if (result i32) - local.get $1 i32.const 1 i32.const 27 local.get $1 @@ -2332,6 +2309,7 @@ i32.shl i32.const 1 i32.sub + local.get $1 i32.add else local.get $1 @@ -2392,12 +2370,12 @@ unreachable end end - local.get $1 local.get $4 i32.load i32.const -4 i32.and - i32.gt_u + local.get $1 + i32.lt_u if i32.const 0 i32.const 1904 @@ -2438,10 +2416,10 @@ i32.ge_u if local.get $1 - local.get $2 local.get $4 i32.const 2 i32.and + local.get $2 i32.or i32.store local.get $2 @@ -2468,18 +2446,13 @@ local.get $1 i32.const 4 i32.add - local.tee $4 local.get $1 i32.load i32.const -4 i32.and i32.add + local.tee $4 local.get $4 - local.get $1 - i32.load - i32.const -4 - i32.and - i32.add i32.load i32.const -3 i32.and @@ -2496,19 +2469,19 @@ i32.load offset=8 local.set $4 local.get $1 - local.get $2 global.get $~lib/rt/itcms/white + local.get $2 i32.or i32.store offset=4 local.get $1 local.get $4 i32.store offset=8 local.get $4 - local.get $1 local.get $4 i32.load offset=4 i32.const 3 i32.and + local.get $1 i32.or i32.store offset=4 local.get $2 @@ -2539,14 +2512,13 @@ select local.set $5 block $~lib/util/memory/memmove|inlined.0 - local.get $0 - local.tee $1 local.get $4 - local.tee $0 + local.tee $1 + local.get $0 i32.eq br_if $~lib/util/memory/memmove|inlined.0 - local.get $1 local.get $0 + local.get $1 i32.sub local.get $5 i32.sub @@ -2557,26 +2529,26 @@ i32.sub i32.le_u if - local.get $0 local.get $1 + local.get $0 local.get $5 call $~lib/util/memory/memcpy br $~lib/util/memory/memmove|inlined.0 end local.get $0 local.get $1 - i32.lt_u + i32.gt_u if - local.get $1 + local.get $0 i32.const 7 i32.and - local.get $0 + local.get $1 i32.const 7 i32.and i32.eq if loop $while-continue|0 - local.get $0 + local.get $1 i32.const 7 i32.and if @@ -2587,16 +2559,16 @@ i32.const 1 i32.sub local.set $5 - local.get $0 + local.get $1 local.tee $3 i32.const 1 i32.add - local.set $0 - local.get $1 + local.set $1 + local.get $0 local.tee $2 i32.const 1 i32.add - local.set $1 + local.set $0 local.get $3 local.get $2 i32.load8_u @@ -2609,22 +2581,22 @@ i32.const 8 i32.ge_u if - local.get $0 local.get $1 + local.get $0 i64.load i64.store local.get $5 i32.const 8 i32.sub local.set $5 - local.get $0 - i32.const 8 - i32.add - local.set $0 local.get $1 i32.const 8 i32.add local.set $1 + local.get $0 + i32.const 8 + i32.add + local.set $0 br $while-continue|1 end end @@ -2632,16 +2604,16 @@ loop $while-continue|2 local.get $5 if - local.get $0 + local.get $1 local.tee $3 i32.const 1 i32.add - local.set $0 - local.get $1 + local.set $1 + local.get $0 local.tee $2 i32.const 1 i32.add - local.set $1 + local.set $0 local.get $3 local.get $2 i32.load8_u @@ -2654,16 +2626,16 @@ end end else - local.get $1 + local.get $0 i32.const 7 i32.and - local.get $0 + local.get $1 i32.const 7 i32.and i32.eq if loop $while-continue|3 - local.get $0 + local.get $1 local.get $5 i32.add i32.const 7 @@ -2672,13 +2644,13 @@ local.get $5 i32.eqz br_if $~lib/util/memory/memmove|inlined.0 - local.get $0 + local.get $1 local.get $5 i32.const 1 i32.sub local.tee $5 i32.add - local.get $1 + local.get $0 local.get $5 i32.add i32.load8_u @@ -2691,13 +2663,13 @@ i32.const 8 i32.ge_u if - local.get $0 + local.get $1 local.get $5 i32.const 8 i32.sub local.tee $5 i32.add - local.get $1 + local.get $0 local.get $5 i32.add i64.load @@ -2709,13 +2681,13 @@ loop $while-continue|5 local.get $5 if - local.get $0 + local.get $1 local.get $5 i32.const 1 i32.sub local.tee $5 i32.add - local.get $1 + local.get $0 local.get $5 i32.add i32.load8_u @@ -2851,10 +2823,10 @@ end ) (func $~lib/array/Array#__get (param $0 i32) (result i64) - local.get $0 i32.const 1196 i32.load - i32.ge_u + local.get $0 + i32.le_u if i32.const 1472 i32.const 1536 @@ -2872,10 +2844,10 @@ i64.load ) (func $~lib/array/Array#__get (param $0 i32) (result f32) - local.get $0 i32.const 1276 i32.load - i32.ge_u + local.get $0 + i32.le_u if i32.const 1472 i32.const 1536 @@ -2893,10 +2865,10 @@ f32.load ) (func $~lib/array/Array#__get (param $0 i32) (result f64) - local.get $0 i32.const 1372 i32.load - i32.ge_u + local.get $0 + i32.le_u if i32.const 1472 i32.const 1536 diff --git a/tests/compiler/std/staticarray.optimized.wat b/tests/compiler/std/staticarray.optimized.wat index 09e4b45326..807cc52cd7 100644 --- a/tests/compiler/std/staticarray.optimized.wat +++ b/tests/compiler/std/staticarray.optimized.wat @@ -230,8 +230,8 @@ (local $1 i32) (local $2 i32) (local $3 i32) - local.get $0 global.get $~lib/rt/itcms/iter + local.get $0 i32.eq if local.get $0 @@ -291,11 +291,11 @@ local.get $1 i32.store offset=8 local.get $1 - local.get $2 local.get $1 i32.load offset=4 i32.const 3 i32.and + local.get $2 i32.or i32.store offset=4 end @@ -309,10 +309,10 @@ if (result i32) i32.const 1 else - local.get $1 i32.const 3088 i32.load - i32.gt_u + local.get $1 + i32.lt_u if i32.const 1088 i32.const 1536 @@ -349,11 +349,11 @@ local.get $1 i32.store offset=8 local.get $1 - local.get $0 local.get $1 i32.load offset=4 i32.const 3 i32.and + local.get $0 i32.or i32.store offset=4 local.get $2 @@ -511,22 +511,22 @@ local.get $4 i32.eqz if - local.get $0 local.get $3 i32.const 2 i32.shl + local.get $0 i32.add - local.tee $1 + local.tee $4 i32.load offset=4 i32.const -2 local.get $2 i32.rotl i32.and - local.set $2 + local.set $1 + local.get $4 local.get $1 - local.get $2 i32.store offset=4 - local.get $2 + local.get $1 i32.eqz if local.get $0 @@ -774,10 +774,10 @@ i32.shl i32.or i32.store - local.get $0 local.get $5 i32.const 2 i32.shl + local.get $0 i32.add local.tee $0 local.get $0 @@ -817,11 +817,11 @@ i32.load offset=1568 local.tee $2 if + local.get $1 local.get $2 i32.const 4 i32.add - local.get $1 - i32.gt_u + i32.lt_u if i32.const 0 i32.const 1616 @@ -845,11 +845,11 @@ local.set $1 end else + local.get $1 local.get $0 i32.const 1572 i32.add - local.get $1 - i32.gt_u + i32.lt_u if i32.const 0 i32.const 1616 @@ -1136,13 +1136,13 @@ if local.get $0 i32.load offset=4 + local.tee $1 i32.const -4 i32.and global.set $~lib/rt/itcms/iter global.get $~lib/rt/itcms/white i32.eqz - local.get $0 - i32.load offset=4 + local.get $1 i32.const 3 i32.and i32.ne @@ -1229,10 +1229,10 @@ end global.get $~lib/rt/itcms/toSpace local.tee $0 - local.get $0 + local.tee $1 + local.get $1 i32.store offset=4 - global.get $~lib/rt/itcms/toSpace - local.tee $0 + local.get $0 local.get $0 i32.store offset=8 i32.const 0 @@ -1657,7 +1657,6 @@ i32.const 536870910 i32.lt_u if (result i32) - local.get $2 i32.const 1 i32.const 27 local.get $2 @@ -1666,6 +1665,7 @@ i32.shl i32.const 1 i32.sub + local.get $2 i32.add else local.get $2 @@ -1726,12 +1726,12 @@ unreachable end end - local.get $2 local.get $3 i32.load i32.const -4 i32.and - i32.gt_u + local.get $2 + i32.lt_u if i32.const 0 i32.const 1616 @@ -1769,10 +1769,10 @@ i32.ge_u if local.get $3 - local.get $2 local.get $4 i32.const 2 i32.and + local.get $2 i32.or i32.store local.get $2 @@ -1799,18 +1799,13 @@ local.get $3 i32.const 4 i32.add - local.tee $2 local.get $3 i32.load i32.const -4 i32.and i32.add + local.tee $2 local.get $2 - local.get $3 - i32.load - i32.const -4 - i32.and - i32.add i32.load i32.const -3 i32.and @@ -1827,19 +1822,19 @@ i32.load offset=8 local.set $2 local.get $3 - local.get $1 global.get $~lib/rt/itcms/white + local.get $1 i32.or i32.store offset=4 local.get $3 local.get $2 i32.store offset=8 local.get $2 - local.get $3 local.get $2 i32.load offset=4 i32.const 3 i32.and + local.get $3 i32.or i32.store offset=4 local.get $1 @@ -1875,17 +1870,17 @@ select if local.get $0 - local.tee $3 + local.tee $4 i32.const 1 i32.add local.set $0 local.get $1 - local.tee $4 + local.tee $3 i32.const 1 i32.add local.set $1 - local.get $3 local.get $4 + local.get $3 i32.load8_u i32.store8 local.get $2 @@ -2031,19 +2026,19 @@ local.get $0 i32.const 2 i32.add - local.tee $3 + local.tee $4 i32.const 1 i32.add local.set $0 local.get $1 i32.const 2 i32.add - local.tee $4 + local.tee $3 i32.const 1 i32.add local.set $1 - local.get $3 local.get $4 + local.get $3 i32.load8_u i32.store8 local.get $2 @@ -2058,7 +2053,7 @@ local.get $0 local.get $1 i32.load offset=1 - local.tee $3 + local.tee $4 i32.const 8 i32.shl local.get $5 @@ -2069,10 +2064,10 @@ local.get $0 local.get $1 i32.load offset=5 - local.tee $4 + local.tee $3 i32.const 8 i32.shl - local.get $3 + local.get $4 i32.const 24 i32.shr_u i32.or @@ -2080,10 +2075,10 @@ local.get $0 local.get $1 i32.load offset=9 - local.tee $3 + local.tee $4 i32.const 8 i32.shl - local.get $4 + local.get $3 i32.const 24 i32.shr_u i32.or @@ -2094,7 +2089,7 @@ local.tee $5 i32.const 8 i32.shl - local.get $3 + local.get $4 i32.const 24 i32.shr_u i32.or @@ -2149,7 +2144,7 @@ local.get $0 local.get $1 i32.load offset=2 - local.tee $3 + local.tee $4 i32.const 16 i32.shl local.get $5 @@ -2160,10 +2155,10 @@ local.get $0 local.get $1 i32.load offset=6 - local.tee $4 + local.tee $3 i32.const 16 i32.shl - local.get $3 + local.get $4 i32.const 16 i32.shr_u i32.or @@ -2171,10 +2166,10 @@ local.get $0 local.get $1 i32.load offset=10 - local.tee $3 + local.tee $4 i32.const 16 i32.shl - local.get $4 + local.get $3 i32.const 16 i32.shr_u i32.or @@ -2185,7 +2180,7 @@ local.tee $5 i32.const 16 i32.shl - local.get $3 + local.get $4 i32.const 16 i32.shr_u i32.or @@ -2211,17 +2206,17 @@ i32.load local.set $5 local.get $0 - local.tee $3 + local.tee $4 i32.const 1 i32.add local.set $0 local.get $1 - local.tee $4 + local.tee $3 i32.const 1 i32.add local.set $1 - local.get $3 local.get $4 + local.get $3 i32.load8_u i32.store8 local.get $2 @@ -2236,7 +2231,7 @@ local.get $0 local.get $1 i32.load offset=3 - local.tee $3 + local.tee $4 i32.const 24 i32.shl local.get $5 @@ -2247,10 +2242,10 @@ local.get $0 local.get $1 i32.load offset=7 - local.tee $4 + local.tee $3 i32.const 24 i32.shl - local.get $3 + local.get $4 i32.const 8 i32.shr_u i32.or @@ -2258,10 +2253,10 @@ local.get $0 local.get $1 i32.load offset=11 - local.tee $3 + local.tee $4 i32.const 24 i32.shl - local.get $4 + local.get $3 i32.const 8 i32.shr_u i32.or @@ -2272,7 +2267,7 @@ local.tee $5 i32.const 24 i32.shl - local.get $3 + local.get $4 i32.const 8 i32.shr_u i32.or @@ -2303,145 +2298,137 @@ i32.load8_u i32.store8 local.get $0 - local.tee $4 - i32.const 2 - i32.add - local.set $0 local.get $1 - local.tee $3 - i32.const 2 - i32.add - local.set $1 - local.get $4 - local.get $3 i32.load8_u offset=1 i32.store8 offset=1 local.get $0 - local.get $1 - i32.load8_u - i32.store8 - local.get $0 - local.tee $4 i32.const 2 i32.add - local.set $0 + local.tee $4 local.get $1 + i32.const 2 + i32.add local.tee $3 + i32.load8_u + i32.store8 + local.get $3 + local.tee $0 i32.const 2 i32.add - local.set $1 + local.set $3 local.get $4 - local.get $3 + local.get $0 i32.load8_u offset=1 i32.store8 offset=1 - local.get $0 - local.get $1 + local.get $4 + i32.const 2 + i32.add + local.tee $1 + local.get $3 i32.load8_u i32.store8 - local.get $0 + local.get $1 local.tee $4 i32.const 2 i32.add - local.set $0 - local.get $1 - local.tee $3 + local.set $1 + local.get $3 + local.tee $0 i32.const 2 i32.add - local.set $1 + local.set $3 local.get $4 - local.get $3 + local.get $0 i32.load8_u offset=1 i32.store8 offset=1 - local.get $0 local.get $1 + local.get $3 i32.load8_u i32.store8 - local.get $0 + local.get $1 local.tee $4 i32.const 2 i32.add - local.set $0 - local.get $1 - local.tee $3 + local.set $1 + local.get $3 + local.tee $0 i32.const 2 i32.add - local.set $1 + local.set $3 local.get $4 - local.get $3 + local.get $0 i32.load8_u offset=1 i32.store8 offset=1 - local.get $0 local.get $1 + local.get $3 i32.load8_u i32.store8 - local.get $0 + local.get $1 local.tee $4 i32.const 2 i32.add - local.set $0 - local.get $1 - local.tee $3 + local.set $1 + local.get $3 + local.tee $0 i32.const 2 i32.add - local.set $1 + local.set $3 local.get $4 - local.get $3 + local.get $0 i32.load8_u offset=1 i32.store8 offset=1 - local.get $0 local.get $1 + local.get $3 i32.load8_u i32.store8 - local.get $0 + local.get $1 local.tee $4 i32.const 2 i32.add - local.set $0 - local.get $1 - local.tee $3 + local.set $1 + local.get $3 + local.tee $0 i32.const 2 i32.add - local.set $1 + local.set $3 local.get $4 - local.get $3 + local.get $0 i32.load8_u offset=1 i32.store8 offset=1 - local.get $0 local.get $1 + local.get $3 i32.load8_u i32.store8 - local.get $0 + local.get $1 local.tee $4 i32.const 2 i32.add - local.set $0 - local.get $1 - local.tee $3 + local.set $1 + local.get $3 + local.tee $0 i32.const 2 i32.add - local.set $1 + local.set $3 local.get $4 - local.get $3 + local.get $0 i32.load8_u offset=1 i32.store8 offset=1 - local.get $0 local.get $1 + local.get $3 i32.load8_u i32.store8 - local.get $0 - local.tee $4 + local.get $1 i32.const 2 i32.add local.set $0 local.get $1 - local.tee $3 - i32.const 2 - i32.add - local.set $1 - local.get $4 local.get $3 i32.load8_u offset=1 i32.store8 offset=1 + local.get $3 + i32.const 2 + i32.add + local.set $1 end local.get $2 i32.const 8 @@ -2452,73 +2439,65 @@ i32.load8_u i32.store8 local.get $0 - local.tee $4 + local.get $1 + i32.load8_u offset=1 + i32.store8 offset=1 + local.get $0 i32.const 2 i32.add - local.set $0 + local.tee $4 local.get $1 + i32.const 2 + i32.add local.tee $3 + i32.load8_u + i32.store8 + local.get $3 + local.tee $0 i32.const 2 i32.add - local.set $1 + local.set $3 local.get $4 - local.get $3 + local.get $0 i32.load8_u offset=1 i32.store8 offset=1 - local.get $0 - local.get $1 + local.get $4 + i32.const 2 + i32.add + local.tee $1 + local.get $3 i32.load8_u i32.store8 - local.get $0 + local.get $1 local.tee $4 i32.const 2 i32.add - local.set $0 - local.get $1 - local.tee $3 + local.set $1 + local.get $3 + local.tee $0 i32.const 2 i32.add - local.set $1 + local.set $3 local.get $4 - local.get $3 + local.get $0 i32.load8_u offset=1 i32.store8 offset=1 - local.get $0 local.get $1 + local.get $3 i32.load8_u i32.store8 - local.get $0 - local.tee $4 + local.get $1 i32.const 2 i32.add local.set $0 local.get $1 - local.tee $3 - i32.const 2 - i32.add - local.set $1 - local.get $4 local.get $3 i32.load8_u offset=1 i32.store8 offset=1 - local.get $0 - local.get $1 - i32.load8_u - i32.store8 - local.get $0 - local.tee $4 - i32.const 2 - i32.add - local.set $0 - local.get $1 - local.tee $3 + local.get $3 i32.const 2 i32.add local.set $1 - local.get $4 - local.get $3 - i32.load8_u offset=1 - i32.store8 offset=1 end local.get $2 i32.const 4 @@ -2529,30 +2508,20 @@ i32.load8_u i32.store8 local.get $0 - local.tee $4 - i32.const 2 - i32.add - local.set $0 local.get $1 - local.tee $3 - i32.const 2 - i32.add - local.set $1 - local.get $4 - local.get $3 i32.load8_u offset=1 i32.store8 offset=1 local.get $0 - local.get $1 - i32.load8_u - i32.store8 - local.get $0 - local.tee $4 i32.const 2 i32.add - local.set $0 + local.tee $4 local.get $1 + i32.const 2 + i32.add local.tee $3 + i32.load8_u + i32.store8 + local.get $3 i32.const 2 i32.add local.set $1 @@ -2560,6 +2529,10 @@ local.get $3 i32.load8_u offset=1 i32.store8 offset=1 + local.get $4 + i32.const 2 + i32.add + local.set $0 end local.get $2 i32.const 2 @@ -3025,10 +2998,10 @@ i32.lt_s if global.get $~lib/memory/__stack_pointer - local.get $0 local.get $2 i32.const 2 i32.shl + local.get $0 i32.add i32.load local.tee $4 @@ -3140,23 +3113,23 @@ i32.lt_s if global.get $~lib/memory/__stack_pointer - local.get $7 local.get $3 i32.const 2 i32.shl + local.get $7 i32.add i32.load local.tee $4 i32.store offset=4 local.get $4 if - local.get $0 local.get $4 i32.const 20 i32.sub i32.load offset=16 i32.const 1 i32.shr_u + local.get $0 i32.add local.set $0 end @@ -3168,7 +3141,6 @@ end end global.get $~lib/memory/__stack_pointer - local.get $0 local.get $6 local.get $1 i32.const 20 @@ -3178,6 +3150,7 @@ i32.shr_u local.tee $5 i32.mul + local.get $0 i32.add i32.const 1 i32.shl @@ -3193,20 +3166,20 @@ i32.lt_s if global.get $~lib/memory/__stack_pointer - local.get $7 local.get $3 i32.const 2 i32.shl + local.get $7 i32.add i32.load local.tee $4 i32.store offset=4 local.get $4 if - local.get $0 local.get $2 i32.const 1 i32.shl + local.get $0 i32.add local.get $4 local.get $4 @@ -3226,10 +3199,10 @@ end local.get $5 if - local.get $0 local.get $2 i32.const 1 i32.shl + local.get $0 i32.add local.get $1 local.get $5 @@ -3249,20 +3222,20 @@ end end global.get $~lib/memory/__stack_pointer - local.get $7 local.get $6 i32.const 2 i32.shl + local.get $7 i32.add i32.load local.tee $1 i32.store offset=4 local.get $1 if - local.get $0 local.get $2 i32.const 1 i32.shl + local.get $0 i32.add local.get $1 local.get $1 @@ -3286,10 +3259,10 @@ (local $1 i32) (local $2 i32) local.get $0 - local.get $0 i32.const 20 i32.sub i32.load offset=16 + local.get $0 i32.add local.set $1 loop $while-continue|0 @@ -3417,10 +3390,10 @@ (local $0 i32) (local $1 i32) (local $2 i32) - (local $3 i32) - (local $4 i32) - (local $5 f64) - (local $6 f32) + (local $3 f32) + (local $4 f64) + (local $5 i32) + (local $6 i32) global.get $~lib/memory/__stack_pointer i32.const 28 i32.sub @@ -3431,19 +3404,19 @@ i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer - local.tee $2 + local.tee $6 i64.const 0 i64.store - local.get $2 + local.get $6 i64.const 0 i64.store offset=8 - local.get $2 + local.get $6 i64.const 0 i64.store offset=16 - local.get $2 + local.get $6 i32.const 0 i32.store offset=24 - local.get $2 + local.get $6 i32.const 1056 i32.store i32.const 1056 @@ -3600,17 +3573,17 @@ i32.const 12 i32.const 3 call $~lib/rt/itcms/__new - local.tee $2 + local.tee $6 i32.const 1312 i32.const 12 call $~lib/memory/memory.copy - local.get $2 + local.get $6 global.set $std/staticarray/arr3 global.get $~lib/memory/__stack_pointer global.get $std/staticarray/arr3 - local.tee $2 + local.tee $6 i32.store - local.get $2 + local.get $6 i32.const 0 call $~lib/staticarray/StaticArray#__get i32.const 5 @@ -3625,9 +3598,9 @@ end global.get $~lib/memory/__stack_pointer global.get $std/staticarray/arr3 - local.tee $2 + local.tee $6 i32.store - local.get $2 + local.get $6 i32.const 1 call $~lib/staticarray/StaticArray#__get i32.const 6 @@ -3642,9 +3615,9 @@ end global.get $~lib/memory/__stack_pointer global.get $std/staticarray/arr3 - local.tee $2 + local.tee $6 i32.store - local.get $2 + local.get $6 i32.const 2 call $~lib/staticarray/StaticArray#__get i32.const 7 @@ -3659,9 +3632,9 @@ end global.get $~lib/memory/__stack_pointer global.get $std/staticarray/arr3 - local.tee $2 + local.tee $6 i32.store - local.get $2 + local.get $6 i32.const 20 i32.sub i32.load offset=16 @@ -3679,16 +3652,16 @@ end global.get $~lib/memory/__stack_pointer global.get $std/staticarray/arr3 - local.tee $2 + local.tee $6 i32.store - local.get $2 + local.get $6 i32.const 8 call $~lib/staticarray/StaticArray#__set global.get $~lib/memory/__stack_pointer global.get $std/staticarray/arr3 - local.tee $2 + local.tee $6 i32.store - local.get $2 + local.get $6 i32.const 1 call $~lib/staticarray/StaticArray#__get i32.const 8 @@ -3704,17 +3677,17 @@ i32.const 12 i32.const 3 call $~lib/rt/itcms/__new - local.tee $2 + local.tee $6 i32.const 1312 i32.const 12 call $~lib/memory/memory.copy - local.get $2 + local.get $6 global.set $std/staticarray/arr3 global.get $~lib/memory/__stack_pointer global.get $std/staticarray/arr3 - local.tee $2 + local.tee $6 i32.store - local.get $2 + local.get $6 i32.const 1 call $~lib/staticarray/StaticArray#__get i32.const 6 @@ -3731,32 +3704,33 @@ i32.const 8 i32.const 5 call $~lib/rt/itcms/__new - local.tee $2 + local.tee $6 i32.store offset=4 - local.get $2 + local.get $6 call $std/staticarray/Ref#constructor - local.tee $1 + local.tee $0 i32.store - local.get $2 - local.get $1 + local.get $6 + local.get $0 i32.const 1 call $~lib/rt/itcms/__link - local.get $2 + local.get $6 call $std/staticarray/Ref#constructor - local.tee $1 + local.tee $0 i32.store offset=4 - local.get $2 - local.get $1 + local.get $6 + local.get $0 i32.const 1 call $~lib/rt/itcms/__link - local.get $2 + local.get $6 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 $1 + local.tee $6 + local.get $6 i32.const 4 i32.sub global.set $~lib/memory/__stack_pointer @@ -3765,26 +3739,25 @@ i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer - local.tee $2 + local.tee $6 i32.const 0 i32.store - local.get $2 + local.get $6 i32.const 12 i32.const 3 call $~lib/rt/itcms/__new - local.tee $2 + local.tee $6 i32.store - local.get $2 + local.get $6 i32.const 12 call $~lib/memory/memory.fill global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $1 - local.get $2 + local.get $6 i32.store offset=4 - local.get $2 + local.get $6 i32.const 20 i32.sub i32.load offset=16 @@ -3801,17 +3774,17 @@ unreachable end loop $for-loop|0 - local.get $0 - local.get $2 + local.get $6 i32.const 20 i32.sub i32.load offset=16 i32.const 2 i32.shr_u - i32.lt_s + local.get $1 + i32.gt_s if - local.get $2 - local.get $0 + local.get $6 + local.get $1 call $~lib/staticarray/StaticArray#__get if i32.const 0 @@ -3821,10 +3794,10 @@ call $~lib/builtins/abort unreachable end - local.get $0 + local.get $1 i32.const 1 i32.add - local.set $0 + local.set $1 br $for-loop|0 end end @@ -3833,16 +3806,16 @@ i32.const 6 i32.const 1728 call $~lib/rt/__newArray - local.tee $2 + local.tee $6 i32.store offset=8 global.get $~lib/memory/__stack_pointer - local.get $2 + local.get $6 call $~lib/staticarray/StaticArray.fromArray - local.tee $1 + local.tee $0 i32.store offset=4 - local.get $2 + local.get $6 i32.load offset=12 - local.get $1 + local.get $0 i32.const 20 i32.sub i32.load offset=16 @@ -3858,20 +3831,21 @@ unreachable end i32.const 0 - local.set $0 + local.set $1 loop $for-loop|1 - local.get $0 - local.get $2 + local.get $6 i32.load offset=12 - i32.lt_s + local.get $1 + i32.gt_s if - local.get $1 local.get $0 + local.get $1 call $~lib/staticarray/StaticArray#__get - local.get $0 - local.get $2 + local.set $2 + local.get $6 i32.load offset=12 - i32.ge_u + local.get $1 + i32.le_u if i32.const 1088 i32.const 1776 @@ -3880,13 +3854,14 @@ call $~lib/builtins/abort unreachable end - local.get $2 + local.get $6 i32.load offset=4 - local.get $0 + local.get $1 i32.const 2 i32.shl i32.add i32.load + local.get $2 i32.ne if i32.const 0 @@ -3896,10 +3871,10 @@ call $~lib/builtins/abort unreachable end - local.get $0 + local.get $1 i32.const 1 i32.add - local.set $0 + local.set $1 br $for-loop|1 end end @@ -3908,15 +3883,15 @@ i32.const 6 i32.const 1824 call $~lib/rt/__newArray - local.set $2 + local.set $6 global.get $~lib/memory/__stack_pointer - local.get $2 + local.get $6 i32.store - local.get $2 + local.get $6 call $~lib/staticarray/StaticArray.fromArray - local.tee $2 + local.tee $6 i32.store offset=4 - local.get $2 + local.get $6 i32.const 20 i32.sub i32.load offset=16 @@ -3934,29 +3909,29 @@ i32.const 8 i32.const 3 call $~lib/rt/itcms/__new - local.tee $2 + local.tee $6 i32.const 1856 i32.const 8 call $~lib/memory/memory.copy - local.get $2 + local.get $6 i32.store offset=4 global.get $~lib/memory/__stack_pointer i32.const 4 i32.const 3 call $~lib/rt/itcms/__new - local.tee $0 + local.tee $1 i32.const 1888 i32.const 4 call $~lib/memory/memory.copy global.get $~lib/memory/__stack_pointer - local.get $0 + local.get $1 i32.store offset=12 - local.get $2 - local.get $0 + local.get $6 + local.get $1 call $~lib/staticarray/StaticArray.concat - local.tee $0 + local.tee $1 i32.store offset=8 - local.get $0 + local.get $1 i32.const 20 i32.sub i32.load offset=16 @@ -3976,25 +3951,25 @@ i32.const 0 i32.const 3 call $~lib/rt/itcms/__new - local.tee $0 + local.tee $1 i32.const 1920 i32.const 0 call $~lib/memory/memory.copy global.get $~lib/memory/__stack_pointer - local.get $0 + local.get $1 i32.store offset=12 - local.get $2 - local.get $0 + local.get $6 + local.get $1 call $~lib/staticarray/StaticArray.concat - local.tee $0 + local.tee $1 i32.store offset=8 - local.get $0 + local.get $1 i32.const 20 i32.sub i32.load offset=16 i32.const 2 i32.shr_u - local.get $2 + local.get $6 i32.const 20 i32.sub i32.load offset=16 @@ -4013,26 +3988,26 @@ i32.const 20 i32.const 8 call $~lib/rt/itcms/__new - local.tee $2 + local.tee $6 i32.const 2128 i32.const 20 call $~lib/memory/memory.copy - local.get $2 + local.get $6 i32.store offset=8 global.get $~lib/memory/__stack_pointer - local.get $2 + local.get $6 i32.const 0 i32.const 2147483647 call $~lib/staticarray/StaticArray.slice<~lib/string/String> - local.tee $1 + local.tee $0 i32.store offset=4 - local.get $1 + local.get $0 i32.const 20 i32.sub i32.load offset=16 i32.const 2 i32.shr_u - local.get $2 + local.get $6 i32.const 20 i32.sub i32.load offset=16 @@ -4048,33 +4023,33 @@ unreachable end i32.const 0 - local.set $0 + local.set $1 loop $for-loop|2 - local.get $0 - local.get $2 + local.get $6 i32.const 20 i32.sub i32.load offset=16 i32.const 2 i32.shr_u - i32.lt_s + local.get $1 + i32.gt_s if - local.get $2 - local.get $0 + local.get $6 + local.get $1 call $~lib/staticarray/StaticArray<~lib/string/String>#__get - local.set $3 + local.set $2 global.get $~lib/memory/__stack_pointer - local.get $3 + local.get $2 i32.store - local.get $1 local.get $0 + local.get $1 call $~lib/staticarray/StaticArray<~lib/string/String>#__get - local.set $4 + local.set $5 global.get $~lib/memory/__stack_pointer - local.get $4 + local.get $5 i32.store offset=12 - local.get $3 - local.get $4 + local.get $2 + local.get $5 call $~lib/string/String.__eq i32.eqz if @@ -4085,21 +4060,21 @@ call $~lib/builtins/abort unreachable end - local.get $0 + local.get $1 i32.const 1 i32.add - local.set $0 + local.set $1 br $for-loop|2 end end global.get $~lib/memory/__stack_pointer - local.get $2 + local.get $6 i32.const 1 i32.const 3 call $~lib/staticarray/StaticArray.slice<~lib/string/String> - local.tee $0 + local.tee $1 i32.store offset=4 - local.get $0 + local.get $1 i32.const 20 i32.sub i32.load offset=16 @@ -4115,18 +4090,18 @@ call $~lib/builtins/abort unreachable end - local.get $0 + local.get $1 i32.const 0 call $~lib/staticarray/StaticArray<~lib/string/String>#__get - local.set $1 + local.set $0 global.get $~lib/memory/__stack_pointer - local.tee $3 - local.get $1 + local.tee $2 + local.get $0 i32.store - local.get $3 + local.get $2 i32.const 1984 i32.store offset=12 - local.get $1 + local.get $0 i32.const 1984 call $~lib/string/String.__eq i32.eqz @@ -4138,18 +4113,18 @@ call $~lib/builtins/abort unreachable end - local.get $0 + local.get $1 i32.const 1 call $~lib/staticarray/StaticArray<~lib/string/String>#__get - local.set $0 + local.set $1 global.get $~lib/memory/__stack_pointer - local.tee $1 - local.get $0 - i32.store + local.tee $0 local.get $1 + i32.store + local.get $0 i32.const 2016 i32.store offset=12 - local.get $0 + local.get $1 i32.const 2016 call $~lib/string/String.__eq i32.eqz @@ -4162,13 +4137,13 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $2 + local.get $6 i32.const 1 i32.const 2147483647 call $~lib/staticarray/StaticArray.slice<~lib/string/String> - local.tee $0 + local.tee $1 i32.store offset=4 - local.get $2 + local.get $6 i32.const 20 i32.sub i32.load offset=16 @@ -4176,7 +4151,7 @@ i32.shr_u i32.const 1 i32.sub - local.get $0 + local.get $1 i32.const 20 i32.sub i32.load offset=16 @@ -4192,19 +4167,19 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $2 + local.get $6 i32.const 0 i32.const 50 call $~lib/staticarray/StaticArray.slice<~lib/string/String> - local.tee $0 + local.tee $1 i32.store offset=4 - local.get $0 + local.get $1 i32.const 20 i32.sub i32.load offset=16 i32.const 2 i32.shr_u - local.get $2 + local.get $6 i32.const 20 i32.sub i32.load offset=16 @@ -4220,13 +4195,13 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $2 + local.get $6 i32.const 100 i32.const 2147483647 call $~lib/staticarray/StaticArray.slice<~lib/string/String> - local.tee $0 + local.tee $1 i32.store offset=4 - local.get $0 + local.get $1 i32.const 20 i32.sub i32.load offset=16 @@ -4241,13 +4216,13 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $2 + local.get $6 i32.const -1 i32.const 2147483647 call $~lib/staticarray/StaticArray.slice<~lib/string/String> - local.tee $0 + local.tee $1 i32.store offset=4 - local.get $0 + local.get $1 i32.const 20 i32.sub i32.load offset=16 @@ -4263,18 +4238,18 @@ call $~lib/builtins/abort unreachable end - local.get $0 + local.get $1 i32.const 0 call $~lib/staticarray/StaticArray<~lib/string/String>#__get - local.set $0 + local.set $1 global.get $~lib/memory/__stack_pointer - local.tee $1 - local.get $0 - i32.store + local.tee $0 local.get $1 + i32.store + local.get $0 i32.const 2080 i32.store offset=12 - local.get $0 + local.get $1 i32.const 2080 call $~lib/string/String.__eq i32.eqz @@ -4287,13 +4262,13 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $2 + local.get $6 i32.const -2 i32.const -2 call $~lib/staticarray/StaticArray.slice<~lib/string/String> - local.tee $0 + local.tee $1 i32.store offset=4 - local.get $0 + local.get $1 i32.const 20 i32.sub i32.load offset=16 @@ -4308,13 +4283,13 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $2 + local.get $6 i32.const 2 i32.const -2 call $~lib/staticarray/StaticArray.slice<~lib/string/String> - local.tee $2 + local.tee $6 i32.store offset=4 - local.get $2 + local.get $6 i32.const 20 i32.sub i32.load offset=16 @@ -4330,18 +4305,18 @@ call $~lib/builtins/abort unreachable end - local.get $2 + local.get $6 i32.const 0 call $~lib/staticarray/StaticArray<~lib/string/String>#__get - local.set $2 + local.set $6 global.get $~lib/memory/__stack_pointer - local.tee $0 - local.get $2 + local.tee $1 + local.get $6 i32.store - local.get $0 + local.get $1 i32.const 2016 i32.store offset=12 - local.get $2 + local.get $6 i32.const 2016 call $~lib/string/String.__eq i32.eqz @@ -4357,29 +4332,29 @@ i32.const 20 i32.const 8 call $~lib/rt/itcms/__new - local.tee $2 + local.tee $6 i32.const 2304 i32.const 20 call $~lib/memory/memory.copy - local.get $2 + local.get $6 i32.store offset=4 global.get $~lib/memory/__stack_pointer i32.const 0 i32.const 9 i32.const 2352 call $~lib/rt/__newArray - local.set $0 + local.set $1 global.get $~lib/memory/__stack_pointer - local.get $0 + local.get $1 i32.store offset=12 - local.get $2 - local.get $0 + local.get $6 + local.get $1 call $~lib/staticarray/StaticArray<~lib/string/String>#concat - local.tee $0 + local.tee $1 i32.store offset=16 - local.get $0 + local.get $1 i32.load offset=12 - local.get $2 + local.get $6 i32.const 20 i32.sub i32.load offset=16 @@ -4399,18 +4374,18 @@ i32.const 9 i32.const 2416 call $~lib/rt/__newArray - local.set $0 + local.set $1 global.get $~lib/memory/__stack_pointer - local.get $0 + local.get $1 i32.store offset=12 - local.get $2 - local.get $0 + local.get $6 + local.get $1 call $~lib/staticarray/StaticArray<~lib/string/String>#concat - local.tee $0 + local.tee $1 i32.store offset=16 - local.get $0 + local.get $1 i32.load offset=12 - local.get $2 + local.get $6 i32.const 20 i32.sub i32.load offset=16 @@ -4431,16 +4406,16 @@ i32.const 20 i32.const 8 call $~lib/rt/itcms/__new - local.tee $2 + local.tee $6 i32.const 2448 i32.const 20 call $~lib/memory/memory.copy - local.get $2 + local.get $6 i32.store offset=16 global.get $~lib/memory/__stack_pointer i32.const 1984 i32.store offset=12 - local.get $2 + local.get $6 i32.const 1984 i32.const 0 call $~lib/staticarray/StaticArray<~lib/string/String>#includes @@ -4457,7 +4432,7 @@ global.get $~lib/memory/__stack_pointer i32.const 2384 i32.store offset=12 - local.get $2 + local.get $6 i32.const 2384 i32.const 0 call $~lib/staticarray/StaticArray<~lib/string/String>#includes @@ -4472,7 +4447,7 @@ global.get $~lib/memory/__stack_pointer i32.const 2080 i32.store offset=12 - local.get $2 + local.get $6 i32.const 2080 i32.const 5 call $~lib/staticarray/StaticArray<~lib/string/String>#includes @@ -4487,7 +4462,7 @@ global.get $~lib/memory/__stack_pointer i32.const 2080 i32.store offset=12 - local.get $2 + local.get $6 i32.const 2080 i32.const -1 call $~lib/staticarray/StaticArray<~lib/string/String>#includes @@ -4504,63 +4479,62 @@ i32.const 8 i32.const 10 call $~lib/rt/itcms/__new - local.tee $2 + local.tee $6 i32.const 2496 i32.const 8 call $~lib/memory/memory.copy global.get $~lib/memory/__stack_pointer - local.get $2 + local.get $6 i32.store block $__inlined_func$~lib/staticarray/StaticArray#includes (result i32) i32.const 0 - local.set $0 + local.set $1 i32.const 0 - local.get $2 + local.get $6 i32.const 20 i32.sub i32.load offset=16 i32.const 3 i32.shr_u - local.tee $3 + local.tee $2 i32.const 0 - local.get $3 + local.get $2 select i32.eqz br_if $__inlined_func$~lib/staticarray/StaticArray#includes drop loop $while-continue|0 - local.get $0 - local.get $3 + local.get $1 + local.get $2 i32.lt_s if i32.const 1 i32.const 1 - local.get $2 - local.get $0 + local.get $1 i32.const 3 i32.shl + local.get $6 i32.add f64.load - local.tee $5 - local.get $5 + local.tee $4 + local.get $4 f64.ne - local.get $5 + local.get $4 f64.const nan:0x8000000000000 f64.eq select br_if $__inlined_func$~lib/staticarray/StaticArray#includes drop - local.get $0 + local.get $1 i32.const 1 i32.add - local.set $0 + local.set $1 br $while-continue|0 end end i32.const 0 end - i32.const 1 - i32.ne + i32.eqz if i32.const 0 i32.const 1216 @@ -4572,63 +4546,62 @@ i32.const 4 i32.const 11 call $~lib/rt/itcms/__new - local.tee $2 + local.tee $6 i32.const 2528 i32.const 4 call $~lib/memory/memory.copy global.get $~lib/memory/__stack_pointer - local.get $2 + local.get $6 i32.store block $__inlined_func$~lib/staticarray/StaticArray#includes (result i32) i32.const 0 - local.set $0 + local.set $1 i32.const 0 - local.get $2 + local.get $6 i32.const 20 i32.sub i32.load offset=16 i32.const 2 i32.shr_u - local.tee $3 + local.tee $2 i32.const 0 - local.get $3 + local.get $2 select i32.eqz br_if $__inlined_func$~lib/staticarray/StaticArray#includes drop loop $while-continue|07 - local.get $0 - local.get $3 + local.get $1 + local.get $2 i32.lt_s if i32.const 1 i32.const 1 - local.get $2 - local.get $0 + local.get $1 i32.const 2 i32.shl + local.get $6 i32.add f32.load - local.tee $6 - local.get $6 + local.tee $3 + local.get $3 f32.ne - local.get $6 + local.get $3 f32.const nan:0x400000 f32.eq select br_if $__inlined_func$~lib/staticarray/StaticArray#includes drop - local.get $0 + local.get $1 i32.const 1 i32.add - local.set $0 + local.set $1 br $while-continue|07 end end i32.const 0 end - i32.const 1 - i32.ne + i32.eqz if i32.const 0 i32.const 1216 @@ -4641,56 +4614,56 @@ i32.const 12 i32.const 3 call $~lib/rt/itcms/__new - local.tee $2 + local.tee $6 i32.const 2560 i32.const 12 call $~lib/memory/memory.copy - local.get $2 + local.get $6 i32.store offset=16 i32.const 0 - local.set $0 + local.set $1 block $__inlined_func$~lib/staticarray/StaticArray#indexOf - local.get $2 + local.get $6 i32.const 20 i32.sub i32.load offset=16 i32.const 2 i32.shr_u - local.tee $1 + local.tee $0 i32.const 0 - local.get $1 + local.get $0 select i32.eqz if i32.const -1 - local.set $0 + local.set $1 br $__inlined_func$~lib/staticarray/StaticArray#indexOf end loop $while-continue|013 local.get $0 local.get $1 - i32.lt_s + i32.gt_s if - local.get $2 - local.get $0 + local.get $1 i32.const 2 i32.shl + local.get $6 i32.add i32.load i32.const 2 i32.eq br_if $__inlined_func$~lib/staticarray/StaticArray#indexOf - local.get $0 + local.get $1 i32.const 1 i32.add - local.set $0 + local.set $1 br $while-continue|013 end end i32.const -1 - local.set $0 + local.set $1 end - local.get $0 + local.get $1 if i32.const 0 i32.const 1216 @@ -4700,49 +4673,49 @@ unreachable end i32.const 0 - local.set $0 + local.set $1 block $__inlined_func$~lib/staticarray/StaticArray#indexOf14 - local.get $2 + local.get $6 i32.const 20 i32.sub i32.load offset=16 i32.const 2 i32.shr_u - local.tee $1 + local.tee $0 i32.const 0 - local.get $1 + local.get $0 select i32.eqz if i32.const -1 - local.set $0 + local.set $1 br $__inlined_func$~lib/staticarray/StaticArray#indexOf14 end loop $while-continue|015 local.get $0 local.get $1 - i32.lt_s + i32.gt_s if - local.get $2 - local.get $0 + local.get $1 i32.const 2 i32.shl + local.get $6 i32.add i32.load i32.const 7 i32.eq br_if $__inlined_func$~lib/staticarray/StaticArray#indexOf14 - local.get $0 + local.get $1 i32.const 1 i32.add - local.set $0 + local.set $1 br $while-continue|015 end end i32.const -1 - local.set $0 + local.set $1 end - local.get $0 + local.get $1 i32.const -1 i32.ne if @@ -4754,50 +4727,50 @@ unreachable end i32.const 2 - local.set $0 + local.set $1 block $__inlined_func$~lib/staticarray/StaticArray#indexOf16 - local.get $2 + local.get $6 i32.const 20 i32.sub i32.load offset=16 i32.const 2 i32.shr_u - local.tee $1 + local.tee $0 i32.const 2 i32.le_u i32.const 1 - local.get $1 + local.get $0 select if i32.const -1 - local.set $0 + local.set $1 br $__inlined_func$~lib/staticarray/StaticArray#indexOf16 end loop $while-continue|017 local.get $0 local.get $1 - i32.lt_s + i32.gt_s if - local.get $2 - local.get $0 + local.get $1 i32.const 2 i32.shl + local.get $6 i32.add i32.load i32.const 9 i32.eq br_if $__inlined_func$~lib/staticarray/StaticArray#indexOf16 - local.get $0 + local.get $1 i32.const 1 i32.add - local.set $0 + local.set $1 br $while-continue|017 end end i32.const -1 - local.set $0 + local.set $1 end - local.get $0 + local.get $1 i32.const 2 i32.ne if @@ -4809,58 +4782,58 @@ unreachable end block $__inlined_func$~lib/staticarray/StaticArray#indexOf18 - local.get $2 + local.get $6 i32.const 20 i32.sub i32.load offset=16 i32.const 2 i32.shr_u - local.tee $1 + local.tee $0 i32.const -1 i32.le_s i32.const 1 - local.get $1 + local.get $0 select if i32.const -1 - local.set $0 + local.set $1 br $__inlined_func$~lib/staticarray/StaticArray#indexOf18 end - local.get $1 + local.get $0 i32.const 1 i32.sub - local.tee $0 + local.tee $1 i32.const 0 - local.get $0 + local.get $1 i32.const 0 i32.gt_s select - local.set $0 + local.set $1 loop $while-continue|019 local.get $0 local.get $1 - i32.lt_s + i32.gt_s if - local.get $2 - local.get $0 + local.get $1 i32.const 2 i32.shl + local.get $6 i32.add i32.load i32.const 2 i32.eq br_if $__inlined_func$~lib/staticarray/StaticArray#indexOf18 - local.get $0 + local.get $1 i32.const 1 i32.add - local.set $0 + local.set $1 br $while-continue|019 end end i32.const -1 - local.set $0 + local.set $1 end - local.get $0 + local.get $1 i32.const -1 i32.ne if @@ -4872,58 +4845,58 @@ unreachable end block $__inlined_func$~lib/staticarray/StaticArray#indexOf20 - local.get $2 + local.get $6 i32.const 20 i32.sub i32.load offset=16 i32.const 2 i32.shr_u - local.tee $1 + local.tee $0 i32.const -3 i32.le_s i32.const 1 - local.get $1 + local.get $0 select if i32.const -1 - local.set $0 + local.set $1 br $__inlined_func$~lib/staticarray/StaticArray#indexOf20 end - local.get $1 + local.get $0 i32.const 3 i32.sub - local.tee $0 + local.tee $1 i32.const 0 - local.get $0 + local.get $1 i32.const 0 i32.gt_s select - local.set $0 + local.set $1 loop $while-continue|021 local.get $0 local.get $1 - i32.lt_s + i32.gt_s if - local.get $2 - local.get $0 + local.get $1 i32.const 2 i32.shl + local.get $6 i32.add i32.load i32.const 2 i32.eq br_if $__inlined_func$~lib/staticarray/StaticArray#indexOf20 - local.get $0 + local.get $1 i32.const 1 i32.add - local.set $0 + local.set $1 br $while-continue|021 end end i32.const -1 - local.set $0 + local.set $1 end - local.get $0 + local.get $1 if i32.const 0 i32.const 1216 @@ -4937,23 +4910,22 @@ i32.const 9 i32.const 2688 call $~lib/rt/__newArray - local.tee $2 + local.tee $6 i32.store offset=4 global.get $~lib/memory/__stack_pointer i32.const 2752 i32.store offset=20 - local.get $2 + local.get $6 i32.const 2752 call $~lib/array/Array<~lib/string/String>#join - local.set $0 + local.set $1 global.get $~lib/memory/__stack_pointer - local.tee $1 - local.get $0 - i32.store local.get $1 + i32.store + global.get $~lib/memory/__stack_pointer i32.const 2784 i32.store offset=12 - local.get $0 + local.get $1 i32.const 2784 call $~lib/string/String.__eq i32.eqz @@ -4968,18 +4940,17 @@ global.get $~lib/memory/__stack_pointer i32.const 2720 i32.store offset=20 - local.get $2 + local.get $6 i32.const 2720 call $~lib/array/Array<~lib/string/String>#join - local.set $0 + local.set $1 global.get $~lib/memory/__stack_pointer - local.tee $1 - local.get $0 - i32.store local.get $1 + i32.store + global.get $~lib/memory/__stack_pointer i32.const 2832 i32.store offset=12 - local.get $0 + local.get $1 i32.const 2832 call $~lib/string/String.__eq i32.eqz @@ -4994,18 +4965,17 @@ global.get $~lib/memory/__stack_pointer i32.const 2880 i32.store offset=20 - local.get $2 + local.get $6 i32.const 2880 call $~lib/array/Array<~lib/string/String>#join - local.set $0 + local.set $1 global.get $~lib/memory/__stack_pointer - local.tee $1 - local.get $0 - i32.store local.get $1 + i32.store + global.get $~lib/memory/__stack_pointer i32.const 2912 i32.store offset=12 - local.get $0 + local.get $1 i32.const 2912 call $~lib/string/String.__eq i32.eqz @@ -5020,18 +4990,17 @@ global.get $~lib/memory/__stack_pointer i32.const 2960 i32.store offset=20 - local.get $2 + local.get $6 i32.const 2960 call $~lib/array/Array<~lib/string/String>#join - local.set $0 + local.set $1 global.get $~lib/memory/__stack_pointer - local.tee $1 - local.get $0 - i32.store local.get $1 + i32.store + global.get $~lib/memory/__stack_pointer i32.const 2992 i32.store offset=12 - local.get $0 + local.get $1 i32.const 2992 call $~lib/string/String.__eq i32.eqz @@ -5046,15 +5015,14 @@ global.get $~lib/memory/__stack_pointer i32.const 2752 i32.store offset=20 - local.get $2 + local.get $6 i32.const 2752 call $~lib/array/Array<~lib/string/String>#join - local.set $0 + local.set $1 global.get $~lib/memory/__stack_pointer - local.tee $1 - local.get $0 - i32.store local.get $1 + i32.store + global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub global.set $~lib/memory/__stack_pointer @@ -5063,25 +5031,25 @@ i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer - local.tee $1 + local.tee $0 i32.const 0 i32.store - local.get $1 + local.get $0 i32.const 2752 i32.store - local.get $2 + local.get $6 i32.const 2752 call $~lib/array/Array<~lib/string/String>#join - local.set $2 + local.set $6 global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - local.get $2 + local.get $6 i32.store offset=12 - local.get $0 - local.get $2 + local.get $1 + local.get $6 call $~lib/string/String.__eq i32.eqz if @@ -5097,64 +5065,63 @@ i32.const 6 i32.const 3056 call $~lib/rt/__newArray - local.tee $2 + local.tee $6 i32.store offset=24 - local.get $2 + local.get $6 i32.load offset=12 - local.set $0 - i32.const -1 + local.tee $2 local.set $1 + i32.const -1 + local.set $0 block $__inlined_func$~lib/array/Array#lastIndexOf local.get $2 - i32.load offset=12 - local.tee $3 i32.eqz br_if $__inlined_func$~lib/array/Array#lastIndexOf - local.get $0 - local.get $3 + local.get $1 + local.get $2 i32.add - local.get $3 + local.get $2 i32.const 1 i32.sub - local.get $0 - local.get $0 - local.get $3 + local.get $1 + local.get $1 + local.get $2 i32.ge_s select - local.get $0 + local.get $1 i32.const 0 i32.lt_s select - local.set $0 - local.get $2 + local.set $1 + local.get $6 i32.load offset=4 - local.set $3 + local.set $2 loop $while-continue|00 - local.get $0 + local.get $1 i32.const 0 i32.ge_s if - local.get $3 - local.get $0 - local.tee $1 + local.get $1 + local.tee $0 i32.const 2 i32.shl + local.get $2 i32.add i32.load i32.const 2 i32.eq br_if $__inlined_func$~lib/array/Array#lastIndexOf - local.get $1 + local.get $0 i32.const 1 i32.sub - local.set $0 + local.set $1 br $while-continue|00 end end i32.const -1 - local.set $1 + local.set $0 end - local.get $1 + local.get $0 i32.const 3 i32.ne if @@ -5165,62 +5132,61 @@ call $~lib/builtins/abort unreachable end - local.get $2 + local.get $6 i32.load offset=12 - local.set $0 - i32.const -1 + local.tee $2 local.set $1 + i32.const -1 + local.set $0 block $__inlined_func$~lib/array/Array#lastIndexOf5 local.get $2 - i32.load offset=12 - local.tee $3 i32.eqz br_if $__inlined_func$~lib/array/Array#lastIndexOf5 - local.get $0 - local.get $3 + local.get $1 + local.get $2 i32.add - local.get $3 + local.get $2 i32.const 1 i32.sub - local.get $0 - local.get $0 - local.get $3 + local.get $1 + local.get $1 + local.get $2 i32.ge_s select - local.get $0 + local.get $1 i32.const 0 i32.lt_s select - local.set $0 - local.get $2 + local.set $1 + local.get $6 i32.load offset=4 - local.set $3 + local.set $2 loop $while-continue|06 - local.get $0 + local.get $1 i32.const 0 i32.ge_s if - local.get $3 - local.get $0 - local.tee $1 + local.get $1 + local.tee $0 i32.const 2 i32.shl + local.get $2 i32.add i32.load i32.const 7 i32.eq br_if $__inlined_func$~lib/array/Array#lastIndexOf5 - local.get $1 + local.get $0 i32.const 1 i32.sub - local.set $0 + local.set $1 br $while-continue|06 end end i32.const -1 - local.set $1 + local.set $0 end - local.get $1 + local.get $0 i32.const -1 i32.ne if @@ -5232,52 +5198,52 @@ unreachable end block $__inlined_func$~lib/array/Array#lastIndexOf7 - local.get $2 + local.get $6 i32.load offset=12 - local.tee $0 + local.tee $1 i32.eqz if i32.const -1 - local.set $0 + local.set $1 br $__inlined_func$~lib/array/Array#lastIndexOf7 end - local.get $0 + local.get $1 i32.const 1 i32.sub i32.const 3 - local.get $0 + local.get $1 i32.const 3 i32.le_s select - local.set $0 - local.get $2 - i32.load offset=4 local.set $1 + local.get $6 + i32.load offset=4 + local.set $0 loop $while-continue|023 - local.get $0 + local.get $1 i32.const 0 i32.ge_s if local.get $1 - local.get $0 i32.const 2 i32.shl + local.get $0 i32.add i32.load i32.const 2 i32.eq br_if $__inlined_func$~lib/array/Array#lastIndexOf7 - local.get $0 + local.get $1 i32.const 1 i32.sub - local.set $0 + local.set $1 br $while-continue|023 end end i32.const -1 - local.set $0 + local.set $1 end - local.get $0 + local.get $1 i32.const 3 i32.ne if @@ -5289,52 +5255,52 @@ unreachable end block $__inlined_func$~lib/array/Array#lastIndexOf24 - local.get $2 + local.get $6 i32.load offset=12 - local.tee $0 + local.tee $1 i32.eqz if i32.const -1 - local.set $0 + local.set $1 br $__inlined_func$~lib/array/Array#lastIndexOf24 end - local.get $0 + local.get $1 i32.const 1 i32.sub i32.const 2 - local.get $0 + local.get $1 i32.const 2 i32.le_s select - local.set $0 - local.get $2 - i32.load offset=4 local.set $1 + local.get $6 + i32.load offset=4 + local.set $0 loop $while-continue|025 - local.get $0 + local.get $1 i32.const 0 i32.ge_s if local.get $1 - local.get $0 i32.const 2 i32.shl + local.get $0 i32.add i32.load i32.const 2 i32.eq br_if $__inlined_func$~lib/array/Array#lastIndexOf24 - local.get $0 + local.get $1 i32.const 1 i32.sub - local.set $0 + local.set $1 br $while-continue|025 end end i32.const -1 - local.set $0 + local.set $1 end - local.get $0 + local.get $1 if i32.const 0 i32.const 1216 @@ -5344,47 +5310,47 @@ unreachable end block $__inlined_func$~lib/array/Array#lastIndexOf26 - local.get $2 + local.get $6 i32.load offset=12 - local.tee $0 + local.tee $1 i32.eqz if i32.const -1 - local.set $0 + local.set $1 br $__inlined_func$~lib/array/Array#lastIndexOf26 end - local.get $0 + local.get $1 i32.const 2 i32.sub - local.set $0 - local.get $2 - i32.load offset=4 local.set $1 + local.get $6 + i32.load offset=4 + local.set $0 loop $while-continue|027 - local.get $0 + local.get $1 i32.const 0 i32.ge_s if local.get $1 - local.get $0 i32.const 2 i32.shl + local.get $0 i32.add i32.load i32.const 2 i32.eq br_if $__inlined_func$~lib/array/Array#lastIndexOf26 - local.get $0 + local.get $1 i32.const 1 i32.sub - local.set $0 + local.set $1 br $while-continue|027 end end i32.const -1 - local.set $0 + local.set $1 end - local.get $0 + local.get $1 if i32.const 0 i32.const 1216 @@ -5394,47 +5360,47 @@ unreachable end block $__inlined_func$~lib/array/Array#lastIndexOf28 - local.get $2 + local.get $6 i32.load offset=12 - local.tee $0 + local.tee $1 i32.eqz if i32.const -1 - local.set $0 + local.set $1 br $__inlined_func$~lib/array/Array#lastIndexOf28 end - local.get $0 + local.get $1 i32.const 1 i32.sub - local.set $0 - local.get $2 + local.set $1 + local.get $6 i32.load offset=4 - local.set $2 + local.set $6 loop $while-continue|029 - local.get $0 + local.get $1 i32.const 0 i32.ge_s if - local.get $2 - local.get $0 + local.get $1 i32.const 2 i32.shl + local.get $6 i32.add i32.load i32.const 2 i32.eq br_if $__inlined_func$~lib/array/Array#lastIndexOf28 - local.get $0 + local.get $1 i32.const 1 i32.sub - local.set $0 + local.set $1 br $while-continue|029 end end i32.const -1 - local.set $0 + local.set $1 end - local.get $0 + local.get $1 i32.const 3 i32.ne if @@ -5804,10 +5770,10 @@ call $~lib/rt/itcms/__new local.tee $2 i32.store - local.get $0 local.get $1 i32.const 2 i32.shl + local.get $0 i32.add local.set $1 i32.const 0 @@ -5862,14 +5828,14 @@ global.get $~lib/memory/__stack_pointer i32.const 0 i32.store - local.get $1 local.get $0 i32.const 20 i32.sub i32.load offset=16 i32.const 2 i32.shr_u - i32.ge_u + local.get $1 + i32.le_u if i32.const 1088 i32.const 1152 @@ -5879,10 +5845,10 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $0 local.get $1 i32.const 2 i32.shl + local.get $0 i32.add i32.load local.tee $0 diff --git a/tests/compiler/std/string-casemapping.optimized.wat b/tests/compiler/std/string-casemapping.optimized.wat index 708c6ceeb6..2733967504 100644 --- a/tests/compiler/std/string-casemapping.optimized.wat +++ b/tests/compiler/std/string-casemapping.optimized.wat @@ -552,8 +552,8 @@ i32.and i32.eq if - local.get $0 global.get $~lib/rt/itcms/iter + local.get $0 i32.eq if local.get $0 @@ -613,11 +613,11 @@ local.get $1 i32.store offset=8 local.get $1 - local.get $2 local.get $1 i32.load offset=4 i32.const 3 i32.and + local.get $2 i32.or i32.store offset=4 end @@ -631,10 +631,10 @@ if (result i32) i32.const 1 else - local.get $1 i32.const 21056 i32.load - i32.gt_u + local.get $1 + i32.lt_u if i32.const 1280 i32.const 1344 @@ -671,11 +671,11 @@ local.get $1 i32.store offset=8 local.get $1 - local.get $0 local.get $1 i32.load offset=4 i32.const 3 i32.and + local.get $0 i32.or i32.store offset=4 local.get $2 @@ -814,22 +814,22 @@ local.get $4 i32.eqz if - local.get $0 local.get $3 i32.const 2 i32.shl + local.get $0 i32.add - local.tee $1 + local.tee $4 i32.load offset=4 i32.const -2 local.get $2 i32.rotl i32.and - local.set $2 + local.set $1 + local.get $4 local.get $1 - local.get $2 i32.store offset=4 - local.get $2 + local.get $1 i32.eqz if local.get $0 @@ -1077,10 +1077,10 @@ i32.shl i32.or i32.store - local.get $0 local.get $5 i32.const 2 i32.shl + local.get $0 i32.add local.tee $0 local.get $0 @@ -1120,11 +1120,11 @@ i32.load offset=1568 local.tee $2 if + local.get $1 local.get $2 i32.const 4 i32.add - local.get $1 - i32.gt_u + i32.lt_u if i32.const 0 i32.const 1424 @@ -1148,11 +1148,11 @@ local.set $1 end else + local.get $1 local.get $0 i32.const 1572 i32.add - local.get $1 - i32.gt_u + i32.lt_u if i32.const 0 i32.const 1424 @@ -1439,13 +1439,13 @@ if local.get $0 i32.load offset=4 + local.tee $1 i32.const -4 i32.and global.set $~lib/rt/itcms/iter global.get $~lib/rt/itcms/white i32.eqz - local.get $0 - i32.load offset=4 + local.get $1 i32.const 3 i32.and i32.ne @@ -1532,10 +1532,10 @@ end global.get $~lib/rt/itcms/toSpace local.tee $0 - local.get $0 + local.tee $1 + local.get $1 i32.store offset=4 - global.get $~lib/rt/itcms/toSpace - local.tee $0 + local.get $0 local.get $0 i32.store offset=8 i32.const 0 @@ -1784,7 +1784,6 @@ i32.const 536870910 i32.lt_u if (result i32) - local.get $3 i32.const 1 i32.const 27 local.get $3 @@ -1793,6 +1792,7 @@ i32.shl i32.const 1 i32.sub + local.get $3 i32.add else local.get $3 @@ -1853,12 +1853,12 @@ unreachable end end - local.get $3 local.get $2 i32.load i32.const -4 i32.and - i32.gt_u + local.get $3 + i32.lt_u if i32.const 0 i32.const 1424 @@ -1896,10 +1896,10 @@ i32.ge_u if local.get $2 - local.get $3 local.get $5 i32.const 2 i32.and + local.get $3 i32.or i32.store local.get $3 @@ -1926,18 +1926,13 @@ local.get $2 i32.const 4 i32.add - local.tee $3 local.get $2 i32.load i32.const -4 i32.and i32.add + local.tee $3 local.get $3 - local.get $2 - i32.load - i32.const -4 - i32.and - i32.add i32.load i32.const -3 i32.and @@ -1954,19 +1949,19 @@ i32.load offset=8 local.set $3 local.get $2 - local.get $1 global.get $~lib/rt/itcms/white + local.get $1 i32.or i32.store offset=4 local.get $2 local.get $3 i32.store offset=8 local.get $3 - local.get $2 local.get $3 i32.load offset=4 i32.const 3 i32.and + local.get $2 i32.or i32.store offset=4 local.get $1 @@ -2337,17 +2332,17 @@ select if local.get $0 - local.tee $3 + local.tee $4 i32.const 1 i32.add local.set $0 local.get $1 - local.tee $4 + local.tee $3 i32.const 1 i32.add local.set $1 - local.get $3 local.get $4 + local.get $3 i32.load8_u i32.store8 local.get $2 @@ -2493,19 +2488,19 @@ local.get $0 i32.const 2 i32.add - local.tee $3 + local.tee $4 i32.const 1 i32.add local.set $0 local.get $1 i32.const 2 i32.add - local.tee $4 + local.tee $3 i32.const 1 i32.add local.set $1 - local.get $3 local.get $4 + local.get $3 i32.load8_u i32.store8 local.get $2 @@ -2520,7 +2515,7 @@ local.get $0 local.get $1 i32.load offset=1 - local.tee $3 + local.tee $4 i32.const 8 i32.shl local.get $5 @@ -2531,10 +2526,10 @@ local.get $0 local.get $1 i32.load offset=5 - local.tee $4 + local.tee $3 i32.const 8 i32.shl - local.get $3 + local.get $4 i32.const 24 i32.shr_u i32.or @@ -2542,10 +2537,10 @@ local.get $0 local.get $1 i32.load offset=9 - local.tee $3 + local.tee $4 i32.const 8 i32.shl - local.get $4 + local.get $3 i32.const 24 i32.shr_u i32.or @@ -2556,7 +2551,7 @@ local.tee $5 i32.const 8 i32.shl - local.get $3 + local.get $4 i32.const 24 i32.shr_u i32.or @@ -2611,7 +2606,7 @@ local.get $0 local.get $1 i32.load offset=2 - local.tee $3 + local.tee $4 i32.const 16 i32.shl local.get $5 @@ -2622,10 +2617,10 @@ local.get $0 local.get $1 i32.load offset=6 - local.tee $4 + local.tee $3 i32.const 16 i32.shl - local.get $3 + local.get $4 i32.const 16 i32.shr_u i32.or @@ -2633,10 +2628,10 @@ local.get $0 local.get $1 i32.load offset=10 - local.tee $3 + local.tee $4 i32.const 16 i32.shl - local.get $4 + local.get $3 i32.const 16 i32.shr_u i32.or @@ -2647,7 +2642,7 @@ local.tee $5 i32.const 16 i32.shl - local.get $3 + local.get $4 i32.const 16 i32.shr_u i32.or @@ -2673,17 +2668,17 @@ i32.load local.set $5 local.get $0 - local.tee $3 + local.tee $4 i32.const 1 i32.add local.set $0 local.get $1 - local.tee $4 + local.tee $3 i32.const 1 i32.add local.set $1 - local.get $3 local.get $4 + local.get $3 i32.load8_u i32.store8 local.get $2 @@ -2698,7 +2693,7 @@ local.get $0 local.get $1 i32.load offset=3 - local.tee $3 + local.tee $4 i32.const 24 i32.shl local.get $5 @@ -2709,10 +2704,10 @@ local.get $0 local.get $1 i32.load offset=7 - local.tee $4 + local.tee $3 i32.const 24 i32.shl - local.get $3 + local.get $4 i32.const 8 i32.shr_u i32.or @@ -2720,10 +2715,10 @@ local.get $0 local.get $1 i32.load offset=11 - local.tee $3 + local.tee $4 i32.const 24 i32.shl - local.get $4 + local.get $3 i32.const 8 i32.shr_u i32.or @@ -2734,7 +2729,7 @@ local.tee $5 i32.const 24 i32.shl - local.get $3 + local.get $4 i32.const 8 i32.shr_u i32.or @@ -2765,145 +2760,137 @@ i32.load8_u i32.store8 local.get $0 - local.tee $4 - i32.const 2 - i32.add - local.set $0 local.get $1 - local.tee $3 - i32.const 2 - i32.add - local.set $1 - local.get $4 - local.get $3 i32.load8_u offset=1 i32.store8 offset=1 local.get $0 - local.get $1 - i32.load8_u - i32.store8 - local.get $0 - local.tee $4 i32.const 2 i32.add - local.set $0 + local.tee $4 local.get $1 + i32.const 2 + i32.add local.tee $3 + i32.load8_u + i32.store8 + local.get $3 + local.tee $0 i32.const 2 i32.add - local.set $1 + local.set $3 local.get $4 - local.get $3 + local.get $0 i32.load8_u offset=1 i32.store8 offset=1 - local.get $0 - local.get $1 + local.get $4 + i32.const 2 + i32.add + local.tee $1 + local.get $3 i32.load8_u i32.store8 - local.get $0 + local.get $1 local.tee $4 i32.const 2 i32.add - local.set $0 - local.get $1 - local.tee $3 + local.set $1 + local.get $3 + local.tee $0 i32.const 2 i32.add - local.set $1 + local.set $3 local.get $4 - local.get $3 + local.get $0 i32.load8_u offset=1 i32.store8 offset=1 - local.get $0 local.get $1 + local.get $3 i32.load8_u i32.store8 - local.get $0 + local.get $1 local.tee $4 i32.const 2 i32.add - local.set $0 - local.get $1 - local.tee $3 + local.set $1 + local.get $3 + local.tee $0 i32.const 2 i32.add - local.set $1 + local.set $3 local.get $4 - local.get $3 + local.get $0 i32.load8_u offset=1 i32.store8 offset=1 - local.get $0 local.get $1 + local.get $3 i32.load8_u i32.store8 - local.get $0 + local.get $1 local.tee $4 i32.const 2 i32.add - local.set $0 - local.get $1 - local.tee $3 + local.set $1 + local.get $3 + local.tee $0 i32.const 2 i32.add - local.set $1 + local.set $3 local.get $4 - local.get $3 + local.get $0 i32.load8_u offset=1 i32.store8 offset=1 - local.get $0 local.get $1 + local.get $3 i32.load8_u i32.store8 - local.get $0 + local.get $1 local.tee $4 i32.const 2 i32.add - local.set $0 - local.get $1 - local.tee $3 + local.set $1 + local.get $3 + local.tee $0 i32.const 2 i32.add - local.set $1 + local.set $3 local.get $4 - local.get $3 + local.get $0 i32.load8_u offset=1 i32.store8 offset=1 - local.get $0 local.get $1 + local.get $3 i32.load8_u i32.store8 - local.get $0 + local.get $1 local.tee $4 i32.const 2 i32.add - local.set $0 - local.get $1 - local.tee $3 + local.set $1 + local.get $3 + local.tee $0 i32.const 2 i32.add - local.set $1 + local.set $3 local.get $4 - local.get $3 + local.get $0 i32.load8_u offset=1 i32.store8 offset=1 - local.get $0 local.get $1 + local.get $3 i32.load8_u i32.store8 - local.get $0 - local.tee $4 + local.get $1 i32.const 2 i32.add local.set $0 local.get $1 - local.tee $3 - i32.const 2 - i32.add - local.set $1 - local.get $4 local.get $3 i32.load8_u offset=1 i32.store8 offset=1 + local.get $3 + i32.const 2 + i32.add + local.set $1 end local.get $2 i32.const 8 @@ -2914,73 +2901,65 @@ i32.load8_u i32.store8 local.get $0 - local.tee $4 - i32.const 2 - i32.add - local.set $0 local.get $1 - local.tee $3 - i32.const 2 - i32.add - local.set $1 - local.get $4 - local.get $3 i32.load8_u offset=1 i32.store8 offset=1 local.get $0 - local.get $1 - i32.load8_u - i32.store8 - local.get $0 - local.tee $4 i32.const 2 i32.add - local.set $0 + local.tee $4 local.get $1 + i32.const 2 + i32.add local.tee $3 + i32.load8_u + i32.store8 + local.get $3 + local.tee $0 i32.const 2 i32.add - local.set $1 + local.set $3 local.get $4 - local.get $3 + local.get $0 i32.load8_u offset=1 i32.store8 offset=1 - local.get $0 - local.get $1 + local.get $4 + i32.const 2 + i32.add + local.tee $1 + local.get $3 i32.load8_u i32.store8 - local.get $0 + local.get $1 local.tee $4 i32.const 2 i32.add - local.set $0 - local.get $1 - local.tee $3 + local.set $1 + local.get $3 + local.tee $0 i32.const 2 i32.add - local.set $1 + local.set $3 local.get $4 - local.get $3 + local.get $0 i32.load8_u offset=1 i32.store8 offset=1 - local.get $0 local.get $1 + local.get $3 i32.load8_u i32.store8 - local.get $0 - local.tee $4 + local.get $1 i32.const 2 i32.add local.set $0 local.get $1 - local.tee $3 - i32.const 2 - i32.add - local.set $1 - local.get $4 local.get $3 i32.load8_u offset=1 i32.store8 offset=1 + local.get $3 + i32.const 2 + i32.add + local.set $1 end local.get $2 i32.const 4 @@ -2991,30 +2970,20 @@ i32.load8_u i32.store8 local.get $0 - local.tee $4 - i32.const 2 - i32.add - local.set $0 local.get $1 - local.tee $3 - i32.const 2 - i32.add - local.set $1 - local.get $4 - local.get $3 i32.load8_u offset=1 i32.store8 offset=1 local.get $0 - local.get $1 - i32.load8_u - i32.store8 - local.get $0 - local.tee $4 i32.const 2 i32.add - local.set $0 + local.tee $4 local.get $1 + i32.const 2 + i32.add local.tee $3 + i32.load8_u + i32.store8 + local.get $3 i32.const 2 i32.add local.set $1 @@ -3022,6 +2991,10 @@ local.get $3 i32.load8_u offset=1 i32.store8 offset=1 + local.get $4 + i32.const 2 + i32.add + local.set $0 end local.get $2 i32.const 2 @@ -3684,13 +3657,13 @@ i64.const 100000000 i64.ge_u if - local.get $1 local.get $2 i32.const 4 i32.sub local.tee $2 i32.const 1 i32.shl + local.get $1 i32.add local.get $0 local.get $0 @@ -3724,13 +3697,13 @@ i64.shl i64.or i64.store - local.get $1 local.get $2 i32.const 4 i32.sub local.tee $2 i32.const 1 i32.shl + local.get $1 i32.add local.get $3 i32.const 10000 @@ -3951,10 +3924,10 @@ local.get $8 i32.lt_u if - local.get $0 local.get $7 i32.const 1 i32.shl + local.get $0 i32.add i32.load16_u local.tee $2 @@ -3962,11 +3935,11 @@ i32.shr_u if block $for-continue|0 - local.get $7 local.get $8 i32.const 1 i32.sub - i32.lt_u + local.get $7 + i32.gt_u i32.const 0 local.get $2 i32.const 55295 @@ -3975,10 +3948,10 @@ i32.lt_u select if - local.get $0 local.get $7 i32.const 1 i32.shl + local.get $0 i32.add i32.load16_u offset=2 local.tee $4 @@ -4007,15 +3980,15 @@ i32.const 131072 i32.ge_u if - local.get $6 local.get $5 i32.const 1 i32.shl + local.get $6 i32.add - local.get $1 local.get $4 i32.const 16 i32.shl + local.get $1 i32.or i32.store local.get $5 @@ -4032,10 +4005,10 @@ i32.const 25 i32.le_u if - local.get $6 local.get $5 i32.const 1 i32.shl + local.get $6 i32.add local.get $2 i32.const 26 @@ -4112,10 +4085,10 @@ local.tee $2 i32.load16_u offset=6 local.set $1 - local.get $6 local.get $5 i32.const 1 i32.shl + local.get $6 i32.add local.tee $4 local.get $2 @@ -4124,12 +4097,12 @@ local.get $4 local.get $1 i32.store16 offset=4 - local.get $5 local.get $1 i32.const 0 i32.ne i32.const 1 i32.add + local.get $5 i32.add local.set $5 else @@ -4142,18 +4115,18 @@ i32.const 65536 i32.lt_u if - local.get $6 local.get $5 i32.const 1 i32.shl + local.get $6 i32.add local.get $1 i32.store16 else - local.get $6 local.get $5 i32.const 1 i32.shl + local.get $6 i32.add local.get $1 i32.const 65536 @@ -4181,10 +4154,10 @@ end end else - local.get $6 local.get $5 i32.const 1 i32.shl + local.get $6 i32.add local.get $2 i32.const 2316 @@ -4291,10 +4264,9 @@ call $~lib/string/String#toUpperCase local.set $9 global.get $~lib/memory/__stack_pointer - local.tee $5 local.get $9 i32.store - local.get $5 + global.get $~lib/memory/__stack_pointer i32.const 1056 i32.store offset=4 local.get $9 @@ -4316,10 +4288,9 @@ call $~lib/string/String#toLowerCase local.set $9 global.get $~lib/memory/__stack_pointer - local.tee $5 local.get $9 i32.store - local.get $5 + global.get $~lib/memory/__stack_pointer i32.const 1056 i32.store offset=4 local.get $9 @@ -4341,10 +4312,9 @@ call $~lib/string/String#toUpperCase local.set $9 global.get $~lib/memory/__stack_pointer - local.tee $5 local.get $9 i32.store - local.get $5 + global.get $~lib/memory/__stack_pointer i32.const 11856 i32.store offset=4 local.get $9 @@ -4366,10 +4336,9 @@ call $~lib/string/String#toLowerCase local.set $9 global.get $~lib/memory/__stack_pointer - local.tee $5 local.get $9 i32.store - local.get $5 + global.get $~lib/memory/__stack_pointer i32.const 11952 i32.store offset=4 local.get $9 @@ -4391,10 +4360,9 @@ call $~lib/string/String#toUpperCase local.set $9 global.get $~lib/memory/__stack_pointer - local.tee $5 local.get $9 i32.store - local.get $5 + global.get $~lib/memory/__stack_pointer i32.const 12096 i32.store offset=4 local.get $9 @@ -4416,10 +4384,9 @@ call $~lib/string/String#toLowerCase local.set $9 global.get $~lib/memory/__stack_pointer - local.tee $5 local.get $9 i32.store - local.get $5 + global.get $~lib/memory/__stack_pointer i32.const 12192 i32.store offset=4 local.get $9 @@ -4441,10 +4408,9 @@ call $~lib/string/String#toUpperCase local.set $9 global.get $~lib/memory/__stack_pointer - local.tee $5 local.get $9 i32.store - local.get $5 + global.get $~lib/memory/__stack_pointer i32.const 12352 i32.store offset=4 local.get $9 @@ -4466,10 +4432,9 @@ call $~lib/string/String#toLowerCase local.set $9 global.get $~lib/memory/__stack_pointer - local.tee $5 local.get $9 i32.store - local.get $5 + global.get $~lib/memory/__stack_pointer i32.const 12416 i32.store offset=4 local.get $9 @@ -4491,10 +4456,9 @@ call $~lib/string/String#toUpperCase local.set $9 global.get $~lib/memory/__stack_pointer - local.tee $5 local.get $9 i32.store - local.get $5 + global.get $~lib/memory/__stack_pointer i32.const 12576 i32.store offset=4 local.get $9 @@ -4516,10 +4480,9 @@ call $~lib/string/String#toLowerCase local.set $9 global.get $~lib/memory/__stack_pointer - local.tee $5 local.get $9 i32.store - local.get $5 + global.get $~lib/memory/__stack_pointer i32.const 12672 i32.store offset=4 local.get $9 @@ -4541,10 +4504,9 @@ call $~lib/string/String#toUpperCase local.set $9 global.get $~lib/memory/__stack_pointer - local.tee $5 local.get $9 i32.store - local.get $5 + global.get $~lib/memory/__stack_pointer i32.const 12864 i32.store offset=4 local.get $9 @@ -4566,10 +4528,9 @@ call $~lib/string/String#toLowerCase local.set $9 global.get $~lib/memory/__stack_pointer - local.tee $5 local.get $9 i32.store - local.get $5 + global.get $~lib/memory/__stack_pointer i32.const 12960 i32.store offset=4 local.get $9 @@ -4591,10 +4552,9 @@ call $~lib/string/String#toUpperCase local.set $9 global.get $~lib/memory/__stack_pointer - local.tee $5 local.get $9 i32.store - local.get $5 + global.get $~lib/memory/__stack_pointer i32.const 13136 i32.store offset=4 local.get $9 @@ -4616,10 +4576,9 @@ call $~lib/string/String#toUpperCase local.set $9 global.get $~lib/memory/__stack_pointer - local.tee $5 local.get $9 i32.store - local.get $5 + global.get $~lib/memory/__stack_pointer i32.const 13296 i32.store offset=4 local.get $9 @@ -4641,10 +4600,9 @@ call $~lib/string/String#toUpperCase local.set $9 global.get $~lib/memory/__stack_pointer - local.tee $5 local.get $9 i32.store - local.get $5 + global.get $~lib/memory/__stack_pointer i32.const 13440 i32.store offset=4 local.get $9 @@ -4666,10 +4624,9 @@ call $~lib/string/String#toUpperCase local.set $9 global.get $~lib/memory/__stack_pointer - local.tee $5 local.get $9 i32.store - local.get $5 + global.get $~lib/memory/__stack_pointer i32.const 13584 i32.store offset=4 local.get $9 @@ -4691,10 +4648,9 @@ call $~lib/string/String#toUpperCase local.set $9 global.get $~lib/memory/__stack_pointer - local.tee $5 local.get $9 i32.store - local.get $5 + global.get $~lib/memory/__stack_pointer i32.const 13744 i32.store offset=4 local.get $9 @@ -4716,10 +4672,9 @@ call $~lib/string/String#toUpperCase local.set $9 global.get $~lib/memory/__stack_pointer - local.tee $5 local.get $9 i32.store - local.get $5 + global.get $~lib/memory/__stack_pointer i32.const 13888 i32.store offset=4 local.get $9 @@ -4741,10 +4696,9 @@ call $~lib/string/String#toUpperCase local.set $9 global.get $~lib/memory/__stack_pointer - local.tee $5 local.get $9 i32.store - local.get $5 + global.get $~lib/memory/__stack_pointer i32.const 14032 i32.store offset=4 local.get $9 @@ -4766,10 +4720,9 @@ call $~lib/string/String#toUpperCase local.set $9 global.get $~lib/memory/__stack_pointer - local.tee $5 local.get $9 i32.store - local.get $5 + global.get $~lib/memory/__stack_pointer i32.const 14192 i32.store offset=4 local.get $9 @@ -4791,10 +4744,9 @@ call $~lib/string/String#toUpperCase local.set $9 global.get $~lib/memory/__stack_pointer - local.tee $5 local.get $9 i32.store - local.get $5 + global.get $~lib/memory/__stack_pointer i32.const 14432 i32.store offset=4 local.get $9 @@ -4816,10 +4768,9 @@ call $~lib/string/String#toLowerCase local.set $9 global.get $~lib/memory/__stack_pointer - local.tee $5 local.get $9 i32.store - local.get $5 + global.get $~lib/memory/__stack_pointer i32.const 14592 i32.store offset=4 local.get $9 @@ -4841,10 +4792,9 @@ call $~lib/string/String#toUpperCase local.set $9 global.get $~lib/memory/__stack_pointer - local.tee $5 local.get $9 i32.store - local.get $5 + global.get $~lib/memory/__stack_pointer i32.const 14784 i32.store offset=4 local.get $9 @@ -4866,10 +4816,9 @@ call $~lib/string/String#toLowerCase local.set $9 global.get $~lib/memory/__stack_pointer - local.tee $5 local.get $9 i32.store - local.get $5 + global.get $~lib/memory/__stack_pointer i32.const 14848 i32.store offset=4 local.get $9 @@ -4891,10 +4840,9 @@ call $~lib/string/String#toUpperCase local.set $9 global.get $~lib/memory/__stack_pointer - local.tee $5 local.get $9 i32.store - local.get $5 + global.get $~lib/memory/__stack_pointer i32.const 15088 i32.store offset=4 local.get $9 @@ -4922,10 +4870,9 @@ call $~lib/string/String#toLowerCase local.set $9 global.get $~lib/memory/__stack_pointer - local.tee $5 local.get $9 i32.store - local.get $5 + global.get $~lib/memory/__stack_pointer i32.const 15296 i32.store offset=4 local.get $9 @@ -4953,10 +4900,9 @@ call $~lib/string/String#toLowerCase local.set $9 global.get $~lib/memory/__stack_pointer - local.tee $5 local.get $9 i32.store - local.get $5 + global.get $~lib/memory/__stack_pointer i32.const 15360 i32.store offset=4 local.get $9 @@ -4984,10 +4930,9 @@ call $~lib/string/String#toLowerCase local.set $9 global.get $~lib/memory/__stack_pointer - local.tee $5 local.get $9 i32.store - local.get $5 + global.get $~lib/memory/__stack_pointer i32.const 15392 i32.store offset=4 local.get $9 @@ -5012,10 +4957,9 @@ call $~lib/string/String#toLowerCase local.set $9 global.get $~lib/memory/__stack_pointer - local.tee $5 local.get $9 i32.store - local.get $5 + global.get $~lib/memory/__stack_pointer i32.const 15648 i32.store offset=4 local.get $9 @@ -5040,10 +4984,9 @@ call $~lib/string/String#toUpperCase local.set $9 global.get $~lib/memory/__stack_pointer - local.tee $5 local.get $9 i32.store - local.get $5 + global.get $~lib/memory/__stack_pointer i32.const 15648 i32.store offset=4 local.get $9 @@ -5065,10 +5008,9 @@ call $~lib/string/String#toLowerCase local.set $9 global.get $~lib/memory/__stack_pointer - local.tee $5 local.get $9 i32.store - local.get $5 + global.get $~lib/memory/__stack_pointer i32.const 15712 i32.store offset=4 local.get $9 @@ -5090,10 +5032,9 @@ call $~lib/string/String#toLowerCase local.set $9 global.get $~lib/memory/__stack_pointer - local.tee $5 local.get $9 i32.store - local.get $5 + global.get $~lib/memory/__stack_pointer i32.const 15776 i32.store offset=4 local.get $9 @@ -5115,10 +5056,9 @@ call $~lib/string/String#toLowerCase local.set $9 global.get $~lib/memory/__stack_pointer - local.tee $5 local.get $9 i32.store - local.get $5 + global.get $~lib/memory/__stack_pointer i32.const 15840 i32.store offset=4 local.get $9 @@ -5140,10 +5080,9 @@ call $~lib/string/String#toLowerCase local.set $9 global.get $~lib/memory/__stack_pointer - local.tee $5 local.get $9 i32.store - local.get $5 + global.get $~lib/memory/__stack_pointer i32.const 15904 i32.store offset=4 local.get $9 @@ -5165,10 +5104,9 @@ call $~lib/string/String#toLowerCase local.set $9 global.get $~lib/memory/__stack_pointer - local.tee $5 local.get $9 i32.store - local.get $5 + global.get $~lib/memory/__stack_pointer i32.const 15968 i32.store offset=4 local.get $9 @@ -5190,10 +5128,9 @@ call $~lib/string/String#toLowerCase local.set $9 global.get $~lib/memory/__stack_pointer - local.tee $5 local.get $9 i32.store - local.get $5 + global.get $~lib/memory/__stack_pointer i32.const 16032 i32.store offset=4 local.get $9 @@ -5215,10 +5152,9 @@ call $~lib/string/String#toLowerCase local.set $9 global.get $~lib/memory/__stack_pointer - local.tee $5 local.get $9 i32.store - local.get $5 + global.get $~lib/memory/__stack_pointer i32.const 16096 i32.store offset=4 local.get $9 @@ -5240,10 +5176,9 @@ call $~lib/string/String#toLowerCase local.set $9 global.get $~lib/memory/__stack_pointer - local.tee $5 local.get $9 i32.store - local.get $5 + global.get $~lib/memory/__stack_pointer i32.const 16160 i32.store offset=4 local.get $9 @@ -5265,10 +5200,9 @@ call $~lib/string/String#toLowerCase local.set $9 global.get $~lib/memory/__stack_pointer - local.tee $5 local.get $9 i32.store - local.get $5 + global.get $~lib/memory/__stack_pointer i32.const 16224 i32.store offset=4 local.get $9 @@ -5290,10 +5224,9 @@ call $~lib/string/String#toLowerCase local.set $9 global.get $~lib/memory/__stack_pointer - local.tee $5 local.get $9 i32.store - local.get $5 + global.get $~lib/memory/__stack_pointer i32.const 16288 i32.store offset=4 local.get $9 @@ -5315,10 +5248,9 @@ call $~lib/string/String#toLowerCase local.set $9 global.get $~lib/memory/__stack_pointer - local.tee $5 local.get $9 i32.store - local.get $5 + global.get $~lib/memory/__stack_pointer i32.const 16352 i32.store offset=4 local.get $9 @@ -5340,10 +5272,9 @@ call $~lib/string/String#toLowerCase local.set $9 global.get $~lib/memory/__stack_pointer - local.tee $5 local.get $9 i32.store - local.get $5 + global.get $~lib/memory/__stack_pointer i32.const 16416 i32.store offset=4 local.get $9 @@ -5365,10 +5296,9 @@ call $~lib/string/String#toLowerCase local.set $9 global.get $~lib/memory/__stack_pointer - local.tee $5 local.get $9 i32.store - local.get $5 + global.get $~lib/memory/__stack_pointer i32.const 16480 i32.store offset=4 local.get $9 @@ -5390,10 +5320,9 @@ call $~lib/string/String#toLowerCase local.set $9 global.get $~lib/memory/__stack_pointer - local.tee $5 local.get $9 i32.store - local.get $5 + global.get $~lib/memory/__stack_pointer i32.const 16544 i32.store offset=4 local.get $9 @@ -5415,10 +5344,9 @@ call $~lib/string/String#toLowerCase local.set $9 global.get $~lib/memory/__stack_pointer - local.tee $5 local.get $9 i32.store - local.get $5 + global.get $~lib/memory/__stack_pointer i32.const 16608 i32.store offset=4 local.get $9 @@ -5440,10 +5368,9 @@ call $~lib/string/String#toLowerCase local.set $9 global.get $~lib/memory/__stack_pointer - local.tee $5 local.get $9 i32.store - local.get $5 + global.get $~lib/memory/__stack_pointer i32.const 16672 i32.store offset=4 local.get $9 @@ -5465,10 +5392,9 @@ call $~lib/string/String#toLowerCase local.set $9 global.get $~lib/memory/__stack_pointer - local.tee $5 local.get $9 i32.store - local.get $5 + global.get $~lib/memory/__stack_pointer i32.const 16736 i32.store offset=4 local.get $9 @@ -5490,10 +5416,9 @@ call $~lib/string/String#toLowerCase local.set $9 global.get $~lib/memory/__stack_pointer - local.tee $5 local.get $9 i32.store - local.get $5 + global.get $~lib/memory/__stack_pointer i32.const 16800 i32.store offset=4 local.get $9 @@ -5515,10 +5440,9 @@ call $~lib/string/String#toLowerCase local.set $9 global.get $~lib/memory/__stack_pointer - local.tee $5 local.get $9 i32.store - local.get $5 + global.get $~lib/memory/__stack_pointer i32.const 16864 i32.store offset=4 local.get $9 @@ -5540,10 +5464,9 @@ call $~lib/string/String#toLowerCase local.set $9 global.get $~lib/memory/__stack_pointer - local.tee $5 local.get $9 i32.store - local.get $5 + global.get $~lib/memory/__stack_pointer i32.const 16928 i32.store offset=4 local.get $9 @@ -5565,10 +5488,9 @@ call $~lib/string/String#toLowerCase local.set $9 global.get $~lib/memory/__stack_pointer - local.tee $5 local.get $9 i32.store - local.get $5 + global.get $~lib/memory/__stack_pointer i32.const 16992 i32.store offset=4 local.get $9 @@ -5590,10 +5512,9 @@ call $~lib/string/String#toLowerCase local.set $9 global.get $~lib/memory/__stack_pointer - local.tee $5 local.get $9 i32.store - local.get $5 + global.get $~lib/memory/__stack_pointer i32.const 17056 i32.store offset=4 local.get $9 @@ -5615,10 +5536,9 @@ call $~lib/string/String#toLowerCase local.set $9 global.get $~lib/memory/__stack_pointer - local.tee $5 local.get $9 i32.store - local.get $5 + global.get $~lib/memory/__stack_pointer i32.const 17120 i32.store offset=4 local.get $9 @@ -5640,10 +5560,9 @@ call $~lib/string/String#toLowerCase local.set $9 global.get $~lib/memory/__stack_pointer - local.tee $5 local.get $9 i32.store - local.get $5 + global.get $~lib/memory/__stack_pointer i32.const 17184 i32.store offset=4 local.get $9 @@ -5665,10 +5584,9 @@ call $~lib/string/String#toLowerCase local.set $9 global.get $~lib/memory/__stack_pointer - local.tee $5 local.get $9 i32.store - local.get $5 + global.get $~lib/memory/__stack_pointer i32.const 17248 i32.store offset=4 local.get $9 @@ -5690,10 +5608,9 @@ call $~lib/string/String#toLowerCase local.set $9 global.get $~lib/memory/__stack_pointer - local.tee $5 local.get $9 i32.store - local.get $5 + global.get $~lib/memory/__stack_pointer i32.const 16352 i32.store offset=4 local.get $9 @@ -5715,10 +5632,9 @@ call $~lib/string/String#toLowerCase local.set $9 global.get $~lib/memory/__stack_pointer - local.tee $5 local.get $9 i32.store - local.get $5 + global.get $~lib/memory/__stack_pointer i32.const 17344 i32.store offset=4 local.get $9 @@ -5740,10 +5656,9 @@ call $~lib/string/String#toLowerCase local.set $9 global.get $~lib/memory/__stack_pointer - local.tee $5 local.get $9 i32.store - local.get $5 + global.get $~lib/memory/__stack_pointer i32.const 17408 i32.store offset=4 local.get $9 @@ -5765,10 +5680,9 @@ call $~lib/string/String#toLowerCase local.set $9 global.get $~lib/memory/__stack_pointer - local.tee $5 local.get $9 i32.store - local.get $5 + global.get $~lib/memory/__stack_pointer i32.const 17472 i32.store offset=4 local.get $9 @@ -5790,10 +5704,9 @@ call $~lib/string/String#toLowerCase local.set $9 global.get $~lib/memory/__stack_pointer - local.tee $5 local.get $9 i32.store - local.get $5 + global.get $~lib/memory/__stack_pointer i32.const 17536 i32.store offset=4 local.get $9 @@ -5815,10 +5728,9 @@ call $~lib/string/String#toLowerCase local.set $9 global.get $~lib/memory/__stack_pointer - local.tee $5 local.get $9 i32.store - local.get $5 + global.get $~lib/memory/__stack_pointer i32.const 17600 i32.store offset=4 local.get $9 @@ -5840,10 +5752,9 @@ call $~lib/string/String#toLowerCase local.set $9 global.get $~lib/memory/__stack_pointer - local.tee $5 local.get $9 i32.store - local.get $5 + global.get $~lib/memory/__stack_pointer i32.const 17664 i32.store offset=4 local.get $9 @@ -5865,10 +5776,9 @@ call $~lib/string/String#toLowerCase local.set $9 global.get $~lib/memory/__stack_pointer - local.tee $5 local.get $9 i32.store - local.get $5 + global.get $~lib/memory/__stack_pointer i32.const 17728 i32.store offset=4 local.get $9 @@ -5890,10 +5800,9 @@ call $~lib/string/String#toLowerCase local.set $9 global.get $~lib/memory/__stack_pointer - local.tee $5 local.get $9 i32.store - local.get $5 + global.get $~lib/memory/__stack_pointer i32.const 17792 i32.store offset=4 local.get $9 @@ -5915,10 +5824,9 @@ call $~lib/string/String#toLowerCase local.set $9 global.get $~lib/memory/__stack_pointer - local.tee $5 local.get $9 i32.store - local.get $5 + global.get $~lib/memory/__stack_pointer i32.const 17856 i32.store offset=4 local.get $9 @@ -5940,10 +5848,9 @@ call $~lib/string/String#toLowerCase local.set $9 global.get $~lib/memory/__stack_pointer - local.tee $5 local.get $9 i32.store - local.get $5 + global.get $~lib/memory/__stack_pointer i32.const 17920 i32.store offset=4 local.get $9 @@ -5965,10 +5872,9 @@ call $~lib/string/String#toLowerCase local.set $9 global.get $~lib/memory/__stack_pointer - local.tee $5 local.get $9 i32.store - local.get $5 + global.get $~lib/memory/__stack_pointer i32.const 17984 i32.store offset=4 local.get $9 @@ -5990,10 +5896,9 @@ call $~lib/string/String#toLowerCase local.set $9 global.get $~lib/memory/__stack_pointer - local.tee $5 local.get $9 i32.store - local.get $5 + global.get $~lib/memory/__stack_pointer i32.const 18048 i32.store offset=4 local.get $9 @@ -6015,10 +5920,9 @@ call $~lib/string/String#toUpperCase local.set $9 global.get $~lib/memory/__stack_pointer - local.tee $5 local.get $9 i32.store - local.get $5 + global.get $~lib/memory/__stack_pointer i32.const 18112 i32.store offset=4 local.get $9 @@ -6040,10 +5944,9 @@ call $~lib/string/String#toUpperCase local.set $9 global.get $~lib/memory/__stack_pointer - local.tee $5 local.get $9 i32.store - local.get $5 + global.get $~lib/memory/__stack_pointer i32.const 18144 i32.store offset=4 local.get $9 @@ -6065,10 +5968,9 @@ call $~lib/string/String#toUpperCase local.set $9 global.get $~lib/memory/__stack_pointer - local.tee $5 local.get $9 i32.store - local.get $5 + global.get $~lib/memory/__stack_pointer i32.const 18208 i32.store offset=4 local.get $9 @@ -6090,10 +5992,9 @@ call $~lib/string/String#toUpperCase local.set $9 global.get $~lib/memory/__stack_pointer - local.tee $5 local.get $9 i32.store - local.get $5 + global.get $~lib/memory/__stack_pointer i32.const 18272 i32.store offset=4 local.get $9 @@ -6115,10 +6016,9 @@ call $~lib/string/String#toUpperCase local.set $9 global.get $~lib/memory/__stack_pointer - local.tee $5 local.get $9 i32.store - local.get $5 + global.get $~lib/memory/__stack_pointer i32.const 18336 i32.store offset=4 local.get $9 @@ -6140,10 +6040,9 @@ call $~lib/string/String#toUpperCase local.set $9 global.get $~lib/memory/__stack_pointer - local.tee $5 local.get $9 i32.store - local.get $5 + global.get $~lib/memory/__stack_pointer i32.const 18400 i32.store offset=4 local.get $9 @@ -6165,10 +6064,9 @@ call $~lib/string/String#toUpperCase local.set $9 global.get $~lib/memory/__stack_pointer - local.tee $5 local.get $9 i32.store - local.get $5 + global.get $~lib/memory/__stack_pointer i32.const 18400 i32.store offset=4 local.get $9 @@ -6190,10 +6088,9 @@ call $~lib/string/String#toUpperCase local.set $9 global.get $~lib/memory/__stack_pointer - local.tee $5 local.get $9 i32.store - local.get $5 + global.get $~lib/memory/__stack_pointer i32.const 18496 i32.store offset=4 local.get $9 @@ -6215,10 +6112,9 @@ call $~lib/string/String#toUpperCase local.set $9 global.get $~lib/memory/__stack_pointer - local.tee $5 local.get $9 i32.store - local.get $5 + global.get $~lib/memory/__stack_pointer i32.const 18560 i32.store offset=4 local.get $9 @@ -6240,10 +6136,9 @@ call $~lib/string/String#toUpperCase local.set $9 global.get $~lib/memory/__stack_pointer - local.tee $5 local.get $9 i32.store - local.get $5 + global.get $~lib/memory/__stack_pointer i32.const 18624 i32.store offset=4 local.get $9 @@ -6265,10 +6160,9 @@ call $~lib/string/String#toUpperCase local.set $9 global.get $~lib/memory/__stack_pointer - local.tee $5 local.get $9 i32.store - local.get $5 + global.get $~lib/memory/__stack_pointer i32.const 18688 i32.store offset=4 local.get $9 @@ -6290,10 +6184,9 @@ call $~lib/string/String#toUpperCase local.set $9 global.get $~lib/memory/__stack_pointer - local.tee $5 local.get $9 i32.store - local.get $5 + global.get $~lib/memory/__stack_pointer i32.const 18752 i32.store offset=4 local.get $9 @@ -6315,10 +6208,9 @@ call $~lib/string/String#toUpperCase local.set $9 global.get $~lib/memory/__stack_pointer - local.tee $5 local.get $9 i32.store - local.get $5 + global.get $~lib/memory/__stack_pointer i32.const 18816 i32.store offset=4 local.get $9 @@ -6451,10 +6343,10 @@ i64.const 0 i64.ge_s if - local.get $0 local.get $3 i64.const 16 i64.shl + local.get $0 i64.add local.set $0 end @@ -6509,10 +6401,10 @@ i64.const 0 i64.ge_s if - local.get $0 local.get $3 i64.const 32 i64.shl + local.get $0 i64.add local.set $0 end @@ -6615,10 +6507,10 @@ i64.const 0 i64.ge_s if - local.get $3 local.get $2 i64.const 16 i64.shl + local.get $3 i64.add local.set $3 end @@ -6673,10 +6565,10 @@ i64.const 0 i64.ge_s if - local.get $3 local.get $2 i64.const 32 i64.shl + local.get $3 i64.add local.set $3 end @@ -6693,10 +6585,10 @@ i64.const 0 i64.ge_s if - local.get $2 local.get $1 i64.const 16 i64.shl + local.get $2 i64.add local.set $2 end @@ -6708,10 +6600,10 @@ i64.const 0 i64.ge_s if - local.get $2 local.get $1 i64.const 32 i64.shl + local.get $2 i64.add local.set $2 end @@ -6728,10 +6620,10 @@ i64.const 0 i64.ge_s if - local.get $1 local.get $6 i64.const 16 i64.shl + local.get $1 i64.add local.set $1 end @@ -6743,10 +6635,10 @@ i64.const 0 i64.ge_s if - local.get $1 local.get $6 i64.const 32 i64.shl + local.get $1 i64.add local.set $1 end @@ -6950,34 +6842,34 @@ local.get $8 i32.lt_u if - local.get $0 local.get $4 i32.const 1 i32.shl + local.get $0 i32.add i32.load16_u - local.tee $2 + local.tee $3 i32.const 7 i32.shr_u if block $for-continue|0 - local.get $4 local.get $8 i32.const 1 i32.sub - i32.lt_u + local.get $4 + i32.gt_u i32.const 0 - local.get $2 + local.get $3 i32.const 55295 i32.sub i32.const 1025 i32.lt_u select if - local.get $0 local.get $4 i32.const 1 i32.shl + local.get $0 i32.add i32.load16_u offset=2 local.tee $7 @@ -6993,7 +6885,7 @@ local.get $7 i32.const 1023 i32.and - local.get $2 + local.get $3 local.tee $1 i32.const 1023 i32.and @@ -7002,19 +6894,19 @@ i32.or i32.const 65536 i32.add - local.tee $2 + local.tee $3 i32.const 131072 i32.ge_u if - local.get $6 local.get $5 i32.const 1 i32.shl + local.get $6 i32.add - local.get $1 local.get $7 i32.const 16 i32.shl + local.get $1 i32.or i32.store local.get $5 @@ -7025,14 +6917,14 @@ end end end - local.get $2 + local.get $3 i32.const 304 i32.eq if - local.get $6 local.get $5 i32.const 1 i32.shl + local.get $6 i32.add i32.const 50790505 i32.store @@ -7041,14 +6933,14 @@ i32.add local.set $5 else - local.get $2 + local.get $3 i32.const 931 i32.eq if - local.get $6 local.get $5 i32.const 1 i32.shl + local.get $6 i32.add i32.const 962 i32.const 963 @@ -7058,10 +6950,10 @@ if (result i32) block $~lib/util/string/isFinalSigma|inlined.0 (result i32) i32.const 0 - local.set $3 + local.set $2 i32.const 0 local.get $4 - local.tee $2 + local.tee $3 i32.const 30 i32.sub local.tee $1 @@ -7071,25 +6963,23 @@ select local.set $9 loop $while-continue|1 - local.get $2 + local.get $3 local.get $9 i32.gt_s if - local.get $2 - local.set $1 i32.const -1 - local.set $2 + local.set $1 block $~lib/util/string/codePointBefore|inlined.0 - local.get $1 + local.get $3 i32.const 0 i32.le_s br_if $~lib/util/string/codePointBefore|inlined.0 - local.get $0 - local.get $1 + local.get $3 i32.const 1 i32.sub i32.const 1 i32.shl + local.get $0 i32.add i32.load16_u local.tee $7 @@ -7097,7 +6987,7 @@ i32.and i32.const 56320 i32.eq - local.get $1 + local.get $3 i32.const 2 i32.sub i32.const 0 @@ -7107,12 +6997,12 @@ local.get $7 i32.const 1023 i32.and - local.get $0 - local.get $1 + local.get $3 i32.const 2 i32.sub i32.const 1 i32.shl + local.get $0 i32.add i32.load16_u local.tee $10 @@ -7123,7 +7013,7 @@ i32.add i32.const 65536 i32.add - local.set $2 + local.set $1 local.get $10 i32.const 64512 i32.and @@ -7139,13 +7029,13 @@ i32.const 55296 i32.eq select - local.set $2 + local.set $1 end - local.get $2 + local.get $1 i32.const 918000 i32.lt_u if (result i32) - local.get $2 + local.get $1 i32.const 8 i32.shr_u i32.const 7212 @@ -7155,14 +7045,14 @@ i32.shl i32.const 7212 i32.add - local.get $2 + local.get $1 i32.const 255 i32.and i32.const 3 i32.shr_u i32.add i32.load8_u - local.get $2 + local.get $1 i32.const 7 i32.and i32.shr_u @@ -7174,11 +7064,11 @@ i32.eqz if i32.const 0 - local.get $2 + local.get $1 i32.const 127370 i32.lt_u if (result i32) - local.get $2 + local.get $1 i32.const 8 i32.shr_u i32.const 10220 @@ -7188,14 +7078,14 @@ i32.shl i32.const 10220 i32.add - local.get $2 + local.get $1 i32.const 255 i32.and i32.const 3 i32.shr_u i32.add i32.load8_u - local.get $2 + local.get $1 i32.const 7 i32.and i32.shr_u @@ -7208,28 +7098,28 @@ br_if $~lib/util/string/isFinalSigma|inlined.0 drop i32.const 1 - local.set $3 + local.set $2 end + local.get $3 local.get $1 - local.get $2 i32.const 65536 i32.ge_s i32.const 1 i32.add i32.sub - local.set $2 + local.set $3 br $while-continue|1 end end i32.const 0 - local.get $3 + local.get $2 i32.eqz br_if $~lib/util/string/isFinalSigma|inlined.0 drop local.get $4 i32.const 1 i32.add - local.tee $2 + local.tee $3 i32.const 30 i32.add local.tee $1 @@ -7238,16 +7128,16 @@ local.get $8 i32.lt_s select - local.set $3 + local.set $2 loop $while-continue|2 local.get $2 local.get $3 - i32.lt_s + i32.gt_s if - local.get $0 - local.get $2 + local.get $3 i32.const 1 i32.shl + local.get $0 i32.add i32.load16_u local.tee $1 @@ -7256,16 +7146,16 @@ i32.const 55296 i32.eq local.get $8 - local.get $2 + local.get $3 i32.const 1 i32.add i32.ne i32.and if - local.get $0 - local.get $2 + local.get $3 i32.const 1 i32.shl + local.get $0 i32.add i32.load16_u offset=2 local.tee $7 @@ -7349,14 +7239,14 @@ i32.eqz br $~lib/util/string/isFinalSigma|inlined.0 end - local.get $2 local.get $1 i32.const 65536 i32.ge_u i32.const 1 i32.add + local.get $3 i32.add - local.set $2 + local.set $3 br $while-continue|2 end end @@ -7368,53 +7258,53 @@ select i32.store16 else - local.get $2 + local.get $3 i32.const 9398 i32.sub i32.const 25 i32.le_u if - local.get $6 local.get $5 i32.const 1 i32.shl + local.get $6 i32.add - local.get $2 + local.get $3 i32.const 26 i32.add i32.store16 else - local.get $2 + local.get $3 i32.const 0 call $~lib/util/casemap/casemap i32.const 2097151 i32.and - local.tee $2 + local.tee $3 i32.const 65536 i32.lt_u if - local.get $6 local.get $5 i32.const 1 i32.shl + local.get $6 i32.add - local.get $2 + local.get $3 i32.store16 else - local.get $6 local.get $5 i32.const 1 i32.shl + local.get $6 i32.add - local.get $2 + local.get $3 i32.const 65536 i32.sub - local.tee $2 + local.tee $3 i32.const 10 i32.shr_u i32.const 55296 i32.or - local.get $2 + local.get $3 i32.const 1023 i32.and i32.const 56320 @@ -7433,12 +7323,12 @@ end end else - local.get $6 local.get $5 i32.const 1 i32.shl + local.get $6 i32.add - local.get $2 + local.get $3 i32.const 7084 i32.add i32.load8_u diff --git a/tests/compiler/std/string-encoding.optimized.wat b/tests/compiler/std/string-encoding.optimized.wat index 8bab4ce9a7..dcb7a1ad25 100644 --- a/tests/compiler/std/string-encoding.optimized.wat +++ b/tests/compiler/std/string-encoding.optimized.wat @@ -137,8 +137,8 @@ i32.and i32.eq if - local.get $0 global.get $~lib/rt/itcms/iter + local.get $0 i32.eq if local.get $0 @@ -198,11 +198,11 @@ local.get $1 i32.store offset=8 local.get $1 - local.get $2 local.get $1 i32.load offset=4 i32.const 3 i32.and + local.get $2 i32.or i32.store offset=4 end @@ -216,10 +216,10 @@ if (result i32) i32.const 1 else - local.get $1 i32.const 22512 i32.load - i32.gt_u + local.get $1 + i32.lt_u if i32.const 1344 i32.const 1408 @@ -256,11 +256,11 @@ local.get $1 i32.store offset=8 local.get $1 - local.get $0 local.get $1 i32.load offset=4 i32.const 3 i32.and + local.get $0 i32.or i32.store offset=4 local.get $2 @@ -399,22 +399,22 @@ local.get $4 i32.eqz if - local.get $0 local.get $3 i32.const 2 i32.shl + local.get $0 i32.add - local.tee $1 + local.tee $4 i32.load offset=4 i32.const -2 local.get $2 i32.rotl i32.and - local.set $2 + local.set $1 + local.get $4 local.get $1 - local.get $2 i32.store offset=4 - local.get $2 + local.get $1 i32.eqz if local.get $0 @@ -662,10 +662,10 @@ i32.shl i32.or i32.store - local.get $0 local.get $5 i32.const 2 i32.shl + local.get $0 i32.add local.tee $0 local.get $0 @@ -705,11 +705,11 @@ i32.load offset=1568 local.tee $2 if + local.get $1 local.get $2 i32.const 4 i32.add - local.get $1 - i32.gt_u + i32.lt_u if i32.const 0 i32.const 1488 @@ -733,11 +733,11 @@ local.set $1 end else + local.get $1 local.get $0 i32.const 1572 i32.add - local.get $1 - i32.gt_u + i32.lt_u if i32.const 0 i32.const 1488 @@ -1024,13 +1024,13 @@ if local.get $0 i32.load offset=4 + local.tee $1 i32.const -4 i32.and global.set $~lib/rt/itcms/iter global.get $~lib/rt/itcms/white i32.eqz - local.get $0 - i32.load offset=4 + local.get $1 i32.const 3 i32.and i32.ne @@ -1117,10 +1117,10 @@ end global.get $~lib/rt/itcms/toSpace local.tee $0 - local.get $0 + local.tee $1 + local.get $1 i32.store offset=4 - global.get $~lib/rt/itcms/toSpace - local.tee $0 + local.get $0 local.get $0 i32.store offset=8 i32.const 0 @@ -1369,7 +1369,6 @@ i32.const 536870910 i32.lt_u if (result i32) - local.get $3 i32.const 1 i32.const 27 local.get $3 @@ -1378,6 +1377,7 @@ i32.shl i32.const 1 i32.sub + local.get $3 i32.add else local.get $3 @@ -1438,12 +1438,12 @@ unreachable end end - local.get $3 local.get $2 i32.load i32.const -4 i32.and - i32.gt_u + local.get $3 + i32.lt_u if i32.const 0 i32.const 1488 @@ -1481,10 +1481,10 @@ i32.ge_u if local.get $2 - local.get $3 local.get $5 i32.const 2 i32.and + local.get $3 i32.or i32.store local.get $3 @@ -1511,18 +1511,13 @@ local.get $2 i32.const 4 i32.add - local.tee $3 local.get $2 i32.load i32.const -4 i32.and i32.add + local.tee $3 local.get $3 - local.get $2 - i32.load - i32.const -4 - i32.and - i32.add i32.load i32.const -3 i32.and @@ -1539,19 +1534,19 @@ i32.load offset=8 local.set $3 local.get $2 - local.get $1 global.get $~lib/rt/itcms/white + local.get $1 i32.or i32.store offset=4 local.get $2 local.get $3 i32.store offset=8 local.get $3 - local.get $2 local.get $3 i32.load offset=4 i32.const 3 i32.and + local.get $2 i32.or i32.store offset=4 local.get $1 @@ -1759,17 +1754,17 @@ select if local.get $0 - local.tee $3 + local.tee $4 i32.const 1 i32.add local.set $0 local.get $1 - local.tee $4 + local.tee $3 i32.const 1 i32.add local.set $1 - local.get $3 local.get $4 + local.get $3 i32.load8_u i32.store8 local.get $2 @@ -1915,19 +1910,19 @@ local.get $0 i32.const 2 i32.add - local.tee $3 + local.tee $4 i32.const 1 i32.add local.set $0 local.get $1 i32.const 2 i32.add - local.tee $4 + local.tee $3 i32.const 1 i32.add local.set $1 - local.get $3 local.get $4 + local.get $3 i32.load8_u i32.store8 local.get $2 @@ -1942,7 +1937,7 @@ local.get $0 local.get $1 i32.load offset=1 - local.tee $3 + local.tee $4 i32.const 8 i32.shl local.get $5 @@ -1953,10 +1948,10 @@ local.get $0 local.get $1 i32.load offset=5 - local.tee $4 + local.tee $3 i32.const 8 i32.shl - local.get $3 + local.get $4 i32.const 24 i32.shr_u i32.or @@ -1964,10 +1959,10 @@ local.get $0 local.get $1 i32.load offset=9 - local.tee $3 + local.tee $4 i32.const 8 i32.shl - local.get $4 + local.get $3 i32.const 24 i32.shr_u i32.or @@ -1978,7 +1973,7 @@ local.tee $5 i32.const 8 i32.shl - local.get $3 + local.get $4 i32.const 24 i32.shr_u i32.or @@ -2033,7 +2028,7 @@ local.get $0 local.get $1 i32.load offset=2 - local.tee $3 + local.tee $4 i32.const 16 i32.shl local.get $5 @@ -2044,10 +2039,10 @@ local.get $0 local.get $1 i32.load offset=6 - local.tee $4 + local.tee $3 i32.const 16 i32.shl - local.get $3 + local.get $4 i32.const 16 i32.shr_u i32.or @@ -2055,10 +2050,10 @@ local.get $0 local.get $1 i32.load offset=10 - local.tee $3 + local.tee $4 i32.const 16 i32.shl - local.get $4 + local.get $3 i32.const 16 i32.shr_u i32.or @@ -2069,7 +2064,7 @@ local.tee $5 i32.const 16 i32.shl - local.get $3 + local.get $4 i32.const 16 i32.shr_u i32.or @@ -2095,17 +2090,17 @@ i32.load local.set $5 local.get $0 - local.tee $3 + local.tee $4 i32.const 1 i32.add local.set $0 local.get $1 - local.tee $4 + local.tee $3 i32.const 1 i32.add local.set $1 - local.get $3 local.get $4 + local.get $3 i32.load8_u i32.store8 local.get $2 @@ -2120,7 +2115,7 @@ local.get $0 local.get $1 i32.load offset=3 - local.tee $3 + local.tee $4 i32.const 24 i32.shl local.get $5 @@ -2131,10 +2126,10 @@ local.get $0 local.get $1 i32.load offset=7 - local.tee $4 + local.tee $3 i32.const 24 i32.shl - local.get $3 + local.get $4 i32.const 8 i32.shr_u i32.or @@ -2142,10 +2137,10 @@ local.get $0 local.get $1 i32.load offset=11 - local.tee $3 + local.tee $4 i32.const 24 i32.shl - local.get $4 + local.get $3 i32.const 8 i32.shr_u i32.or @@ -2156,7 +2151,7 @@ local.tee $5 i32.const 24 i32.shl - local.get $3 + local.get $4 i32.const 8 i32.shr_u i32.or @@ -2187,145 +2182,137 @@ i32.load8_u i32.store8 local.get $0 - local.tee $4 - i32.const 2 - i32.add - local.set $0 local.get $1 - local.tee $3 - i32.const 2 - i32.add - local.set $1 - local.get $4 - local.get $3 i32.load8_u offset=1 i32.store8 offset=1 local.get $0 - local.get $1 - i32.load8_u - i32.store8 - local.get $0 - local.tee $4 i32.const 2 i32.add - local.set $0 + local.tee $4 local.get $1 + i32.const 2 + i32.add local.tee $3 + i32.load8_u + i32.store8 + local.get $3 + local.tee $0 i32.const 2 i32.add - local.set $1 + local.set $3 local.get $4 - local.get $3 + local.get $0 i32.load8_u offset=1 i32.store8 offset=1 - local.get $0 - local.get $1 + local.get $4 + i32.const 2 + i32.add + local.tee $1 + local.get $3 i32.load8_u i32.store8 - local.get $0 + local.get $1 local.tee $4 i32.const 2 i32.add - local.set $0 - local.get $1 - local.tee $3 + local.set $1 + local.get $3 + local.tee $0 i32.const 2 i32.add - local.set $1 + local.set $3 local.get $4 - local.get $3 + local.get $0 i32.load8_u offset=1 i32.store8 offset=1 - local.get $0 local.get $1 + local.get $3 i32.load8_u i32.store8 - local.get $0 + local.get $1 local.tee $4 i32.const 2 i32.add - local.set $0 - local.get $1 - local.tee $3 + local.set $1 + local.get $3 + local.tee $0 i32.const 2 i32.add - local.set $1 + local.set $3 local.get $4 - local.get $3 + local.get $0 i32.load8_u offset=1 i32.store8 offset=1 - local.get $0 local.get $1 + local.get $3 i32.load8_u i32.store8 - local.get $0 + local.get $1 local.tee $4 i32.const 2 i32.add - local.set $0 - local.get $1 - local.tee $3 + local.set $1 + local.get $3 + local.tee $0 i32.const 2 i32.add - local.set $1 + local.set $3 local.get $4 - local.get $3 + local.get $0 i32.load8_u offset=1 i32.store8 offset=1 - local.get $0 local.get $1 + local.get $3 i32.load8_u i32.store8 - local.get $0 + local.get $1 local.tee $4 i32.const 2 i32.add - local.set $0 - local.get $1 - local.tee $3 + local.set $1 + local.get $3 + local.tee $0 i32.const 2 i32.add - local.set $1 + local.set $3 local.get $4 - local.get $3 + local.get $0 i32.load8_u offset=1 i32.store8 offset=1 - local.get $0 local.get $1 + local.get $3 i32.load8_u i32.store8 - local.get $0 + local.get $1 local.tee $4 i32.const 2 i32.add - local.set $0 - local.get $1 - local.tee $3 + local.set $1 + local.get $3 + local.tee $0 i32.const 2 i32.add - local.set $1 + local.set $3 local.get $4 - local.get $3 + local.get $0 i32.load8_u offset=1 i32.store8 offset=1 - local.get $0 local.get $1 + local.get $3 i32.load8_u i32.store8 - local.get $0 - local.tee $4 + local.get $1 i32.const 2 i32.add local.set $0 local.get $1 - local.tee $3 - i32.const 2 - i32.add - local.set $1 - local.get $4 local.get $3 i32.load8_u offset=1 i32.store8 offset=1 + local.get $3 + i32.const 2 + i32.add + local.set $1 end local.get $2 i32.const 8 @@ -2336,73 +2323,65 @@ i32.load8_u i32.store8 local.get $0 - local.tee $4 + local.get $1 + i32.load8_u offset=1 + i32.store8 offset=1 + local.get $0 i32.const 2 i32.add - local.set $0 + local.tee $4 local.get $1 + i32.const 2 + i32.add local.tee $3 + i32.load8_u + i32.store8 + local.get $3 + local.tee $0 i32.const 2 i32.add - local.set $1 + local.set $3 local.get $4 - local.get $3 + local.get $0 i32.load8_u offset=1 i32.store8 offset=1 - local.get $0 - local.get $1 + local.get $4 + i32.const 2 + i32.add + local.tee $1 + local.get $3 i32.load8_u i32.store8 - local.get $0 + local.get $1 local.tee $4 i32.const 2 i32.add - local.set $0 - local.get $1 - local.tee $3 + local.set $1 + local.get $3 + local.tee $0 i32.const 2 i32.add - local.set $1 + local.set $3 local.get $4 - local.get $3 + local.get $0 i32.load8_u offset=1 i32.store8 offset=1 - local.get $0 local.get $1 + local.get $3 i32.load8_u i32.store8 - local.get $0 - local.tee $4 + local.get $1 i32.const 2 i32.add local.set $0 local.get $1 - local.tee $3 - i32.const 2 - i32.add - local.set $1 - local.get $4 local.get $3 i32.load8_u offset=1 i32.store8 offset=1 - local.get $0 - local.get $1 - i32.load8_u - i32.store8 - local.get $0 - local.tee $4 - i32.const 2 - i32.add - local.set $0 - local.get $1 - local.tee $3 + local.get $3 i32.const 2 i32.add local.set $1 - local.get $4 - local.get $3 - i32.load8_u offset=1 - i32.store8 offset=1 end local.get $2 i32.const 4 @@ -2413,30 +2392,20 @@ i32.load8_u i32.store8 local.get $0 - local.tee $4 - i32.const 2 - i32.add - local.set $0 local.get $1 - local.tee $3 - i32.const 2 - i32.add - local.set $1 - local.get $4 - local.get $3 i32.load8_u offset=1 i32.store8 offset=1 local.get $0 - local.get $1 - i32.load8_u - i32.store8 - local.get $0 - local.tee $4 i32.const 2 i32.add - local.set $0 + local.tee $4 local.get $1 + i32.const 2 + i32.add local.tee $3 + i32.load8_u + i32.store8 + local.get $3 i32.const 2 i32.add local.set $1 @@ -2444,6 +2413,10 @@ local.get $3 i32.load8_u offset=1 i32.store8 offset=1 + local.get $4 + i32.const 2 + i32.add + local.set $0 end local.get $2 i32.const 2 @@ -2924,6 +2897,7 @@ (func $~start (local $0 i32) (local $1 i32) + (local $2 i32) global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub @@ -3231,7 +3205,207 @@ i32.const 12 i32.add global.set $~lib/memory/__stack_pointer - call $std/string-encoding/testUTF16DecodeUnsafe + global.get $~lib/memory/__stack_pointer + i32.const 12 + i32.sub + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 22540 + i32.lt_s + br_if $folding-inner1 + global.get $~lib/memory/__stack_pointer + local.tee $0 + i64.const 0 + i64.store + local.get $0 + i32.const 0 + i32.store offset=8 + local.get $0 + i32.const 1056 + i32.store + local.get $0 + i32.const 1056 + call $~lib/string/String.UTF16.encode + local.tee $0 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer + i32.const 1056 + i32.store + i32.const 1052 + i32.load + local.set $2 + local.get $0 + i32.const 0 + call $~lib/string/String.UTF16.decodeUnsafe + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store + global.get $~lib/memory/__stack_pointer + i32.const 1552 + i32.store offset=8 + local.get $1 + i32.const 1552 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 1088 + i32.const 42 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $0 + local.get $2 + call $~lib/string/String.UTF16.decodeUnsafe + local.set $1 + global.get $~lib/memory/__stack_pointer + local.tee $2 + local.get $1 + i32.store + local.get $2 + i32.const 1056 + i32.store offset=8 + local.get $1 + i32.const 1056 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 1088 + i32.const 43 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $0 + i32.const 4 + call $~lib/string/String.UTF16.decodeUnsafe + local.set $1 + global.get $~lib/memory/__stack_pointer + local.tee $2 + local.get $1 + i32.store + local.get $2 + i32.const 1584 + i32.store offset=8 + local.get $1 + i32.const 1584 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 1088 + i32.const 44 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $0 + i32.const 4 + i32.add + i32.const 2 + call $~lib/string/String.UTF16.decodeUnsafe + local.set $1 + global.get $~lib/memory/__stack_pointer + local.tee $2 + local.get $1 + i32.store + local.get $2 + i32.const 1616 + i32.store offset=8 + local.get $1 + i32.const 1616 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 1088 + i32.const 45 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $0 + i32.const 4 + i32.add + i32.const 4 + call $~lib/string/String.UTF16.decodeUnsafe + local.set $1 + global.get $~lib/memory/__stack_pointer + local.tee $2 + local.get $1 + i32.store + local.get $2 + i32.const 1648 + i32.store offset=8 + local.get $1 + i32.const 1648 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 1088 + i32.const 46 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $0 + i32.const 8 + i32.add + i32.const 4 + call $~lib/string/String.UTF16.decodeUnsafe + local.set $1 + global.get $~lib/memory/__stack_pointer + local.tee $2 + local.get $1 + i32.store + local.get $2 + i32.const 1680 + i32.store offset=8 + local.get $1 + i32.const 1680 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 1088 + i32.const 47 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $0 + i32.const 12 + i32.add + i32.const 0 + call $~lib/string/String.UTF16.decodeUnsafe + local.set $0 + global.get $~lib/memory/__stack_pointer + local.tee $1 + local.get $0 + i32.store + local.get $1 + i32.const 1552 + i32.store offset=8 + local.get $0 + i32.const 1552 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 1088 + i32.const 48 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + i32.const 12 + i32.add + global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub @@ -4063,226 +4237,10 @@ call $~lib/builtins/abort unreachable ) - (func $std/string-encoding/testUTF16DecodeUnsafe - (local $0 i32) - (local $1 i32) - (local $2 i32) - (local $3 i32) - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.sub - global.set $~lib/memory/__stack_pointer - global.get $~lib/memory/__stack_pointer - i32.const 22540 - i32.lt_s - if - i32.const 38944 - i32.const 38992 - i32.const 1 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - local.tee $1 - i64.const 0 - i64.store - local.get $1 - i32.const 0 - i32.store offset=8 - local.get $1 - i32.const 1056 - i32.store - local.get $1 - i32.const 1056 - call $~lib/string/String.UTF16.encode - local.tee $1 - i32.store offset=4 - global.get $~lib/memory/__stack_pointer - i32.const 1056 - i32.store - i32.const 1052 - i32.load - local.set $2 - local.get $1 - i32.const 0 - call $~lib/string/String.UTF16.decodeUnsafe - local.set $0 - global.get $~lib/memory/__stack_pointer - local.tee $3 - local.get $0 - i32.store - local.get $3 - i32.const 1552 - i32.store offset=8 - local.get $0 - i32.const 1552 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 1088 - i32.const 42 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $1 - local.get $2 - call $~lib/string/String.UTF16.decodeUnsafe - local.set $0 - global.get $~lib/memory/__stack_pointer - local.tee $2 - local.get $0 - i32.store - local.get $2 - i32.const 1056 - i32.store offset=8 - local.get $0 - i32.const 1056 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 1088 - i32.const 43 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $1 - i32.const 4 - call $~lib/string/String.UTF16.decodeUnsafe - local.set $0 - global.get $~lib/memory/__stack_pointer - local.tee $2 - local.get $0 - i32.store - local.get $2 - i32.const 1584 - i32.store offset=8 - local.get $0 - i32.const 1584 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 1088 - i32.const 44 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $1 - i32.const 4 - i32.add - i32.const 2 - call $~lib/string/String.UTF16.decodeUnsafe - local.set $0 - global.get $~lib/memory/__stack_pointer - local.tee $2 - local.get $0 - i32.store - local.get $2 - i32.const 1616 - i32.store offset=8 - local.get $0 - i32.const 1616 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 1088 - i32.const 45 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $1 - i32.const 4 - i32.add - i32.const 4 - call $~lib/string/String.UTF16.decodeUnsafe - local.set $0 - global.get $~lib/memory/__stack_pointer - local.tee $2 - local.get $0 - i32.store - local.get $2 - i32.const 1648 - i32.store offset=8 - local.get $0 - i32.const 1648 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 1088 - i32.const 46 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $1 - i32.const 8 - i32.add - i32.const 4 - call $~lib/string/String.UTF16.decodeUnsafe - local.set $0 - global.get $~lib/memory/__stack_pointer - local.tee $2 - local.get $0 - i32.store - local.get $2 - i32.const 1680 - i32.store offset=8 - local.get $0 - i32.const 1680 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 1088 - i32.const 47 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $1 - i32.const 12 - i32.add - i32.const 0 - call $~lib/string/String.UTF16.decodeUnsafe - local.set $1 - global.get $~lib/memory/__stack_pointer - local.tee $0 - local.get $1 - i32.store - local.get $0 - i32.const 1552 - i32.store offset=8 - local.get $1 - i32.const 1552 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 1088 - i32.const 48 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.add - global.set $~lib/memory/__stack_pointer - ) (func $std/string-encoding/testUTF8DecodeUnsafe (local $0 i32) (local $1 i32) (local $2 i32) - (local $3 i32) global.get $~lib/memory/__stack_pointer i32.const 12 i32.sub @@ -4329,10 +4287,9 @@ call $~lib/string/String.UTF8.decodeUnsafe local.set $0 global.get $~lib/memory/__stack_pointer - local.tee $3 local.get $0 i32.store - local.get $3 + global.get $~lib/memory/__stack_pointer i32.const 1552 i32.store offset=8 local.get $0 @@ -4645,7 +4602,6 @@ ) (func $~lib/string/String.UTF16.encode (param $0 i32) (result i32) (local $1 i32) - (local $2 i32) global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub @@ -4669,7 +4625,6 @@ local.get $0 i32.const 20 i32.sub - local.tee $2 i32.load offset=16 i32.const 0 call $~lib/rt/itcms/__new @@ -4677,7 +4632,9 @@ i32.store local.get $1 local.get $0 - local.get $2 + local.get $0 + i32.const 20 + i32.sub i32.load offset=16 i32.const 1 i32.shr_u @@ -4764,19 +4721,18 @@ local.tee $5 i32.store local.get $0 - local.tee $4 + local.set $4 + local.get $5 + local.set $0 + local.get $4 i32.const 20 i32.sub i32.load offset=16 i32.const 1 i32.shr_u - local.set $3 - local.get $5 - local.set $0 - local.get $4 - local.get $3 i32.const 1 i32.shl + local.get $4 i32.add local.set $6 loop $while-continue|0 @@ -4994,9 +4950,9 @@ global.get $~lib/memory/__stack_pointer i32.const 0 i32.store + local.get $1 local.get $0 local.tee $3 - local.get $1 i32.add local.set $5 local.get $3 @@ -5159,9 +5115,9 @@ end end else - local.get $2 local.get $4 i32.eqz + local.get $2 i32.and br_if $while-break|0 local.get $1 diff --git a/tests/compiler/std/string.optimized.wat b/tests/compiler/std/string.optimized.wat index 8c43b6a5e3..bc8051ae8a 100644 --- a/tests/compiler/std/string.optimized.wat +++ b/tests/compiler/std/string.optimized.wat @@ -944,10 +944,10 @@ (start $~start) (func $~lib/util/string/compareImpl (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (result i32) (local $4 i32) - local.get $0 local.get $1 i32.const 1 i32.shl + local.get $0 i32.add local.tee $1 i32.const 7 @@ -1128,8 +1128,8 @@ (local $1 i32) (local $2 i32) (local $3 i32) - local.get $0 global.get $~lib/rt/itcms/iter + local.get $0 i32.eq if local.get $0 @@ -1189,11 +1189,11 @@ local.get $1 i32.store offset=8 local.get $1 - local.get $2 local.get $1 i32.load offset=4 i32.const 3 i32.and + local.get $2 i32.or i32.store offset=4 end @@ -1207,10 +1207,10 @@ if (result i32) i32.const 1 else - local.get $1 i32.const 25840 i32.load - i32.gt_u + local.get $1 + i32.lt_u if i32.const 1264 i32.const 1568 @@ -1247,11 +1247,11 @@ local.get $1 i32.store offset=8 local.get $1 - local.get $0 local.get $1 i32.load offset=4 i32.const 3 i32.and + local.get $0 i32.or i32.store offset=4 local.get $2 @@ -1409,22 +1409,22 @@ local.get $4 i32.eqz if - local.get $0 local.get $3 i32.const 2 i32.shl + local.get $0 i32.add - local.tee $1 + local.tee $4 i32.load offset=4 i32.const -2 local.get $2 i32.rotl i32.and - local.set $2 + local.set $1 + local.get $4 local.get $1 - local.get $2 i32.store offset=4 - local.get $2 + local.get $1 i32.eqz if local.get $0 @@ -1672,10 +1672,10 @@ i32.shl i32.or i32.store - local.get $0 local.get $5 i32.const 2 i32.shl + local.get $0 i32.add local.tee $0 local.get $0 @@ -1715,11 +1715,11 @@ i32.load offset=1568 local.tee $2 if + local.get $1 local.get $2 i32.const 4 i32.add - local.get $1 - i32.gt_u + i32.lt_u if i32.const 0 i32.const 1648 @@ -1743,11 +1743,11 @@ local.set $1 end else + local.get $1 local.get $0 i32.const 1572 i32.add - local.get $1 - i32.gt_u + i32.lt_u if i32.const 0 i32.const 1648 @@ -2034,13 +2034,13 @@ if local.get $0 i32.load offset=4 + local.tee $1 i32.const -4 i32.and global.set $~lib/rt/itcms/iter global.get $~lib/rt/itcms/white i32.eqz - local.get $0 - i32.load offset=4 + local.get $1 i32.const 3 i32.and i32.ne @@ -2127,10 +2127,10 @@ end global.get $~lib/rt/itcms/toSpace local.tee $0 - local.get $0 + local.tee $1 + local.get $1 i32.store offset=4 - global.get $~lib/rt/itcms/toSpace - local.tee $0 + local.get $0 local.get $0 i32.store offset=8 i32.const 0 @@ -2555,7 +2555,6 @@ i32.const 536870910 i32.lt_u if (result i32) - local.get $2 i32.const 1 i32.const 27 local.get $2 @@ -2564,6 +2563,7 @@ i32.shl i32.const 1 i32.sub + local.get $2 i32.add else local.get $2 @@ -2624,12 +2624,12 @@ unreachable end end - local.get $2 local.get $3 i32.load i32.const -4 i32.and - i32.gt_u + local.get $2 + i32.lt_u if i32.const 0 i32.const 1648 @@ -2667,10 +2667,10 @@ i32.ge_u if local.get $3 - local.get $2 local.get $4 i32.const 2 i32.and + local.get $2 i32.or i32.store local.get $2 @@ -2697,18 +2697,13 @@ local.get $3 i32.const 4 i32.add - local.tee $2 local.get $3 i32.load i32.const -4 i32.and i32.add + local.tee $2 local.get $2 - local.get $3 - i32.load - i32.const -4 - i32.and - i32.add i32.load i32.const -3 i32.and @@ -2725,19 +2720,19 @@ i32.load offset=8 local.set $2 local.get $3 - local.get $1 global.get $~lib/rt/itcms/white + local.get $1 i32.or i32.store offset=4 local.get $3 local.get $2 i32.store offset=8 local.get $2 - local.get $3 local.get $2 i32.load offset=4 i32.const 3 i32.and + local.get $3 i32.or i32.store offset=4 local.get $1 @@ -2832,17 +2827,17 @@ select if local.get $0 - local.tee $3 + local.tee $4 i32.const 1 i32.add local.set $0 local.get $1 - local.tee $4 + local.tee $3 i32.const 1 i32.add local.set $1 - local.get $3 local.get $4 + local.get $3 i32.load8_u i32.store8 local.get $2 @@ -2988,19 +2983,19 @@ local.get $0 i32.const 2 i32.add - local.tee $3 + local.tee $4 i32.const 1 i32.add local.set $0 local.get $1 i32.const 2 i32.add - local.tee $4 + local.tee $3 i32.const 1 i32.add local.set $1 - local.get $3 local.get $4 + local.get $3 i32.load8_u i32.store8 local.get $2 @@ -3015,7 +3010,7 @@ local.get $0 local.get $1 i32.load offset=1 - local.tee $3 + local.tee $4 i32.const 8 i32.shl local.get $5 @@ -3026,10 +3021,10 @@ local.get $0 local.get $1 i32.load offset=5 - local.tee $4 + local.tee $3 i32.const 8 i32.shl - local.get $3 + local.get $4 i32.const 24 i32.shr_u i32.or @@ -3037,10 +3032,10 @@ local.get $0 local.get $1 i32.load offset=9 - local.tee $3 + local.tee $4 i32.const 8 i32.shl - local.get $4 + local.get $3 i32.const 24 i32.shr_u i32.or @@ -3051,7 +3046,7 @@ local.tee $5 i32.const 8 i32.shl - local.get $3 + local.get $4 i32.const 24 i32.shr_u i32.or @@ -3106,7 +3101,7 @@ local.get $0 local.get $1 i32.load offset=2 - local.tee $3 + local.tee $4 i32.const 16 i32.shl local.get $5 @@ -3117,10 +3112,10 @@ local.get $0 local.get $1 i32.load offset=6 - local.tee $4 + local.tee $3 i32.const 16 i32.shl - local.get $3 + local.get $4 i32.const 16 i32.shr_u i32.or @@ -3128,10 +3123,10 @@ local.get $0 local.get $1 i32.load offset=10 - local.tee $3 + local.tee $4 i32.const 16 i32.shl - local.get $4 + local.get $3 i32.const 16 i32.shr_u i32.or @@ -3142,7 +3137,7 @@ local.tee $5 i32.const 16 i32.shl - local.get $3 + local.get $4 i32.const 16 i32.shr_u i32.or @@ -3168,17 +3163,17 @@ i32.load local.set $5 local.get $0 - local.tee $3 + local.tee $4 i32.const 1 i32.add local.set $0 local.get $1 - local.tee $4 + local.tee $3 i32.const 1 i32.add local.set $1 - local.get $3 local.get $4 + local.get $3 i32.load8_u i32.store8 local.get $2 @@ -3193,7 +3188,7 @@ local.get $0 local.get $1 i32.load offset=3 - local.tee $3 + local.tee $4 i32.const 24 i32.shl local.get $5 @@ -3204,10 +3199,10 @@ local.get $0 local.get $1 i32.load offset=7 - local.tee $4 + local.tee $3 i32.const 24 i32.shl - local.get $3 + local.get $4 i32.const 8 i32.shr_u i32.or @@ -3215,10 +3210,10 @@ local.get $0 local.get $1 i32.load offset=11 - local.tee $3 + local.tee $4 i32.const 24 i32.shl - local.get $4 + local.get $3 i32.const 8 i32.shr_u i32.or @@ -3229,7 +3224,7 @@ local.tee $5 i32.const 24 i32.shl - local.get $3 + local.get $4 i32.const 8 i32.shr_u i32.or @@ -3260,145 +3255,137 @@ i32.load8_u i32.store8 local.get $0 - local.tee $4 - i32.const 2 - i32.add - local.set $0 local.get $1 - local.tee $3 - i32.const 2 - i32.add - local.set $1 - local.get $4 - local.get $3 i32.load8_u offset=1 i32.store8 offset=1 local.get $0 - local.get $1 - i32.load8_u - i32.store8 - local.get $0 - local.tee $4 i32.const 2 i32.add - local.set $0 + local.tee $4 local.get $1 + i32.const 2 + i32.add local.tee $3 + i32.load8_u + i32.store8 + local.get $3 + local.tee $0 i32.const 2 i32.add - local.set $1 + local.set $3 local.get $4 - local.get $3 + local.get $0 i32.load8_u offset=1 i32.store8 offset=1 - local.get $0 - local.get $1 + local.get $4 + i32.const 2 + i32.add + local.tee $1 + local.get $3 i32.load8_u i32.store8 - local.get $0 + local.get $1 local.tee $4 i32.const 2 i32.add - local.set $0 - local.get $1 - local.tee $3 + local.set $1 + local.get $3 + local.tee $0 i32.const 2 i32.add - local.set $1 + local.set $3 local.get $4 - local.get $3 + local.get $0 i32.load8_u offset=1 i32.store8 offset=1 - local.get $0 local.get $1 + local.get $3 i32.load8_u i32.store8 - local.get $0 + local.get $1 local.tee $4 i32.const 2 i32.add - local.set $0 - local.get $1 - local.tee $3 + local.set $1 + local.get $3 + local.tee $0 i32.const 2 i32.add - local.set $1 + local.set $3 local.get $4 - local.get $3 + local.get $0 i32.load8_u offset=1 i32.store8 offset=1 - local.get $0 local.get $1 + local.get $3 i32.load8_u i32.store8 - local.get $0 + local.get $1 local.tee $4 i32.const 2 i32.add - local.set $0 - local.get $1 - local.tee $3 + local.set $1 + local.get $3 + local.tee $0 i32.const 2 i32.add - local.set $1 + local.set $3 local.get $4 - local.get $3 + local.get $0 i32.load8_u offset=1 i32.store8 offset=1 - local.get $0 local.get $1 + local.get $3 i32.load8_u i32.store8 - local.get $0 + local.get $1 local.tee $4 i32.const 2 i32.add - local.set $0 - local.get $1 - local.tee $3 + local.set $1 + local.get $3 + local.tee $0 i32.const 2 i32.add - local.set $1 + local.set $3 local.get $4 - local.get $3 + local.get $0 i32.load8_u offset=1 i32.store8 offset=1 - local.get $0 local.get $1 + local.get $3 i32.load8_u i32.store8 - local.get $0 + local.get $1 local.tee $4 i32.const 2 i32.add - local.set $0 - local.get $1 - local.tee $3 + local.set $1 + local.get $3 + local.tee $0 i32.const 2 i32.add - local.set $1 + local.set $3 local.get $4 - local.get $3 + local.get $0 i32.load8_u offset=1 i32.store8 offset=1 - local.get $0 local.get $1 + local.get $3 i32.load8_u i32.store8 - local.get $0 - local.tee $4 + local.get $1 i32.const 2 i32.add local.set $0 local.get $1 - local.tee $3 - i32.const 2 - i32.add - local.set $1 - local.get $4 local.get $3 i32.load8_u offset=1 i32.store8 offset=1 + local.get $3 + i32.const 2 + i32.add + local.set $1 end local.get $2 i32.const 8 @@ -3409,73 +3396,65 @@ i32.load8_u i32.store8 local.get $0 - local.tee $4 - i32.const 2 - i32.add - local.set $0 local.get $1 - local.tee $3 - i32.const 2 - i32.add - local.set $1 - local.get $4 - local.get $3 i32.load8_u offset=1 i32.store8 offset=1 local.get $0 - local.get $1 - i32.load8_u - i32.store8 - local.get $0 - local.tee $4 i32.const 2 i32.add - local.set $0 + local.tee $4 local.get $1 + i32.const 2 + i32.add local.tee $3 + i32.load8_u + i32.store8 + local.get $3 + local.tee $0 i32.const 2 i32.add - local.set $1 + local.set $3 local.get $4 - local.get $3 + local.get $0 i32.load8_u offset=1 i32.store8 offset=1 - local.get $0 - local.get $1 + local.get $4 + i32.const 2 + i32.add + local.tee $1 + local.get $3 i32.load8_u i32.store8 - local.get $0 + local.get $1 local.tee $4 i32.const 2 i32.add - local.set $0 - local.get $1 - local.tee $3 + local.set $1 + local.get $3 + local.tee $0 i32.const 2 i32.add - local.set $1 + local.set $3 local.get $4 - local.get $3 + local.get $0 i32.load8_u offset=1 i32.store8 offset=1 - local.get $0 local.get $1 + local.get $3 i32.load8_u i32.store8 - local.get $0 - local.tee $4 + local.get $1 i32.const 2 i32.add local.set $0 local.get $1 - local.tee $3 - i32.const 2 - i32.add - local.set $1 - local.get $4 local.get $3 i32.load8_u offset=1 i32.store8 offset=1 + local.get $3 + i32.const 2 + i32.add + local.set $1 end local.get $2 i32.const 4 @@ -3486,30 +3465,20 @@ i32.load8_u i32.store8 local.get $0 - local.tee $4 - i32.const 2 - i32.add - local.set $0 local.get $1 - local.tee $3 - i32.const 2 - i32.add - local.set $1 - local.get $4 - local.get $3 i32.load8_u offset=1 i32.store8 offset=1 local.get $0 - local.get $1 - i32.load8_u - i32.store8 - local.get $0 - local.tee $4 i32.const 2 i32.add - local.set $0 + local.tee $4 local.get $1 + i32.const 2 + i32.add local.tee $3 + i32.load8_u + i32.store8 + local.get $3 i32.const 2 i32.add local.set $1 @@ -3517,6 +3486,10 @@ local.get $3 i32.load8_u offset=1 i32.store8 offset=1 + local.get $4 + i32.const 2 + i32.add + local.set $0 end local.get $2 i32.const 2 @@ -4352,8 +4325,6 @@ (local $3 i32) (local $4 i32) (local $5 i32) - i32.const 4240 - local.set $5 i32.const 4236 i32.load i32.const 1 @@ -4365,6 +4336,8 @@ return end i32.const 4240 + local.set $5 + i32.const 4240 i32.load16_u local.set $0 loop $while-continue|0 @@ -4629,8 +4602,6 @@ (local $3 i64) (local $4 i32) (local $5 i32) - i32.const 4288 - local.set $5 i32.const 4284 i32.load i32.const 1 @@ -4642,6 +4613,8 @@ return end i32.const 4288 + local.set $5 + i32.const 4288 i32.load16_u local.set $0 loop $while-continue|0 @@ -4883,9 +4856,9 @@ end local.get $0 i64.extend_i32_u - local.get $3 local.get $4 i64.extend_i32_s + local.get $3 i64.mul i64.add local.set $3 @@ -5449,11 +5422,11 @@ i64.mul i64.add else - local.get $6 local.get $2 i32.eqz i32.eqz i64.extend_i32_u + local.get $6 i64.or end local.set $6 @@ -5681,13 +5654,13 @@ i64.const 9007199254740991 i64.le_u if (result i32) + local.get $0 local.get $0 i32.const 31 i32.shr_s local.tee $5 - local.get $0 - local.get $5 i32.add + local.get $5 i32.xor i32.const 22 i32.le_s @@ -5816,10 +5789,10 @@ local.tee $8 i64.shr_u local.set $6 - local.get $8 local.get $0 local.tee $4 i64.extend_i32_s + local.get $8 i64.add global.set $~lib/util/string/__fixmulShift loop $for-loop|7 @@ -6379,6 +6352,14 @@ i64.const 100000000 i64.ge_u if + local.get $2 + i32.const 4 + i32.sub + local.tee $2 + i32.const 1 + i32.shl + local.get $0 + i32.add local.get $1 local.get $1 i64.const 100000000 @@ -6390,20 +6371,8 @@ i32.wrap_i64 local.tee $3 i32.const 10000 - i32.div_u - local.set $4 - local.get $2 - i32.const 4 - i32.sub - local.tee $2 - i32.const 1 - i32.shl - local.get $0 - i32.add - local.get $3 - i32.const 10000 i32.rem_u - local.tee $3 + local.tee $4 i32.const 100 i32.div_u i32.const 2 @@ -6411,7 +6380,7 @@ i32.const 15804 i32.add i64.load32_u - local.get $3 + local.get $4 i32.const 100 i32.rem_u i32.const 2 @@ -6431,7 +6400,10 @@ i32.shl local.get $0 i32.add - local.get $4 + local.get $3 + i32.const 10000 + i32.div_u + local.tee $3 i32.const 100 i32.div_u i32.const 2 @@ -6439,7 +6411,7 @@ i32.const 15804 i32.add i64.load32_u - local.get $4 + local.get $3 i32.const 100 i32.rem_u i32.const 2 @@ -6771,9 +6743,6 @@ br $while-continue|0 end end - local.get $10 - i64.extend_i32_s - local.set $0 loop $while-continue|4 local.get $3 i64.const 10 @@ -6782,10 +6751,11 @@ local.get $6 i64.const 10 i64.mul - local.tee $1 - local.get $0 + local.tee $0 + local.get $10 + i64.extend_i32_s i64.shr_u - local.tee $6 + local.tee $1 local.get $4 i64.extend_i32_s i64.or @@ -6802,7 +6772,7 @@ i32.shl i32.const 22864 i32.add - local.get $6 + local.get $1 i32.wrap_i64 i32.const 65535 i32.and @@ -6815,7 +6785,7 @@ i32.sub local.set $8 local.get $3 - local.get $1 + local.get $0 local.get $12 i64.and local.tee $6 @@ -6828,7 +6798,6 @@ global.set $~lib/util/number/_K local.get $6 local.set $0 - local.get $9 i32.const 0 local.get $8 i32.sub @@ -6837,6 +6806,7 @@ i32.const 23792 i32.add i64.load32_u + local.get $9 i64.mul local.set $1 local.get $4 @@ -6902,10 +6872,10 @@ local.get $2 i32.eqz if - local.get $0 local.get $1 i32.const 1 i32.shl + local.get $0 i32.add i32.const 3145774 i32.store @@ -6931,10 +6901,10 @@ local.get $4 i32.lt_s if - local.get $0 local.get $1 i32.const 1 i32.shl + local.get $0 i32.add i32.const 48 i32.store16 @@ -6945,10 +6915,10 @@ br $for-loop|0 end end - local.get $0 local.get $4 i32.const 1 i32.shl + local.get $0 i32.add i32.const 3145774 i32.store @@ -6965,10 +6935,10 @@ i32.gt_s select if (result i32) - local.get $0 local.get $4 i32.const 1 i32.shl + local.get $0 i32.add local.tee $0 i32.const 2 @@ -6996,13 +6966,13 @@ i32.gt_s select if (result i32) - local.get $0 i32.const 2 local.get $4 i32.sub local.tee $5 i32.const 1 i32.shl + local.get $0 i32.add local.get $0 local.get $1 @@ -7019,10 +6989,10 @@ local.get $5 i32.lt_s if - local.get $0 local.get $2 i32.const 1 i32.shl + local.get $0 i32.add i32.const 48 i32.store16 @@ -7236,18 +7206,24 @@ ) (func $~lib/util/number/dtoa_core (param $0 f64) (result i32) (local $1 i64) - (local $2 i64) + (local $2 i32) (local $3 i64) (local $4 i32) (local $5 i32) (local $6 i64) (local $7 i64) - (local $8 i32) + (local $8 i64) (local $9 i32) + (local $10 i64) + (local $11 i64) + (local $12 i64) + (local $13 i64) + (local $14 i64) + (local $15 i64) local.get $0 f64.const 0 f64.lt - local.tee $8 + local.tee $5 if (result f64) i32.const 22864 i32.const 45 @@ -7264,66 +7240,66 @@ i64.const 52 i64.shr_u i32.wrap_i64 - local.tee $4 + local.tee $2 + i32.const 1 + local.get $2 + select + i32.const 1075 + i32.sub + local.tee $9 + i32.const 1 + i32.sub + local.get $1 + i64.const 4503599627370495 + i64.and + local.get $2 i32.const 0 i32.ne i64.extend_i32_u i64.const 52 i64.shl - local.get $1 - i64.const 4503599627370495 - i64.and i64.add - local.tee $2 + local.tee $1 i64.const 1 i64.shl i64.const 1 i64.add - local.tee $1 - local.get $1 + local.tee $3 i64.clz i32.wrap_i64 - local.tee $5 + local.tee $4 + i32.sub + local.set $2 + local.get $3 + local.get $4 i64.extend_i32_s i64.shl global.set $~lib/util/number/_frc_plus - local.get $4 - i32.const 1 - local.get $4 - select - i32.const 1075 - i32.sub - local.tee $9 - i32.const 1 - i32.sub - local.get $5 - i32.sub - local.set $4 - local.get $2 - local.get $2 + local.get $1 + local.get $1 i64.const 4503599627370496 i64.eq i32.const 1 i32.add - local.tee $5 + local.tee $4 i64.extend_i32_s i64.shl i64.const 1 i64.sub local.get $9 - local.get $5 - i32.sub local.get $4 i32.sub + local.get $2 + i32.sub i64.extend_i32_s i64.shl global.set $~lib/util/number/_frc_minus - local.get $4 + local.get $2 global.set $~lib/util/number/_exp i32.const 348 i32.const -61 global.get $~lib/util/number/_exp - local.tee $4 + local.tee $9 i32.sub f64.convert_i32_s f64.const 0.30102999566398114 @@ -7332,9 +7308,9 @@ f64.add local.tee $0 i32.trunc_f64_s - local.tee $5 + local.tee $2 local.get $0 - local.get $5 + local.get $2 f64.convert_i32_s f64.ne i32.add @@ -7342,103 +7318,123 @@ i32.shr_s i32.const 1 i32.add - local.tee $5 + local.tee $2 i32.const 3 i32.shl - local.tee $9 + local.tee $4 i32.sub global.set $~lib/util/number/_K - local.get $9 + local.get $4 i32.const 22920 i32.add i64.load global.set $~lib/util/number/_frc_pow - local.get $5 + local.get $2 i32.const 1 i32.shl i32.const 23616 i32.add i32.load16_s global.set $~lib/util/number/_exp_pow + local.get $1 + local.get $1 + i64.clz + i64.shl + local.tee $1 + i64.const 4294967295 + i64.and + local.set $3 + local.get $1 + i64.const 32 + i64.shr_u + local.tee $10 global.get $~lib/util/number/_frc_pow - local.tee $6 + local.tee $13 i64.const 4294967295 i64.and - local.set $1 + local.tee $1 + local.tee $6 + i64.mul + local.get $3 local.get $6 + i64.mul i64.const 32 i64.shr_u - local.tee $6 + i64.add + local.set $6 global.get $~lib/util/number/_frc_plus - local.tee $3 + local.tee $7 + i64.const 4294967295 + i64.and + local.set $11 + local.get $7 i64.const 32 i64.shr_u - local.tee $7 - i64.mul + local.tee $14 local.get $1 - local.get $7 i64.mul local.get $1 - local.get $3 - i64.const 4294967295 - i64.and - local.tee $3 + local.get $11 i64.mul i64.const 32 i64.shr_u i64.add - local.tee $7 + local.set $7 + global.get $~lib/util/number/_frc_minus + local.tee $8 + i64.const 4294967295 + i64.and + local.set $12 + local.get $8 i64.const 32 i64.shr_u - i64.add - local.get $3 - local.get $6 + local.tee $15 + local.get $1 + i64.mul + local.get $1 + local.get $12 i64.mul - local.get $7 - i64.const 4294967295 - i64.and - i64.add - i64.const 2147483647 - i64.add i64.const 32 i64.shr_u i64.add - i64.const 1 - i64.sub - local.set $3 - local.get $8 + local.set $8 + local.get $5 i32.const 1 i32.shl i32.const 22864 i32.add - local.get $6 - local.get $2 - local.get $2 - i64.clz - i64.shl - local.tee $2 + local.get $10 + local.get $13 i64.const 32 i64.shr_u - local.tee $7 + local.tee $1 + local.tee $10 i64.mul - local.get $1 - local.get $7 + local.get $6 + i64.const 32 + i64.shr_u + i64.add + local.get $3 + local.get $10 i64.mul - local.get $1 - local.get $2 + local.get $6 i64.const 4294967295 i64.and - local.tee $2 - i64.mul + i64.add + i64.const 2147483647 + i64.add i64.const 32 i64.shr_u i64.add - local.tee $7 + local.get $1 + local.get $14 + i64.mul + local.get $7 i64.const 32 i64.shr_u i64.add - local.get $2 - local.get $6 + local.get $1 + local.get $11 i64.mul local.get $7 i64.const 4294967295 @@ -7449,40 +7445,26 @@ i64.const 32 i64.shr_u i64.add - local.get $3 - local.get $4 + i64.const 1 + i64.sub + local.tee $3 global.get $~lib/util/number/_exp_pow + local.get $9 i32.add i32.const -64 i32.sub local.get $3 - local.get $6 - global.get $~lib/util/number/_frc_minus - local.tee $2 - i64.const 32 - i64.shr_u - local.tee $3 - i64.mul - local.get $1 - local.get $3 - i64.mul local.get $1 - local.get $2 - i64.const 4294967295 - i64.and - local.tee $1 + local.get $15 i64.mul - i64.const 32 - i64.shr_u - i64.add - local.tee $2 + local.get $8 i64.const 32 i64.shr_u i64.add local.get $1 - local.get $6 + local.get $12 i64.mul - local.get $2 + local.get $8 i64.const 4294967295 i64.and i64.add @@ -7494,13 +7476,13 @@ i64.const 1 i64.add i64.sub - local.get $8 + local.get $5 call $~lib/util/number/genDigits - local.get $8 + local.get $5 i32.sub global.get $~lib/util/number/_K call $~lib/util/number/prettify - local.get $8 + local.get $5 i32.add ) (func $std/string/getString (result i32) @@ -7588,86 +7570,39 @@ (local $8 i32) (local $9 i32) (local $10 i32) - global.get $~lib/memory/__stack_pointer - i32.const 24 - i32.sub - global.set $~lib/memory/__stack_pointer - global.get $~lib/memory/__stack_pointer - i32.const 25884 - i32.lt_s - if - i32.const 42288 - i32.const 42336 - i32.const 1 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - local.tee $3 - i64.const 0 - i64.store - local.get $3 - i64.const 0 - i64.store offset=8 - local.get $3 - i64.const 0 - i64.store offset=16 - block $folding-inner2 - block $folding-inner1 - block $folding-inner0 - local.get $2 - i32.eqz - br_if $folding-inner0 - local.get $1 - i32.eqz - if - global.get $~lib/memory/__stack_pointer - i32.const 1 - i32.const 4 - i32.const 0 - call $~lib/rt/__newArray - local.tee $1 - i32.store - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.load offset=4 - i32.store offset=4 - local.get $1 - i32.load offset=4 - local.get $0 - i32.store - local.get $1 - local.get $0 - i32.const 1 - call $~lib/rt/itcms/__link + block $folding-inner4 + global.get $~lib/memory/__stack_pointer + i32.const 24 + i32.sub + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 25884 + i32.lt_s + if + i32.const 42288 + i32.const 42336 + i32.const 1 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.tee $3 + i64.const 0 + i64.store + local.get $3 + i64.const 0 + i64.store offset=8 + local.get $3 + i64.const 0 + i64.store offset=16 + block $folding-inner3 + block $folding-inner1 + block $folding-inner0 + local.get $2 + i32.eqz + br_if $folding-inner0 local.get $1 - local.set $0 - br $folding-inner1 - end - local.get $0 - i32.const 20 - i32.sub - i32.load offset=16 - i32.const 1 - i32.shr_u - local.set $3 - i32.const 2147483647 - local.get $2 - local.get $2 - i32.const 0 - i32.lt_s - select - local.set $7 - local.get $1 - i32.const 20 - i32.sub - i32.load offset=16 - i32.const 1 - i32.shr_u - local.tee $8 - if - local.get $3 i32.eqz if global.get $~lib/memory/__stack_pointer @@ -7675,204 +7610,247 @@ i32.const 4 i32.const 0 call $~lib/rt/__newArray - local.tee $0 + local.tee $1 + i32.store + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.load offset=4 i32.store offset=4 - local.get $0 + local.get $1 i32.load offset=4 - i32.const 1712 + local.get $0 i32.store - br $folding-inner1 + local.get $1 + local.get $0 + i32.const 1 + call $~lib/rt/itcms/__link + br $folding-inner3 end - else - local.get $3 - i32.eqz - br_if $folding-inner0 - global.get $~lib/memory/__stack_pointer - local.get $3 - local.get $7 - local.get $3 - local.get $7 + local.get $0 + i32.const 20 + i32.sub + i32.load offset=16 + i32.const 1 + i32.shr_u + local.set $3 + i32.const 2147483647 + local.get $2 + local.get $2 + i32.const 0 i32.lt_s select - local.tee $4 - i32.const 4 - i32.const 0 - call $~lib/rt/__newArray - local.tee $1 - i32.store + local.set $7 local.get $1 - i32.load offset=4 - local.set $3 - loop $for-loop|0 - local.get $4 - local.get $5 - i32.gt_s + i32.const 20 + i32.sub + i32.load offset=16 + i32.const 1 + i32.shr_u + local.tee $8 + if + local.get $3 + i32.eqz if global.get $~lib/memory/__stack_pointer - i32.const 2 i32.const 1 - call $~lib/rt/itcms/__new - local.tee $2 - i32.store offset=8 - local.get $2 + i32.const 4 + i32.const 0 + call $~lib/rt/__newArray + local.tee $0 + i32.store offset=4 local.get $0 - local.get $5 - i32.const 1 - i32.shl - i32.add - i32.load16_u - i32.store16 - local.get $3 - local.get $5 - i32.const 2 - i32.shl - i32.add - local.get $2 + i32.load offset=4 + i32.const 1712 i32.store - local.get $1 - local.get $2 - i32.const 1 - call $~lib/rt/itcms/__link - local.get $5 - i32.const 1 - i32.add - local.set $5 - br $for-loop|0 + br $folding-inner1 end - end - global.get $~lib/memory/__stack_pointer - i32.const 24 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $1 - return - end - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.const 4 - i32.const 0 - call $~lib/rt/__newArray - local.tee $2 - i32.store offset=12 - loop $while-continue|1 - local.get $0 - local.get $1 - local.get $4 - call $~lib/string/String#indexOf - local.tee $5 - i32.const -1 - i32.xor - if - local.get $5 - local.get $4 - i32.sub - local.tee $6 + else + local.get $3 + i32.eqz + br_if $folding-inner0 + global.get $~lib/memory/__stack_pointer + local.get $3 + local.get $7 + local.get $3 + local.get $7 + i32.lt_s + select + local.tee $4 + i32.const 4 i32.const 0 - i32.gt_s + call $~lib/rt/__newArray + local.tee $1 + i32.store + local.get $1 + i32.load offset=4 + local.set $3 + loop $for-loop|0 + local.get $4 + local.get $5 + i32.gt_s + if + global.get $~lib/memory/__stack_pointer + i32.const 2 + i32.const 1 + call $~lib/rt/itcms/__new + local.tee $2 + i32.store offset=8 + local.get $2 + local.get $5 + i32.const 1 + i32.shl + local.get $0 + i32.add + i32.load16_u + i32.store16 + local.get $5 + i32.const 2 + i32.shl + local.get $3 + i32.add + local.get $2 + i32.store + local.get $1 + local.get $2 + i32.const 1 + call $~lib/rt/itcms/__link + local.get $5 + i32.const 1 + i32.add + local.set $5 + br $for-loop|0 + end + end + br $folding-inner3 + end + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.const 4 + i32.const 0 + call $~lib/rt/__newArray + local.tee $2 + i32.store offset=12 + loop $while-continue|1 + local.get $0 + local.get $1 + local.get $4 + call $~lib/string/String#indexOf + local.tee $5 + i32.const -1 + i32.xor if - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.const 1 - i32.shl - local.tee $9 - i32.const 1 - call $~lib/rt/itcms/__new - local.tee $6 - i32.store offset=16 - local.get $6 - local.get $0 + local.get $5 local.get $4 + i32.sub + local.tee $6 + i32.const 0 + i32.gt_s + if + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.const 1 + i32.shl + local.tee $9 + i32.const 1 + call $~lib/rt/itcms/__new + local.tee $6 + i32.store offset=16 + local.get $6 + local.get $4 + i32.const 1 + i32.shl + local.get $0 + i32.add + local.get $9 + call $~lib/memory/memory.copy + local.get $2 + local.get $6 + call $~lib/array/Array<~lib/string/String>#push + else + global.get $~lib/memory/__stack_pointer + i32.const 1712 + i32.store offset=20 + local.get $2 + i32.const 1712 + call $~lib/array/Array<~lib/string/String>#push + end + local.get $10 i32.const 1 - i32.shl i32.add - local.get $9 - call $~lib/memory/memory.copy - local.get $2 - local.get $6 - call $~lib/array/Array<~lib/string/String>#push - else - global.get $~lib/memory/__stack_pointer - i32.const 1712 - i32.store offset=20 - local.get $2 - i32.const 1712 - call $~lib/array/Array<~lib/string/String>#push + local.tee $10 + local.get $7 + i32.eq + br_if $folding-inner4 + local.get $5 + local.get $8 + i32.add + local.set $4 + br $while-continue|1 end - local.get $10 + end + local.get $4 + i32.eqz + if + local.get $2 + local.get $0 + call $~lib/array/Array<~lib/string/String>#push + br $folding-inner4 + end + local.get $3 + local.get $4 + i32.sub + local.tee $1 + i32.const 0 + i32.gt_s + if + global.get $~lib/memory/__stack_pointer + local.get $1 i32.const 1 + i32.shl + local.tee $3 + i32.const 1 + call $~lib/rt/itcms/__new + local.tee $1 + i32.store offset=4 + local.get $1 + local.get $4 + i32.const 1 + i32.shl + local.get $0 i32.add - local.tee $10 - local.get $7 - i32.eq - br_if $folding-inner2 - local.get $5 - local.get $8 - i32.add - local.set $4 - br $while-continue|1 + local.get $3 + call $~lib/memory/memory.copy + local.get $2 + local.get $1 + call $~lib/array/Array<~lib/string/String>#push + else + global.get $~lib/memory/__stack_pointer + i32.const 1712 + i32.store offset=20 + local.get $2 + i32.const 1712 + call $~lib/array/Array<~lib/string/String>#push end + br $folding-inner4 end - local.get $4 - i32.eqz - if - local.get $2 - local.get $0 - call $~lib/array/Array<~lib/string/String>#push - br $folding-inner2 - end - local.get $3 - local.get $4 - i32.sub - local.tee $1 i32.const 0 - i32.gt_s - if - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.const 1 - i32.shl - local.tee $3 - i32.const 1 - call $~lib/rt/itcms/__new - local.tee $1 - i32.store offset=4 - local.get $1 - local.get $0 - local.get $4 - i32.const 1 - i32.shl - i32.add - local.get $3 - call $~lib/memory/memory.copy - local.get $2 - local.get $1 - call $~lib/array/Array<~lib/string/String>#push - else - global.get $~lib/memory/__stack_pointer - i32.const 1712 - i32.store offset=20 - local.get $2 - i32.const 1712 - call $~lib/array/Array<~lib/string/String>#push - end - global.get $~lib/memory/__stack_pointer - i32.const 24 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $2 - return + i32.const 4 + i32.const 0 + call $~lib/rt/__newArray + local.set $0 end - i32.const 0 - i32.const 4 - i32.const 0 - call $~lib/rt/__newArray - local.set $0 + global.get $~lib/memory/__stack_pointer + i32.const 24 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $0 + return end global.get $~lib/memory/__stack_pointer i32.const 24 i32.add global.set $~lib/memory/__stack_pointer - local.get $0 + local.get $1 return end global.get $~lib/memory/__stack_pointer @@ -7886,8 +7864,8 @@ (local $1 i32) (local $2 f64) (local $3 i32) - (local $4 f32) - (local $5 i32) + (local $4 i32) + (local $5 f32) global.get $~lib/memory/__stack_pointer i32.const 44 i32.sub @@ -8135,10 +8113,9 @@ call $~lib/string/String#at local.set $0 global.get $~lib/memory/__stack_pointer - local.tee $1 local.get $0 i32.store - local.get $1 + global.get $~lib/memory/__stack_pointer global.get $std/string/str local.tee $1 i32.store offset=8 @@ -8168,20 +8145,20 @@ local.get $0 i32.const -1 call $~lib/string/String#at - local.set $1 + local.set $0 global.get $~lib/memory/__stack_pointer - local.tee $3 - local.get $1 + local.get $0 i32.store - local.get $3 + global.get $~lib/memory/__stack_pointer global.get $std/string/str - local.tee $0 + local.tee $1 i32.store offset=8 - local.get $3 - local.get $0 + global.get $~lib/memory/__stack_pointer + global.get $std/string/str + local.tee $3 i32.store offset=12 - local.get $0 - local.get $0 + local.get $1 + local.get $3 i32.const 20 i32.sub i32.load offset=16 @@ -8190,12 +8167,12 @@ i32.const 1 i32.sub call $~lib/string/String#charAt - local.set $0 + local.set $1 global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 local.get $1 + i32.store offset=4 local.get $0 + local.get $1 call $~lib/string/String.__eq i32.eqz if @@ -8226,10 +8203,9 @@ call $~lib/string/String#at local.set $0 global.get $~lib/memory/__stack_pointer - local.tee $1 local.get $0 i32.store - local.get $1 + global.get $~lib/memory/__stack_pointer i32.const 1744 i32.store offset=4 local.get $0 @@ -8422,10 +8398,9 @@ call $~lib/string/String.fromCharCodes local.set $0 global.get $~lib/memory/__stack_pointer - local.tee $1 local.get $0 i32.store - local.get $1 + global.get $~lib/memory/__stack_pointer i32.const 1968 i32.store offset=4 local.get $0 @@ -8452,10 +8427,9 @@ call $~lib/string/String.fromCharCodes local.set $0 global.get $~lib/memory/__stack_pointer - local.tee $1 local.get $0 i32.store - local.get $1 + global.get $~lib/memory/__stack_pointer i32.const 2032 i32.store offset=4 local.get $0 @@ -8482,10 +8456,9 @@ call $~lib/string/String.fromCharCodes local.set $0 global.get $~lib/memory/__stack_pointer - local.tee $1 local.get $0 i32.store - local.get $1 + global.get $~lib/memory/__stack_pointer i32.const 2112 i32.store offset=4 local.get $0 @@ -8581,26 +8554,23 @@ i32.load offset=16 i32.const 1 i32.shr_u - local.tee $1 - local.get $1 - i32.const 0 - i32.gt_s - select - local.set $3 - local.get $1 + local.tee $3 local.get $3 + select + local.tee $4 i32.const 2172 i32.load i32.const 1 i32.shr_u local.tee $1 i32.add - i32.lt_s + local.get $3 + i32.gt_s if (result i32) i32.const 1 else local.get $0 - local.get $3 + local.get $4 i32.const 2176 local.get $1 call $~lib/util/string/compareImpl @@ -8631,7 +8601,7 @@ local.tee $1 local.get $1 i32.const 536870910 - i32.gt_s + i32.gt_u select i32.const 2204 i32.load @@ -8695,10 +8665,9 @@ call $~lib/string/String#padStart local.set $0 global.get $~lib/memory/__stack_pointer - local.tee $1 local.get $0 i32.store - local.get $1 + global.get $~lib/memory/__stack_pointer global.get $std/string/str local.tee $1 i32.store offset=4 @@ -8728,10 +8697,9 @@ call $~lib/string/String#padStart local.set $0 global.get $~lib/memory/__stack_pointer - local.tee $1 local.get $0 i32.store - local.get $1 + global.get $~lib/memory/__stack_pointer global.get $std/string/str local.tee $1 i32.store offset=4 @@ -8760,10 +8728,9 @@ call $~lib/string/String#padStart local.set $0 global.get $~lib/memory/__stack_pointer - local.tee $1 local.get $0 i32.store - local.get $1 + global.get $~lib/memory/__stack_pointer i32.const 2304 i32.store offset=4 local.get $0 @@ -8791,10 +8758,9 @@ call $~lib/string/String#padStart local.set $0 global.get $~lib/memory/__stack_pointer - local.tee $1 local.get $0 i32.store - local.get $1 + global.get $~lib/memory/__stack_pointer i32.const 1712 i32.store offset=4 local.get $0 @@ -8822,10 +8788,9 @@ call $~lib/string/String#padStart local.set $0 global.get $~lib/memory/__stack_pointer - local.tee $1 local.get $0 i32.store - local.get $1 + global.get $~lib/memory/__stack_pointer i32.const 1808 i32.store offset=4 local.get $0 @@ -8853,10 +8818,9 @@ call $~lib/string/String#padStart local.set $0 global.get $~lib/memory/__stack_pointer - local.tee $1 local.get $0 i32.store - local.get $1 + global.get $~lib/memory/__stack_pointer i32.const 2368 i32.store offset=4 local.get $0 @@ -8884,10 +8848,9 @@ call $~lib/string/String#padStart local.set $0 global.get $~lib/memory/__stack_pointer - local.tee $1 local.get $0 i32.store - local.get $1 + global.get $~lib/memory/__stack_pointer i32.const 2432 i32.store offset=4 local.get $0 @@ -8915,10 +8878,9 @@ call $~lib/string/String#padStart local.set $0 global.get $~lib/memory/__stack_pointer - local.tee $1 local.get $0 i32.store - local.get $1 + global.get $~lib/memory/__stack_pointer i32.const 2464 i32.store offset=4 local.get $0 @@ -8947,10 +8909,9 @@ call $~lib/string/String#padEnd local.set $0 global.get $~lib/memory/__stack_pointer - local.tee $1 local.get $0 i32.store - local.get $1 + global.get $~lib/memory/__stack_pointer global.get $std/string/str local.tee $1 i32.store offset=4 @@ -8980,10 +8941,9 @@ call $~lib/string/String#padEnd local.set $0 global.get $~lib/memory/__stack_pointer - local.tee $1 local.get $0 i32.store - local.get $1 + global.get $~lib/memory/__stack_pointer global.get $std/string/str local.tee $1 i32.store offset=4 @@ -9012,10 +8972,9 @@ call $~lib/string/String#padEnd local.set $0 global.get $~lib/memory/__stack_pointer - local.tee $1 local.get $0 i32.store - local.get $1 + global.get $~lib/memory/__stack_pointer i32.const 2304 i32.store offset=4 local.get $0 @@ -9043,10 +9002,9 @@ call $~lib/string/String#padEnd local.set $0 global.get $~lib/memory/__stack_pointer - local.tee $1 local.get $0 i32.store - local.get $1 + global.get $~lib/memory/__stack_pointer i32.const 1712 i32.store offset=4 local.get $0 @@ -9074,10 +9032,9 @@ call $~lib/string/String#padEnd local.set $0 global.get $~lib/memory/__stack_pointer - local.tee $1 local.get $0 i32.store - local.get $1 + global.get $~lib/memory/__stack_pointer i32.const 1808 i32.store offset=4 local.get $0 @@ -9105,10 +9062,9 @@ call $~lib/string/String#padEnd local.set $0 global.get $~lib/memory/__stack_pointer - local.tee $1 local.get $0 i32.store - local.get $1 + global.get $~lib/memory/__stack_pointer i32.const 2512 i32.store offset=4 local.get $0 @@ -9136,10 +9092,9 @@ call $~lib/string/String#padEnd local.set $0 global.get $~lib/memory/__stack_pointer - local.tee $1 local.get $0 i32.store - local.get $1 + global.get $~lib/memory/__stack_pointer i32.const 2544 i32.store offset=4 local.get $0 @@ -9167,10 +9122,9 @@ call $~lib/string/String#padEnd local.set $0 global.get $~lib/memory/__stack_pointer - local.tee $1 local.get $0 i32.store - local.get $1 + global.get $~lib/memory/__stack_pointer i32.const 2576 i32.store offset=4 local.get $0 @@ -9446,6 +9400,7 @@ i32.const 1712 i32.const 2147483647 call $~lib/string/String#lastIndexOf + local.set $0 global.get $~lib/memory/__stack_pointer global.get $std/string/str local.tee $1 @@ -9456,6 +9411,7 @@ i32.load offset=16 i32.const 1 i32.shr_u + local.get $0 i32.ne if i32.const 0 @@ -9842,10 +9798,9 @@ call $~lib/string/String#trimStart local.set $0 global.get $~lib/memory/__stack_pointer - local.tee $1 local.get $0 i32.store - local.get $1 + global.get $~lib/memory/__stack_pointer i32.const 1712 i32.store offset=4 local.get $0 @@ -9867,10 +9822,9 @@ call $~lib/string/String#trimStart local.set $0 global.get $~lib/memory/__stack_pointer - local.tee $1 local.get $0 i32.store - local.get $1 + global.get $~lib/memory/__stack_pointer i32.const 2880 i32.store offset=4 local.get $0 @@ -9892,10 +9846,9 @@ call $~lib/string/String#trimStart local.set $0 global.get $~lib/memory/__stack_pointer - local.tee $1 local.get $0 i32.store - local.get $1 + global.get $~lib/memory/__stack_pointer i32.const 2960 i32.store offset=4 local.get $0 @@ -9917,10 +9870,9 @@ call $~lib/string/String#trimEnd local.set $0 global.get $~lib/memory/__stack_pointer - local.tee $1 local.get $0 i32.store - local.get $1 + global.get $~lib/memory/__stack_pointer i32.const 1712 i32.store offset=4 local.get $0 @@ -9942,10 +9894,9 @@ call $~lib/string/String#trimEnd local.set $0 global.get $~lib/memory/__stack_pointer - local.tee $1 local.get $0 i32.store - local.get $1 + global.get $~lib/memory/__stack_pointer i32.const 2880 i32.store offset=4 local.get $0 @@ -9967,10 +9918,9 @@ call $~lib/string/String#trimEnd local.set $0 global.get $~lib/memory/__stack_pointer - local.tee $1 local.get $0 i32.store - local.get $1 + global.get $~lib/memory/__stack_pointer i32.const 3008 i32.store offset=4 local.get $0 @@ -9992,10 +9942,9 @@ call $~lib/string/String#trim local.set $0 global.get $~lib/memory/__stack_pointer - local.tee $1 local.get $0 i32.store - local.get $1 + global.get $~lib/memory/__stack_pointer i32.const 1712 i32.store offset=4 local.get $0 @@ -10017,10 +9966,9 @@ call $~lib/string/String#trim local.set $0 global.get $~lib/memory/__stack_pointer - local.tee $1 local.get $0 i32.store - local.get $1 + global.get $~lib/memory/__stack_pointer i32.const 2880 i32.store offset=4 local.get $0 @@ -10042,10 +9990,9 @@ call $~lib/string/String#trim local.set $0 global.get $~lib/memory/__stack_pointer - local.tee $1 local.get $0 i32.store - local.get $1 + global.get $~lib/memory/__stack_pointer i32.const 2336 i32.store offset=4 local.get $0 @@ -10642,8 +10589,8 @@ i32.const 0 call $~lib/util/string/strtol f32.demote_f64 - local.tee $4 - local.get $4 + local.tee $5 + local.get $5 f32.eq if i32.const 0 @@ -12545,10 +12492,9 @@ call $~lib/string/String#concat local.set $0 global.get $~lib/memory/__stack_pointer - local.tee $1 local.get $0 i32.store offset=20 - local.get $1 + global.get $~lib/memory/__stack_pointer i32.const 9712 i32.store offset=24 local.get $0 @@ -12556,10 +12502,9 @@ call $~lib/string/String#concat local.set $0 global.get $~lib/memory/__stack_pointer - local.tee $1 local.get $0 i32.store offset=12 - local.get $1 + global.get $~lib/memory/__stack_pointer i32.const 9872 i32.store offset=16 local.get $0 @@ -12567,10 +12512,9 @@ call $~lib/string/String#concat local.set $0 global.get $~lib/memory/__stack_pointer - local.tee $1 local.get $0 i32.store offset=4 - local.get $1 + global.get $~lib/memory/__stack_pointer i32.const 10032 i32.store offset=8 local.get $0 @@ -13946,10 +13890,9 @@ call $~lib/string/String#repeat local.set $0 global.get $~lib/memory/__stack_pointer - local.tee $1 local.get $0 i32.store - local.get $1 + global.get $~lib/memory/__stack_pointer i32.const 1712 i32.store offset=4 local.get $0 @@ -13972,10 +13915,9 @@ call $~lib/string/String#repeat local.set $0 global.get $~lib/memory/__stack_pointer - local.tee $1 local.get $0 i32.store - local.get $1 + global.get $~lib/memory/__stack_pointer i32.const 1712 i32.store offset=4 local.get $0 @@ -13998,10 +13940,9 @@ call $~lib/string/String#repeat local.set $0 global.get $~lib/memory/__stack_pointer - local.tee $1 local.get $0 i32.store - local.get $1 + global.get $~lib/memory/__stack_pointer i32.const 1808 i32.store offset=4 local.get $0 @@ -14024,10 +13965,9 @@ call $~lib/string/String#repeat local.set $0 global.get $~lib/memory/__stack_pointer - local.tee $1 local.get $0 i32.store - local.get $1 + global.get $~lib/memory/__stack_pointer i32.const 13424 i32.store offset=4 local.get $0 @@ -14050,10 +13990,9 @@ call $~lib/string/String#repeat local.set $0 global.get $~lib/memory/__stack_pointer - local.tee $1 local.get $0 i32.store - local.get $1 + global.get $~lib/memory/__stack_pointer i32.const 13696 i32.store offset=4 local.get $0 @@ -14076,10 +14015,9 @@ call $~lib/string/String#repeat local.set $0 global.get $~lib/memory/__stack_pointer - local.tee $1 local.get $0 i32.store - local.get $1 + global.get $~lib/memory/__stack_pointer i32.const 13728 i32.store offset=4 local.get $0 @@ -14102,10 +14040,9 @@ call $~lib/string/String#repeat local.set $0 global.get $~lib/memory/__stack_pointer - local.tee $1 local.get $0 i32.store - local.get $1 + global.get $~lib/memory/__stack_pointer i32.const 13776 i32.store offset=4 local.get $0 @@ -14128,10 +14065,9 @@ call $~lib/string/String#repeat local.set $0 global.get $~lib/memory/__stack_pointer - local.tee $1 local.get $0 i32.store - local.get $1 + global.get $~lib/memory/__stack_pointer i32.const 13808 i32.store offset=4 local.get $0 @@ -14154,10 +14090,9 @@ call $~lib/string/String#repeat local.set $0 global.get $~lib/memory/__stack_pointer - local.tee $1 local.get $0 i32.store - local.get $1 + global.get $~lib/memory/__stack_pointer i32.const 13840 i32.store offset=4 local.get $0 @@ -14188,10 +14123,9 @@ call $~lib/string/String#replace local.set $0 global.get $~lib/memory/__stack_pointer - local.tee $1 local.get $0 i32.store - local.get $1 + global.get $~lib/memory/__stack_pointer i32.const 1712 i32.store offset=4 local.get $0 @@ -14222,10 +14156,9 @@ call $~lib/string/String#replace local.set $0 global.get $~lib/memory/__stack_pointer - local.tee $1 local.get $0 i32.store - local.get $1 + global.get $~lib/memory/__stack_pointer i32.const 4144 i32.store offset=4 local.get $0 @@ -14256,10 +14189,9 @@ call $~lib/string/String#replace local.set $0 global.get $~lib/memory/__stack_pointer - local.tee $1 local.get $0 i32.store - local.get $1 + global.get $~lib/memory/__stack_pointer i32.const 1712 i32.store offset=4 local.get $0 @@ -14290,10 +14222,9 @@ call $~lib/string/String#replace local.set $0 global.get $~lib/memory/__stack_pointer - local.tee $1 local.get $0 i32.store - local.get $1 + global.get $~lib/memory/__stack_pointer i32.const 4144 i32.store offset=4 local.get $0 @@ -14324,10 +14255,9 @@ call $~lib/string/String#replace local.set $0 global.get $~lib/memory/__stack_pointer - local.tee $1 local.get $0 i32.store - local.get $1 + global.get $~lib/memory/__stack_pointer i32.const 2336 i32.store offset=4 local.get $0 @@ -14358,10 +14288,9 @@ call $~lib/string/String#replace local.set $0 global.get $~lib/memory/__stack_pointer - local.tee $1 local.get $0 i32.store - local.get $1 + global.get $~lib/memory/__stack_pointer i32.const 4144 i32.store offset=4 local.get $0 @@ -14392,10 +14321,9 @@ call $~lib/string/String#replace local.set $0 global.get $~lib/memory/__stack_pointer - local.tee $1 local.get $0 i32.store - local.get $1 + global.get $~lib/memory/__stack_pointer i32.const 2336 i32.store offset=4 local.get $0 @@ -14426,10 +14354,9 @@ call $~lib/string/String#replace local.set $0 global.get $~lib/memory/__stack_pointer - local.tee $1 local.get $0 i32.store - local.get $1 + global.get $~lib/memory/__stack_pointer i32.const 2336 i32.store offset=4 local.get $0 @@ -14460,10 +14387,9 @@ call $~lib/string/String#replace local.set $0 global.get $~lib/memory/__stack_pointer - local.tee $1 local.get $0 i32.store - local.get $1 + global.get $~lib/memory/__stack_pointer i32.const 13920 i32.store offset=4 local.get $0 @@ -14494,10 +14420,9 @@ call $~lib/string/String#replace local.set $0 global.get $~lib/memory/__stack_pointer - local.tee $1 local.get $0 i32.store - local.get $1 + global.get $~lib/memory/__stack_pointer i32.const 13952 i32.store offset=4 local.get $0 @@ -14528,10 +14453,9 @@ call $~lib/string/String#replace local.set $0 global.get $~lib/memory/__stack_pointer - local.tee $1 local.get $0 i32.store - local.get $1 + global.get $~lib/memory/__stack_pointer i32.const 13952 i32.store offset=4 local.get $0 @@ -14562,10 +14486,9 @@ call $~lib/string/String#replace local.set $0 global.get $~lib/memory/__stack_pointer - local.tee $1 local.get $0 i32.store - local.get $1 + global.get $~lib/memory/__stack_pointer i32.const 14112 i32.store offset=4 local.get $0 @@ -14596,10 +14519,9 @@ call $~lib/string/String#replace local.set $0 global.get $~lib/memory/__stack_pointer - local.tee $1 local.get $0 i32.store - local.get $1 + global.get $~lib/memory/__stack_pointer i32.const 12976 i32.store offset=4 local.get $0 @@ -14630,10 +14552,9 @@ call $~lib/string/String#replaceAll local.set $0 global.get $~lib/memory/__stack_pointer - local.tee $1 local.get $0 i32.store - local.get $1 + global.get $~lib/memory/__stack_pointer i32.const 2336 i32.store offset=4 local.get $0 @@ -14664,10 +14585,9 @@ call $~lib/string/String#replaceAll local.set $0 global.get $~lib/memory/__stack_pointer - local.tee $1 local.get $0 i32.store - local.get $1 + global.get $~lib/memory/__stack_pointer i32.const 2336 i32.store offset=4 local.get $0 @@ -14698,10 +14618,9 @@ call $~lib/string/String#replaceAll local.set $0 global.get $~lib/memory/__stack_pointer - local.tee $1 local.get $0 i32.store - local.get $1 + global.get $~lib/memory/__stack_pointer i32.const 14080 i32.store offset=4 local.get $0 @@ -14732,10 +14651,9 @@ call $~lib/string/String#replaceAll local.set $0 global.get $~lib/memory/__stack_pointer - local.tee $1 local.get $0 i32.store - local.get $1 + global.get $~lib/memory/__stack_pointer i32.const 14192 i32.store offset=4 local.get $0 @@ -14766,10 +14684,9 @@ call $~lib/string/String#replaceAll local.set $0 global.get $~lib/memory/__stack_pointer - local.tee $1 local.get $0 i32.store - local.get $1 + global.get $~lib/memory/__stack_pointer i32.const 2544 i32.store offset=4 local.get $0 @@ -14800,10 +14717,9 @@ call $~lib/string/String#replaceAll local.set $0 global.get $~lib/memory/__stack_pointer - local.tee $1 local.get $0 i32.store - local.get $1 + global.get $~lib/memory/__stack_pointer i32.const 14272 i32.store offset=4 local.get $0 @@ -14834,10 +14750,9 @@ call $~lib/string/String#replaceAll local.set $0 global.get $~lib/memory/__stack_pointer - local.tee $1 local.get $0 i32.store - local.get $1 + global.get $~lib/memory/__stack_pointer i32.const 14320 i32.store offset=4 local.get $0 @@ -14868,10 +14783,9 @@ call $~lib/string/String#replaceAll local.set $0 global.get $~lib/memory/__stack_pointer - local.tee $1 local.get $0 i32.store - local.get $1 + global.get $~lib/memory/__stack_pointer i32.const 14416 i32.store offset=4 local.get $0 @@ -14902,10 +14816,9 @@ call $~lib/string/String#replaceAll local.set $0 global.get $~lib/memory/__stack_pointer - local.tee $1 local.get $0 i32.store - local.get $1 + global.get $~lib/memory/__stack_pointer i32.const 2336 i32.store offset=4 local.get $0 @@ -14936,10 +14849,9 @@ call $~lib/string/String#replaceAll local.set $0 global.get $~lib/memory/__stack_pointer - local.tee $1 local.get $0 i32.store - local.get $1 + global.get $~lib/memory/__stack_pointer i32.const 2848 i32.store offset=4 local.get $0 @@ -14970,10 +14882,9 @@ call $~lib/string/String#replaceAll local.set $0 global.get $~lib/memory/__stack_pointer - local.tee $1 local.get $0 i32.store - local.get $1 + global.get $~lib/memory/__stack_pointer i32.const 14512 i32.store offset=4 local.get $0 @@ -15004,10 +14915,9 @@ call $~lib/string/String#replaceAll local.set $0 global.get $~lib/memory/__stack_pointer - local.tee $1 local.get $0 i32.store - local.get $1 + global.get $~lib/memory/__stack_pointer i32.const 4144 i32.store offset=4 local.get $0 @@ -15038,10 +14948,9 @@ call $~lib/string/String#replaceAll local.set $0 global.get $~lib/memory/__stack_pointer - local.tee $1 local.get $0 i32.store - local.get $1 + global.get $~lib/memory/__stack_pointer i32.const 14544 i32.store offset=4 local.get $0 @@ -15072,10 +14981,9 @@ call $~lib/string/String#replaceAll local.set $0 global.get $~lib/memory/__stack_pointer - local.tee $1 local.get $0 i32.store - local.get $1 + global.get $~lib/memory/__stack_pointer i32.const 1712 i32.store offset=4 local.get $0 @@ -15106,10 +15014,9 @@ call $~lib/string/String#replaceAll local.set $0 global.get $~lib/memory/__stack_pointer - local.tee $1 local.get $0 i32.store - local.get $1 + global.get $~lib/memory/__stack_pointer i32.const 4144 i32.store offset=4 local.get $0 @@ -15140,10 +15047,9 @@ call $~lib/string/String#replaceAll local.set $0 global.get $~lib/memory/__stack_pointer - local.tee $1 local.get $0 i32.store - local.get $1 + global.get $~lib/memory/__stack_pointer i32.const 1712 i32.store offset=4 local.get $0 @@ -15174,10 +15080,9 @@ call $~lib/string/String#replaceAll local.set $0 global.get $~lib/memory/__stack_pointer - local.tee $1 local.get $0 i32.store - local.get $1 + global.get $~lib/memory/__stack_pointer i32.const 4144 i32.store offset=4 local.get $0 @@ -15208,10 +15113,9 @@ call $~lib/string/String#replaceAll local.set $0 global.get $~lib/memory/__stack_pointer - local.tee $1 local.get $0 i32.store - local.get $1 + global.get $~lib/memory/__stack_pointer i32.const 4112 i32.store offset=4 local.get $0 @@ -15242,10 +15146,9 @@ call $~lib/string/String#replaceAll local.set $0 global.get $~lib/memory/__stack_pointer - local.tee $1 local.get $0 i32.store - local.get $1 + global.get $~lib/memory/__stack_pointer i32.const 2336 i32.store offset=4 local.get $0 @@ -15276,10 +15179,9 @@ call $~lib/string/String#replaceAll local.set $0 global.get $~lib/memory/__stack_pointer - local.tee $1 local.get $0 i32.store - local.get $1 + global.get $~lib/memory/__stack_pointer i32.const 14576 i32.store offset=4 local.get $0 @@ -15310,10 +15212,9 @@ call $~lib/string/String#replaceAll local.set $0 global.get $~lib/memory/__stack_pointer - local.tee $1 local.get $0 i32.store - local.get $1 + global.get $~lib/memory/__stack_pointer i32.const 2336 i32.store offset=4 local.get $0 @@ -15344,10 +15245,9 @@ call $~lib/string/String#replaceAll local.set $0 global.get $~lib/memory/__stack_pointer - local.tee $1 local.get $0 i32.store - local.get $1 + global.get $~lib/memory/__stack_pointer i32.const 14688 i32.store offset=4 local.get $0 @@ -15378,10 +15278,9 @@ call $~lib/string/String#replaceAll local.set $0 global.get $~lib/memory/__stack_pointer - local.tee $1 local.get $0 i32.store - local.get $1 + global.get $~lib/memory/__stack_pointer i32.const 14736 i32.store offset=4 local.get $0 @@ -15412,10 +15311,9 @@ call $~lib/string/String#replaceAll local.set $0 global.get $~lib/memory/__stack_pointer - local.tee $1 local.get $0 i32.store - local.get $1 + global.get $~lib/memory/__stack_pointer i32.const 14800 i32.store offset=4 local.get $0 @@ -15446,10 +15344,9 @@ call $~lib/string/String#replaceAll local.set $0 global.get $~lib/memory/__stack_pointer - local.tee $1 local.get $0 i32.store - local.get $1 + global.get $~lib/memory/__stack_pointer i32.const 14848 i32.store offset=4 local.get $0 @@ -15475,10 +15372,9 @@ call $~lib/string/String#slice local.set $0 global.get $~lib/memory/__stack_pointer - local.tee $1 local.get $0 i32.store - local.get $1 + global.get $~lib/memory/__stack_pointer i32.const 14880 i32.store offset=4 local.get $0 @@ -15503,10 +15399,9 @@ call $~lib/string/String#slice local.set $0 global.get $~lib/memory/__stack_pointer - local.tee $1 local.get $0 i32.store - local.get $1 + global.get $~lib/memory/__stack_pointer i32.const 14928 i32.store offset=4 local.get $0 @@ -15531,10 +15426,9 @@ call $~lib/string/String#slice local.set $0 global.get $~lib/memory/__stack_pointer - local.tee $1 local.get $0 i32.store - local.get $1 + global.get $~lib/memory/__stack_pointer i32.const 14960 i32.store offset=4 local.get $0 @@ -15559,10 +15453,9 @@ call $~lib/string/String#slice local.set $0 global.get $~lib/memory/__stack_pointer - local.tee $1 local.get $0 i32.store - local.get $1 + global.get $~lib/memory/__stack_pointer i32.const 14992 i32.store offset=4 local.get $0 @@ -15587,10 +15480,9 @@ call $~lib/string/String#slice local.set $0 global.get $~lib/memory/__stack_pointer - local.tee $1 local.get $0 i32.store - local.get $1 + global.get $~lib/memory/__stack_pointer i32.const 15024 i32.store offset=4 local.get $0 @@ -15615,10 +15507,9 @@ call $~lib/string/String#slice local.set $0 global.get $~lib/memory/__stack_pointer - local.tee $1 local.get $0 i32.store - local.get $1 + global.get $~lib/memory/__stack_pointer i32.const 1712 i32.store offset=4 local.get $0 @@ -15643,10 +15534,9 @@ call $~lib/string/String#slice local.set $0 global.get $~lib/memory/__stack_pointer - local.tee $1 local.get $0 i32.store - local.get $1 + global.get $~lib/memory/__stack_pointer i32.const 15056 i32.store offset=4 local.get $0 @@ -15671,10 +15561,9 @@ call $~lib/string/String#substr local.set $0 global.get $~lib/memory/__stack_pointer - local.tee $1 local.get $0 i32.store - local.get $1 + global.get $~lib/memory/__stack_pointer i32.const 14880 i32.store offset=4 local.get $0 @@ -15699,10 +15588,9 @@ call $~lib/string/String#substr local.set $0 global.get $~lib/memory/__stack_pointer - local.tee $1 local.get $0 i32.store - local.get $1 + global.get $~lib/memory/__stack_pointer i32.const 14928 i32.store offset=4 local.get $0 @@ -15727,10 +15615,9 @@ call $~lib/string/String#substr local.set $0 global.get $~lib/memory/__stack_pointer - local.tee $1 local.get $0 i32.store - local.get $1 + global.get $~lib/memory/__stack_pointer i32.const 14960 i32.store offset=4 local.get $0 @@ -15755,10 +15642,9 @@ call $~lib/string/String#substr local.set $0 global.get $~lib/memory/__stack_pointer - local.tee $1 local.get $0 i32.store - local.get $1 + global.get $~lib/memory/__stack_pointer i32.const 15104 i32.store offset=4 local.get $0 @@ -15783,10 +15669,9 @@ call $~lib/string/String#substr local.set $0 global.get $~lib/memory/__stack_pointer - local.tee $1 local.get $0 i32.store - local.get $1 + global.get $~lib/memory/__stack_pointer i32.const 1712 i32.store offset=4 local.get $0 @@ -15811,10 +15696,9 @@ call $~lib/string/String#substr local.set $0 global.get $~lib/memory/__stack_pointer - local.tee $1 local.get $0 i32.store - local.get $1 + global.get $~lib/memory/__stack_pointer i32.const 15152 i32.store offset=4 local.get $0 @@ -15839,10 +15723,9 @@ call $~lib/string/String#substr local.set $0 global.get $~lib/memory/__stack_pointer - local.tee $1 local.get $0 i32.store - local.get $1 + global.get $~lib/memory/__stack_pointer i32.const 1712 i32.store offset=4 local.get $0 @@ -15867,10 +15750,9 @@ call $~lib/string/String#substr local.set $0 global.get $~lib/memory/__stack_pointer - local.tee $1 local.get $0 i32.store - local.get $1 + global.get $~lib/memory/__stack_pointer i32.const 14880 i32.store offset=4 local.get $0 @@ -15895,10 +15777,9 @@ call $~lib/string/String#substr local.set $0 global.get $~lib/memory/__stack_pointer - local.tee $1 local.get $0 i32.store - local.get $1 + global.get $~lib/memory/__stack_pointer i32.const 15184 i32.store offset=4 local.get $0 @@ -15923,10 +15804,9 @@ call $~lib/string/String#substr local.set $0 global.get $~lib/memory/__stack_pointer - local.tee $1 local.get $0 i32.store - local.get $1 + global.get $~lib/memory/__stack_pointer i32.const 1712 i32.store offset=4 local.get $0 @@ -15951,10 +15831,9 @@ call $~lib/string/String#substring local.set $0 global.get $~lib/memory/__stack_pointer - local.tee $1 local.get $0 i32.store - local.get $1 + global.get $~lib/memory/__stack_pointer i32.const 14880 i32.store offset=4 local.get $0 @@ -15979,10 +15858,9 @@ call $~lib/string/String#substring local.set $0 global.get $~lib/memory/__stack_pointer - local.tee $1 local.get $0 i32.store - local.get $1 + global.get $~lib/memory/__stack_pointer i32.const 14880 i32.store offset=4 local.get $0 @@ -16007,10 +15885,9 @@ call $~lib/string/String#substring local.set $0 global.get $~lib/memory/__stack_pointer - local.tee $1 local.get $0 i32.store - local.get $1 + global.get $~lib/memory/__stack_pointer i32.const 14880 i32.store offset=4 local.get $0 @@ -16035,10 +15912,9 @@ call $~lib/string/String#substring local.set $0 global.get $~lib/memory/__stack_pointer - local.tee $1 local.get $0 i32.store - local.get $1 + global.get $~lib/memory/__stack_pointer i32.const 14992 i32.store offset=4 local.get $0 @@ -16063,10 +15939,9 @@ call $~lib/string/String#substring local.set $0 global.get $~lib/memory/__stack_pointer - local.tee $1 local.get $0 i32.store - local.get $1 + global.get $~lib/memory/__stack_pointer i32.const 1712 i32.store offset=4 local.get $0 @@ -16091,10 +15966,9 @@ call $~lib/string/String#substring local.set $0 global.get $~lib/memory/__stack_pointer - local.tee $1 local.get $0 i32.store - local.get $1 + global.get $~lib/memory/__stack_pointer i32.const 15216 i32.store offset=4 local.get $0 @@ -16119,10 +15993,9 @@ call $~lib/string/String#substring local.set $0 global.get $~lib/memory/__stack_pointer - local.tee $1 local.get $0 i32.store - local.get $1 + global.get $~lib/memory/__stack_pointer i32.const 1712 i32.store offset=4 local.get $0 @@ -16147,10 +16020,9 @@ call $~lib/string/String#substring local.set $0 global.get $~lib/memory/__stack_pointer - local.tee $1 local.get $0 i32.store - local.get $1 + global.get $~lib/memory/__stack_pointer i32.const 14880 i32.store offset=4 local.get $0 @@ -16175,10 +16047,9 @@ call $~lib/string/String#substring local.set $0 global.get $~lib/memory/__stack_pointer - local.tee $1 local.get $0 i32.store - local.get $1 + global.get $~lib/memory/__stack_pointer i32.const 1712 i32.store offset=4 local.get $0 @@ -16203,10 +16074,9 @@ call $~lib/string/String#substring local.set $0 global.get $~lib/memory/__stack_pointer - local.tee $1 local.get $0 i32.store - local.get $1 + global.get $~lib/memory/__stack_pointer i32.const 2848 i32.store offset=4 local.get $0 @@ -21629,10 +21499,9 @@ call $~lib/string/String#concat local.set $0 global.get $~lib/memory/__stack_pointer - local.tee $1 local.get $0 i32.store - local.get $1 + global.get $~lib/memory/__stack_pointer i32.const 25776 i32.store offset=4 local.get $0 @@ -21659,10 +21528,9 @@ call $~lib/string/String#concat local.set $0 global.get $~lib/memory/__stack_pointer - local.tee $1 local.get $0 i32.store - local.get $1 + global.get $~lib/memory/__stack_pointer i32.const 25824 i32.store offset=4 local.get $0 @@ -21689,10 +21557,9 @@ call $~lib/string/String#concat local.set $0 global.get $~lib/memory/__stack_pointer - local.tee $1 local.get $0 i32.store - local.get $1 + global.get $~lib/memory/__stack_pointer i32.const 25824 i32.store offset=4 local.get $0 @@ -21719,10 +21586,9 @@ call $~lib/string/String#concat local.set $0 global.get $~lib/memory/__stack_pointer - local.tee $1 local.get $0 i32.store - local.get $1 + global.get $~lib/memory/__stack_pointer i32.const 1712 i32.store offset=4 local.get $0 @@ -21799,14 +21665,14 @@ global.get $~lib/memory/__stack_pointer i32.const 0 i32.store - local.get $1 local.get $0 i32.const 20 i32.sub i32.load offset=16 i32.const 1 i32.shr_u - i32.ge_u + local.get $1 + i32.le_u if global.get $~lib/memory/__stack_pointer i32.const 4 @@ -21822,10 +21688,10 @@ local.tee $2 i32.store local.get $2 - local.get $0 local.get $1 i32.const 1 i32.shl + local.get $0 i32.add i32.load16_u i32.store16 @@ -21992,15 +21858,15 @@ local.get $3 i32.lt_s if - local.get $1 local.get $2 i32.const 1 i32.shl + local.get $1 i32.add - local.get $0 local.get $2 i32.const 2 i32.shl + local.get $0 i32.add i32.load i32.store16 @@ -22097,6 +21963,7 @@ (local $4 i32) (local $5 i32) (local $6 i32) + (local $7 i32) global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub @@ -22155,32 +22022,33 @@ call $~lib/rt/itcms/__new local.tee $1 i32.store + local.get $4 local.get $3 local.get $5 i32.sub local.tee $3 - local.get $4 - i32.gt_u + i32.lt_u if - local.get $1 - local.get $2 local.get $4 local.get $3 i32.const 2 i32.sub local.get $4 i32.div_u - local.tee $6 - call $~lib/memory/memory.repeat - local.get $4 - local.get $6 + local.tee $7 i32.mul - local.tee $4 + local.set $6 local.get $1 + local.get $2 + local.get $4 + local.get $7 + call $~lib/memory/memory.repeat + local.get $1 + local.get $6 i32.add local.get $2 local.get $3 - local.get $4 + local.get $6 i32.sub call $~lib/memory/memory.copy else @@ -22205,6 +22073,7 @@ (local $3 i32) (local $4 i32) (local $5 i32) + (local $6 i32) global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub @@ -22232,11 +22101,7 @@ i32.shr_u i32.const 1 i32.shl - local.tee $3 - local.get $1 - i32.const 1 - i32.shl - local.tee $4 + local.tee $5 local.get $0 i32.const 20 i32.sub @@ -22245,8 +22110,12 @@ i32.shr_u i32.const 1 i32.shl - local.tee $1 - i32.lt_u + local.tee $3 + local.get $1 + i32.const 1 + i32.shl + local.tee $4 + i32.gt_u select i32.eqz if @@ -22261,46 +22130,47 @@ local.get $4 i32.const 1 call $~lib/rt/itcms/__new - local.tee $5 + local.tee $1 i32.store - local.get $5 - local.get $0 local.get $1 + local.get $0 + local.get $3 call $~lib/memory/memory.copy + local.get $5 local.get $4 - local.get $1 + local.get $3 i32.sub local.tee $0 - local.get $3 - i32.gt_u + i32.lt_u if - local.get $1 local.get $5 - i32.add - local.tee $1 - local.get $2 - local.get $3 local.get $0 i32.const 2 i32.sub - local.get $3 + local.get $5 i32.div_u - local.tee $4 + local.tee $6 + i32.mul + local.set $4 + local.get $1 + local.get $3 + i32.add + local.tee $3 + local.get $2 + local.get $5 + local.get $6 call $~lib/memory/memory.repeat local.get $3 local.get $4 - i32.mul - local.tee $3 - local.get $1 i32.add local.get $2 local.get $0 - local.get $3 + local.get $4 i32.sub call $~lib/memory/memory.copy else local.get $1 - local.get $5 + local.get $3 i32.add local.get $2 local.get $0 @@ -22310,7 +22180,7 @@ i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $5 + local.get $1 ) (func $~lib/string/String#trimStart (param $0 i32) (result i32) (local $1 i32) @@ -22833,10 +22703,10 @@ return end i32.const 0 - local.get $2 local.get $4 i32.const 1 i32.shl + local.get $2 i32.eq local.get $3 select @@ -23140,19 +23010,19 @@ i32.const 1 i32.shl call $~lib/memory/memory.copy - local.get $3 local.get $1 local.get $5 i32.add i32.const 1 i32.shl + local.get $3 i32.add - local.get $0 local.get $1 local.get $4 i32.add i32.const 1 i32.shl + local.get $0 i32.add local.get $6 local.get $1 @@ -23184,286 +23054,229 @@ (local $9 i32) (local $10 i32) (local $11 i32) - block $folding-inner2 - global.get $~lib/memory/__stack_pointer - i32.const 8 + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.sub + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 25884 + i32.lt_s + if + i32.const 42288 + i32.const 42336 + i32.const 1 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store + block $folding-inner0 + local.get $1 + i32.const 20 i32.sub - global.set $~lib/memory/__stack_pointer - global.get $~lib/memory/__stack_pointer - i32.const 25884 - i32.lt_s + i32.load offset=16 + i32.const 1 + i32.shr_u + local.tee $7 + local.get $0 + i32.const 20 + i32.sub + i32.load offset=16 + i32.const 1 + i32.shr_u + local.tee $4 + i32.ge_u if - i32.const 42288 - i32.const 42336 - i32.const 1 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - block $folding-inner1 - local.get $1 - i32.const 20 - i32.sub - i32.load offset=16 - i32.const 1 - i32.shr_u - local.tee $8 - local.get $0 - i32.const 20 - i32.sub - i32.load offset=16 - i32.const 1 - i32.shr_u - local.tee $4 + local.get $4 + local.get $7 i32.ge_u if - local.get $4 - local.get $8 - i32.ge_u - if - local.get $2 - local.get $0 - local.get $1 - local.get $0 - call $~lib/string/String.__eq - select - local.set $0 - end - br $folding-inner2 + local.get $2 + local.get $0 + local.get $1 + local.get $0 + call $~lib/string/String.__eq + select + local.set $0 end + br $folding-inner0 + end + local.get $2 + i32.const 20 + i32.sub + i32.load offset=16 + i32.const 1 + i32.shr_u + local.set $3 + local.get $7 + i32.eqz + if + local.get $3 + i32.eqz + br_if $folding-inner0 + global.get $~lib/memory/__stack_pointer + local.get $3 + local.get $4 + i32.const 1 + i32.add + i32.mul + local.get $4 + i32.add + i32.const 1 + i32.shl + i32.const 1 + call $~lib/rt/itcms/__new + local.tee $5 + i32.store + local.get $5 local.get $2 - i32.const 20 - i32.sub - i32.load offset=16 + local.get $3 i32.const 1 - i32.shr_u - local.set $3 - local.get $8 - i32.eqz - if - local.get $3 - i32.eqz - br_if $folding-inner2 - global.get $~lib/memory/__stack_pointer - local.get $4 - local.get $3 - local.get $4 - i32.const 1 - i32.add - i32.mul - i32.add - i32.const 1 - i32.shl - i32.const 1 - call $~lib/rt/itcms/__new - local.tee $11 - i32.store - local.get $11 - local.get $2 - local.get $3 - i32.const 1 - i32.shl - call $~lib/memory/memory.copy - local.get $3 - local.set $1 - loop $for-loop|0 - local.get $4 - local.get $5 - i32.gt_u - if - local.get $11 - local.get $1 - i32.const 1 - i32.shl - i32.add - local.get $0 - local.get $5 - i32.const 1 - i32.shl - i32.add - i32.load16_u - i32.store16 - local.get $11 - local.get $1 - i32.const 1 - i32.add - local.tee $1 - i32.const 1 - i32.shl - i32.add - local.get $2 - local.get $3 - i32.const 1 - i32.shl - call $~lib/memory/memory.copy - local.get $1 - local.get $3 - i32.add - local.set $1 - local.get $5 - i32.const 1 - i32.add - local.set $5 - br $for-loop|0 - end - end - br $folding-inner1 - end + i32.shl + call $~lib/memory/memory.copy local.get $3 - local.get $8 - i32.eq - if - global.get $~lib/memory/__stack_pointer - local.get $4 - i32.const 1 - i32.shl - local.tee $4 - i32.const 1 - call $~lib/rt/itcms/__new - local.tee $5 - i32.store - local.get $5 - local.get $0 + local.set $1 + loop $for-loop|0 local.get $4 - call $~lib/memory/memory.copy - loop $while-continue|1 - local.get $0 - local.get $1 - local.get $10 - call $~lib/string/String#indexOf - local.tee $4 - i32.const -1 - i32.xor - if - local.get $5 - local.get $4 - i32.const 1 - i32.shl - i32.add - local.get $2 - local.get $3 - i32.const 1 - i32.shl - call $~lib/memory/memory.copy - local.get $4 - local.get $8 - i32.add - local.set $10 - br $while-continue|1 - end - end - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $5 - return - end - local.get $4 - local.set $5 - loop $while-continue|2 - local.get $0 - local.get $1 - local.get $10 - call $~lib/string/String#indexOf - local.tee $7 - i32.const -1 - i32.xor + local.get $9 + i32.gt_u if - local.get $11 - if (result i32) - local.get $11 - i32.const 20 - i32.sub - i32.load offset=16 - i32.const 1 - i32.shr_u - else - i32.const 0 - end - i32.eqz - if - global.get $~lib/memory/__stack_pointer - local.get $4 - i32.const 1 - i32.shl - i32.const 1 - call $~lib/rt/itcms/__new - local.tee $11 - i32.store offset=4 - end + local.get $1 + i32.const 1 + i32.shl local.get $5 - local.get $3 - local.get $9 - local.get $7 - local.get $10 - i32.sub - local.tee $6 i32.add - i32.add - i32.lt_u - if - global.get $~lib/memory/__stack_pointer - local.get $11 - local.get $5 - i32.const 1 - i32.shl - local.tee $5 - i32.const 1 - i32.shl - call $~lib/rt/itcms/__renew - local.tee $11 - i32.store offset=4 - end - local.get $11 local.get $9 i32.const 1 i32.shl - i32.add local.get $0 - local.get $10 + i32.add + i32.load16_u + i32.store16 + local.get $1 + i32.const 1 + i32.add + local.tee $1 i32.const 1 i32.shl + local.get $5 i32.add - local.get $6 + local.get $2 + local.get $3 i32.const 1 i32.shl call $~lib/memory/memory.copy - local.get $11 - local.get $6 + local.get $1 + local.get $3 + i32.add + local.set $1 local.get $9 + i32.const 1 i32.add - local.tee $10 + local.set $9 + br $for-loop|0 + end + end + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $5 + return + end + local.get $3 + local.get $7 + i32.eq + if + global.get $~lib/memory/__stack_pointer + local.get $4 + i32.const 1 + i32.shl + local.tee $5 + i32.const 1 + call $~lib/rt/itcms/__new + local.tee $4 + i32.store + local.get $4 + local.get $0 + local.get $5 + call $~lib/memory/memory.copy + loop $while-continue|1 + local.get $0 + local.get $1 + local.get $10 + call $~lib/string/String#indexOf + local.tee $5 + i32.const -1 + i32.xor + if + local.get $5 i32.const 1 i32.shl + local.get $4 i32.add local.get $2 local.get $3 i32.const 1 i32.shl call $~lib/memory/memory.copy - local.get $3 - local.get $10 - i32.add - local.set $9 + local.get $5 local.get $7 - local.get $8 i32.add local.set $10 - br $while-continue|2 + br $while-continue|1 end end - local.get $11 + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $4 + return + end + local.get $4 + local.set $5 + loop $while-continue|2 + local.get $0 + local.get $1 + local.get $10 + call $~lib/string/String#indexOf + local.tee $9 + i32.const -1 + i32.xor if + local.get $11 + if (result i32) + local.get $11 + i32.const 20 + i32.sub + i32.load offset=16 + i32.const 1 + i32.shr_u + else + i32.const 0 + end + i32.eqz + if + global.get $~lib/memory/__stack_pointer + local.get $4 + i32.const 1 + i32.shl + i32.const 1 + call $~lib/rt/itcms/__new + local.tee $11 + i32.store offset=4 + end local.get $5 + local.get $3 + local.get $8 local.get $9 - local.get $4 local.get $10 i32.sub - local.tee $1 + local.tee $6 + i32.add i32.add i32.lt_u if @@ -23479,48 +23292,112 @@ local.tee $11 i32.store offset=4 end - local.get $1 - if - local.get $11 - local.get $9 - i32.const 1 - i32.shl - i32.add - local.get $0 - local.get $10 - i32.const 1 - i32.shl - i32.add - local.get $1 - i32.const 1 - i32.shl - call $~lib/memory/memory.copy - end - local.get $5 - local.get $1 + local.get $8 + i32.const 1 + i32.shl + local.get $11 + i32.add + local.get $10 + i32.const 1 + i32.shl + local.get $0 + i32.add + local.get $6 + i32.const 1 + i32.shl + call $~lib/memory/memory.copy + local.get $6 + local.get $8 + i32.add + local.tee $10 + i32.const 1 + i32.shl + local.get $11 + i32.add + local.get $2 + local.get $3 + i32.const 1 + i32.shl + call $~lib/memory/memory.copy + local.get $3 + local.get $10 + i32.add + local.set $8 + local.get $7 local.get $9 i32.add - local.tee $0 - i32.gt_u - if - global.get $~lib/memory/__stack_pointer - local.get $11 - local.get $0 - i32.const 1 - i32.shl - call $~lib/rt/itcms/__renew - local.tee $11 - i32.store offset=4 - end - br $folding-inner1 + local.set $10 + br $while-continue|2 + end + end + local.get $11 + if + local.get $5 + local.get $8 + local.get $4 + local.get $10 + i32.sub + local.tee $1 + i32.add + i32.lt_u + if + global.get $~lib/memory/__stack_pointer + local.get $11 + local.get $5 + i32.const 1 + i32.shl + local.tee $5 + i32.const 1 + i32.shl + call $~lib/rt/itcms/__renew + local.tee $11 + i32.store offset=4 + end + local.get $1 + if + local.get $8 + i32.const 1 + i32.shl + local.get $11 + i32.add + local.get $10 + i32.const 1 + i32.shl + local.get $0 + i32.add + local.get $1 + i32.const 1 + i32.shl + call $~lib/memory/memory.copy + end + local.get $5 + local.get $1 + local.get $8 + i32.add + local.tee $0 + i32.gt_u + if + global.get $~lib/memory/__stack_pointer + local.get $11 + local.get $0 + i32.const 1 + i32.shl + call $~lib/rt/itcms/__renew + local.tee $11 + i32.store offset=4 end - br $folding-inner2 + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $11 + return end global.get $~lib/memory/__stack_pointer i32.const 8 i32.add global.set $~lib/memory/__stack_pointer - local.get $11 + local.get $0 return end global.get $~lib/memory/__stack_pointer @@ -23622,10 +23499,10 @@ local.tee $2 i32.store local.get $2 - local.get $0 local.get $1 i32.const 1 i32.shl + local.get $0 i32.add local.get $3 call $~lib/memory/memory.copy @@ -23711,10 +23588,10 @@ local.tee $3 i32.store local.get $3 - local.get $0 local.get $1 i32.const 1 i32.shl + local.get $0 i32.add local.get $2 call $~lib/memory/memory.copy @@ -23779,22 +23656,23 @@ local.tee $2 local.get $2 local.get $3 - i32.lt_s + i32.gt_s select i32.const 1 i32.shl - local.tee $4 + local.set $4 local.get $3 local.get $2 local.get $2 local.get $3 - i32.gt_s + i32.lt_s select i32.const 1 i32.shl - local.tee $2 - i32.sub local.tee $3 + local.get $4 + i32.sub + local.tee $2 i32.eqz if global.get $~lib/memory/__stack_pointer @@ -23805,12 +23683,12 @@ return end i32.const 0 - local.get $4 local.get $1 i32.const 1 i32.shl + local.get $3 i32.eq - local.get $2 + local.get $4 select if global.get $~lib/memory/__stack_pointer @@ -23821,16 +23699,16 @@ return end global.get $~lib/memory/__stack_pointer - local.get $3 + local.get $2 i32.const 1 call $~lib/rt/itcms/__new local.tee $1 i32.store local.get $1 local.get $0 - local.get $2 + local.get $4 i32.add - local.get $3 + local.get $2 call $~lib/memory/memory.copy global.get $~lib/memory/__stack_pointer i32.const 4 @@ -23857,10 +23735,10 @@ global.get $~lib/memory/__stack_pointer i32.const 0 i32.store - local.get $1 local.get $0 i32.load offset=12 - i32.ge_u + local.get $1 + i32.le_u if i32.const 1264 i32.const 15248 @@ -24052,13 +23930,13 @@ i32.const 2 i32.ge_u if - local.get $0 local.get $1 i32.const 2 i32.sub local.tee $1 i32.const 1 i32.shl + local.get $0 i32.add local.get $3 i32.wrap_i64 @@ -24335,13 +24213,13 @@ i32.const 2 i32.ge_u if - local.get $3 local.get $0 i32.const 2 i32.sub local.tee $0 i32.const 1 i32.shl + local.get $3 i32.add local.get $2 i32.wrap_i64 @@ -24676,13 +24554,13 @@ i32.const 2 i32.ge_u if - local.get $3 local.get $1 i32.const 2 i32.sub local.tee $1 i32.const 1 i32.shl + local.get $3 i32.add local.get $0 i32.wrap_i64 @@ -25033,13 +24911,13 @@ i32.const 2 i32.ge_u if - local.get $1 local.get $2 i32.const 2 i32.sub local.tee $2 i32.const 1 i32.shl + local.get $1 i32.add local.get $0 i32.wrap_i64 diff --git a/tests/compiler/std/symbol.optimized.wat b/tests/compiler/std/symbol.optimized.wat index 2f6f2466e8..455b30883c 100644 --- a/tests/compiler/std/symbol.optimized.wat +++ b/tests/compiler/std/symbol.optimized.wat @@ -186,8 +186,8 @@ (local $1 i32) (local $2 i32) (local $3 i32) - local.get $0 global.get $~lib/rt/itcms/iter + local.get $0 i32.eq if local.get $0 @@ -247,11 +247,11 @@ local.get $1 i32.store offset=8 local.get $1 - local.get $2 local.get $1 i32.load offset=4 i32.const 3 i32.and + local.get $2 i32.or i32.store offset=4 end @@ -265,10 +265,10 @@ if (result i32) i32.const 1 else - local.get $1 i32.const 2656 i32.load - i32.gt_u + local.get $1 + i32.lt_u if i32.const 1328 i32.const 1392 @@ -305,11 +305,11 @@ local.get $1 i32.store offset=8 local.get $1 - local.get $0 local.get $1 i32.load offset=4 i32.const 3 i32.and + local.get $0 i32.or i32.store offset=4 local.get $2 @@ -467,22 +467,22 @@ local.get $4 i32.eqz if - local.get $0 local.get $3 i32.const 2 i32.shl + local.get $0 i32.add - local.tee $1 + local.tee $4 i32.load offset=4 i32.const -2 local.get $2 i32.rotl i32.and - local.set $2 + local.set $1 + local.get $4 local.get $1 - local.get $2 i32.store offset=4 - local.get $2 + local.get $1 i32.eqz if local.get $0 @@ -730,10 +730,10 @@ i32.shl i32.or i32.store - local.get $0 local.get $5 i32.const 2 i32.shl + local.get $0 i32.add local.tee $0 local.get $0 @@ -773,11 +773,11 @@ i32.load offset=1568 local.tee $2 if + local.get $1 local.get $2 i32.const 4 i32.add - local.get $1 - i32.gt_u + i32.lt_u if i32.const 0 i32.const 1472 @@ -801,11 +801,11 @@ local.set $1 end else + local.get $1 local.get $0 i32.const 1572 i32.add - local.get $1 - i32.gt_u + i32.lt_u if i32.const 0 i32.const 1472 @@ -1092,13 +1092,13 @@ if local.get $0 i32.load offset=4 + local.tee $1 i32.const -4 i32.and global.set $~lib/rt/itcms/iter global.get $~lib/rt/itcms/white i32.eqz - local.get $0 - i32.load offset=4 + local.get $1 i32.const 3 i32.and i32.ne @@ -1185,10 +1185,10 @@ end global.get $~lib/rt/itcms/toSpace local.tee $0 - local.get $0 + local.tee $1 + local.get $1 i32.store offset=4 - global.get $~lib/rt/itcms/toSpace - local.tee $0 + local.get $0 local.get $0 i32.store offset=8 i32.const 0 @@ -1613,7 +1613,6 @@ i32.const 536870910 i32.lt_u if (result i32) - local.get $2 i32.const 1 i32.const 27 local.get $2 @@ -1622,6 +1621,7 @@ i32.shl i32.const 1 i32.sub + local.get $2 i32.add else local.get $2 @@ -1682,12 +1682,12 @@ unreachable end end - local.get $2 local.get $3 i32.load i32.const -4 i32.and - i32.gt_u + local.get $2 + i32.lt_u if i32.const 0 i32.const 1472 @@ -1725,10 +1725,10 @@ i32.ge_u if local.get $3 - local.get $2 local.get $4 i32.const 2 i32.and + local.get $2 i32.or i32.store local.get $2 @@ -1755,18 +1755,13 @@ local.get $3 i32.const 4 i32.add - local.tee $2 local.get $3 i32.load i32.const -4 i32.and i32.add + local.tee $2 local.get $2 - local.get $3 - i32.load - i32.const -4 - i32.and - i32.add i32.load i32.const -3 i32.and @@ -1783,19 +1778,19 @@ i32.load offset=8 local.set $2 local.get $3 - local.get $1 global.get $~lib/rt/itcms/white + local.get $1 i32.or i32.store offset=4 local.get $3 local.get $2 i32.store offset=8 local.get $2 - local.get $3 local.get $2 i32.load offset=4 i32.const 3 i32.and + local.get $3 i32.or i32.store offset=4 local.get $1 @@ -2202,22 +2197,22 @@ i32.rotl i32.const 668265263 i32.mul - local.tee $2 - local.get $2 + local.tee $0 + local.get $0 i32.const 15 i32.shr_u i32.xor i32.const -2048144777 i32.mul - local.tee $2 - local.get $2 + local.tee $0 + local.get $0 i32.const 13 i32.shr_u i32.xor i32.const -1028477379 i32.mul - local.tee $2 - local.get $2 + local.tee $0 + local.get $0 i32.const 16 i32.shr_u i32.xor @@ -2281,17 +2276,17 @@ select if local.get $0 - local.tee $3 + local.tee $4 i32.const 1 i32.add local.set $0 local.get $1 - local.tee $4 + local.tee $3 i32.const 1 i32.add local.set $1 - local.get $3 local.get $4 + local.get $3 i32.load8_u i32.store8 local.get $2 @@ -2437,19 +2432,19 @@ local.get $0 i32.const 2 i32.add - local.tee $3 + local.tee $4 i32.const 1 i32.add local.set $0 local.get $1 i32.const 2 i32.add - local.tee $4 + local.tee $3 i32.const 1 i32.add local.set $1 - local.get $3 local.get $4 + local.get $3 i32.load8_u i32.store8 local.get $2 @@ -2464,7 +2459,7 @@ local.get $0 local.get $1 i32.load offset=1 - local.tee $3 + local.tee $4 i32.const 8 i32.shl local.get $5 @@ -2475,10 +2470,10 @@ local.get $0 local.get $1 i32.load offset=5 - local.tee $4 + local.tee $3 i32.const 8 i32.shl - local.get $3 + local.get $4 i32.const 24 i32.shr_u i32.or @@ -2486,10 +2481,10 @@ local.get $0 local.get $1 i32.load offset=9 - local.tee $3 + local.tee $4 i32.const 8 i32.shl - local.get $4 + local.get $3 i32.const 24 i32.shr_u i32.or @@ -2500,7 +2495,7 @@ local.tee $5 i32.const 8 i32.shl - local.get $3 + local.get $4 i32.const 24 i32.shr_u i32.or @@ -2555,7 +2550,7 @@ local.get $0 local.get $1 i32.load offset=2 - local.tee $3 + local.tee $4 i32.const 16 i32.shl local.get $5 @@ -2566,10 +2561,10 @@ local.get $0 local.get $1 i32.load offset=6 - local.tee $4 + local.tee $3 i32.const 16 i32.shl - local.get $3 + local.get $4 i32.const 16 i32.shr_u i32.or @@ -2577,10 +2572,10 @@ local.get $0 local.get $1 i32.load offset=10 - local.tee $3 + local.tee $4 i32.const 16 i32.shl - local.get $4 + local.get $3 i32.const 16 i32.shr_u i32.or @@ -2591,7 +2586,7 @@ local.tee $5 i32.const 16 i32.shl - local.get $3 + local.get $4 i32.const 16 i32.shr_u i32.or @@ -2617,17 +2612,17 @@ i32.load local.set $5 local.get $0 - local.tee $3 + local.tee $4 i32.const 1 i32.add local.set $0 local.get $1 - local.tee $4 + local.tee $3 i32.const 1 i32.add local.set $1 - local.get $3 local.get $4 + local.get $3 i32.load8_u i32.store8 local.get $2 @@ -2642,7 +2637,7 @@ local.get $0 local.get $1 i32.load offset=3 - local.tee $3 + local.tee $4 i32.const 24 i32.shl local.get $5 @@ -2653,10 +2648,10 @@ local.get $0 local.get $1 i32.load offset=7 - local.tee $4 + local.tee $3 i32.const 24 i32.shl - local.get $3 + local.get $4 i32.const 8 i32.shr_u i32.or @@ -2664,10 +2659,10 @@ local.get $0 local.get $1 i32.load offset=11 - local.tee $3 + local.tee $4 i32.const 24 i32.shl - local.get $4 + local.get $3 i32.const 8 i32.shr_u i32.or @@ -2678,7 +2673,7 @@ local.tee $5 i32.const 24 i32.shl - local.get $3 + local.get $4 i32.const 8 i32.shr_u i32.or @@ -2709,145 +2704,137 @@ i32.load8_u i32.store8 local.get $0 - local.tee $4 - i32.const 2 - i32.add - local.set $0 local.get $1 - local.tee $3 - i32.const 2 - i32.add - local.set $1 - local.get $4 - local.get $3 i32.load8_u offset=1 i32.store8 offset=1 local.get $0 - local.get $1 - i32.load8_u - i32.store8 - local.get $0 - local.tee $4 i32.const 2 i32.add - local.set $0 + local.tee $4 local.get $1 + i32.const 2 + i32.add local.tee $3 + i32.load8_u + i32.store8 + local.get $3 + local.tee $0 i32.const 2 i32.add - local.set $1 + local.set $3 local.get $4 - local.get $3 + local.get $0 i32.load8_u offset=1 i32.store8 offset=1 - local.get $0 - local.get $1 + local.get $4 + i32.const 2 + i32.add + local.tee $1 + local.get $3 i32.load8_u i32.store8 - local.get $0 + local.get $1 local.tee $4 i32.const 2 i32.add - local.set $0 - local.get $1 - local.tee $3 + local.set $1 + local.get $3 + local.tee $0 i32.const 2 i32.add - local.set $1 + local.set $3 local.get $4 - local.get $3 + local.get $0 i32.load8_u offset=1 i32.store8 offset=1 - local.get $0 local.get $1 + local.get $3 i32.load8_u i32.store8 - local.get $0 + local.get $1 local.tee $4 i32.const 2 i32.add - local.set $0 - local.get $1 - local.tee $3 + local.set $1 + local.get $3 + local.tee $0 i32.const 2 i32.add - local.set $1 + local.set $3 local.get $4 - local.get $3 + local.get $0 i32.load8_u offset=1 i32.store8 offset=1 - local.get $0 local.get $1 + local.get $3 i32.load8_u i32.store8 - local.get $0 + local.get $1 local.tee $4 i32.const 2 i32.add - local.set $0 - local.get $1 - local.tee $3 + local.set $1 + local.get $3 + local.tee $0 i32.const 2 i32.add - local.set $1 + local.set $3 local.get $4 - local.get $3 + local.get $0 i32.load8_u offset=1 i32.store8 offset=1 - local.get $0 local.get $1 + local.get $3 i32.load8_u i32.store8 - local.get $0 + local.get $1 local.tee $4 i32.const 2 i32.add - local.set $0 - local.get $1 - local.tee $3 + local.set $1 + local.get $3 + local.tee $0 i32.const 2 i32.add - local.set $1 + local.set $3 local.get $4 - local.get $3 + local.get $0 i32.load8_u offset=1 i32.store8 offset=1 - local.get $0 local.get $1 + local.get $3 i32.load8_u i32.store8 - local.get $0 + local.get $1 local.tee $4 i32.const 2 i32.add - local.set $0 - local.get $1 - local.tee $3 + local.set $1 + local.get $3 + local.tee $0 i32.const 2 i32.add - local.set $1 + local.set $3 local.get $4 - local.get $3 + local.get $0 i32.load8_u offset=1 i32.store8 offset=1 - local.get $0 local.get $1 + local.get $3 i32.load8_u i32.store8 - local.get $0 - local.tee $4 + local.get $1 i32.const 2 i32.add local.set $0 local.get $1 - local.tee $3 - i32.const 2 - i32.add - local.set $1 - local.get $4 local.get $3 i32.load8_u offset=1 i32.store8 offset=1 + local.get $3 + i32.const 2 + i32.add + local.set $1 end local.get $2 i32.const 8 @@ -2858,73 +2845,65 @@ i32.load8_u i32.store8 local.get $0 - local.tee $4 - i32.const 2 - i32.add - local.set $0 local.get $1 - local.tee $3 - i32.const 2 - i32.add - local.set $1 - local.get $4 - local.get $3 i32.load8_u offset=1 i32.store8 offset=1 local.get $0 - local.get $1 - i32.load8_u - i32.store8 - local.get $0 - local.tee $4 i32.const 2 i32.add - local.set $0 + local.tee $4 local.get $1 + i32.const 2 + i32.add local.tee $3 + i32.load8_u + i32.store8 + local.get $3 + local.tee $0 i32.const 2 i32.add - local.set $1 + local.set $3 local.get $4 - local.get $3 + local.get $0 i32.load8_u offset=1 i32.store8 offset=1 - local.get $0 - local.get $1 + local.get $4 + i32.const 2 + i32.add + local.tee $1 + local.get $3 i32.load8_u i32.store8 - local.get $0 + local.get $1 local.tee $4 i32.const 2 i32.add - local.set $0 - local.get $1 - local.tee $3 + local.set $1 + local.get $3 + local.tee $0 i32.const 2 i32.add - local.set $1 + local.set $3 local.get $4 - local.get $3 + local.get $0 i32.load8_u offset=1 i32.store8 offset=1 - local.get $0 local.get $1 + local.get $3 i32.load8_u i32.store8 - local.get $0 - local.tee $4 + local.get $1 i32.const 2 i32.add local.set $0 local.get $1 - local.tee $3 - i32.const 2 - i32.add - local.set $1 - local.get $4 local.get $3 i32.load8_u offset=1 i32.store8 offset=1 + local.get $3 + i32.const 2 + i32.add + local.set $1 end local.get $2 i32.const 4 @@ -2935,30 +2914,20 @@ i32.load8_u i32.store8 local.get $0 - local.tee $4 - i32.const 2 - i32.add - local.set $0 local.get $1 - local.tee $3 - i32.const 2 - i32.add - local.set $1 - local.get $4 - local.get $3 i32.load8_u offset=1 i32.store8 offset=1 local.get $0 - local.get $1 - i32.load8_u - i32.store8 - local.get $0 - local.tee $4 i32.const 2 i32.add - local.set $0 + local.tee $4 local.get $1 + i32.const 2 + i32.add local.tee $3 + i32.load8_u + i32.store8 + local.get $3 i32.const 2 i32.add local.set $1 @@ -2966,6 +2935,10 @@ local.get $3 i32.load8_u offset=1 i32.store8 offset=1 + local.get $4 + i32.const 2 + i32.add + local.set $0 end local.get $2 i32.const 2 @@ -3299,38 +3272,38 @@ i32.load call $~lib/rt/itcms/__visit local.get $0 - i32.load offset=8 - local.tee $2 - local.tee $1 - local.get $0 i32.load offset=16 i32.const 12 i32.mul + local.get $0 + i32.load offset=8 + local.tee $1 + local.tee $0 i32.add - local.set $0 + local.set $2 loop $while-continue|0 local.get $0 - local.get $1 - i32.gt_u + local.get $2 + i32.lt_u if - local.get $1 + local.get $0 i32.load offset=8 i32.const 1 i32.and i32.eqz if - local.get $1 + local.get $0 i32.load call $~lib/rt/itcms/__visit end - local.get $1 + local.get $0 i32.const 12 i32.add - local.set $1 + local.set $0 br $while-continue|0 end end - local.get $2 + local.get $1 call $~lib/rt/itcms/__visit return end @@ -3338,38 +3311,38 @@ i32.load call $~lib/rt/itcms/__visit local.get $0 - i32.load offset=8 - local.tee $2 - local.tee $1 - local.get $0 i32.load offset=16 i32.const 12 i32.mul + local.get $0 + i32.load offset=8 + local.tee $1 + local.tee $0 i32.add - local.set $0 + local.set $2 loop $while-continue|00 local.get $0 - local.get $1 - i32.gt_u + local.get $2 + i32.lt_u if - local.get $1 + local.get $0 i32.load offset=8 i32.const 1 i32.and i32.eqz if - local.get $1 + local.get $0 i32.load offset=4 call $~lib/rt/itcms/__visit end - local.get $1 + local.get $0 i32.const 12 i32.add - local.set $1 + local.set $0 br $while-continue|00 end end - local.get $2 + local.get $1 call $~lib/rt/itcms/__visit return end @@ -3406,9 +3379,9 @@ i32.store local.get $0 i32.load - local.get $1 local.get $0 i32.load offset=4 + local.get $1 i32.and i32.const 2 i32.shl @@ -3763,13 +3736,13 @@ i32.load offset=4 i32.store offset=4 local.get $0 - local.get $7 local.get $8 call $~lib/util/hash/HASH<~lib/string/String> local.get $4 i32.and i32.const 2 i32.shl + local.get $7 i32.add local.tee $8 i32.load @@ -3830,10 +3803,10 @@ i32.const 1 i32.add i32.store offset=16 - local.get $0 local.get $4 i32.const 12 i32.mul + local.get $0 i32.add local.tee $0 i32.const 1056 @@ -3854,9 +3827,9 @@ local.get $0 local.get $2 i32.load - local.get $9 local.get $2 i32.load offset=4 + local.get $9 i32.and i32.const 2 i32.shl @@ -3900,23 +3873,23 @@ i32.const 668265263 i32.mul local.tee $0 - local.get $0 i32.const 15 i32.shr_u + local.get $0 i32.xor i32.const -2048144777 i32.mul local.tee $0 - local.get $0 i32.const 13 i32.shr_u + local.get $0 i32.xor i32.const -1028477379 i32.mul local.tee $0 - local.get $0 i32.const 16 i32.shr_u + local.get $0 i32.xor local.tee $8 local.get $2 @@ -4058,8 +4031,6 @@ i32.load offset=4 i32.store offset=4 local.get $0 - local.get $7 - local.get $4 local.get $5 i32.const -1028477379 i32.mul @@ -4070,27 +4041,29 @@ i32.const 668265263 i32.mul local.tee $5 - local.get $5 i32.const 15 i32.shr_u + local.get $5 i32.xor i32.const -2048144777 i32.mul local.tee $5 - local.get $5 i32.const 13 i32.shr_u + local.get $5 i32.xor i32.const -1028477379 i32.mul local.tee $5 - local.get $5 i32.const 16 i32.shr_u + local.get $5 i32.xor + local.get $4 i32.and i32.const 2 i32.shl + local.get $7 i32.add local.tee $5 i32.load @@ -4151,10 +4124,10 @@ i32.const 1 i32.add i32.store offset=16 - local.get $0 local.get $4 i32.const 12 i32.mul + local.get $0 i32.add local.tee $0 local.get $6 @@ -4175,9 +4148,9 @@ local.get $0 local.get $2 i32.load - local.get $8 local.get $2 i32.load offset=4 + local.get $8 i32.and i32.const 2 i32.shl @@ -4248,23 +4221,23 @@ i32.const 668265263 i32.mul local.tee $1 - local.get $1 i32.const 15 i32.shr_u + local.get $1 i32.xor i32.const -2048144777 i32.mul local.tee $1 - local.get $1 i32.const 13 i32.shr_u + local.get $1 i32.xor i32.const -1028477379 i32.mul local.tee $1 - local.get $1 i32.const 16 i32.shr_u + local.get $1 i32.xor i32.and i32.const 2 @@ -4466,23 +4439,23 @@ i32.const 668265263 i32.mul local.tee $1 - local.get $1 i32.const 15 i32.shr_u + local.get $1 i32.xor i32.const -2048144777 i32.mul local.tee $1 - local.get $1 i32.const 13 i32.shr_u + local.get $1 i32.xor i32.const -1028477379 i32.mul local.tee $1 - local.get $1 i32.const 16 i32.shr_u + local.get $1 i32.xor i32.and i32.const 2 @@ -4544,10 +4517,9 @@ call $~lib/string/String.__concat local.set $0 global.get $~lib/memory/__stack_pointer - local.tee $2 local.get $0 i32.store offset=4 - local.get $2 + global.get $~lib/memory/__stack_pointer i32.const 2400 i32.store offset=8 local.get $0 diff --git a/tests/compiler/std/typedarray.optimized.wat b/tests/compiler/std/typedarray.optimized.wat index 2c2eab50cd..a17d2b8ca1 100644 --- a/tests/compiler/std/typedarray.optimized.wat +++ b/tests/compiler/std/typedarray.optimized.wat @@ -746,8 +746,8 @@ (local $1 i32) (local $2 i32) (local $3 i32) - local.get $0 global.get $~lib/rt/itcms/iter + local.get $0 i32.eq if local.get $0 @@ -807,11 +807,11 @@ local.get $1 i32.store offset=8 local.get $1 - local.get $2 local.get $1 i32.load offset=4 i32.const 3 i32.and + local.get $2 i32.or i32.store offset=4 end @@ -825,10 +825,10 @@ if (result i32) i32.const 1 else - local.get $1 i32.const 16000 i32.load - i32.gt_u + local.get $1 + i32.lt_u if i32.const 1360 i32.const 1424 @@ -865,11 +865,11 @@ local.get $1 i32.store offset=8 local.get $1 - local.get $0 local.get $1 i32.load offset=4 i32.const 3 i32.and + local.get $0 i32.or i32.store offset=4 local.get $2 @@ -1027,22 +1027,22 @@ local.get $4 i32.eqz if - local.get $0 local.get $3 i32.const 2 i32.shl + local.get $0 i32.add - local.tee $1 + local.tee $4 i32.load offset=4 i32.const -2 local.get $2 i32.rotl i32.and - local.set $2 + local.set $1 + local.get $4 local.get $1 - local.get $2 i32.store offset=4 - local.get $2 + local.get $1 i32.eqz if local.get $0 @@ -1290,10 +1290,10 @@ i32.shl i32.or i32.store - local.get $0 local.get $5 i32.const 2 i32.shl + local.get $0 i32.add local.tee $0 local.get $0 @@ -1333,11 +1333,11 @@ i32.load offset=1568 local.tee $2 if + local.get $1 local.get $2 i32.const 4 i32.add - local.get $1 - i32.gt_u + i32.lt_u if i32.const 0 i32.const 1504 @@ -1361,11 +1361,11 @@ local.set $1 end else + local.get $1 local.get $0 i32.const 1572 i32.add - local.get $1 - i32.gt_u + i32.lt_u if i32.const 0 i32.const 1504 @@ -1702,13 +1702,13 @@ if local.get $0 i32.load offset=4 + local.tee $1 i32.const -4 i32.and global.set $~lib/rt/itcms/iter global.get $~lib/rt/itcms/white i32.eqz - local.get $0 - i32.load offset=4 + local.get $1 i32.const 3 i32.and i32.ne @@ -1750,10 +1750,10 @@ end global.get $~lib/rt/itcms/toSpace local.tee $0 - local.get $0 + local.tee $1 + local.get $1 i32.store offset=4 - global.get $~lib/rt/itcms/toSpace - local.tee $0 + local.get $0 local.get $0 i32.store offset=8 i32.const 0 @@ -1941,7 +1941,6 @@ i32.const 536870910 i32.lt_u if (result i32) - local.get $0 i32.const 1 i32.const 27 local.get $0 @@ -1950,6 +1949,7 @@ i32.shl i32.const 1 i32.sub + local.get $0 i32.add else local.get $0 @@ -2010,12 +2010,12 @@ unreachable end end - local.get $0 local.get $1 i32.load i32.const -4 i32.and - i32.gt_u + local.get $0 + i32.lt_u if i32.const 0 i32.const 1504 @@ -2053,10 +2053,10 @@ i32.ge_u if local.get $1 - local.get $0 local.get $2 i32.const 2 i32.and + local.get $0 i32.or i32.store local.get $0 @@ -2083,18 +2083,13 @@ local.get $1 i32.const 4 i32.add - local.tee $0 local.get $1 i32.load i32.const -4 i32.and i32.add + local.tee $0 local.get $0 - local.get $1 - i32.load - i32.const -4 - i32.and - i32.add i32.load i32.const -3 i32.and @@ -2371,19 +2366,19 @@ i32.load offset=8 local.set $1 local.get $2 - local.get $3 global.get $~lib/rt/itcms/white + local.get $3 i32.or i32.store offset=4 local.get $2 local.get $1 i32.store offset=8 local.get $1 - local.get $2 local.get $1 i32.load offset=4 i32.const 3 i32.and + local.get $2 i32.or i32.store offset=4 local.get $3 @@ -2516,9 +2511,9 @@ call $~lib/builtins/abort unreachable end - local.get $0 local.get $1 i32.load offset=8 + local.get $0 i32.ne if i32.const 0 @@ -2528,9 +2523,9 @@ call $~lib/builtins/abort unreachable end - local.get $0 local.get $1 i32.load offset=8 + local.get $0 i32.ne if i32.const 0 @@ -2558,9 +2553,9 @@ call $~lib/builtins/abort unreachable end - local.get $0 local.get $1 i32.load offset=8 + local.get $0 i32.ne if i32.const 0 @@ -2570,9 +2565,9 @@ call $~lib/builtins/abort unreachable end - local.get $0 local.get $1 i32.load offset=8 + local.get $0 i32.ne if i32.const 0 @@ -2600,9 +2595,9 @@ call $~lib/builtins/abort unreachable end - local.get $0 local.get $1 i32.load offset=8 + local.get $0 i32.ne if i32.const 0 @@ -2612,9 +2607,9 @@ call $~lib/builtins/abort unreachable end - local.get $0 local.get $1 i32.load offset=8 + local.get $0 i32.ne if i32.const 0 @@ -2656,11 +2651,11 @@ call $~lib/builtins/abort unreachable end - local.get $0 local.get $1 i32.load offset=8 i32.const 1 i32.shr_u + local.get $0 i32.ne if i32.const 0 @@ -2702,11 +2697,11 @@ call $~lib/builtins/abort unreachable end - local.get $0 local.get $1 i32.load offset=8 i32.const 1 i32.shr_u + local.get $0 i32.ne if i32.const 0 @@ -2748,11 +2743,11 @@ call $~lib/builtins/abort unreachable end - local.get $0 local.get $1 i32.load offset=8 i32.const 2 i32.shr_u + local.get $0 i32.ne if i32.const 0 @@ -2794,11 +2789,11 @@ call $~lib/builtins/abort unreachable end - local.get $0 local.get $1 i32.load offset=8 i32.const 2 i32.shr_u + local.get $0 i32.ne if i32.const 0 @@ -2840,11 +2835,11 @@ call $~lib/builtins/abort unreachable end - local.get $0 local.get $1 i32.load offset=8 i32.const 3 i32.shr_u + local.get $0 i32.ne if i32.const 0 @@ -2886,11 +2881,11 @@ call $~lib/builtins/abort unreachable end - local.get $0 local.get $1 i32.load offset=8 i32.const 3 i32.shr_u + local.get $0 i32.ne if i32.const 0 @@ -2932,11 +2927,11 @@ call $~lib/builtins/abort unreachable end - local.get $0 local.get $1 i32.load offset=8 i32.const 2 i32.shr_u + local.get $0 i32.ne if i32.const 0 @@ -2978,11 +2973,11 @@ call $~lib/builtins/abort unreachable end - local.get $0 local.get $1 i32.load offset=8 i32.const 3 i32.shr_u + local.get $0 i32.ne if i32.const 0 @@ -3098,10 +3093,10 @@ local.get $8 i32.ge_s if - local.get $0 local.get $8 i32.const 3 i32.shl + local.get $0 i32.add local.tee $3 f64.load offset=8 @@ -3267,10 +3262,10 @@ local.get $4 i32.gt_s if (result i32) - local.get $0 local.get $4 i32.const 3 i32.shl + local.get $0 i32.add local.tee $7 f64.load offset=8 @@ -3301,19 +3296,19 @@ local.get $2 i32.lt_s if - local.get $0 local.get $1 i32.const 3 i32.shl + local.get $0 i32.add local.tee $3 f64.load local.set $5 local.get $3 - local.get $0 local.get $2 i32.const 3 i32.shl + local.get $0 i32.add local.tee $7 f64.load @@ -3338,10 +3333,10 @@ local.get $4 i32.gt_s if (result i32) - local.get $0 local.get $4 i32.const 3 i32.shl + local.get $0 i32.add local.tee $1 f64.load offset=8 @@ -4066,17 +4061,17 @@ select if local.get $0 - local.tee $3 + local.tee $4 i32.const 1 i32.add local.set $0 local.get $1 - local.tee $4 + local.tee $3 i32.const 1 i32.add local.set $1 - local.get $3 local.get $4 + local.get $3 i32.load8_u i32.store8 local.get $2 @@ -4222,19 +4217,19 @@ local.get $0 i32.const 2 i32.add - local.tee $3 + local.tee $4 i32.const 1 i32.add local.set $0 local.get $1 i32.const 2 i32.add - local.tee $4 + local.tee $3 i32.const 1 i32.add local.set $1 - local.get $3 local.get $4 + local.get $3 i32.load8_u i32.store8 local.get $2 @@ -4249,7 +4244,7 @@ local.get $0 local.get $1 i32.load offset=1 - local.tee $3 + local.tee $4 i32.const 8 i32.shl local.get $5 @@ -4260,10 +4255,10 @@ local.get $0 local.get $1 i32.load offset=5 - local.tee $4 + local.tee $3 i32.const 8 i32.shl - local.get $3 + local.get $4 i32.const 24 i32.shr_u i32.or @@ -4271,10 +4266,10 @@ local.get $0 local.get $1 i32.load offset=9 - local.tee $3 + local.tee $4 i32.const 8 i32.shl - local.get $4 + local.get $3 i32.const 24 i32.shr_u i32.or @@ -4285,7 +4280,7 @@ local.tee $5 i32.const 8 i32.shl - local.get $3 + local.get $4 i32.const 24 i32.shr_u i32.or @@ -4340,7 +4335,7 @@ local.get $0 local.get $1 i32.load offset=2 - local.tee $3 + local.tee $4 i32.const 16 i32.shl local.get $5 @@ -4351,10 +4346,10 @@ local.get $0 local.get $1 i32.load offset=6 - local.tee $4 + local.tee $3 i32.const 16 i32.shl - local.get $3 + local.get $4 i32.const 16 i32.shr_u i32.or @@ -4362,10 +4357,10 @@ local.get $0 local.get $1 i32.load offset=10 - local.tee $3 + local.tee $4 i32.const 16 i32.shl - local.get $4 + local.get $3 i32.const 16 i32.shr_u i32.or @@ -4376,7 +4371,7 @@ local.tee $5 i32.const 16 i32.shl - local.get $3 + local.get $4 i32.const 16 i32.shr_u i32.or @@ -4402,17 +4397,17 @@ i32.load local.set $5 local.get $0 - local.tee $3 + local.tee $4 i32.const 1 i32.add local.set $0 local.get $1 - local.tee $4 + local.tee $3 i32.const 1 i32.add local.set $1 - local.get $3 local.get $4 + local.get $3 i32.load8_u i32.store8 local.get $2 @@ -4427,7 +4422,7 @@ local.get $0 local.get $1 i32.load offset=3 - local.tee $3 + local.tee $4 i32.const 24 i32.shl local.get $5 @@ -4438,10 +4433,10 @@ local.get $0 local.get $1 i32.load offset=7 - local.tee $4 + local.tee $3 i32.const 24 i32.shl - local.get $3 + local.get $4 i32.const 8 i32.shr_u i32.or @@ -4449,10 +4444,10 @@ local.get $0 local.get $1 i32.load offset=11 - local.tee $3 + local.tee $4 i32.const 24 i32.shl - local.get $4 + local.get $3 i32.const 8 i32.shr_u i32.or @@ -4463,7 +4458,7 @@ local.tee $5 i32.const 24 i32.shl - local.get $3 + local.get $4 i32.const 8 i32.shr_u i32.or @@ -4494,145 +4489,137 @@ i32.load8_u i32.store8 local.get $0 - local.tee $4 - i32.const 2 - i32.add - local.set $0 local.get $1 - local.tee $3 - i32.const 2 - i32.add - local.set $1 - local.get $4 - local.get $3 i32.load8_u offset=1 i32.store8 offset=1 local.get $0 - local.get $1 - i32.load8_u - i32.store8 - local.get $0 - local.tee $4 i32.const 2 i32.add - local.set $0 + local.tee $4 local.get $1 + i32.const 2 + i32.add local.tee $3 + i32.load8_u + i32.store8 + local.get $3 + local.tee $0 i32.const 2 i32.add - local.set $1 + local.set $3 local.get $4 - local.get $3 + local.get $0 i32.load8_u offset=1 i32.store8 offset=1 - local.get $0 - local.get $1 + local.get $4 + i32.const 2 + i32.add + local.tee $1 + local.get $3 i32.load8_u i32.store8 - local.get $0 + local.get $1 local.tee $4 i32.const 2 i32.add - local.set $0 - local.get $1 - local.tee $3 + local.set $1 + local.get $3 + local.tee $0 i32.const 2 i32.add - local.set $1 + local.set $3 local.get $4 - local.get $3 + local.get $0 i32.load8_u offset=1 i32.store8 offset=1 - local.get $0 local.get $1 + local.get $3 i32.load8_u i32.store8 - local.get $0 + local.get $1 local.tee $4 i32.const 2 i32.add - local.set $0 - local.get $1 - local.tee $3 + local.set $1 + local.get $3 + local.tee $0 i32.const 2 i32.add - local.set $1 + local.set $3 local.get $4 - local.get $3 + local.get $0 i32.load8_u offset=1 i32.store8 offset=1 - local.get $0 local.get $1 + local.get $3 i32.load8_u i32.store8 - local.get $0 + local.get $1 local.tee $4 i32.const 2 i32.add - local.set $0 - local.get $1 - local.tee $3 + local.set $1 + local.get $3 + local.tee $0 i32.const 2 i32.add - local.set $1 + local.set $3 local.get $4 - local.get $3 + local.get $0 i32.load8_u offset=1 i32.store8 offset=1 - local.get $0 local.get $1 + local.get $3 i32.load8_u i32.store8 - local.get $0 + local.get $1 local.tee $4 i32.const 2 i32.add - local.set $0 - local.get $1 - local.tee $3 + local.set $1 + local.get $3 + local.tee $0 i32.const 2 i32.add - local.set $1 + local.set $3 local.get $4 - local.get $3 + local.get $0 i32.load8_u offset=1 i32.store8 offset=1 - local.get $0 local.get $1 + local.get $3 i32.load8_u i32.store8 - local.get $0 + local.get $1 local.tee $4 i32.const 2 i32.add - local.set $0 - local.get $1 - local.tee $3 + local.set $1 + local.get $3 + local.tee $0 i32.const 2 i32.add - local.set $1 + local.set $3 local.get $4 - local.get $3 + local.get $0 i32.load8_u offset=1 i32.store8 offset=1 - local.get $0 local.get $1 + local.get $3 i32.load8_u i32.store8 - local.get $0 - local.tee $4 + local.get $1 i32.const 2 i32.add local.set $0 local.get $1 - local.tee $3 - i32.const 2 - i32.add - local.set $1 - local.get $4 local.get $3 i32.load8_u offset=1 i32.store8 offset=1 + local.get $3 + i32.const 2 + i32.add + local.set $1 end local.get $2 i32.const 8 @@ -4643,73 +4630,65 @@ i32.load8_u i32.store8 local.get $0 - local.tee $4 - i32.const 2 - i32.add - local.set $0 local.get $1 - local.tee $3 - i32.const 2 - i32.add - local.set $1 - local.get $4 - local.get $3 i32.load8_u offset=1 i32.store8 offset=1 local.get $0 - local.get $1 - i32.load8_u - i32.store8 - local.get $0 - local.tee $4 i32.const 2 i32.add - local.set $0 + local.tee $4 local.get $1 + i32.const 2 + i32.add local.tee $3 + i32.load8_u + i32.store8 + local.get $3 + local.tee $0 i32.const 2 i32.add - local.set $1 + local.set $3 local.get $4 - local.get $3 + local.get $0 i32.load8_u offset=1 i32.store8 offset=1 - local.get $0 - local.get $1 + local.get $4 + i32.const 2 + i32.add + local.tee $1 + local.get $3 i32.load8_u i32.store8 - local.get $0 + local.get $1 local.tee $4 i32.const 2 i32.add - local.set $0 - local.get $1 - local.tee $3 + local.set $1 + local.get $3 + local.tee $0 i32.const 2 i32.add - local.set $1 + local.set $3 local.get $4 - local.get $3 + local.get $0 i32.load8_u offset=1 i32.store8 offset=1 - local.get $0 local.get $1 + local.get $3 i32.load8_u i32.store8 - local.get $0 - local.tee $4 + local.get $1 i32.const 2 i32.add local.set $0 local.get $1 - local.tee $3 - i32.const 2 - i32.add - local.set $1 - local.get $4 local.get $3 i32.load8_u offset=1 i32.store8 offset=1 + local.get $3 + i32.const 2 + i32.add + local.set $1 end local.get $2 i32.const 4 @@ -4720,30 +4699,20 @@ i32.load8_u i32.store8 local.get $0 - local.tee $4 - i32.const 2 - i32.add - local.set $0 local.get $1 - local.tee $3 - i32.const 2 - i32.add - local.set $1 - local.get $4 - local.get $3 i32.load8_u offset=1 i32.store8 offset=1 local.get $0 - local.get $1 - i32.load8_u - i32.store8 - local.get $0 - local.tee $4 i32.const 2 i32.add - local.set $0 + local.tee $4 local.get $1 + i32.const 2 + i32.add local.tee $3 + i32.load8_u + i32.store8 + local.get $3 i32.const 2 i32.add local.set $1 @@ -4751,6 +4720,10 @@ local.get $3 i32.load8_u offset=1 i32.store8 offset=1 + local.get $4 + i32.const 2 + i32.add + local.set $0 end local.get $2 i32.const 2 @@ -5127,10 +5100,10 @@ local.get $4 i32.lt_s select - local.set $3 + local.set $5 local.get $0 i32.load offset=4 - local.tee $5 + local.tee $3 local.get $1 i32.const 0 i32.lt_s @@ -5180,14 +5153,14 @@ local.tee $2 i32.const 2 i32.shl - local.get $5 - i32.add local.get $3 + i32.add + local.get $5 i32.const 0 i32.lt_s if (result i32) - local.get $3 local.get $4 + local.get $5 i32.add local.tee $3 i32.const 0 @@ -5196,11 +5169,11 @@ i32.gt_s select else - local.get $3 + local.get $5 local.get $4 - local.get $3 local.get $4 - i32.lt_s + local.get $5 + i32.gt_s select end local.get $2 @@ -6156,10 +6129,6 @@ local.get $0 i32.reinterpret_f32 local.tee $1 - i32.const -2147483648 - i32.and - local.set $4 - local.get $1 i32.const 23 i32.shr_u i32.const 255 @@ -6191,6 +6160,10 @@ f32.mul br $__inlined_func$~lib/math/NativeMathf.mod end + local.get $1 + i32.const -2147483648 + i32.and + local.set $4 local.get $2 if (result i32) local.get $1 @@ -6245,6 +6218,7 @@ br $while-continue|0 end end + local.get $2 local.get $1 i32.const 8388608 i32.ge_u @@ -6263,17 +6237,17 @@ local.set $1 end local.get $1 - local.get $1 i32.const 8 i32.shl i32.clz local.tee $3 + i32.sub + local.set $2 + local.get $1 + local.get $3 i32.shl local.set $1 local.get $2 - local.get $3 - i32.sub - local.tee $2 i32.const 0 i32.gt_s if (result i32) @@ -6307,10 +6281,6 @@ local.get $0 i64.reinterpret_f64 local.tee $3 - i64.const 63 - i64.shr_u - local.set $6 - local.get $3 i64.const 52 i64.shr_u i64.const 2047 @@ -6342,6 +6312,10 @@ f64.mul br $__inlined_func$~lib/math/NativeMath.mod end + local.get $3 + i64.const 63 + i64.shr_u + local.set $6 local.get $4 i64.eqz if (result i64) @@ -6397,6 +6371,7 @@ br $while-continue|0 end end + local.get $4 local.get $3 i64.const 4503599627370496 i64.ge_u @@ -6415,17 +6390,17 @@ local.set $3 end local.get $3 - local.get $3 i64.const 11 i64.shl i64.clz local.tee $5 + i64.sub + local.set $4 + local.get $3 + local.get $5 i64.shl local.set $3 local.get $4 - local.get $5 - i64.sub - local.tee $4 i64.const 0 i64.gt_s if (result i64) @@ -6573,10 +6548,10 @@ i32.load8_u local.set $4 local.get $3 - local.get $5 local.get $2 local.get $1 i32.sub + local.get $5 i32.add local.tee $3 i32.load8_u @@ -6665,7 +6640,7 @@ local.get $2 i32.const 1 i32.sub - local.set $5 + local.set $6 loop $while-continue|1 local.get $1 local.get $7 @@ -6680,17 +6655,17 @@ i32.load16_u local.set $4 local.get $2 - local.get $5 + local.get $6 local.get $1 i32.sub i32.const 1 i32.shl local.get $3 i32.add - local.tee $6 + local.tee $5 i32.load16_u i32.store16 - local.get $6 + local.get $5 local.get $4 i32.store16 local.get $1 @@ -6767,24 +6742,24 @@ block $~lib/typedarray/INDEX_OF<~lib/typedarray/Int8Array,i8>|inlined.0 local.get $2 i32.load offset=8 - local.tee $4 + local.tee $3 i32.const 0 i32.le_s i32.const 1 - local.get $4 + local.get $3 select br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Int8Array,i8>|inlined.0 local.get $2 i32.load offset=4 - local.set $3 + local.set $4 loop $while-continue|0 local.get $0 - local.get $4 + local.get $3 i32.lt_s if local.get $0 local.tee $1 - local.get $3 + local.get $4 i32.add i32.load8_u i32.eqz @@ -6815,24 +6790,24 @@ block $~lib/typedarray/INDEX_OF<~lib/typedarray/Int8Array,i8>|inlined.01 local.get $2 i32.load offset=8 - local.tee $4 + local.tee $3 i32.const 0 i32.le_s i32.const 1 - local.get $4 + local.get $3 select br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Int8Array,i8>|inlined.01 local.get $2 i32.load offset=4 - local.set $3 + local.set $4 loop $while-continue|02 local.get $0 - local.get $4 + local.get $3 i32.lt_s if local.get $0 local.tee $1 - local.get $3 + local.get $4 i32.add i32.load8_u i32.const 11 @@ -6866,24 +6841,24 @@ block $~lib/typedarray/INDEX_OF<~lib/typedarray/Int8Array,i8>|inlined.04 local.get $2 i32.load offset=8 - local.tee $4 + local.tee $3 i32.const 0 i32.le_s i32.const 1 - local.get $4 + local.get $3 select br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Int8Array,i8>|inlined.04 local.get $2 i32.load offset=4 - local.set $3 + local.set $4 loop $while-continue|05 local.get $0 - local.get $4 + local.get $3 i32.lt_s if local.get $0 local.tee $1 - local.get $3 + local.get $4 i32.add i32.load8_u i32.const 255 @@ -6917,24 +6892,24 @@ block $~lib/typedarray/INDEX_OF<~lib/typedarray/Int8Array,i8>|inlined.07 local.get $2 i32.load offset=8 - local.tee $4 + local.tee $3 i32.const 0 i32.le_s i32.const 1 - local.get $4 + local.get $3 select br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Int8Array,i8>|inlined.07 local.get $2 i32.load offset=4 - local.set $3 + local.set $4 loop $while-continue|08 local.get $0 - local.get $4 + local.get $3 i32.lt_s if local.get $0 local.tee $1 - local.get $3 + local.get $4 i32.add i32.load8_u i32.const 3 @@ -6968,24 +6943,24 @@ block $~lib/typedarray/INDEX_OF<~lib/typedarray/Int8Array,i8>|inlined.010 local.get $2 i32.load offset=8 - local.tee $4 + local.tee $3 i32.const 2 i32.le_s i32.const 1 - local.get $4 + local.get $3 select br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Int8Array,i8>|inlined.010 local.get $2 i32.load offset=4 - local.set $3 + local.set $4 loop $while-continue|011 local.get $0 - local.get $4 + local.get $3 i32.lt_s if local.get $0 local.tee $1 - local.get $3 + local.get $4 i32.add i32.load8_u i32.const 3 @@ -7019,24 +6994,24 @@ block $~lib/typedarray/INDEX_OF<~lib/typedarray/Int8Array,i8>|inlined.013 local.get $2 i32.load offset=8 - local.tee $4 + local.tee $3 i32.const 3 i32.le_s i32.const 1 - local.get $4 + local.get $3 select br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Int8Array,i8>|inlined.013 local.get $2 i32.load offset=4 - local.set $3 + local.set $4 loop $while-continue|014 local.get $0 - local.get $4 + local.get $3 i32.lt_s if local.get $0 local.tee $1 - local.get $3 + local.get $4 i32.add i32.load8_u i32.const 3 @@ -7070,24 +7045,24 @@ block $~lib/typedarray/INDEX_OF<~lib/typedarray/Int8Array,i8>|inlined.016 local.get $2 i32.load offset=8 - local.tee $4 + local.tee $3 i32.const 4 i32.le_s i32.const 1 - local.get $4 + local.get $3 select br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Int8Array,i8>|inlined.016 local.get $2 i32.load offset=4 - local.set $3 + local.set $4 loop $while-continue|017 local.get $0 - local.get $4 + local.get $3 i32.lt_s if local.get $0 local.tee $1 - local.get $3 + local.get $4 i32.add i32.load8_u i32.const 3 @@ -7121,24 +7096,24 @@ block $~lib/typedarray/INDEX_OF<~lib/typedarray/Int8Array,i8>|inlined.019 local.get $2 i32.load offset=8 - local.tee $4 + local.tee $3 i32.const 10 i32.le_s i32.const 1 - local.get $4 + local.get $3 select br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Int8Array,i8>|inlined.019 local.get $2 i32.load offset=4 - local.set $3 + local.set $4 loop $while-continue|020 local.get $0 - local.get $4 + local.get $3 i32.lt_s if local.get $0 local.tee $1 - local.get $3 + local.get $4 i32.add i32.load8_u i32.const 1 @@ -7180,23 +7155,24 @@ local.get $3 i32.const 100 i32.sub - local.tee $0 + local.tee $1 i32.const 0 - local.get $0 + local.get $1 i32.const 0 i32.gt_s select - local.set $1 + local.set $0 local.get $2 i32.load offset=4 - local.set $0 + local.set $4 loop $while-continue|023 - local.get $1 + local.get $0 local.get $3 i32.lt_s if local.get $0 - local.get $1 + local.tee $1 + local.get $4 i32.add i32.load8_u i32.const 1 @@ -7205,7 +7181,7 @@ local.get $1 i32.const 1 i32.add - local.set $1 + local.set $0 br $while-continue|023 end end @@ -7226,58 +7202,57 @@ i32.const 1 global.set $~argumentsLength local.get $2 - local.tee $0 i32.load offset=8 - local.set $1 + local.tee $4 + local.set $0 i32.const -1 - local.set $2 + local.set $1 block $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Int8Array,i8>|inlined.0 - local.get $0 - i32.load offset=8 - local.tee $3 + local.get $4 i32.eqz br_if $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Int8Array,i8>|inlined.0 - local.get $1 - local.get $3 + local.get $0 + local.get $4 i32.add - local.get $3 + local.get $4 i32.const 1 i32.sub - local.get $1 - local.get $1 - local.get $3 + local.get $0 + local.get $0 + local.get $4 i32.ge_s select - local.get $1 + local.get $0 i32.const 0 i32.lt_s select - local.set $2 - local.get $0 + local.set $0 + local.get $2 i32.load offset=4 - local.set $1 + local.set $4 loop $while-continue|00 - local.get $2 + local.get $0 i32.const 0 i32.ge_s if - local.get $1 - local.get $2 + local.get $0 + local.tee $1 + local.get $4 i32.add i32.load8_u i32.eqz br_if $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Int8Array,i8>|inlined.0 - local.get $2 + local.get $1 i32.const 1 i32.sub - local.set $2 + local.set $0 br $while-continue|00 end end i32.const -1 - local.set $2 + local.set $1 end - local.get $2 + local.get $1 if i32.const 0 i32.const 1568 @@ -7288,59 +7263,59 @@ end i32.const 1 global.set $~argumentsLength - local.get $0 + local.get $2 i32.load offset=8 - local.set $1 + local.tee $4 + local.set $0 i32.const -1 - local.set $2 + local.set $1 block $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Int8Array,i8>|inlined.05 - local.get $0 - i32.load offset=8 - local.tee $3 + local.get $4 i32.eqz br_if $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Int8Array,i8>|inlined.05 - local.get $1 - local.get $3 + local.get $0 + local.get $4 i32.add - local.get $3 + local.get $4 i32.const 1 i32.sub - local.get $1 - local.get $1 - local.get $3 + local.get $0 + local.get $0 + local.get $4 i32.ge_s select - local.get $1 + local.get $0 i32.const 0 i32.lt_s select - local.set $2 - local.get $0 + local.set $0 + local.get $2 i32.load offset=4 - local.set $1 + local.set $4 loop $while-continue|06 - local.get $2 + local.get $0 i32.const 0 i32.ge_s if - local.get $1 - local.get $2 + local.get $0 + local.tee $1 + local.get $4 i32.add i32.load8_u i32.const 11 i32.eq br_if $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Int8Array,i8>|inlined.05 - local.get $2 + local.get $1 i32.const 1 i32.sub - local.set $2 + local.set $0 br $while-continue|06 end end i32.const -1 - local.set $2 + local.set $1 end - local.get $2 + local.get $1 i32.const -1 i32.ne if @@ -7353,59 +7328,59 @@ end i32.const 1 global.set $~argumentsLength - local.get $0 + local.get $2 i32.load offset=8 - local.set $1 + local.tee $4 + local.set $0 i32.const -1 - local.set $2 + local.set $1 block $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Int8Array,i8>|inlined.011 - local.get $0 - i32.load offset=8 - local.tee $3 + local.get $4 i32.eqz br_if $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Int8Array,i8>|inlined.011 - local.get $1 - local.get $3 + local.get $0 + local.get $4 i32.add - local.get $3 + local.get $4 i32.const 1 i32.sub - local.get $1 - local.get $1 - local.get $3 + local.get $0 + local.get $0 + local.get $4 i32.ge_s select - local.get $1 + local.get $0 i32.const 0 i32.lt_s select - local.set $2 - local.get $0 + local.set $0 + local.get $2 i32.load offset=4 - local.set $1 + local.set $4 loop $while-continue|012 - local.get $2 + local.get $0 i32.const 0 i32.ge_s if - local.get $1 - local.get $2 + local.get $0 + local.tee $1 + local.get $4 i32.add i32.load8_u i32.const 255 i32.eq br_if $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Int8Array,i8>|inlined.011 - local.get $2 + local.get $1 i32.const 1 i32.sub - local.set $2 + local.set $0 br $while-continue|012 end end i32.const -1 - local.set $2 + local.set $1 end - local.get $2 + local.get $1 i32.const -1 i32.ne if @@ -7418,59 +7393,59 @@ end i32.const 1 global.set $~argumentsLength - local.get $0 + local.get $2 i32.load offset=8 - local.set $1 + local.tee $4 + local.set $0 i32.const -1 - local.set $2 + local.set $1 block $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Int8Array,i8>|inlined.017 - local.get $0 - i32.load offset=8 - local.tee $3 + local.get $4 i32.eqz br_if $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Int8Array,i8>|inlined.017 - local.get $1 - local.get $3 + local.get $0 + local.get $4 i32.add - local.get $3 + local.get $4 i32.const 1 i32.sub - local.get $1 - local.get $1 - local.get $3 + local.get $0 + local.get $0 + local.get $4 i32.ge_s select - local.get $1 + local.get $0 i32.const 0 i32.lt_s select - local.set $2 - local.get $0 + local.set $0 + local.get $2 i32.load offset=4 - local.set $1 + local.set $4 loop $while-continue|018 - local.get $2 + local.get $0 i32.const 0 i32.ge_s if - local.get $1 - local.get $2 + local.get $0 + local.tee $1 + local.get $4 i32.add i32.load8_u i32.const 3 i32.eq br_if $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Int8Array,i8>|inlined.017 - local.get $2 + local.get $1 i32.const 1 i32.sub - local.set $2 + local.set $0 br $while-continue|018 end end i32.const -1 - local.set $2 + local.set $1 end - local.get $2 + local.get $1 i32.const 3 i32.ne if @@ -7484,30 +7459,31 @@ i32.const -1 local.set $1 block $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Int8Array,i8>|inlined.019 - local.get $0 + local.get $2 i32.load offset=8 - local.tee $2 + local.tee $0 i32.eqz br_if $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Int8Array,i8>|inlined.019 - local.get $2 + local.get $0 i32.const 1 i32.sub i32.const 4 - local.get $2 + local.get $0 i32.const 4 i32.le_s select - local.set $1 - local.get $0 + local.set $0 + local.get $2 i32.load offset=4 - local.set $2 + local.set $4 loop $while-continue|024 - local.get $1 + local.get $0 i32.const 0 i32.ge_s if - local.get $1 - local.get $2 + local.get $0 + local.tee $1 + local.get $4 i32.add i32.load8_u i32.const 3 @@ -7516,7 +7492,7 @@ local.get $1 i32.const 1 i32.sub - local.set $1 + local.set $0 br $while-continue|024 end end @@ -7537,30 +7513,31 @@ i32.const -1 local.set $1 block $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Int8Array,i8>|inlined.026 - local.get $0 + local.get $2 i32.load offset=8 - local.tee $2 + local.tee $0 i32.eqz br_if $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Int8Array,i8>|inlined.026 - local.get $2 + local.get $0 i32.const 1 i32.sub i32.const 3 - local.get $2 + local.get $0 i32.const 3 i32.le_s select - local.set $1 - local.get $0 + local.set $0 + local.get $2 i32.load offset=4 - local.set $2 + local.set $4 loop $while-continue|027 - local.get $1 + local.get $0 i32.const 0 i32.ge_s if - local.get $1 - local.get $2 + local.get $0 + local.tee $1 + local.get $4 i32.add i32.load8_u i32.const 3 @@ -7569,7 +7546,7 @@ local.get $1 i32.const 1 i32.sub - local.set $1 + local.set $0 br $while-continue|027 end end @@ -7590,30 +7567,31 @@ i32.const -1 local.set $1 block $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Int8Array,i8>|inlined.029 - local.get $0 + local.get $2 i32.load offset=8 - local.tee $2 + local.tee $0 i32.eqz br_if $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Int8Array,i8>|inlined.029 - local.get $2 + local.get $0 i32.const 1 i32.sub i32.const 2 - local.get $2 + local.get $0 i32.const 2 i32.le_s select - local.set $1 - local.get $0 + local.set $0 + local.get $2 i32.load offset=4 - local.set $2 + local.set $4 loop $while-continue|030 - local.get $1 + local.get $0 i32.const 0 i32.ge_s if - local.get $1 - local.get $2 + local.get $0 + local.tee $1 + local.get $4 i32.add i32.load8_u i32.const 3 @@ -7622,7 +7600,7 @@ local.get $1 i32.const 1 i32.sub - local.set $1 + local.set $0 br $while-continue|030 end end @@ -7643,30 +7621,31 @@ i32.const -1 local.set $1 block $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Int8Array,i8>|inlined.032 - local.get $0 + local.get $2 i32.load offset=8 - local.tee $2 + local.tee $0 i32.eqz br_if $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Int8Array,i8>|inlined.032 - local.get $2 + local.get $0 i32.const 1 i32.sub i32.const 100 - local.get $2 + local.get $0 i32.const 100 i32.le_s select - local.set $1 - local.get $0 + local.set $0 + local.get $2 i32.load offset=4 - local.set $2 + local.set $4 loop $while-continue|033 - local.get $1 + local.get $0 i32.const 0 i32.ge_s if - local.get $1 - local.get $2 + local.get $0 + local.tee $1 + local.get $4 i32.add i32.load8_u i32.const 1 @@ -7675,7 +7654,7 @@ local.get $1 i32.const 1 i32.sub - local.set $1 + local.set $0 br $while-continue|033 end end @@ -7696,25 +7675,26 @@ i32.const -1 local.set $1 block $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Int8Array,i8>|inlined.035 - local.get $0 + local.get $2 i32.load offset=8 - local.tee $2 + local.tee $0 i32.eqz br_if $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Int8Array,i8>|inlined.035 - local.get $2 + local.get $0 i32.const 10 i32.sub - local.set $1 - local.get $0 + local.set $0 + local.get $2 i32.load offset=4 - local.set $2 + local.set $4 loop $while-continue|036 - local.get $1 + local.get $0 i32.const 0 i32.ge_s if - local.get $1 - local.get $2 + local.get $0 + local.tee $1 + local.get $4 i32.add i32.load8_u i32.const 1 @@ -7723,7 +7703,7 @@ local.get $1 i32.const 1 i32.sub - local.set $1 + local.set $0 br $while-continue|036 end end @@ -7744,25 +7724,26 @@ i32.const -1 local.set $1 block $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Int8Array,i8>|inlined.038 - local.get $0 + local.get $2 i32.load offset=8 - local.tee $2 + local.tee $0 i32.eqz br_if $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Int8Array,i8>|inlined.038 - local.get $2 + local.get $0 i32.const 11 i32.sub - local.set $1 - local.get $0 + local.set $0 + local.get $2 i32.load offset=4 - local.set $2 + local.set $4 loop $while-continue|039 - local.get $1 + local.get $0 i32.const 0 i32.ge_s if - local.get $1 - local.get $2 + local.get $0 + local.tee $1 + local.get $4 i32.add i32.load8_u i32.const 1 @@ -7771,7 +7752,7 @@ local.get $1 i32.const 1 i32.sub - local.set $1 + local.set $0 br $while-continue|039 end end @@ -7790,18 +7771,18 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $0 + local.get $2 i32.const 4 i32.const 9 call $~lib/typedarray/Int8Array#subarray - local.tee $4 + local.tee $2 i32.store offset=8 i32.const 0 local.set $0 i32.const -1 local.set $1 block $~lib/typedarray/INDEX_OF<~lib/typedarray/Int8Array,i8>|inlined.041 - local.get $4 + local.get $2 i32.load offset=8 local.tee $3 i32.const 0 @@ -7810,9 +7791,9 @@ local.get $3 select br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Int8Array,i8>|inlined.041 - local.get $4 + local.get $2 i32.load offset=4 - local.set $2 + local.set $4 loop $while-continue|042 local.get $0 local.get $3 @@ -7820,7 +7801,7 @@ if local.get $0 local.tee $1 - local.get $2 + local.get $4 i32.add i32.load8_u i32.const 3 @@ -7852,7 +7833,7 @@ i32.const -1 local.set $1 block $~lib/typedarray/INDEX_OF<~lib/typedarray/Int8Array,i8>|inlined.044 - local.get $4 + local.get $2 i32.load offset=8 local.tee $3 i32.const 0 @@ -7861,9 +7842,9 @@ local.get $3 select br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Int8Array,i8>|inlined.044 - local.get $4 + local.get $2 i32.load offset=4 - local.set $2 + local.set $4 loop $while-continue|045 local.get $0 local.get $3 @@ -7871,7 +7852,7 @@ if local.get $0 local.tee $1 - local.get $2 + local.get $4 i32.add i32.load8_u i32.const 4 @@ -7901,7 +7882,7 @@ i32.const -1 local.set $1 block $~lib/typedarray/INDEX_OF<~lib/typedarray/Int8Array,i8>|inlined.047 - local.get $4 + local.get $2 i32.load offset=8 local.tee $3 i32.const 0 @@ -7910,9 +7891,9 @@ local.get $3 select br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Int8Array,i8>|inlined.047 - local.get $4 + local.get $2 i32.load offset=4 - local.set $2 + local.set $4 loop $while-continue|048 local.get $0 local.get $3 @@ -7920,7 +7901,7 @@ if local.get $0 local.tee $1 - local.get $2 + local.get $4 i32.add i32.load8_u i32.const 5 @@ -7952,7 +7933,7 @@ i32.const -1 local.set $1 block $~lib/typedarray/INDEX_OF<~lib/typedarray/Int8Array,i8>|inlined.050 - local.get $4 + local.get $2 i32.load offset=8 local.tee $3 i32.const 0 @@ -7961,9 +7942,9 @@ local.get $3 select br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Int8Array,i8>|inlined.050 - local.get $4 + local.get $2 i32.load offset=4 - local.set $2 + local.set $4 loop $while-continue|051 local.get $0 local.get $3 @@ -7971,7 +7952,7 @@ if local.get $0 local.tee $1 - local.get $2 + local.get $4 i32.add i32.load8_u i32.const 9 @@ -8003,7 +7984,7 @@ i32.const -1 local.set $1 block $~lib/typedarray/INDEX_OF<~lib/typedarray/Int8Array,i8>|inlined.053 - local.get $4 + local.get $2 i32.load offset=8 local.tee $3 i32.const 0 @@ -8012,9 +7993,9 @@ local.get $3 select br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Int8Array,i8>|inlined.053 - local.get $4 + local.get $2 i32.load offset=4 - local.set $2 + local.set $4 loop $while-continue|054 local.get $0 local.get $3 @@ -8022,7 +8003,7 @@ if local.get $0 local.tee $1 - local.get $2 + local.get $4 i32.add i32.load8_u i32.const 10 @@ -8054,7 +8035,7 @@ i32.const -1 local.set $1 block $~lib/typedarray/INDEX_OF<~lib/typedarray/Int8Array,i8>|inlined.056 - local.get $4 + local.get $2 i32.load offset=8 local.tee $3 i32.const 0 @@ -8063,9 +8044,9 @@ local.get $3 select br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Int8Array,i8>|inlined.056 - local.get $4 + local.get $2 i32.load offset=4 - local.set $2 + local.set $4 loop $while-continue|057 local.get $0 local.get $3 @@ -8073,7 +8054,7 @@ if local.get $0 local.tee $1 - local.get $2 + local.get $4 i32.add i32.load8_u i32.const 11 @@ -8105,7 +8086,7 @@ i32.const -1 local.set $1 block $~lib/typedarray/INDEX_OF<~lib/typedarray/Int8Array,i8>|inlined.059 - local.get $4 + local.get $2 i32.load offset=8 local.tee $3 i32.const 1 @@ -8114,9 +8095,9 @@ local.get $3 select br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Int8Array,i8>|inlined.059 - local.get $4 + local.get $2 i32.load offset=4 - local.set $2 + local.set $4 loop $while-continue|060 local.get $0 local.get $3 @@ -8124,7 +8105,7 @@ if local.get $0 local.tee $1 - local.get $2 + local.get $4 i32.add i32.load8_u i32.const 5 @@ -8156,21 +8137,21 @@ i32.const -1 local.set $1 block $~lib/typedarray/INDEX_OF<~lib/typedarray/Int8Array,i8>|inlined.062 - local.get $4 + local.get $2 i32.load offset=8 - local.tee $3 + local.tee $4 i32.const 2 i32.le_s i32.const 1 - local.get $3 + local.get $4 select br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Int8Array,i8>|inlined.062 - local.get $4 + local.get $2 i32.load offset=4 local.set $2 loop $while-continue|063 local.get $0 - local.get $3 + local.get $4 i32.lt_s if local.get $0 @@ -8272,24 +8253,24 @@ block $~lib/typedarray/INDEX_OF<~lib/typedarray/Uint8Array,u8>|inlined.0 local.get $2 i32.load offset=8 - local.tee $4 + local.tee $3 i32.const 0 i32.le_s i32.const 1 - local.get $4 + local.get $3 select br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Uint8Array,u8>|inlined.0 local.get $2 i32.load offset=4 - local.set $3 + local.set $4 loop $while-continue|0 local.get $0 - local.get $4 + local.get $3 i32.lt_s if local.get $0 local.tee $1 - local.get $3 + local.get $4 i32.add i32.load8_u i32.eqz @@ -8320,24 +8301,24 @@ block $~lib/typedarray/INDEX_OF<~lib/typedarray/Uint8Array,u8>|inlined.01 local.get $2 i32.load offset=8 - local.tee $4 + local.tee $3 i32.const 0 i32.le_s i32.const 1 - local.get $4 + local.get $3 select br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Uint8Array,u8>|inlined.01 local.get $2 i32.load offset=4 - local.set $3 + local.set $4 loop $while-continue|02 local.get $0 - local.get $4 + local.get $3 i32.lt_s if local.get $0 local.tee $1 - local.get $3 + local.get $4 i32.add i32.load8_u i32.const 11 @@ -8371,24 +8352,24 @@ block $~lib/typedarray/INDEX_OF<~lib/typedarray/Uint8Array,u8>|inlined.04 local.get $2 i32.load offset=8 - local.tee $4 + local.tee $3 i32.const 0 i32.le_s i32.const 1 - local.get $4 + local.get $3 select br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Uint8Array,u8>|inlined.04 local.get $2 i32.load offset=4 - local.set $3 + local.set $4 loop $while-continue|05 local.get $0 - local.get $4 + local.get $3 i32.lt_s if local.get $0 local.tee $1 - local.get $3 + local.get $4 i32.add i32.load8_u i32.const 255 @@ -8422,24 +8403,24 @@ block $~lib/typedarray/INDEX_OF<~lib/typedarray/Uint8Array,u8>|inlined.07 local.get $2 i32.load offset=8 - local.tee $4 + local.tee $3 i32.const 0 i32.le_s i32.const 1 - local.get $4 + local.get $3 select br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Uint8Array,u8>|inlined.07 local.get $2 i32.load offset=4 - local.set $3 + local.set $4 loop $while-continue|08 local.get $0 - local.get $4 + local.get $3 i32.lt_s if local.get $0 local.tee $1 - local.get $3 + local.get $4 i32.add i32.load8_u i32.const 3 @@ -8473,24 +8454,24 @@ block $~lib/typedarray/INDEX_OF<~lib/typedarray/Uint8Array,u8>|inlined.010 local.get $2 i32.load offset=8 - local.tee $4 + local.tee $3 i32.const 2 i32.le_s i32.const 1 - local.get $4 + local.get $3 select br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Uint8Array,u8>|inlined.010 local.get $2 i32.load offset=4 - local.set $3 + local.set $4 loop $while-continue|011 local.get $0 - local.get $4 + local.get $3 i32.lt_s if local.get $0 local.tee $1 - local.get $3 + local.get $4 i32.add i32.load8_u i32.const 3 @@ -8524,24 +8505,24 @@ block $~lib/typedarray/INDEX_OF<~lib/typedarray/Uint8Array,u8>|inlined.013 local.get $2 i32.load offset=8 - local.tee $4 + local.tee $3 i32.const 3 i32.le_s i32.const 1 - local.get $4 + local.get $3 select br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Uint8Array,u8>|inlined.013 local.get $2 i32.load offset=4 - local.set $3 + local.set $4 loop $while-continue|014 local.get $0 - local.get $4 + local.get $3 i32.lt_s if local.get $0 local.tee $1 - local.get $3 + local.get $4 i32.add i32.load8_u i32.const 3 @@ -8575,24 +8556,24 @@ block $~lib/typedarray/INDEX_OF<~lib/typedarray/Uint8Array,u8>|inlined.016 local.get $2 i32.load offset=8 - local.tee $4 + local.tee $3 i32.const 4 i32.le_s i32.const 1 - local.get $4 + local.get $3 select br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Uint8Array,u8>|inlined.016 local.get $2 i32.load offset=4 - local.set $3 + local.set $4 loop $while-continue|017 local.get $0 - local.get $4 + local.get $3 i32.lt_s if local.get $0 local.tee $1 - local.get $3 + local.get $4 i32.add i32.load8_u i32.const 3 @@ -8626,24 +8607,24 @@ block $~lib/typedarray/INDEX_OF<~lib/typedarray/Uint8Array,u8>|inlined.019 local.get $2 i32.load offset=8 - local.tee $4 + local.tee $3 i32.const 10 i32.le_s i32.const 1 - local.get $4 + local.get $3 select br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Uint8Array,u8>|inlined.019 local.get $2 i32.load offset=4 - local.set $3 + local.set $4 loop $while-continue|020 local.get $0 - local.get $4 + local.get $3 i32.lt_s if local.get $0 local.tee $1 - local.get $3 + local.get $4 i32.add i32.load8_u i32.const 1 @@ -8685,23 +8666,24 @@ local.get $3 i32.const 100 i32.sub - local.tee $0 + local.tee $1 i32.const 0 - local.get $0 + local.get $1 i32.const 0 i32.gt_s select - local.set $1 + local.set $0 local.get $2 i32.load offset=4 - local.set $0 + local.set $4 loop $while-continue|023 - local.get $1 + local.get $0 local.get $3 i32.lt_s if local.get $0 - local.get $1 + local.tee $1 + local.get $4 i32.add i32.load8_u i32.const 1 @@ -8710,7 +8692,7 @@ local.get $1 i32.const 1 i32.add - local.set $1 + local.set $0 br $while-continue|023 end end @@ -8731,58 +8713,57 @@ i32.const 1 global.set $~argumentsLength local.get $2 - local.tee $0 i32.load offset=8 - local.set $1 + local.tee $4 + local.set $0 i32.const -1 - local.set $2 + local.set $1 block $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Uint8Array,u8>|inlined.0 - local.get $0 - i32.load offset=8 - local.tee $3 + local.get $4 i32.eqz br_if $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Uint8Array,u8>|inlined.0 - local.get $1 - local.get $3 + local.get $0 + local.get $4 i32.add - local.get $3 + local.get $4 i32.const 1 i32.sub - local.get $1 - local.get $1 - local.get $3 + local.get $0 + local.get $0 + local.get $4 i32.ge_s select - local.get $1 + local.get $0 i32.const 0 i32.lt_s select - local.set $2 - local.get $0 + local.set $0 + local.get $2 i32.load offset=4 - local.set $1 + local.set $4 loop $while-continue|00 - local.get $2 + local.get $0 i32.const 0 i32.ge_s if - local.get $1 - local.get $2 + local.get $0 + local.tee $1 + local.get $4 i32.add i32.load8_u i32.eqz br_if $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Uint8Array,u8>|inlined.0 - local.get $2 + local.get $1 i32.const 1 i32.sub - local.set $2 + local.set $0 br $while-continue|00 end end i32.const -1 - local.set $2 + local.set $1 end - local.get $2 + local.get $1 if i32.const 0 i32.const 1568 @@ -8793,59 +8774,59 @@ end i32.const 1 global.set $~argumentsLength - local.get $0 + local.get $2 i32.load offset=8 - local.set $1 + local.tee $4 + local.set $0 i32.const -1 - local.set $2 + local.set $1 block $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Uint8Array,u8>|inlined.05 - local.get $0 - i32.load offset=8 - local.tee $3 + local.get $4 i32.eqz br_if $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Uint8Array,u8>|inlined.05 - local.get $1 - local.get $3 + local.get $0 + local.get $4 i32.add - local.get $3 + local.get $4 i32.const 1 i32.sub - local.get $1 - local.get $1 - local.get $3 + local.get $0 + local.get $0 + local.get $4 i32.ge_s select - local.get $1 + local.get $0 i32.const 0 i32.lt_s select - local.set $2 - local.get $0 + local.set $0 + local.get $2 i32.load offset=4 - local.set $1 + local.set $4 loop $while-continue|06 - local.get $2 + local.get $0 i32.const 0 i32.ge_s if - local.get $1 - local.get $2 + local.get $0 + local.tee $1 + local.get $4 i32.add i32.load8_u i32.const 11 i32.eq br_if $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Uint8Array,u8>|inlined.05 - local.get $2 + local.get $1 i32.const 1 i32.sub - local.set $2 + local.set $0 br $while-continue|06 end end i32.const -1 - local.set $2 + local.set $1 end - local.get $2 + local.get $1 i32.const -1 i32.ne if @@ -8858,59 +8839,59 @@ end i32.const 1 global.set $~argumentsLength - local.get $0 + local.get $2 i32.load offset=8 - local.set $1 + local.tee $4 + local.set $0 i32.const -1 - local.set $2 + local.set $1 block $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Uint8Array,u8>|inlined.011 - local.get $0 - i32.load offset=8 - local.tee $3 + local.get $4 i32.eqz br_if $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Uint8Array,u8>|inlined.011 - local.get $1 - local.get $3 + local.get $0 + local.get $4 i32.add - local.get $3 + local.get $4 i32.const 1 i32.sub - local.get $1 - local.get $1 - local.get $3 + local.get $0 + local.get $0 + local.get $4 i32.ge_s select - local.get $1 + local.get $0 i32.const 0 i32.lt_s select - local.set $2 - local.get $0 + local.set $0 + local.get $2 i32.load offset=4 - local.set $1 + local.set $4 loop $while-continue|012 - local.get $2 + local.get $0 i32.const 0 i32.ge_s if - local.get $1 - local.get $2 + local.get $0 + local.tee $1 + local.get $4 i32.add i32.load8_u i32.const 255 i32.eq br_if $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Uint8Array,u8>|inlined.011 - local.get $2 + local.get $1 i32.const 1 i32.sub - local.set $2 + local.set $0 br $while-continue|012 end end i32.const -1 - local.set $2 + local.set $1 end - local.get $2 + local.get $1 i32.const -1 i32.ne if @@ -8923,59 +8904,59 @@ end i32.const 1 global.set $~argumentsLength - local.get $0 + local.get $2 i32.load offset=8 - local.set $1 + local.tee $4 + local.set $0 i32.const -1 - local.set $2 + local.set $1 block $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Uint8Array,u8>|inlined.017 - local.get $0 - i32.load offset=8 - local.tee $3 + local.get $4 i32.eqz br_if $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Uint8Array,u8>|inlined.017 - local.get $1 - local.get $3 + local.get $0 + local.get $4 i32.add - local.get $3 + local.get $4 i32.const 1 i32.sub - local.get $1 - local.get $1 - local.get $3 + local.get $0 + local.get $0 + local.get $4 i32.ge_s select - local.get $1 + local.get $0 i32.const 0 i32.lt_s select - local.set $2 - local.get $0 + local.set $0 + local.get $2 i32.load offset=4 - local.set $1 + local.set $4 loop $while-continue|018 - local.get $2 + local.get $0 i32.const 0 i32.ge_s if - local.get $1 - local.get $2 + local.get $0 + local.tee $1 + local.get $4 i32.add i32.load8_u i32.const 3 i32.eq br_if $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Uint8Array,u8>|inlined.017 - local.get $2 + local.get $1 i32.const 1 i32.sub - local.set $2 + local.set $0 br $while-continue|018 end end i32.const -1 - local.set $2 + local.set $1 end - local.get $2 + local.get $1 i32.const 3 i32.ne if @@ -8989,30 +8970,31 @@ i32.const -1 local.set $1 block $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Uint8Array,u8>|inlined.019 - local.get $0 + local.get $2 i32.load offset=8 - local.tee $2 + local.tee $0 i32.eqz br_if $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Uint8Array,u8>|inlined.019 - local.get $2 + local.get $0 i32.const 1 i32.sub i32.const 4 - local.get $2 + local.get $0 i32.const 4 i32.le_s select - local.set $1 - local.get $0 + local.set $0 + local.get $2 i32.load offset=4 - local.set $2 + local.set $4 loop $while-continue|024 - local.get $1 + local.get $0 i32.const 0 i32.ge_s if - local.get $1 - local.get $2 + local.get $0 + local.tee $1 + local.get $4 i32.add i32.load8_u i32.const 3 @@ -9021,7 +9003,7 @@ local.get $1 i32.const 1 i32.sub - local.set $1 + local.set $0 br $while-continue|024 end end @@ -9042,30 +9024,31 @@ i32.const -1 local.set $1 block $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Uint8Array,u8>|inlined.026 - local.get $0 + local.get $2 i32.load offset=8 - local.tee $2 + local.tee $0 i32.eqz br_if $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Uint8Array,u8>|inlined.026 - local.get $2 + local.get $0 i32.const 1 i32.sub i32.const 3 - local.get $2 + local.get $0 i32.const 3 i32.le_s select - local.set $1 - local.get $0 + local.set $0 + local.get $2 i32.load offset=4 - local.set $2 + local.set $4 loop $while-continue|027 - local.get $1 + local.get $0 i32.const 0 i32.ge_s if - local.get $1 - local.get $2 + local.get $0 + local.tee $1 + local.get $4 i32.add i32.load8_u i32.const 3 @@ -9074,7 +9057,7 @@ local.get $1 i32.const 1 i32.sub - local.set $1 + local.set $0 br $while-continue|027 end end @@ -9095,30 +9078,31 @@ i32.const -1 local.set $1 block $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Uint8Array,u8>|inlined.029 - local.get $0 + local.get $2 i32.load offset=8 - local.tee $2 + local.tee $0 i32.eqz br_if $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Uint8Array,u8>|inlined.029 - local.get $2 + local.get $0 i32.const 1 i32.sub i32.const 2 - local.get $2 + local.get $0 i32.const 2 i32.le_s select - local.set $1 - local.get $0 + local.set $0 + local.get $2 i32.load offset=4 - local.set $2 + local.set $4 loop $while-continue|030 - local.get $1 + local.get $0 i32.const 0 i32.ge_s if - local.get $1 - local.get $2 + local.get $0 + local.tee $1 + local.get $4 i32.add i32.load8_u i32.const 3 @@ -9127,7 +9111,7 @@ local.get $1 i32.const 1 i32.sub - local.set $1 + local.set $0 br $while-continue|030 end end @@ -9148,30 +9132,31 @@ i32.const -1 local.set $1 block $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Uint8Array,u8>|inlined.032 - local.get $0 + local.get $2 i32.load offset=8 - local.tee $2 + local.tee $0 i32.eqz br_if $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Uint8Array,u8>|inlined.032 - local.get $2 + local.get $0 i32.const 1 i32.sub i32.const 100 - local.get $2 + local.get $0 i32.const 100 i32.le_s select - local.set $1 - local.get $0 + local.set $0 + local.get $2 i32.load offset=4 - local.set $2 + local.set $4 loop $while-continue|033 - local.get $1 + local.get $0 i32.const 0 i32.ge_s if - local.get $1 - local.get $2 + local.get $0 + local.tee $1 + local.get $4 i32.add i32.load8_u i32.const 1 @@ -9180,7 +9165,7 @@ local.get $1 i32.const 1 i32.sub - local.set $1 + local.set $0 br $while-continue|033 end end @@ -9201,25 +9186,26 @@ i32.const -1 local.set $1 block $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Uint8Array,u8>|inlined.035 - local.get $0 + local.get $2 i32.load offset=8 - local.tee $2 + local.tee $0 i32.eqz br_if $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Uint8Array,u8>|inlined.035 - local.get $2 + local.get $0 i32.const 10 i32.sub - local.set $1 - local.get $0 + local.set $0 + local.get $2 i32.load offset=4 - local.set $2 + local.set $4 loop $while-continue|036 - local.get $1 + local.get $0 i32.const 0 i32.ge_s if - local.get $1 - local.get $2 + local.get $0 + local.tee $1 + local.get $4 i32.add i32.load8_u i32.const 1 @@ -9228,7 +9214,7 @@ local.get $1 i32.const 1 i32.sub - local.set $1 + local.set $0 br $while-continue|036 end end @@ -9249,25 +9235,26 @@ i32.const -1 local.set $1 block $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Uint8Array,u8>|inlined.038 - local.get $0 + local.get $2 i32.load offset=8 - local.tee $2 + local.tee $0 i32.eqz br_if $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Uint8Array,u8>|inlined.038 - local.get $2 + local.get $0 i32.const 11 i32.sub - local.set $1 - local.get $0 + local.set $0 + local.get $2 i32.load offset=4 - local.set $2 + local.set $4 loop $while-continue|039 - local.get $1 + local.get $0 i32.const 0 i32.ge_s if - local.get $1 - local.get $2 + local.get $0 + local.tee $1 + local.get $4 i32.add i32.load8_u i32.const 1 @@ -9276,7 +9263,7 @@ local.get $1 i32.const 1 i32.sub - local.set $1 + local.set $0 br $while-continue|039 end end @@ -9295,17 +9282,17 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $0 + local.get $2 i32.const 9 call $~lib/typedarray/Uint8Array#subarray - local.tee $4 + local.tee $2 i32.store offset=8 i32.const 0 local.set $0 i32.const -1 local.set $1 block $~lib/typedarray/INDEX_OF<~lib/typedarray/Uint8Array,u8>|inlined.041 - local.get $4 + local.get $2 i32.load offset=8 local.tee $3 i32.const 0 @@ -9314,9 +9301,9 @@ local.get $3 select br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Uint8Array,u8>|inlined.041 - local.get $4 + local.get $2 i32.load offset=4 - local.set $2 + local.set $4 loop $while-continue|042 local.get $0 local.get $3 @@ -9324,7 +9311,7 @@ if local.get $0 local.tee $1 - local.get $2 + local.get $4 i32.add i32.load8_u i32.const 3 @@ -9356,7 +9343,7 @@ i32.const -1 local.set $1 block $~lib/typedarray/INDEX_OF<~lib/typedarray/Uint8Array,u8>|inlined.044 - local.get $4 + local.get $2 i32.load offset=8 local.tee $3 i32.const 0 @@ -9365,9 +9352,9 @@ local.get $3 select br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Uint8Array,u8>|inlined.044 - local.get $4 + local.get $2 i32.load offset=4 - local.set $2 + local.set $4 loop $while-continue|045 local.get $0 local.get $3 @@ -9375,7 +9362,7 @@ if local.get $0 local.tee $1 - local.get $2 + local.get $4 i32.add i32.load8_u i32.const 4 @@ -9405,7 +9392,7 @@ i32.const -1 local.set $1 block $~lib/typedarray/INDEX_OF<~lib/typedarray/Uint8Array,u8>|inlined.047 - local.get $4 + local.get $2 i32.load offset=8 local.tee $3 i32.const 0 @@ -9414,9 +9401,9 @@ local.get $3 select br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Uint8Array,u8>|inlined.047 - local.get $4 + local.get $2 i32.load offset=4 - local.set $2 + local.set $4 loop $while-continue|048 local.get $0 local.get $3 @@ -9424,7 +9411,7 @@ if local.get $0 local.tee $1 - local.get $2 + local.get $4 i32.add i32.load8_u i32.const 5 @@ -9456,7 +9443,7 @@ i32.const -1 local.set $1 block $~lib/typedarray/INDEX_OF<~lib/typedarray/Uint8Array,u8>|inlined.050 - local.get $4 + local.get $2 i32.load offset=8 local.tee $3 i32.const 0 @@ -9465,9 +9452,9 @@ local.get $3 select br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Uint8Array,u8>|inlined.050 - local.get $4 + local.get $2 i32.load offset=4 - local.set $2 + local.set $4 loop $while-continue|051 local.get $0 local.get $3 @@ -9475,7 +9462,7 @@ if local.get $0 local.tee $1 - local.get $2 + local.get $4 i32.add i32.load8_u i32.const 9 @@ -9507,7 +9494,7 @@ i32.const -1 local.set $1 block $~lib/typedarray/INDEX_OF<~lib/typedarray/Uint8Array,u8>|inlined.053 - local.get $4 + local.get $2 i32.load offset=8 local.tee $3 i32.const 0 @@ -9516,9 +9503,9 @@ local.get $3 select br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Uint8Array,u8>|inlined.053 - local.get $4 + local.get $2 i32.load offset=4 - local.set $2 + local.set $4 loop $while-continue|054 local.get $0 local.get $3 @@ -9526,7 +9513,7 @@ if local.get $0 local.tee $1 - local.get $2 + local.get $4 i32.add i32.load8_u i32.const 10 @@ -9558,7 +9545,7 @@ i32.const -1 local.set $1 block $~lib/typedarray/INDEX_OF<~lib/typedarray/Uint8Array,u8>|inlined.056 - local.get $4 + local.get $2 i32.load offset=8 local.tee $3 i32.const 0 @@ -9567,9 +9554,9 @@ local.get $3 select br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Uint8Array,u8>|inlined.056 - local.get $4 + local.get $2 i32.load offset=4 - local.set $2 + local.set $4 loop $while-continue|057 local.get $0 local.get $3 @@ -9577,7 +9564,7 @@ if local.get $0 local.tee $1 - local.get $2 + local.get $4 i32.add i32.load8_u i32.const 11 @@ -9609,7 +9596,7 @@ i32.const -1 local.set $1 block $~lib/typedarray/INDEX_OF<~lib/typedarray/Uint8Array,u8>|inlined.059 - local.get $4 + local.get $2 i32.load offset=8 local.tee $3 i32.const 1 @@ -9618,9 +9605,9 @@ local.get $3 select br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Uint8Array,u8>|inlined.059 - local.get $4 + local.get $2 i32.load offset=4 - local.set $2 + local.set $4 loop $while-continue|060 local.get $0 local.get $3 @@ -9628,7 +9615,7 @@ if local.get $0 local.tee $1 - local.get $2 + local.get $4 i32.add i32.load8_u i32.const 5 @@ -9660,21 +9647,21 @@ i32.const -1 local.set $1 block $~lib/typedarray/INDEX_OF<~lib/typedarray/Uint8Array,u8>|inlined.062 - local.get $4 + local.get $2 i32.load offset=8 - local.tee $3 + local.tee $4 i32.const 2 i32.le_s i32.const 1 - local.get $3 + local.get $4 select br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Uint8Array,u8>|inlined.062 - local.get $4 + local.get $2 i32.load offset=4 local.set $2 loop $while-continue|063 local.get $0 - local.get $3 + local.get $4 i32.lt_s if local.get $0 @@ -9776,24 +9763,24 @@ block $~lib/typedarray/INDEX_OF<~lib/typedarray/Uint8Array,u8>|inlined.0 local.get $2 i32.load offset=8 - local.tee $4 + local.tee $3 i32.const 0 i32.le_s i32.const 1 - local.get $4 + local.get $3 select br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Uint8Array,u8>|inlined.0 local.get $2 i32.load offset=4 - local.set $3 + local.set $4 loop $while-continue|0 local.get $0 - local.get $4 + local.get $3 i32.lt_s if local.get $0 local.tee $1 - local.get $3 + local.get $4 i32.add i32.load8_u i32.eqz @@ -9824,24 +9811,24 @@ block $~lib/typedarray/INDEX_OF<~lib/typedarray/Uint8Array,u8>|inlined.01 local.get $2 i32.load offset=8 - local.tee $4 + local.tee $3 i32.const 0 i32.le_s i32.const 1 - local.get $4 + local.get $3 select br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Uint8Array,u8>|inlined.01 local.get $2 i32.load offset=4 - local.set $3 + local.set $4 loop $while-continue|02 local.get $0 - local.get $4 + local.get $3 i32.lt_s if local.get $0 local.tee $1 - local.get $3 + local.get $4 i32.add i32.load8_u i32.const 11 @@ -9875,24 +9862,24 @@ block $~lib/typedarray/INDEX_OF<~lib/typedarray/Uint8Array,u8>|inlined.04 local.get $2 i32.load offset=8 - local.tee $4 + local.tee $3 i32.const 0 i32.le_s i32.const 1 - local.get $4 + local.get $3 select br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Uint8Array,u8>|inlined.04 local.get $2 i32.load offset=4 - local.set $3 + local.set $4 loop $while-continue|05 local.get $0 - local.get $4 + local.get $3 i32.lt_s if local.get $0 local.tee $1 - local.get $3 + local.get $4 i32.add i32.load8_u i32.const 255 @@ -9926,24 +9913,24 @@ block $~lib/typedarray/INDEX_OF<~lib/typedarray/Uint8Array,u8>|inlined.07 local.get $2 i32.load offset=8 - local.tee $4 + local.tee $3 i32.const 0 i32.le_s i32.const 1 - local.get $4 + local.get $3 select br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Uint8Array,u8>|inlined.07 local.get $2 i32.load offset=4 - local.set $3 + local.set $4 loop $while-continue|08 local.get $0 - local.get $4 + local.get $3 i32.lt_s if local.get $0 local.tee $1 - local.get $3 + local.get $4 i32.add i32.load8_u i32.const 3 @@ -9977,24 +9964,24 @@ block $~lib/typedarray/INDEX_OF<~lib/typedarray/Uint8Array,u8>|inlined.010 local.get $2 i32.load offset=8 - local.tee $4 + local.tee $3 i32.const 2 i32.le_s i32.const 1 - local.get $4 + local.get $3 select br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Uint8Array,u8>|inlined.010 local.get $2 i32.load offset=4 - local.set $3 + local.set $4 loop $while-continue|011 local.get $0 - local.get $4 + local.get $3 i32.lt_s if local.get $0 local.tee $1 - local.get $3 + local.get $4 i32.add i32.load8_u i32.const 3 @@ -10028,24 +10015,24 @@ block $~lib/typedarray/INDEX_OF<~lib/typedarray/Uint8Array,u8>|inlined.013 local.get $2 i32.load offset=8 - local.tee $4 + local.tee $3 i32.const 3 i32.le_s i32.const 1 - local.get $4 + local.get $3 select br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Uint8Array,u8>|inlined.013 local.get $2 i32.load offset=4 - local.set $3 + local.set $4 loop $while-continue|014 local.get $0 - local.get $4 + local.get $3 i32.lt_s if local.get $0 local.tee $1 - local.get $3 + local.get $4 i32.add i32.load8_u i32.const 3 @@ -10079,24 +10066,24 @@ block $~lib/typedarray/INDEX_OF<~lib/typedarray/Uint8Array,u8>|inlined.016 local.get $2 i32.load offset=8 - local.tee $4 + local.tee $3 i32.const 4 i32.le_s i32.const 1 - local.get $4 + local.get $3 select br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Uint8Array,u8>|inlined.016 local.get $2 i32.load offset=4 - local.set $3 + local.set $4 loop $while-continue|017 local.get $0 - local.get $4 + local.get $3 i32.lt_s if local.get $0 local.tee $1 - local.get $3 + local.get $4 i32.add i32.load8_u i32.const 3 @@ -10130,24 +10117,24 @@ block $~lib/typedarray/INDEX_OF<~lib/typedarray/Uint8Array,u8>|inlined.019 local.get $2 i32.load offset=8 - local.tee $4 + local.tee $3 i32.const 10 i32.le_s i32.const 1 - local.get $4 + local.get $3 select br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Uint8Array,u8>|inlined.019 local.get $2 i32.load offset=4 - local.set $3 + local.set $4 loop $while-continue|020 local.get $0 - local.get $4 + local.get $3 i32.lt_s if local.get $0 local.tee $1 - local.get $3 + local.get $4 i32.add i32.load8_u i32.const 1 @@ -10189,23 +10176,24 @@ local.get $3 i32.const 100 i32.sub - local.tee $0 + local.tee $1 i32.const 0 - local.get $0 + local.get $1 i32.const 0 i32.gt_s select - local.set $1 + local.set $0 local.get $2 i32.load offset=4 - local.set $0 + local.set $4 loop $while-continue|023 - local.get $1 + local.get $0 local.get $3 i32.lt_s if local.get $0 - local.get $1 + local.tee $1 + local.get $4 i32.add i32.load8_u i32.const 1 @@ -10214,7 +10202,7 @@ local.get $1 i32.const 1 i32.add - local.set $1 + local.set $0 br $while-continue|023 end end @@ -10235,58 +10223,57 @@ i32.const 1 global.set $~argumentsLength local.get $2 - local.tee $0 i32.load offset=8 - local.set $1 + local.tee $4 + local.set $0 i32.const -1 - local.set $2 + local.set $1 block $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Uint8Array,u8>|inlined.0 - local.get $0 - i32.load offset=8 - local.tee $3 + local.get $4 i32.eqz br_if $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Uint8Array,u8>|inlined.0 - local.get $1 - local.get $3 + local.get $0 + local.get $4 i32.add - local.get $3 + local.get $4 i32.const 1 i32.sub - local.get $1 - local.get $1 - local.get $3 + local.get $0 + local.get $0 + local.get $4 i32.ge_s select - local.get $1 + local.get $0 i32.const 0 i32.lt_s select - local.set $2 - local.get $0 + local.set $0 + local.get $2 i32.load offset=4 - local.set $1 + local.set $4 loop $while-continue|00 - local.get $2 + local.get $0 i32.const 0 i32.ge_s if - local.get $1 - local.get $2 + local.get $0 + local.tee $1 + local.get $4 i32.add i32.load8_u i32.eqz br_if $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Uint8Array,u8>|inlined.0 - local.get $2 + local.get $1 i32.const 1 i32.sub - local.set $2 + local.set $0 br $while-continue|00 end end i32.const -1 - local.set $2 + local.set $1 end - local.get $2 + local.get $1 if i32.const 0 i32.const 1568 @@ -10297,59 +10284,59 @@ end i32.const 1 global.set $~argumentsLength - local.get $0 + local.get $2 i32.load offset=8 - local.set $1 + local.tee $4 + local.set $0 i32.const -1 - local.set $2 + local.set $1 block $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Uint8Array,u8>|inlined.05 - local.get $0 - i32.load offset=8 - local.tee $3 + local.get $4 i32.eqz br_if $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Uint8Array,u8>|inlined.05 - local.get $1 - local.get $3 + local.get $0 + local.get $4 i32.add - local.get $3 + local.get $4 i32.const 1 i32.sub - local.get $1 - local.get $1 - local.get $3 + local.get $0 + local.get $0 + local.get $4 i32.ge_s select - local.get $1 + local.get $0 i32.const 0 i32.lt_s select - local.set $2 - local.get $0 + local.set $0 + local.get $2 i32.load offset=4 - local.set $1 + local.set $4 loop $while-continue|06 - local.get $2 + local.get $0 i32.const 0 i32.ge_s if - local.get $1 - local.get $2 + local.get $0 + local.tee $1 + local.get $4 i32.add i32.load8_u i32.const 11 i32.eq br_if $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Uint8Array,u8>|inlined.05 - local.get $2 + local.get $1 i32.const 1 i32.sub - local.set $2 + local.set $0 br $while-continue|06 end end i32.const -1 - local.set $2 + local.set $1 end - local.get $2 + local.get $1 i32.const -1 i32.ne if @@ -10362,59 +10349,59 @@ end i32.const 1 global.set $~argumentsLength - local.get $0 + local.get $2 i32.load offset=8 - local.set $1 + local.tee $4 + local.set $0 i32.const -1 - local.set $2 + local.set $1 block $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Uint8Array,u8>|inlined.011 - local.get $0 - i32.load offset=8 - local.tee $3 + local.get $4 i32.eqz br_if $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Uint8Array,u8>|inlined.011 - local.get $1 - local.get $3 + local.get $0 + local.get $4 i32.add - local.get $3 + local.get $4 i32.const 1 i32.sub - local.get $1 - local.get $1 - local.get $3 + local.get $0 + local.get $0 + local.get $4 i32.ge_s select - local.get $1 + local.get $0 i32.const 0 i32.lt_s select - local.set $2 - local.get $0 + local.set $0 + local.get $2 i32.load offset=4 - local.set $1 + local.set $4 loop $while-continue|012 - local.get $2 + local.get $0 i32.const 0 i32.ge_s if - local.get $1 - local.get $2 + local.get $0 + local.tee $1 + local.get $4 i32.add i32.load8_u i32.const 255 i32.eq br_if $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Uint8Array,u8>|inlined.011 - local.get $2 + local.get $1 i32.const 1 i32.sub - local.set $2 + local.set $0 br $while-continue|012 end end i32.const -1 - local.set $2 + local.set $1 end - local.get $2 + local.get $1 i32.const -1 i32.ne if @@ -10427,59 +10414,59 @@ end i32.const 1 global.set $~argumentsLength - local.get $0 + local.get $2 i32.load offset=8 - local.set $1 + local.tee $4 + local.set $0 i32.const -1 - local.set $2 + local.set $1 block $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Uint8Array,u8>|inlined.017 - local.get $0 - i32.load offset=8 - local.tee $3 + local.get $4 i32.eqz br_if $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Uint8Array,u8>|inlined.017 - local.get $1 - local.get $3 + local.get $0 + local.get $4 i32.add - local.get $3 + local.get $4 i32.const 1 i32.sub - local.get $1 - local.get $1 - local.get $3 + local.get $0 + local.get $0 + local.get $4 i32.ge_s select - local.get $1 + local.get $0 i32.const 0 i32.lt_s select - local.set $2 - local.get $0 + local.set $0 + local.get $2 i32.load offset=4 - local.set $1 + local.set $4 loop $while-continue|018 - local.get $2 + local.get $0 i32.const 0 i32.ge_s if - local.get $1 - local.get $2 + local.get $0 + local.tee $1 + local.get $4 i32.add i32.load8_u i32.const 3 i32.eq br_if $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Uint8Array,u8>|inlined.017 - local.get $2 + local.get $1 i32.const 1 i32.sub - local.set $2 + local.set $0 br $while-continue|018 end end i32.const -1 - local.set $2 + local.set $1 end - local.get $2 + local.get $1 i32.const 3 i32.ne if @@ -10493,30 +10480,31 @@ i32.const -1 local.set $1 block $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Uint8Array,u8>|inlined.019 - local.get $0 + local.get $2 i32.load offset=8 - local.tee $2 + local.tee $0 i32.eqz br_if $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Uint8Array,u8>|inlined.019 - local.get $2 + local.get $0 i32.const 1 i32.sub i32.const 4 - local.get $2 + local.get $0 i32.const 4 i32.le_s select - local.set $1 - local.get $0 + local.set $0 + local.get $2 i32.load offset=4 - local.set $2 + local.set $4 loop $while-continue|024 - local.get $1 + local.get $0 i32.const 0 i32.ge_s if - local.get $1 - local.get $2 + local.get $0 + local.tee $1 + local.get $4 i32.add i32.load8_u i32.const 3 @@ -10525,7 +10513,7 @@ local.get $1 i32.const 1 i32.sub - local.set $1 + local.set $0 br $while-continue|024 end end @@ -10546,30 +10534,31 @@ i32.const -1 local.set $1 block $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Uint8Array,u8>|inlined.026 - local.get $0 + local.get $2 i32.load offset=8 - local.tee $2 + local.tee $0 i32.eqz br_if $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Uint8Array,u8>|inlined.026 - local.get $2 + local.get $0 i32.const 1 i32.sub i32.const 3 - local.get $2 + local.get $0 i32.const 3 i32.le_s select - local.set $1 - local.get $0 + local.set $0 + local.get $2 i32.load offset=4 - local.set $2 + local.set $4 loop $while-continue|027 - local.get $1 + local.get $0 i32.const 0 i32.ge_s if - local.get $1 - local.get $2 + local.get $0 + local.tee $1 + local.get $4 i32.add i32.load8_u i32.const 3 @@ -10578,7 +10567,7 @@ local.get $1 i32.const 1 i32.sub - local.set $1 + local.set $0 br $while-continue|027 end end @@ -10599,30 +10588,31 @@ i32.const -1 local.set $1 block $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Uint8Array,u8>|inlined.029 - local.get $0 + local.get $2 i32.load offset=8 - local.tee $2 + local.tee $0 i32.eqz br_if $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Uint8Array,u8>|inlined.029 - local.get $2 + local.get $0 i32.const 1 i32.sub i32.const 2 - local.get $2 + local.get $0 i32.const 2 i32.le_s select - local.set $1 - local.get $0 + local.set $0 + local.get $2 i32.load offset=4 - local.set $2 + local.set $4 loop $while-continue|030 - local.get $1 + local.get $0 i32.const 0 i32.ge_s if - local.get $1 - local.get $2 + local.get $0 + local.tee $1 + local.get $4 i32.add i32.load8_u i32.const 3 @@ -10631,7 +10621,7 @@ local.get $1 i32.const 1 i32.sub - local.set $1 + local.set $0 br $while-continue|030 end end @@ -10652,30 +10642,31 @@ i32.const -1 local.set $1 block $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Uint8Array,u8>|inlined.032 - local.get $0 + local.get $2 i32.load offset=8 - local.tee $2 + local.tee $0 i32.eqz br_if $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Uint8Array,u8>|inlined.032 - local.get $2 + local.get $0 i32.const 1 i32.sub i32.const 100 - local.get $2 + local.get $0 i32.const 100 i32.le_s select - local.set $1 - local.get $0 + local.set $0 + local.get $2 i32.load offset=4 - local.set $2 + local.set $4 loop $while-continue|033 - local.get $1 + local.get $0 i32.const 0 i32.ge_s if - local.get $1 - local.get $2 + local.get $0 + local.tee $1 + local.get $4 i32.add i32.load8_u i32.const 1 @@ -10684,7 +10675,7 @@ local.get $1 i32.const 1 i32.sub - local.set $1 + local.set $0 br $while-continue|033 end end @@ -10705,25 +10696,26 @@ i32.const -1 local.set $1 block $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Uint8Array,u8>|inlined.035 - local.get $0 + local.get $2 i32.load offset=8 - local.tee $2 + local.tee $0 i32.eqz br_if $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Uint8Array,u8>|inlined.035 - local.get $2 + local.get $0 i32.const 10 i32.sub - local.set $1 - local.get $0 + local.set $0 + local.get $2 i32.load offset=4 - local.set $2 + local.set $4 loop $while-continue|036 - local.get $1 + local.get $0 i32.const 0 i32.ge_s if - local.get $1 - local.get $2 + local.get $0 + local.tee $1 + local.get $4 i32.add i32.load8_u i32.const 1 @@ -10732,7 +10724,7 @@ local.get $1 i32.const 1 i32.sub - local.set $1 + local.set $0 br $while-continue|036 end end @@ -10753,25 +10745,26 @@ i32.const -1 local.set $1 block $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Uint8Array,u8>|inlined.038 - local.get $0 + local.get $2 i32.load offset=8 - local.tee $2 + local.tee $0 i32.eqz br_if $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Uint8Array,u8>|inlined.038 - local.get $2 + local.get $0 i32.const 11 i32.sub - local.set $1 - local.get $0 + local.set $0 + local.get $2 i32.load offset=4 - local.set $2 + local.set $4 loop $while-continue|039 - local.get $1 + local.get $0 i32.const 0 i32.ge_s if - local.get $1 - local.get $2 + local.get $0 + local.tee $1 + local.get $4 i32.add i32.load8_u i32.const 1 @@ -10780,7 +10773,7 @@ local.get $1 i32.const 1 i32.sub - local.set $1 + local.set $0 br $while-continue|039 end end @@ -10799,17 +10792,17 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $0 + local.get $2 i32.const 9 call $~lib/typedarray/Uint8ClampedArray#subarray - local.tee $4 + local.tee $2 i32.store offset=8 i32.const 0 local.set $0 i32.const -1 local.set $1 block $~lib/typedarray/INDEX_OF<~lib/typedarray/Uint8Array,u8>|inlined.041 - local.get $4 + local.get $2 i32.load offset=8 local.tee $3 i32.const 0 @@ -10818,9 +10811,9 @@ local.get $3 select br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Uint8Array,u8>|inlined.041 - local.get $4 + local.get $2 i32.load offset=4 - local.set $2 + local.set $4 loop $while-continue|042 local.get $0 local.get $3 @@ -10828,7 +10821,7 @@ if local.get $0 local.tee $1 - local.get $2 + local.get $4 i32.add i32.load8_u i32.const 3 @@ -10860,7 +10853,7 @@ i32.const -1 local.set $1 block $~lib/typedarray/INDEX_OF<~lib/typedarray/Uint8Array,u8>|inlined.044 - local.get $4 + local.get $2 i32.load offset=8 local.tee $3 i32.const 0 @@ -10869,9 +10862,9 @@ local.get $3 select br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Uint8Array,u8>|inlined.044 - local.get $4 + local.get $2 i32.load offset=4 - local.set $2 + local.set $4 loop $while-continue|045 local.get $0 local.get $3 @@ -10879,7 +10872,7 @@ if local.get $0 local.tee $1 - local.get $2 + local.get $4 i32.add i32.load8_u i32.const 4 @@ -10909,7 +10902,7 @@ i32.const -1 local.set $1 block $~lib/typedarray/INDEX_OF<~lib/typedarray/Uint8Array,u8>|inlined.047 - local.get $4 + local.get $2 i32.load offset=8 local.tee $3 i32.const 0 @@ -10918,9 +10911,9 @@ local.get $3 select br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Uint8Array,u8>|inlined.047 - local.get $4 + local.get $2 i32.load offset=4 - local.set $2 + local.set $4 loop $while-continue|048 local.get $0 local.get $3 @@ -10928,7 +10921,7 @@ if local.get $0 local.tee $1 - local.get $2 + local.get $4 i32.add i32.load8_u i32.const 5 @@ -10960,7 +10953,7 @@ i32.const -1 local.set $1 block $~lib/typedarray/INDEX_OF<~lib/typedarray/Uint8Array,u8>|inlined.050 - local.get $4 + local.get $2 i32.load offset=8 local.tee $3 i32.const 0 @@ -10969,9 +10962,9 @@ local.get $3 select br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Uint8Array,u8>|inlined.050 - local.get $4 + local.get $2 i32.load offset=4 - local.set $2 + local.set $4 loop $while-continue|051 local.get $0 local.get $3 @@ -10979,7 +10972,7 @@ if local.get $0 local.tee $1 - local.get $2 + local.get $4 i32.add i32.load8_u i32.const 9 @@ -11011,7 +11004,7 @@ i32.const -1 local.set $1 block $~lib/typedarray/INDEX_OF<~lib/typedarray/Uint8Array,u8>|inlined.053 - local.get $4 + local.get $2 i32.load offset=8 local.tee $3 i32.const 0 @@ -11020,9 +11013,9 @@ local.get $3 select br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Uint8Array,u8>|inlined.053 - local.get $4 + local.get $2 i32.load offset=4 - local.set $2 + local.set $4 loop $while-continue|054 local.get $0 local.get $3 @@ -11030,7 +11023,7 @@ if local.get $0 local.tee $1 - local.get $2 + local.get $4 i32.add i32.load8_u i32.const 10 @@ -11062,7 +11055,7 @@ i32.const -1 local.set $1 block $~lib/typedarray/INDEX_OF<~lib/typedarray/Uint8Array,u8>|inlined.056 - local.get $4 + local.get $2 i32.load offset=8 local.tee $3 i32.const 0 @@ -11071,9 +11064,9 @@ local.get $3 select br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Uint8Array,u8>|inlined.056 - local.get $4 + local.get $2 i32.load offset=4 - local.set $2 + local.set $4 loop $while-continue|057 local.get $0 local.get $3 @@ -11081,7 +11074,7 @@ if local.get $0 local.tee $1 - local.get $2 + local.get $4 i32.add i32.load8_u i32.const 11 @@ -11113,7 +11106,7 @@ i32.const -1 local.set $1 block $~lib/typedarray/INDEX_OF<~lib/typedarray/Uint8Array,u8>|inlined.059 - local.get $4 + local.get $2 i32.load offset=8 local.tee $3 i32.const 1 @@ -11122,9 +11115,9 @@ local.get $3 select br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Uint8Array,u8>|inlined.059 - local.get $4 + local.get $2 i32.load offset=4 - local.set $2 + local.set $4 loop $while-continue|060 local.get $0 local.get $3 @@ -11132,7 +11125,7 @@ if local.get $0 local.tee $1 - local.get $2 + local.get $4 i32.add i32.load8_u i32.const 5 @@ -11164,21 +11157,21 @@ i32.const -1 local.set $1 block $~lib/typedarray/INDEX_OF<~lib/typedarray/Uint8Array,u8>|inlined.062 - local.get $4 + local.get $2 i32.load offset=8 - local.tee $3 + local.tee $4 i32.const 2 i32.le_s i32.const 1 - local.get $3 + local.get $4 select br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Uint8Array,u8>|inlined.062 - local.get $4 + local.get $2 i32.load offset=4 local.set $2 loop $while-continue|063 local.get $0 - local.get $3 + local.get $4 i32.lt_s if local.get $0 @@ -11281,25 +11274,25 @@ i32.load offset=8 i32.const 1 i32.shr_u - local.tee $4 + local.tee $3 i32.const 0 - local.get $4 + local.get $3 select i32.eqz br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Int16Array,i16>|inlined.0 local.get $2 i32.load offset=4 - local.set $3 + local.set $4 loop $while-continue|0 local.get $0 - local.get $4 + local.get $3 i32.lt_s if - local.get $3 local.get $0 local.tee $1 i32.const 1 i32.shl + local.get $4 i32.add i32.load16_u i32.eqz @@ -11332,25 +11325,25 @@ i32.load offset=8 i32.const 1 i32.shr_u - local.tee $4 + local.tee $3 i32.const 0 - local.get $4 + local.get $3 select i32.eqz br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Int16Array,i16>|inlined.01 local.get $2 i32.load offset=4 - local.set $3 + local.set $4 loop $while-continue|02 local.get $0 - local.get $4 + local.get $3 i32.lt_s if - local.get $3 local.get $0 local.tee $1 i32.const 1 i32.shl + local.get $4 i32.add i32.load16_u i32.const 11 @@ -11386,25 +11379,25 @@ i32.load offset=8 i32.const 1 i32.shr_u - local.tee $4 + local.tee $3 i32.const 0 - local.get $4 + local.get $3 select i32.eqz br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Int16Array,i16>|inlined.04 local.get $2 i32.load offset=4 - local.set $3 + local.set $4 loop $while-continue|05 local.get $0 - local.get $4 + local.get $3 i32.lt_s if - local.get $3 local.get $0 local.tee $1 i32.const 1 i32.shl + local.get $4 i32.add i32.load16_u i32.const 65535 @@ -11440,25 +11433,25 @@ i32.load offset=8 i32.const 1 i32.shr_u - local.tee $4 + local.tee $3 i32.const 0 - local.get $4 + local.get $3 select i32.eqz br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Int16Array,i16>|inlined.07 local.get $2 i32.load offset=4 - local.set $3 + local.set $4 loop $while-continue|08 local.get $0 - local.get $4 + local.get $3 i32.lt_s if - local.get $3 local.get $0 local.tee $1 i32.const 1 i32.shl + local.get $4 i32.add i32.load16_u i32.const 3 @@ -11494,26 +11487,26 @@ i32.load offset=8 i32.const 1 i32.shr_u - local.tee $4 + local.tee $3 i32.const 2 i32.le_u i32.const 1 - local.get $4 + local.get $3 select br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Int16Array,i16>|inlined.010 local.get $2 i32.load offset=4 - local.set $3 + local.set $4 loop $while-continue|011 local.get $0 - local.get $4 + local.get $3 i32.lt_s if - local.get $3 local.get $0 local.tee $1 i32.const 1 i32.shl + local.get $4 i32.add i32.load16_u i32.const 3 @@ -11549,26 +11542,26 @@ i32.load offset=8 i32.const 1 i32.shr_u - local.tee $4 + local.tee $3 i32.const 3 i32.le_u i32.const 1 - local.get $4 + local.get $3 select br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Int16Array,i16>|inlined.013 local.get $2 i32.load offset=4 - local.set $3 + local.set $4 loop $while-continue|014 local.get $0 - local.get $4 + local.get $3 i32.lt_s if - local.get $3 local.get $0 local.tee $1 i32.const 1 i32.shl + local.get $4 i32.add i32.load16_u i32.const 3 @@ -11604,26 +11597,26 @@ i32.load offset=8 i32.const 1 i32.shr_u - local.tee $4 + local.tee $3 i32.const 4 i32.le_u i32.const 1 - local.get $4 + local.get $3 select br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Int16Array,i16>|inlined.016 local.get $2 i32.load offset=4 - local.set $3 + local.set $4 loop $while-continue|017 local.get $0 - local.get $4 + local.get $3 i32.lt_s if - local.get $3 local.get $0 local.tee $1 i32.const 1 i32.shl + local.get $4 i32.add i32.load16_u i32.const 3 @@ -11659,26 +11652,26 @@ i32.load offset=8 i32.const 1 i32.shr_u - local.tee $4 + local.tee $3 i32.const 10 i32.le_u i32.const 1 - local.get $4 + local.get $3 select br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Int16Array,i16>|inlined.019 local.get $2 i32.load offset=4 - local.set $3 + local.set $4 loop $while-continue|020 local.get $0 - local.get $4 + local.get $3 i32.lt_s if - local.get $3 local.get $0 local.tee $1 i32.const 1 i32.shl + local.get $4 i32.add i32.load16_u i32.const 1 @@ -11722,25 +11715,26 @@ local.get $3 i32.const 100 i32.sub - local.tee $0 + local.tee $1 i32.const 0 - local.get $0 + local.get $1 i32.const 0 i32.gt_s select - local.set $1 + local.set $0 local.get $2 i32.load offset=4 - local.set $0 + local.set $4 loop $while-continue|023 - local.get $1 + local.get $0 local.get $3 i32.lt_s if local.get $0 - local.get $1 + local.tee $1 i32.const 1 i32.shl + local.get $4 i32.add i32.load16_u i32.const 1 @@ -11749,7 +11743,7 @@ local.get $1 i32.const 1 i32.add - local.set $1 + local.set $0 br $while-continue|023 end end @@ -11770,64 +11764,61 @@ i32.const 1 global.set $~argumentsLength local.get $2 - local.tee $0 i32.load offset=8 i32.const 1 i32.shr_u - local.set $1 + local.tee $4 + local.set $0 i32.const -1 - local.set $2 + local.set $1 block $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Int16Array,i16>|inlined.0 - local.get $0 - i32.load offset=8 - i32.const 1 - i32.shr_u - local.tee $3 + local.get $4 i32.eqz br_if $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Int16Array,i16>|inlined.0 - local.get $1 - local.get $3 + local.get $0 + local.get $4 i32.add - local.get $3 + local.get $4 i32.const 1 i32.sub - local.get $1 - local.get $1 - local.get $3 + local.get $0 + local.get $0 + local.get $4 i32.ge_s select - local.get $1 + local.get $0 i32.const 0 i32.lt_s select - local.set $2 - local.get $0 + local.set $0 + local.get $2 i32.load offset=4 - local.set $1 + local.set $4 loop $while-continue|00 - local.get $2 + local.get $0 i32.const 0 i32.ge_s if - local.get $1 - local.get $2 + local.get $0 + local.tee $1 i32.const 1 i32.shl + local.get $4 i32.add i32.load16_u i32.eqz br_if $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Int16Array,i16>|inlined.0 - local.get $2 + local.get $1 i32.const 1 i32.sub - local.set $2 + local.set $0 br $while-continue|00 end end i32.const -1 - local.set $2 + local.set $1 end - local.get $2 + local.get $1 if i32.const 0 i32.const 1568 @@ -11838,65 +11829,63 @@ end i32.const 1 global.set $~argumentsLength - local.get $0 + local.get $2 i32.load offset=8 i32.const 1 i32.shr_u - local.set $1 + local.tee $4 + local.set $0 i32.const -1 - local.set $2 + local.set $1 block $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Int16Array,i16>|inlined.05 - local.get $0 - i32.load offset=8 - i32.const 1 - i32.shr_u - local.tee $3 + local.get $4 i32.eqz br_if $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Int16Array,i16>|inlined.05 - local.get $1 - local.get $3 + local.get $0 + local.get $4 i32.add - local.get $3 + local.get $4 i32.const 1 i32.sub - local.get $1 - local.get $1 - local.get $3 + local.get $0 + local.get $0 + local.get $4 i32.ge_s select - local.get $1 + local.get $0 i32.const 0 i32.lt_s select - local.set $2 - local.get $0 + local.set $0 + local.get $2 i32.load offset=4 - local.set $1 + local.set $4 loop $while-continue|06 - local.get $2 + local.get $0 i32.const 0 i32.ge_s if - local.get $1 - local.get $2 + local.get $0 + local.tee $1 i32.const 1 i32.shl + local.get $4 i32.add i32.load16_u i32.const 11 i32.eq br_if $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Int16Array,i16>|inlined.05 - local.get $2 + local.get $1 i32.const 1 i32.sub - local.set $2 + local.set $0 br $while-continue|06 end end i32.const -1 - local.set $2 + local.set $1 end - local.get $2 + local.get $1 i32.const -1 i32.ne if @@ -11909,65 +11898,63 @@ end i32.const 1 global.set $~argumentsLength - local.get $0 + local.get $2 i32.load offset=8 i32.const 1 i32.shr_u - local.set $1 + local.tee $4 + local.set $0 i32.const -1 - local.set $2 + local.set $1 block $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Int16Array,i16>|inlined.011 - local.get $0 - i32.load offset=8 - i32.const 1 - i32.shr_u - local.tee $3 + local.get $4 i32.eqz br_if $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Int16Array,i16>|inlined.011 - local.get $1 - local.get $3 + local.get $0 + local.get $4 i32.add - local.get $3 + local.get $4 i32.const 1 i32.sub - local.get $1 - local.get $1 - local.get $3 + local.get $0 + local.get $0 + local.get $4 i32.ge_s select - local.get $1 + local.get $0 i32.const 0 i32.lt_s select - local.set $2 - local.get $0 + local.set $0 + local.get $2 i32.load offset=4 - local.set $1 + local.set $4 loop $while-continue|012 - local.get $2 + local.get $0 i32.const 0 i32.ge_s if - local.get $1 - local.get $2 + local.get $0 + local.tee $1 i32.const 1 i32.shl + local.get $4 i32.add i32.load16_u i32.const 65535 i32.eq br_if $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Int16Array,i16>|inlined.011 - local.get $2 + local.get $1 i32.const 1 i32.sub - local.set $2 + local.set $0 br $while-continue|012 end end i32.const -1 - local.set $2 + local.set $1 end - local.get $2 + local.get $1 i32.const -1 i32.ne if @@ -11980,65 +11967,63 @@ end i32.const 1 global.set $~argumentsLength - local.get $0 + local.get $2 i32.load offset=8 i32.const 1 i32.shr_u - local.set $1 + local.tee $4 + local.set $0 i32.const -1 - local.set $2 + local.set $1 block $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Int16Array,i16>|inlined.017 - local.get $0 - i32.load offset=8 - i32.const 1 - i32.shr_u - local.tee $3 + local.get $4 i32.eqz br_if $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Int16Array,i16>|inlined.017 - local.get $1 - local.get $3 + local.get $0 + local.get $4 i32.add - local.get $3 + local.get $4 i32.const 1 i32.sub - local.get $1 - local.get $1 - local.get $3 + local.get $0 + local.get $0 + local.get $4 i32.ge_s select - local.get $1 + local.get $0 i32.const 0 i32.lt_s select - local.set $2 - local.get $0 + local.set $0 + local.get $2 i32.load offset=4 - local.set $1 + local.set $4 loop $while-continue|018 - local.get $2 + local.get $0 i32.const 0 i32.ge_s if - local.get $1 - local.get $2 + local.get $0 + local.tee $1 i32.const 1 i32.shl + local.get $4 i32.add i32.load16_u i32.const 3 i32.eq br_if $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Int16Array,i16>|inlined.017 - local.get $2 + local.get $1 i32.const 1 i32.sub - local.set $2 + local.set $0 br $while-continue|018 end end i32.const -1 - local.set $2 + local.set $1 end - local.get $2 + local.get $1 i32.const 3 i32.ne if @@ -12052,34 +12037,35 @@ i32.const -1 local.set $1 block $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Int16Array,i16>|inlined.019 - local.get $0 + local.get $2 i32.load offset=8 i32.const 1 i32.shr_u - local.tee $2 + local.tee $0 i32.eqz br_if $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Int16Array,i16>|inlined.019 - local.get $2 + local.get $0 i32.const 1 i32.sub i32.const 4 - local.get $2 + local.get $0 i32.const 4 - i32.le_s + i32.le_u select - local.set $1 - local.get $0 + local.set $0 + local.get $2 i32.load offset=4 - local.set $2 + local.set $4 loop $while-continue|024 - local.get $1 + local.get $0 i32.const 0 i32.ge_s if - local.get $2 - local.get $1 + local.get $0 + local.tee $1 i32.const 1 i32.shl + local.get $4 i32.add i32.load16_u i32.const 3 @@ -12088,7 +12074,7 @@ local.get $1 i32.const 1 i32.sub - local.set $1 + local.set $0 br $while-continue|024 end end @@ -12109,34 +12095,35 @@ i32.const -1 local.set $1 block $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Int16Array,i16>|inlined.026 - local.get $0 + local.get $2 i32.load offset=8 i32.const 1 i32.shr_u - local.tee $2 + local.tee $0 i32.eqz br_if $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Int16Array,i16>|inlined.026 - local.get $2 + local.get $0 i32.const 1 i32.sub i32.const 3 - local.get $2 + local.get $0 i32.const 3 - i32.le_s + i32.le_u select - local.set $1 - local.get $0 + local.set $0 + local.get $2 i32.load offset=4 - local.set $2 + local.set $4 loop $while-continue|027 - local.get $1 + local.get $0 i32.const 0 i32.ge_s if - local.get $2 - local.get $1 + local.get $0 + local.tee $1 i32.const 1 i32.shl + local.get $4 i32.add i32.load16_u i32.const 3 @@ -12145,7 +12132,7 @@ local.get $1 i32.const 1 i32.sub - local.set $1 + local.set $0 br $while-continue|027 end end @@ -12166,34 +12153,35 @@ i32.const -1 local.set $1 block $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Int16Array,i16>|inlined.029 - local.get $0 + local.get $2 i32.load offset=8 i32.const 1 i32.shr_u - local.tee $2 + local.tee $0 i32.eqz br_if $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Int16Array,i16>|inlined.029 - local.get $2 + local.get $0 i32.const 1 i32.sub i32.const 2 - local.get $2 + local.get $0 i32.const 2 - i32.le_s + i32.le_u select - local.set $1 - local.get $0 + local.set $0 + local.get $2 i32.load offset=4 - local.set $2 + local.set $4 loop $while-continue|030 - local.get $1 + local.get $0 i32.const 0 i32.ge_s if - local.get $2 - local.get $1 + local.get $0 + local.tee $1 i32.const 1 i32.shl + local.get $4 i32.add i32.load16_u i32.const 3 @@ -12202,7 +12190,7 @@ local.get $1 i32.const 1 i32.sub - local.set $1 + local.set $0 br $while-continue|030 end end @@ -12223,34 +12211,35 @@ i32.const -1 local.set $1 block $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Int16Array,i16>|inlined.032 - local.get $0 + local.get $2 i32.load offset=8 i32.const 1 i32.shr_u - local.tee $2 + local.tee $0 i32.eqz br_if $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Int16Array,i16>|inlined.032 - local.get $2 + local.get $0 i32.const 1 i32.sub i32.const 100 - local.get $2 + local.get $0 i32.const 100 - i32.le_s + i32.le_u select - local.set $1 - local.get $0 + local.set $0 + local.get $2 i32.load offset=4 - local.set $2 + local.set $4 loop $while-continue|033 - local.get $1 + local.get $0 i32.const 0 i32.ge_s if - local.get $2 - local.get $1 + local.get $0 + local.tee $1 i32.const 1 i32.shl + local.get $4 i32.add i32.load16_u i32.const 1 @@ -12259,7 +12248,7 @@ local.get $1 i32.const 1 i32.sub - local.set $1 + local.set $0 br $while-continue|033 end end @@ -12280,29 +12269,30 @@ i32.const -1 local.set $1 block $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Int16Array,i16>|inlined.035 - local.get $0 + local.get $2 i32.load offset=8 i32.const 1 i32.shr_u - local.tee $2 + local.tee $0 i32.eqz br_if $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Int16Array,i16>|inlined.035 - local.get $2 + local.get $0 i32.const 10 i32.sub - local.set $1 - local.get $0 + local.set $0 + local.get $2 i32.load offset=4 - local.set $2 + local.set $4 loop $while-continue|036 - local.get $1 + local.get $0 i32.const 0 i32.ge_s if - local.get $2 - local.get $1 + local.get $0 + local.tee $1 i32.const 1 i32.shl + local.get $4 i32.add i32.load16_u i32.const 1 @@ -12311,7 +12301,7 @@ local.get $1 i32.const 1 i32.sub - local.set $1 + local.set $0 br $while-continue|036 end end @@ -12332,29 +12322,30 @@ i32.const -1 local.set $1 block $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Int16Array,i16>|inlined.038 - local.get $0 + local.get $2 i32.load offset=8 i32.const 1 i32.shr_u - local.tee $2 + local.tee $0 i32.eqz br_if $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Int16Array,i16>|inlined.038 - local.get $2 + local.get $0 i32.const 11 i32.sub - local.set $1 - local.get $0 + local.set $0 + local.get $2 i32.load offset=4 - local.set $2 + local.set $4 loop $while-continue|039 - local.get $1 + local.get $0 i32.const 0 i32.ge_s if - local.get $2 - local.get $1 + local.get $0 + local.tee $1 i32.const 1 i32.shl + local.get $4 i32.add i32.load16_u i32.const 1 @@ -12363,7 +12354,7 @@ local.get $1 i32.const 1 i32.sub - local.set $1 + local.set $0 br $while-continue|039 end end @@ -12382,17 +12373,17 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $0 + local.get $2 i32.const 9 call $~lib/typedarray/Int16Array#subarray - local.tee $4 + local.tee $2 i32.store offset=8 i32.const 0 local.set $0 i32.const -1 local.set $1 block $~lib/typedarray/INDEX_OF<~lib/typedarray/Int16Array,i16>|inlined.041 - local.get $4 + local.get $2 i32.load offset=8 i32.const 1 i32.shr_u @@ -12402,19 +12393,19 @@ select i32.eqz br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Int16Array,i16>|inlined.041 - local.get $4 + local.get $2 i32.load offset=4 - local.set $2 + local.set $4 loop $while-continue|042 local.get $0 local.get $3 i32.lt_s if - local.get $2 local.get $0 local.tee $1 i32.const 1 i32.shl + local.get $4 i32.add i32.load16_u i32.const 3 @@ -12446,7 +12437,7 @@ i32.const -1 local.set $1 block $~lib/typedarray/INDEX_OF<~lib/typedarray/Int16Array,i16>|inlined.044 - local.get $4 + local.get $2 i32.load offset=8 i32.const 1 i32.shr_u @@ -12456,19 +12447,19 @@ select i32.eqz br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Int16Array,i16>|inlined.044 - local.get $4 + local.get $2 i32.load offset=4 - local.set $2 + local.set $4 loop $while-continue|045 local.get $0 local.get $3 i32.lt_s if - local.get $2 local.get $0 local.tee $1 i32.const 1 i32.shl + local.get $4 i32.add i32.load16_u i32.const 4 @@ -12498,7 +12489,7 @@ i32.const -1 local.set $1 block $~lib/typedarray/INDEX_OF<~lib/typedarray/Int16Array,i16>|inlined.047 - local.get $4 + local.get $2 i32.load offset=8 i32.const 1 i32.shr_u @@ -12508,19 +12499,19 @@ select i32.eqz br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Int16Array,i16>|inlined.047 - local.get $4 + local.get $2 i32.load offset=4 - local.set $2 + local.set $4 loop $while-continue|048 local.get $0 local.get $3 i32.lt_s if - local.get $2 local.get $0 local.tee $1 i32.const 1 i32.shl + local.get $4 i32.add i32.load16_u i32.const 5 @@ -12552,7 +12543,7 @@ i32.const -1 local.set $1 block $~lib/typedarray/INDEX_OF<~lib/typedarray/Int16Array,i16>|inlined.050 - local.get $4 + local.get $2 i32.load offset=8 i32.const 1 i32.shr_u @@ -12562,19 +12553,19 @@ select i32.eqz br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Int16Array,i16>|inlined.050 - local.get $4 + local.get $2 i32.load offset=4 - local.set $2 + local.set $4 loop $while-continue|051 local.get $0 local.get $3 i32.lt_s if - local.get $2 local.get $0 local.tee $1 i32.const 1 i32.shl + local.get $4 i32.add i32.load16_u i32.const 9 @@ -12606,7 +12597,7 @@ i32.const -1 local.set $1 block $~lib/typedarray/INDEX_OF<~lib/typedarray/Int16Array,i16>|inlined.053 - local.get $4 + local.get $2 i32.load offset=8 i32.const 1 i32.shr_u @@ -12616,19 +12607,19 @@ select i32.eqz br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Int16Array,i16>|inlined.053 - local.get $4 + local.get $2 i32.load offset=4 - local.set $2 + local.set $4 loop $while-continue|054 local.get $0 local.get $3 i32.lt_s if - local.get $2 local.get $0 local.tee $1 i32.const 1 i32.shl + local.get $4 i32.add i32.load16_u i32.const 10 @@ -12660,7 +12651,7 @@ i32.const -1 local.set $1 block $~lib/typedarray/INDEX_OF<~lib/typedarray/Int16Array,i16>|inlined.056 - local.get $4 + local.get $2 i32.load offset=8 i32.const 1 i32.shr_u @@ -12670,19 +12661,19 @@ select i32.eqz br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Int16Array,i16>|inlined.056 - local.get $4 + local.get $2 i32.load offset=4 - local.set $2 + local.set $4 loop $while-continue|057 local.get $0 local.get $3 i32.lt_s if - local.get $2 local.get $0 local.tee $1 i32.const 1 i32.shl + local.get $4 i32.add i32.load16_u i32.const 11 @@ -12714,7 +12705,7 @@ i32.const -1 local.set $1 block $~lib/typedarray/INDEX_OF<~lib/typedarray/Int16Array,i16>|inlined.059 - local.get $4 + local.get $2 i32.load offset=8 i32.const 1 i32.shr_u @@ -12725,19 +12716,19 @@ local.get $3 select br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Int16Array,i16>|inlined.059 - local.get $4 + local.get $2 i32.load offset=4 - local.set $2 + local.set $4 loop $while-continue|060 local.get $0 local.get $3 i32.lt_s if - local.get $2 local.get $0 local.tee $1 i32.const 1 i32.shl + local.get $4 i32.add i32.load16_u i32.const 5 @@ -12769,30 +12760,30 @@ i32.const -1 local.set $1 block $~lib/typedarray/INDEX_OF<~lib/typedarray/Int16Array,i16>|inlined.062 - local.get $4 + local.get $2 i32.load offset=8 i32.const 1 i32.shr_u - local.tee $3 + local.tee $4 i32.const 2 i32.le_u i32.const 1 - local.get $3 + local.get $4 select br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Int16Array,i16>|inlined.062 - local.get $4 + local.get $2 i32.load offset=4 local.set $2 loop $while-continue|063 local.get $0 - local.get $3 + local.get $4 i32.lt_s if - local.get $2 local.get $0 local.tee $1 i32.const 1 i32.shl + local.get $2 i32.add i32.load16_u i32.const 5 @@ -12891,25 +12882,25 @@ i32.load offset=8 i32.const 1 i32.shr_u - local.tee $4 + local.tee $3 i32.const 0 - local.get $4 + local.get $3 select i32.eqz br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Uint16Array,u16>|inlined.0 local.get $2 i32.load offset=4 - local.set $3 + local.set $4 loop $while-continue|0 local.get $0 - local.get $4 + local.get $3 i32.lt_s if - local.get $3 local.get $0 local.tee $1 i32.const 1 i32.shl + local.get $4 i32.add i32.load16_u i32.eqz @@ -12942,25 +12933,25 @@ i32.load offset=8 i32.const 1 i32.shr_u - local.tee $4 + local.tee $3 i32.const 0 - local.get $4 + local.get $3 select i32.eqz br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Uint16Array,u16>|inlined.01 local.get $2 i32.load offset=4 - local.set $3 + local.set $4 loop $while-continue|02 local.get $0 - local.get $4 + local.get $3 i32.lt_s if - local.get $3 local.get $0 local.tee $1 i32.const 1 i32.shl + local.get $4 i32.add i32.load16_u i32.const 11 @@ -12996,25 +12987,25 @@ i32.load offset=8 i32.const 1 i32.shr_u - local.tee $4 + local.tee $3 i32.const 0 - local.get $4 + local.get $3 select i32.eqz br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Uint16Array,u16>|inlined.04 local.get $2 i32.load offset=4 - local.set $3 + local.set $4 loop $while-continue|05 local.get $0 - local.get $4 + local.get $3 i32.lt_s if - local.get $3 local.get $0 local.tee $1 i32.const 1 i32.shl + local.get $4 i32.add i32.load16_u i32.const 65535 @@ -13050,25 +13041,25 @@ i32.load offset=8 i32.const 1 i32.shr_u - local.tee $4 + local.tee $3 i32.const 0 - local.get $4 + local.get $3 select i32.eqz br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Uint16Array,u16>|inlined.07 local.get $2 i32.load offset=4 - local.set $3 + local.set $4 loop $while-continue|08 local.get $0 - local.get $4 + local.get $3 i32.lt_s if - local.get $3 local.get $0 local.tee $1 i32.const 1 i32.shl + local.get $4 i32.add i32.load16_u i32.const 3 @@ -13104,26 +13095,26 @@ i32.load offset=8 i32.const 1 i32.shr_u - local.tee $4 + local.tee $3 i32.const 2 i32.le_u i32.const 1 - local.get $4 + local.get $3 select br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Uint16Array,u16>|inlined.010 local.get $2 i32.load offset=4 - local.set $3 + local.set $4 loop $while-continue|011 local.get $0 - local.get $4 + local.get $3 i32.lt_s if - local.get $3 local.get $0 local.tee $1 i32.const 1 i32.shl + local.get $4 i32.add i32.load16_u i32.const 3 @@ -13159,26 +13150,26 @@ i32.load offset=8 i32.const 1 i32.shr_u - local.tee $4 + local.tee $3 i32.const 3 i32.le_u i32.const 1 - local.get $4 + local.get $3 select br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Uint16Array,u16>|inlined.013 local.get $2 i32.load offset=4 - local.set $3 + local.set $4 loop $while-continue|014 local.get $0 - local.get $4 + local.get $3 i32.lt_s if - local.get $3 local.get $0 local.tee $1 i32.const 1 i32.shl + local.get $4 i32.add i32.load16_u i32.const 3 @@ -13214,26 +13205,26 @@ i32.load offset=8 i32.const 1 i32.shr_u - local.tee $4 + local.tee $3 i32.const 4 i32.le_u i32.const 1 - local.get $4 + local.get $3 select br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Uint16Array,u16>|inlined.016 local.get $2 i32.load offset=4 - local.set $3 + local.set $4 loop $while-continue|017 local.get $0 - local.get $4 + local.get $3 i32.lt_s if - local.get $3 local.get $0 local.tee $1 i32.const 1 i32.shl + local.get $4 i32.add i32.load16_u i32.const 3 @@ -13269,26 +13260,26 @@ i32.load offset=8 i32.const 1 i32.shr_u - local.tee $4 + local.tee $3 i32.const 10 i32.le_u i32.const 1 - local.get $4 + local.get $3 select br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Uint16Array,u16>|inlined.019 local.get $2 i32.load offset=4 - local.set $3 + local.set $4 loop $while-continue|020 local.get $0 - local.get $4 + local.get $3 i32.lt_s if - local.get $3 local.get $0 local.tee $1 i32.const 1 i32.shl + local.get $4 i32.add i32.load16_u i32.const 1 @@ -13332,25 +13323,26 @@ local.get $3 i32.const 100 i32.sub - local.tee $0 + local.tee $1 i32.const 0 - local.get $0 + local.get $1 i32.const 0 i32.gt_s select - local.set $1 + local.set $0 local.get $2 i32.load offset=4 - local.set $0 + local.set $4 loop $while-continue|023 - local.get $1 + local.get $0 local.get $3 i32.lt_s if local.get $0 - local.get $1 + local.tee $1 i32.const 1 i32.shl + local.get $4 i32.add i32.load16_u i32.const 1 @@ -13359,7 +13351,7 @@ local.get $1 i32.const 1 i32.add - local.set $1 + local.set $0 br $while-continue|023 end end @@ -13380,64 +13372,61 @@ i32.const 1 global.set $~argumentsLength local.get $2 - local.tee $0 i32.load offset=8 i32.const 1 i32.shr_u - local.set $1 + local.tee $4 + local.set $0 i32.const -1 - local.set $2 + local.set $1 block $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Uint16Array,u16>|inlined.0 - local.get $0 - i32.load offset=8 - i32.const 1 - i32.shr_u - local.tee $3 + local.get $4 i32.eqz br_if $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Uint16Array,u16>|inlined.0 - local.get $1 - local.get $3 + local.get $0 + local.get $4 i32.add - local.get $3 + local.get $4 i32.const 1 i32.sub - local.get $1 - local.get $1 - local.get $3 + local.get $0 + local.get $0 + local.get $4 i32.ge_s select - local.get $1 + local.get $0 i32.const 0 i32.lt_s select - local.set $2 - local.get $0 + local.set $0 + local.get $2 i32.load offset=4 - local.set $1 + local.set $4 loop $while-continue|00 - local.get $2 + local.get $0 i32.const 0 i32.ge_s if - local.get $1 - local.get $2 + local.get $0 + local.tee $1 i32.const 1 i32.shl + local.get $4 i32.add i32.load16_u i32.eqz br_if $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Uint16Array,u16>|inlined.0 - local.get $2 + local.get $1 i32.const 1 i32.sub - local.set $2 + local.set $0 br $while-continue|00 end end i32.const -1 - local.set $2 + local.set $1 end - local.get $2 + local.get $1 if i32.const 0 i32.const 1568 @@ -13448,65 +13437,63 @@ end i32.const 1 global.set $~argumentsLength - local.get $0 + local.get $2 i32.load offset=8 i32.const 1 i32.shr_u - local.set $1 + local.tee $4 + local.set $0 i32.const -1 - local.set $2 + local.set $1 block $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Uint16Array,u16>|inlined.05 - local.get $0 - i32.load offset=8 - i32.const 1 - i32.shr_u - local.tee $3 + local.get $4 i32.eqz br_if $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Uint16Array,u16>|inlined.05 - local.get $1 - local.get $3 + local.get $0 + local.get $4 i32.add - local.get $3 + local.get $4 i32.const 1 i32.sub - local.get $1 - local.get $1 - local.get $3 + local.get $0 + local.get $0 + local.get $4 i32.ge_s select - local.get $1 + local.get $0 i32.const 0 i32.lt_s select - local.set $2 - local.get $0 + local.set $0 + local.get $2 i32.load offset=4 - local.set $1 + local.set $4 loop $while-continue|06 - local.get $2 + local.get $0 i32.const 0 i32.ge_s if - local.get $1 - local.get $2 + local.get $0 + local.tee $1 i32.const 1 i32.shl + local.get $4 i32.add i32.load16_u i32.const 11 i32.eq br_if $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Uint16Array,u16>|inlined.05 - local.get $2 + local.get $1 i32.const 1 i32.sub - local.set $2 + local.set $0 br $while-continue|06 end end i32.const -1 - local.set $2 + local.set $1 end - local.get $2 + local.get $1 i32.const -1 i32.ne if @@ -13519,65 +13506,63 @@ end i32.const 1 global.set $~argumentsLength - local.get $0 + local.get $2 i32.load offset=8 i32.const 1 i32.shr_u - local.set $1 + local.tee $4 + local.set $0 i32.const -1 - local.set $2 + local.set $1 block $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Uint16Array,u16>|inlined.011 - local.get $0 - i32.load offset=8 - i32.const 1 - i32.shr_u - local.tee $3 + local.get $4 i32.eqz br_if $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Uint16Array,u16>|inlined.011 - local.get $1 - local.get $3 + local.get $0 + local.get $4 i32.add - local.get $3 + local.get $4 i32.const 1 i32.sub - local.get $1 - local.get $1 - local.get $3 + local.get $0 + local.get $0 + local.get $4 i32.ge_s select - local.get $1 + local.get $0 i32.const 0 i32.lt_s select - local.set $2 - local.get $0 + local.set $0 + local.get $2 i32.load offset=4 - local.set $1 + local.set $4 loop $while-continue|012 - local.get $2 + local.get $0 i32.const 0 i32.ge_s if - local.get $1 - local.get $2 + local.get $0 + local.tee $1 i32.const 1 i32.shl + local.get $4 i32.add i32.load16_u i32.const 65535 i32.eq br_if $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Uint16Array,u16>|inlined.011 - local.get $2 + local.get $1 i32.const 1 i32.sub - local.set $2 + local.set $0 br $while-continue|012 end end i32.const -1 - local.set $2 + local.set $1 end - local.get $2 + local.get $1 i32.const -1 i32.ne if @@ -13590,65 +13575,63 @@ end i32.const 1 global.set $~argumentsLength - local.get $0 + local.get $2 i32.load offset=8 i32.const 1 i32.shr_u - local.set $1 + local.tee $4 + local.set $0 i32.const -1 - local.set $2 + local.set $1 block $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Uint16Array,u16>|inlined.017 - local.get $0 - i32.load offset=8 - i32.const 1 - i32.shr_u - local.tee $3 + local.get $4 i32.eqz br_if $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Uint16Array,u16>|inlined.017 - local.get $1 - local.get $3 + local.get $0 + local.get $4 i32.add - local.get $3 + local.get $4 i32.const 1 i32.sub - local.get $1 - local.get $1 - local.get $3 + local.get $0 + local.get $0 + local.get $4 i32.ge_s select - local.get $1 + local.get $0 i32.const 0 i32.lt_s select - local.set $2 - local.get $0 + local.set $0 + local.get $2 i32.load offset=4 - local.set $1 + local.set $4 loop $while-continue|018 - local.get $2 + local.get $0 i32.const 0 i32.ge_s if - local.get $1 - local.get $2 + local.get $0 + local.tee $1 i32.const 1 i32.shl + local.get $4 i32.add i32.load16_u i32.const 3 i32.eq br_if $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Uint16Array,u16>|inlined.017 - local.get $2 + local.get $1 i32.const 1 i32.sub - local.set $2 + local.set $0 br $while-continue|018 end end i32.const -1 - local.set $2 + local.set $1 end - local.get $2 + local.get $1 i32.const 3 i32.ne if @@ -13662,34 +13645,35 @@ i32.const -1 local.set $1 block $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Uint16Array,u16>|inlined.019 - local.get $0 + local.get $2 i32.load offset=8 i32.const 1 i32.shr_u - local.tee $2 + local.tee $0 i32.eqz br_if $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Uint16Array,u16>|inlined.019 - local.get $2 + local.get $0 i32.const 1 i32.sub i32.const 4 - local.get $2 + local.get $0 i32.const 4 - i32.le_s + i32.le_u select - local.set $1 - local.get $0 + local.set $0 + local.get $2 i32.load offset=4 - local.set $2 + local.set $4 loop $while-continue|024 - local.get $1 + local.get $0 i32.const 0 i32.ge_s if - local.get $2 - local.get $1 + local.get $0 + local.tee $1 i32.const 1 i32.shl + local.get $4 i32.add i32.load16_u i32.const 3 @@ -13698,7 +13682,7 @@ local.get $1 i32.const 1 i32.sub - local.set $1 + local.set $0 br $while-continue|024 end end @@ -13719,34 +13703,35 @@ i32.const -1 local.set $1 block $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Uint16Array,u16>|inlined.026 - local.get $0 + local.get $2 i32.load offset=8 i32.const 1 i32.shr_u - local.tee $2 + local.tee $0 i32.eqz br_if $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Uint16Array,u16>|inlined.026 - local.get $2 + local.get $0 i32.const 1 i32.sub i32.const 3 - local.get $2 + local.get $0 i32.const 3 - i32.le_s + i32.le_u select - local.set $1 - local.get $0 + local.set $0 + local.get $2 i32.load offset=4 - local.set $2 + local.set $4 loop $while-continue|027 - local.get $1 + local.get $0 i32.const 0 i32.ge_s if - local.get $2 - local.get $1 + local.get $0 + local.tee $1 i32.const 1 i32.shl + local.get $4 i32.add i32.load16_u i32.const 3 @@ -13755,7 +13740,7 @@ local.get $1 i32.const 1 i32.sub - local.set $1 + local.set $0 br $while-continue|027 end end @@ -13776,34 +13761,35 @@ i32.const -1 local.set $1 block $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Uint16Array,u16>|inlined.029 - local.get $0 + local.get $2 i32.load offset=8 i32.const 1 i32.shr_u - local.tee $2 + local.tee $0 i32.eqz br_if $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Uint16Array,u16>|inlined.029 - local.get $2 + local.get $0 i32.const 1 i32.sub i32.const 2 - local.get $2 + local.get $0 i32.const 2 - i32.le_s + i32.le_u select - local.set $1 - local.get $0 + local.set $0 + local.get $2 i32.load offset=4 - local.set $2 + local.set $4 loop $while-continue|030 - local.get $1 + local.get $0 i32.const 0 i32.ge_s if - local.get $2 - local.get $1 + local.get $0 + local.tee $1 i32.const 1 i32.shl + local.get $4 i32.add i32.load16_u i32.const 3 @@ -13812,7 +13798,7 @@ local.get $1 i32.const 1 i32.sub - local.set $1 + local.set $0 br $while-continue|030 end end @@ -13833,34 +13819,35 @@ i32.const -1 local.set $1 block $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Uint16Array,u16>|inlined.032 - local.get $0 + local.get $2 i32.load offset=8 i32.const 1 i32.shr_u - local.tee $2 + local.tee $0 i32.eqz br_if $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Uint16Array,u16>|inlined.032 - local.get $2 + local.get $0 i32.const 1 i32.sub i32.const 100 - local.get $2 + local.get $0 i32.const 100 - i32.le_s + i32.le_u select - local.set $1 - local.get $0 + local.set $0 + local.get $2 i32.load offset=4 - local.set $2 + local.set $4 loop $while-continue|033 - local.get $1 + local.get $0 i32.const 0 i32.ge_s if - local.get $2 - local.get $1 + local.get $0 + local.tee $1 i32.const 1 i32.shl + local.get $4 i32.add i32.load16_u i32.const 1 @@ -13869,7 +13856,7 @@ local.get $1 i32.const 1 i32.sub - local.set $1 + local.set $0 br $while-continue|033 end end @@ -13890,29 +13877,30 @@ i32.const -1 local.set $1 block $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Uint16Array,u16>|inlined.035 - local.get $0 + local.get $2 i32.load offset=8 i32.const 1 i32.shr_u - local.tee $2 + local.tee $0 i32.eqz br_if $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Uint16Array,u16>|inlined.035 - local.get $2 + local.get $0 i32.const 10 i32.sub - local.set $1 - local.get $0 + local.set $0 + local.get $2 i32.load offset=4 - local.set $2 + local.set $4 loop $while-continue|036 - local.get $1 + local.get $0 i32.const 0 i32.ge_s if - local.get $2 - local.get $1 + local.get $0 + local.tee $1 i32.const 1 i32.shl + local.get $4 i32.add i32.load16_u i32.const 1 @@ -13921,7 +13909,7 @@ local.get $1 i32.const 1 i32.sub - local.set $1 + local.set $0 br $while-continue|036 end end @@ -13942,29 +13930,30 @@ i32.const -1 local.set $1 block $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Uint16Array,u16>|inlined.038 - local.get $0 + local.get $2 i32.load offset=8 i32.const 1 i32.shr_u - local.tee $2 + local.tee $0 i32.eqz br_if $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Uint16Array,u16>|inlined.038 - local.get $2 + local.get $0 i32.const 11 i32.sub - local.set $1 - local.get $0 + local.set $0 + local.get $2 i32.load offset=4 - local.set $2 + local.set $4 loop $while-continue|039 - local.get $1 + local.get $0 i32.const 0 i32.ge_s if - local.get $2 - local.get $1 + local.get $0 + local.tee $1 i32.const 1 i32.shl + local.get $4 i32.add i32.load16_u i32.const 1 @@ -13973,7 +13962,7 @@ local.get $1 i32.const 1 i32.sub - local.set $1 + local.set $0 br $while-continue|039 end end @@ -13992,17 +13981,17 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $0 + local.get $2 i32.const 9 call $~lib/typedarray/Uint16Array#subarray - local.tee $4 + local.tee $2 i32.store offset=8 i32.const 0 local.set $0 i32.const -1 local.set $1 block $~lib/typedarray/INDEX_OF<~lib/typedarray/Uint16Array,u16>|inlined.041 - local.get $4 + local.get $2 i32.load offset=8 i32.const 1 i32.shr_u @@ -14012,19 +14001,19 @@ select i32.eqz br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Uint16Array,u16>|inlined.041 - local.get $4 + local.get $2 i32.load offset=4 - local.set $2 + local.set $4 loop $while-continue|042 local.get $0 local.get $3 i32.lt_s if - local.get $2 local.get $0 local.tee $1 i32.const 1 i32.shl + local.get $4 i32.add i32.load16_u i32.const 3 @@ -14056,7 +14045,7 @@ i32.const -1 local.set $1 block $~lib/typedarray/INDEX_OF<~lib/typedarray/Uint16Array,u16>|inlined.044 - local.get $4 + local.get $2 i32.load offset=8 i32.const 1 i32.shr_u @@ -14066,19 +14055,19 @@ select i32.eqz br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Uint16Array,u16>|inlined.044 - local.get $4 + local.get $2 i32.load offset=4 - local.set $2 + local.set $4 loop $while-continue|045 local.get $0 local.get $3 i32.lt_s if - local.get $2 local.get $0 local.tee $1 i32.const 1 i32.shl + local.get $4 i32.add i32.load16_u i32.const 4 @@ -14108,7 +14097,7 @@ i32.const -1 local.set $1 block $~lib/typedarray/INDEX_OF<~lib/typedarray/Uint16Array,u16>|inlined.047 - local.get $4 + local.get $2 i32.load offset=8 i32.const 1 i32.shr_u @@ -14118,19 +14107,19 @@ select i32.eqz br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Uint16Array,u16>|inlined.047 - local.get $4 + local.get $2 i32.load offset=4 - local.set $2 + local.set $4 loop $while-continue|048 local.get $0 local.get $3 i32.lt_s if - local.get $2 local.get $0 local.tee $1 i32.const 1 i32.shl + local.get $4 i32.add i32.load16_u i32.const 5 @@ -14162,7 +14151,7 @@ i32.const -1 local.set $1 block $~lib/typedarray/INDEX_OF<~lib/typedarray/Uint16Array,u16>|inlined.050 - local.get $4 + local.get $2 i32.load offset=8 i32.const 1 i32.shr_u @@ -14172,19 +14161,19 @@ select i32.eqz br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Uint16Array,u16>|inlined.050 - local.get $4 + local.get $2 i32.load offset=4 - local.set $2 + local.set $4 loop $while-continue|051 local.get $0 local.get $3 i32.lt_s if - local.get $2 local.get $0 local.tee $1 i32.const 1 i32.shl + local.get $4 i32.add i32.load16_u i32.const 9 @@ -14216,7 +14205,7 @@ i32.const -1 local.set $1 block $~lib/typedarray/INDEX_OF<~lib/typedarray/Uint16Array,u16>|inlined.053 - local.get $4 + local.get $2 i32.load offset=8 i32.const 1 i32.shr_u @@ -14226,19 +14215,19 @@ select i32.eqz br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Uint16Array,u16>|inlined.053 - local.get $4 + local.get $2 i32.load offset=4 - local.set $2 + local.set $4 loop $while-continue|054 local.get $0 local.get $3 i32.lt_s if - local.get $2 local.get $0 local.tee $1 i32.const 1 i32.shl + local.get $4 i32.add i32.load16_u i32.const 10 @@ -14270,7 +14259,7 @@ i32.const -1 local.set $1 block $~lib/typedarray/INDEX_OF<~lib/typedarray/Uint16Array,u16>|inlined.056 - local.get $4 + local.get $2 i32.load offset=8 i32.const 1 i32.shr_u @@ -14280,19 +14269,19 @@ select i32.eqz br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Uint16Array,u16>|inlined.056 - local.get $4 + local.get $2 i32.load offset=4 - local.set $2 + local.set $4 loop $while-continue|057 local.get $0 local.get $3 i32.lt_s if - local.get $2 local.get $0 local.tee $1 i32.const 1 i32.shl + local.get $4 i32.add i32.load16_u i32.const 11 @@ -14324,7 +14313,7 @@ i32.const -1 local.set $1 block $~lib/typedarray/INDEX_OF<~lib/typedarray/Uint16Array,u16>|inlined.059 - local.get $4 + local.get $2 i32.load offset=8 i32.const 1 i32.shr_u @@ -14335,19 +14324,19 @@ local.get $3 select br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Uint16Array,u16>|inlined.059 - local.get $4 + local.get $2 i32.load offset=4 - local.set $2 + local.set $4 loop $while-continue|060 local.get $0 local.get $3 i32.lt_s if - local.get $2 local.get $0 local.tee $1 i32.const 1 i32.shl + local.get $4 i32.add i32.load16_u i32.const 5 @@ -14379,30 +14368,30 @@ i32.const -1 local.set $1 block $~lib/typedarray/INDEX_OF<~lib/typedarray/Uint16Array,u16>|inlined.062 - local.get $4 + local.get $2 i32.load offset=8 i32.const 1 i32.shr_u - local.tee $3 + local.tee $4 i32.const 2 i32.le_u i32.const 1 - local.get $3 + local.get $4 select br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Uint16Array,u16>|inlined.062 - local.get $4 + local.get $2 i32.load offset=4 local.set $2 loop $while-continue|063 local.get $0 - local.get $3 + local.get $4 i32.lt_s if - local.get $2 local.get $0 local.tee $1 i32.const 1 i32.shl + local.get $2 i32.add i32.load16_u i32.const 5 @@ -14499,25 +14488,25 @@ i32.load offset=8 i32.const 2 i32.shr_u - local.tee $4 + local.tee $3 i32.const 0 - local.get $4 + local.get $3 select i32.eqz br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Int32Array,i32>|inlined.0 local.get $2 i32.load offset=4 - local.set $3 + local.set $4 loop $while-continue|0 local.get $0 - local.get $4 + local.get $3 i32.lt_s if - local.get $3 local.get $0 local.tee $1 i32.const 2 i32.shl + local.get $4 i32.add i32.load i32.eqz @@ -14550,25 +14539,25 @@ i32.load offset=8 i32.const 2 i32.shr_u - local.tee $4 + local.tee $3 i32.const 0 - local.get $4 + local.get $3 select i32.eqz br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Int32Array,i32>|inlined.01 local.get $2 i32.load offset=4 - local.set $3 + local.set $4 loop $while-continue|02 local.get $0 - local.get $4 + local.get $3 i32.lt_s if - local.get $3 local.get $0 local.tee $1 i32.const 2 i32.shl + local.get $4 i32.add i32.load i32.const 11 @@ -14604,25 +14593,25 @@ i32.load offset=8 i32.const 2 i32.shr_u - local.tee $4 + local.tee $3 i32.const 0 - local.get $4 + local.get $3 select i32.eqz br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Int32Array,i32>|inlined.04 local.get $2 i32.load offset=4 - local.set $3 + local.set $4 loop $while-continue|05 local.get $0 - local.get $4 + local.get $3 i32.lt_s if - local.get $3 local.get $0 local.tee $1 i32.const 2 i32.shl + local.get $4 i32.add i32.load i32.const -1 @@ -14658,25 +14647,25 @@ i32.load offset=8 i32.const 2 i32.shr_u - local.tee $4 + local.tee $3 i32.const 0 - local.get $4 + local.get $3 select i32.eqz br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Int32Array,i32>|inlined.07 local.get $2 i32.load offset=4 - local.set $3 + local.set $4 loop $while-continue|08 local.get $0 - local.get $4 + local.get $3 i32.lt_s if - local.get $3 local.get $0 local.tee $1 i32.const 2 i32.shl + local.get $4 i32.add i32.load i32.const 3 @@ -14712,26 +14701,26 @@ i32.load offset=8 i32.const 2 i32.shr_u - local.tee $4 + local.tee $3 i32.const 2 i32.le_u i32.const 1 - local.get $4 + local.get $3 select br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Int32Array,i32>|inlined.010 local.get $2 i32.load offset=4 - local.set $3 + local.set $4 loop $while-continue|011 local.get $0 - local.get $4 + local.get $3 i32.lt_s if - local.get $3 local.get $0 local.tee $1 i32.const 2 i32.shl + local.get $4 i32.add i32.load i32.const 3 @@ -14767,26 +14756,26 @@ i32.load offset=8 i32.const 2 i32.shr_u - local.tee $4 + local.tee $3 i32.const 3 i32.le_u i32.const 1 - local.get $4 + local.get $3 select br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Int32Array,i32>|inlined.013 local.get $2 i32.load offset=4 - local.set $3 + local.set $4 loop $while-continue|014 local.get $0 - local.get $4 + local.get $3 i32.lt_s if - local.get $3 local.get $0 local.tee $1 i32.const 2 i32.shl + local.get $4 i32.add i32.load i32.const 3 @@ -14822,26 +14811,26 @@ i32.load offset=8 i32.const 2 i32.shr_u - local.tee $4 + local.tee $3 i32.const 4 i32.le_u i32.const 1 - local.get $4 + local.get $3 select br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Int32Array,i32>|inlined.016 local.get $2 i32.load offset=4 - local.set $3 + local.set $4 loop $while-continue|017 local.get $0 - local.get $4 + local.get $3 i32.lt_s if - local.get $3 local.get $0 local.tee $1 i32.const 2 i32.shl + local.get $4 i32.add i32.load i32.const 3 @@ -14877,26 +14866,26 @@ i32.load offset=8 i32.const 2 i32.shr_u - local.tee $4 + local.tee $3 i32.const 10 i32.le_u i32.const 1 - local.get $4 + local.get $3 select br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Int32Array,i32>|inlined.019 local.get $2 i32.load offset=4 - local.set $3 + local.set $4 loop $while-continue|020 local.get $0 - local.get $4 + local.get $3 i32.lt_s if - local.get $3 local.get $0 local.tee $1 i32.const 2 i32.shl + local.get $4 i32.add i32.load i32.const 1 @@ -14940,25 +14929,26 @@ local.get $3 i32.const 100 i32.sub - local.tee $0 + local.tee $1 i32.const 0 - local.get $0 + local.get $1 i32.const 0 i32.gt_s select - local.set $1 + local.set $0 local.get $2 i32.load offset=4 - local.set $0 + local.set $4 loop $while-continue|023 - local.get $1 + local.get $0 local.get $3 i32.lt_s if local.get $0 - local.get $1 + local.tee $1 i32.const 2 i32.shl + local.get $4 i32.add i32.load i32.const 1 @@ -14967,7 +14957,7 @@ local.get $1 i32.const 1 i32.add - local.set $1 + local.set $0 br $while-continue|023 end end @@ -14988,64 +14978,61 @@ i32.const 1 global.set $~argumentsLength local.get $2 - local.tee $0 i32.load offset=8 i32.const 2 i32.shr_u - local.set $1 + local.tee $4 + local.set $0 i32.const -1 - local.set $2 + local.set $1 block $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Int32Array,i32>|inlined.0 - local.get $0 - i32.load offset=8 - i32.const 2 - i32.shr_u - local.tee $3 + local.get $4 i32.eqz br_if $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Int32Array,i32>|inlined.0 - local.get $1 - local.get $3 + local.get $0 + local.get $4 i32.add - local.get $3 + local.get $4 i32.const 1 i32.sub - local.get $1 - local.get $1 - local.get $3 + local.get $0 + local.get $0 + local.get $4 i32.ge_s select - local.get $1 + local.get $0 i32.const 0 i32.lt_s select - local.set $2 - local.get $0 + local.set $0 + local.get $2 i32.load offset=4 - local.set $1 + local.set $4 loop $while-continue|00 - local.get $2 + local.get $0 i32.const 0 i32.ge_s if - local.get $1 - local.get $2 + local.get $0 + local.tee $1 i32.const 2 i32.shl + local.get $4 i32.add i32.load i32.eqz br_if $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Int32Array,i32>|inlined.0 - local.get $2 + local.get $1 i32.const 1 i32.sub - local.set $2 + local.set $0 br $while-continue|00 end end i32.const -1 - local.set $2 + local.set $1 end - local.get $2 + local.get $1 if i32.const 0 i32.const 1568 @@ -15056,65 +15043,63 @@ end i32.const 1 global.set $~argumentsLength - local.get $0 + local.get $2 i32.load offset=8 i32.const 2 i32.shr_u - local.set $1 + local.tee $4 + local.set $0 i32.const -1 - local.set $2 + local.set $1 block $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Int32Array,i32>|inlined.05 - local.get $0 - i32.load offset=8 - i32.const 2 - i32.shr_u - local.tee $3 + local.get $4 i32.eqz br_if $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Int32Array,i32>|inlined.05 - local.get $1 - local.get $3 + local.get $0 + local.get $4 i32.add - local.get $3 + local.get $4 i32.const 1 i32.sub - local.get $1 - local.get $1 - local.get $3 + local.get $0 + local.get $0 + local.get $4 i32.ge_s select - local.get $1 + local.get $0 i32.const 0 i32.lt_s select - local.set $2 - local.get $0 + local.set $0 + local.get $2 i32.load offset=4 - local.set $1 + local.set $4 loop $while-continue|06 - local.get $2 + local.get $0 i32.const 0 i32.ge_s if - local.get $1 - local.get $2 + local.get $0 + local.tee $1 i32.const 2 i32.shl + local.get $4 i32.add i32.load i32.const 11 i32.eq br_if $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Int32Array,i32>|inlined.05 - local.get $2 + local.get $1 i32.const 1 i32.sub - local.set $2 + local.set $0 br $while-continue|06 end end i32.const -1 - local.set $2 + local.set $1 end - local.get $2 + local.get $1 i32.const -1 i32.ne if @@ -15127,65 +15112,63 @@ end i32.const 1 global.set $~argumentsLength - local.get $0 + local.get $2 i32.load offset=8 i32.const 2 i32.shr_u - local.set $1 + local.tee $4 + local.set $0 i32.const -1 - local.set $2 + local.set $1 block $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Int32Array,i32>|inlined.011 - local.get $0 - i32.load offset=8 - i32.const 2 - i32.shr_u - local.tee $3 + local.get $4 i32.eqz br_if $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Int32Array,i32>|inlined.011 - local.get $1 - local.get $3 + local.get $0 + local.get $4 i32.add - local.get $3 + local.get $4 i32.const 1 i32.sub - local.get $1 - local.get $1 - local.get $3 + local.get $0 + local.get $0 + local.get $4 i32.ge_s select - local.get $1 + local.get $0 i32.const 0 i32.lt_s select - local.set $2 - local.get $0 + local.set $0 + local.get $2 i32.load offset=4 - local.set $1 + local.set $4 loop $while-continue|012 - local.get $2 + local.get $0 i32.const 0 i32.ge_s if - local.get $1 - local.get $2 + local.get $0 + local.tee $1 i32.const 2 i32.shl + local.get $4 i32.add i32.load i32.const -1 i32.eq br_if $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Int32Array,i32>|inlined.011 - local.get $2 + local.get $1 i32.const 1 i32.sub - local.set $2 + local.set $0 br $while-continue|012 end end i32.const -1 - local.set $2 + local.set $1 end - local.get $2 + local.get $1 i32.const -1 i32.ne if @@ -15198,65 +15181,63 @@ end i32.const 1 global.set $~argumentsLength - local.get $0 + local.get $2 i32.load offset=8 i32.const 2 i32.shr_u - local.set $1 + local.tee $4 + local.set $0 i32.const -1 - local.set $2 + local.set $1 block $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Int32Array,i32>|inlined.017 - local.get $0 - i32.load offset=8 - i32.const 2 - i32.shr_u - local.tee $3 + local.get $4 i32.eqz br_if $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Int32Array,i32>|inlined.017 - local.get $1 - local.get $3 + local.get $0 + local.get $4 i32.add - local.get $3 + local.get $4 i32.const 1 i32.sub - local.get $1 - local.get $1 - local.get $3 + local.get $0 + local.get $0 + local.get $4 i32.ge_s select - local.get $1 + local.get $0 i32.const 0 i32.lt_s select - local.set $2 - local.get $0 + local.set $0 + local.get $2 i32.load offset=4 - local.set $1 + local.set $4 loop $while-continue|018 - local.get $2 + local.get $0 i32.const 0 i32.ge_s if - local.get $1 - local.get $2 + local.get $0 + local.tee $1 i32.const 2 i32.shl + local.get $4 i32.add i32.load i32.const 3 i32.eq br_if $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Int32Array,i32>|inlined.017 - local.get $2 + local.get $1 i32.const 1 i32.sub - local.set $2 + local.set $0 br $while-continue|018 end end i32.const -1 - local.set $2 + local.set $1 end - local.get $2 + local.get $1 i32.const 3 i32.ne if @@ -15270,34 +15251,35 @@ i32.const -1 local.set $1 block $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Int32Array,i32>|inlined.019 - local.get $0 + local.get $2 i32.load offset=8 i32.const 2 i32.shr_u - local.tee $2 + local.tee $0 i32.eqz br_if $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Int32Array,i32>|inlined.019 - local.get $2 + local.get $0 i32.const 1 i32.sub i32.const 4 - local.get $2 + local.get $0 i32.const 4 - i32.le_s + i32.le_u select - local.set $1 - local.get $0 + local.set $0 + local.get $2 i32.load offset=4 - local.set $2 + local.set $4 loop $while-continue|024 - local.get $1 + local.get $0 i32.const 0 i32.ge_s if - local.get $2 - local.get $1 + local.get $0 + local.tee $1 i32.const 2 i32.shl + local.get $4 i32.add i32.load i32.const 3 @@ -15306,7 +15288,7 @@ local.get $1 i32.const 1 i32.sub - local.set $1 + local.set $0 br $while-continue|024 end end @@ -15327,34 +15309,35 @@ i32.const -1 local.set $1 block $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Int32Array,i32>|inlined.026 - local.get $0 + local.get $2 i32.load offset=8 i32.const 2 i32.shr_u - local.tee $2 + local.tee $0 i32.eqz br_if $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Int32Array,i32>|inlined.026 - local.get $2 + local.get $0 i32.const 1 i32.sub i32.const 3 - local.get $2 + local.get $0 i32.const 3 - i32.le_s + i32.le_u select - local.set $1 - local.get $0 + local.set $0 + local.get $2 i32.load offset=4 - local.set $2 + local.set $4 loop $while-continue|027 - local.get $1 + local.get $0 i32.const 0 i32.ge_s if - local.get $2 - local.get $1 + local.get $0 + local.tee $1 i32.const 2 i32.shl + local.get $4 i32.add i32.load i32.const 3 @@ -15363,7 +15346,7 @@ local.get $1 i32.const 1 i32.sub - local.set $1 + local.set $0 br $while-continue|027 end end @@ -15384,34 +15367,35 @@ i32.const -1 local.set $1 block $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Int32Array,i32>|inlined.029 - local.get $0 + local.get $2 i32.load offset=8 i32.const 2 i32.shr_u - local.tee $2 + local.tee $0 i32.eqz br_if $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Int32Array,i32>|inlined.029 - local.get $2 + local.get $0 i32.const 1 i32.sub i32.const 2 - local.get $2 + local.get $0 i32.const 2 - i32.le_s + i32.le_u select - local.set $1 - local.get $0 + local.set $0 + local.get $2 i32.load offset=4 - local.set $2 + local.set $4 loop $while-continue|030 - local.get $1 + local.get $0 i32.const 0 i32.ge_s if - local.get $2 - local.get $1 + local.get $0 + local.tee $1 i32.const 2 i32.shl + local.get $4 i32.add i32.load i32.const 3 @@ -15420,7 +15404,7 @@ local.get $1 i32.const 1 i32.sub - local.set $1 + local.set $0 br $while-continue|030 end end @@ -15441,34 +15425,35 @@ i32.const -1 local.set $1 block $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Int32Array,i32>|inlined.032 - local.get $0 + local.get $2 i32.load offset=8 i32.const 2 i32.shr_u - local.tee $2 + local.tee $0 i32.eqz br_if $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Int32Array,i32>|inlined.032 - local.get $2 + local.get $0 i32.const 1 i32.sub i32.const 100 - local.get $2 + local.get $0 i32.const 100 - i32.le_s + i32.le_u select - local.set $1 - local.get $0 + local.set $0 + local.get $2 i32.load offset=4 - local.set $2 + local.set $4 loop $while-continue|033 - local.get $1 + local.get $0 i32.const 0 i32.ge_s if - local.get $2 - local.get $1 + local.get $0 + local.tee $1 i32.const 2 i32.shl + local.get $4 i32.add i32.load i32.const 1 @@ -15477,7 +15462,7 @@ local.get $1 i32.const 1 i32.sub - local.set $1 + local.set $0 br $while-continue|033 end end @@ -15498,29 +15483,30 @@ i32.const -1 local.set $1 block $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Int32Array,i32>|inlined.035 - local.get $0 + local.get $2 i32.load offset=8 i32.const 2 i32.shr_u - local.tee $2 + local.tee $0 i32.eqz br_if $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Int32Array,i32>|inlined.035 - local.get $2 + local.get $0 i32.const 10 i32.sub - local.set $1 - local.get $0 + local.set $0 + local.get $2 i32.load offset=4 - local.set $2 + local.set $4 loop $while-continue|036 - local.get $1 + local.get $0 i32.const 0 i32.ge_s if - local.get $2 - local.get $1 + local.get $0 + local.tee $1 i32.const 2 i32.shl + local.get $4 i32.add i32.load i32.const 1 @@ -15529,7 +15515,7 @@ local.get $1 i32.const 1 i32.sub - local.set $1 + local.set $0 br $while-continue|036 end end @@ -15550,29 +15536,30 @@ i32.const -1 local.set $1 block $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Int32Array,i32>|inlined.038 - local.get $0 + local.get $2 i32.load offset=8 i32.const 2 i32.shr_u - local.tee $2 + local.tee $0 i32.eqz br_if $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Int32Array,i32>|inlined.038 - local.get $2 + local.get $0 i32.const 11 i32.sub - local.set $1 - local.get $0 + local.set $0 + local.get $2 i32.load offset=4 - local.set $2 + local.set $4 loop $while-continue|039 - local.get $1 + local.get $0 i32.const 0 i32.ge_s if - local.get $2 - local.get $1 + local.get $0 + local.tee $1 i32.const 2 i32.shl + local.get $4 i32.add i32.load i32.const 1 @@ -15581,7 +15568,7 @@ local.get $1 i32.const 1 i32.sub - local.set $1 + local.set $0 br $while-continue|039 end end @@ -15600,18 +15587,18 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $0 + local.get $2 i32.const 4 i32.const 9 call $~lib/typedarray/Int32Array#subarray - local.tee $4 + local.tee $2 i32.store offset=8 i32.const 0 local.set $0 i32.const -1 local.set $1 block $~lib/typedarray/INDEX_OF<~lib/typedarray/Int32Array,i32>|inlined.041 - local.get $4 + local.get $2 i32.load offset=8 i32.const 2 i32.shr_u @@ -15621,19 +15608,19 @@ select i32.eqz br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Int32Array,i32>|inlined.041 - local.get $4 + local.get $2 i32.load offset=4 - local.set $2 + local.set $4 loop $while-continue|042 local.get $0 local.get $3 i32.lt_s if - local.get $2 local.get $0 local.tee $1 i32.const 2 i32.shl + local.get $4 i32.add i32.load i32.const 3 @@ -15665,7 +15652,7 @@ i32.const -1 local.set $1 block $~lib/typedarray/INDEX_OF<~lib/typedarray/Int32Array,i32>|inlined.044 - local.get $4 + local.get $2 i32.load offset=8 i32.const 2 i32.shr_u @@ -15675,19 +15662,19 @@ select i32.eqz br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Int32Array,i32>|inlined.044 - local.get $4 + local.get $2 i32.load offset=4 - local.set $2 + local.set $4 loop $while-continue|045 local.get $0 local.get $3 i32.lt_s if - local.get $2 local.get $0 local.tee $1 i32.const 2 i32.shl + local.get $4 i32.add i32.load i32.const 4 @@ -15717,7 +15704,7 @@ i32.const -1 local.set $1 block $~lib/typedarray/INDEX_OF<~lib/typedarray/Int32Array,i32>|inlined.047 - local.get $4 + local.get $2 i32.load offset=8 i32.const 2 i32.shr_u @@ -15727,19 +15714,19 @@ select i32.eqz br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Int32Array,i32>|inlined.047 - local.get $4 + local.get $2 i32.load offset=4 - local.set $2 + local.set $4 loop $while-continue|048 local.get $0 local.get $3 i32.lt_s if - local.get $2 local.get $0 local.tee $1 i32.const 2 i32.shl + local.get $4 i32.add i32.load i32.const 5 @@ -15771,7 +15758,7 @@ i32.const -1 local.set $1 block $~lib/typedarray/INDEX_OF<~lib/typedarray/Int32Array,i32>|inlined.050 - local.get $4 + local.get $2 i32.load offset=8 i32.const 2 i32.shr_u @@ -15781,19 +15768,19 @@ select i32.eqz br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Int32Array,i32>|inlined.050 - local.get $4 + local.get $2 i32.load offset=4 - local.set $2 + local.set $4 loop $while-continue|051 local.get $0 local.get $3 i32.lt_s if - local.get $2 local.get $0 local.tee $1 i32.const 2 i32.shl + local.get $4 i32.add i32.load i32.const 9 @@ -15825,7 +15812,7 @@ i32.const -1 local.set $1 block $~lib/typedarray/INDEX_OF<~lib/typedarray/Int32Array,i32>|inlined.053 - local.get $4 + local.get $2 i32.load offset=8 i32.const 2 i32.shr_u @@ -15835,19 +15822,19 @@ select i32.eqz br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Int32Array,i32>|inlined.053 - local.get $4 + local.get $2 i32.load offset=4 - local.set $2 + local.set $4 loop $while-continue|054 local.get $0 local.get $3 i32.lt_s if - local.get $2 local.get $0 local.tee $1 i32.const 2 i32.shl + local.get $4 i32.add i32.load i32.const 10 @@ -15879,7 +15866,7 @@ i32.const -1 local.set $1 block $~lib/typedarray/INDEX_OF<~lib/typedarray/Int32Array,i32>|inlined.056 - local.get $4 + local.get $2 i32.load offset=8 i32.const 2 i32.shr_u @@ -15889,19 +15876,19 @@ select i32.eqz br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Int32Array,i32>|inlined.056 - local.get $4 + local.get $2 i32.load offset=4 - local.set $2 + local.set $4 loop $while-continue|057 local.get $0 local.get $3 i32.lt_s if - local.get $2 local.get $0 local.tee $1 i32.const 2 i32.shl + local.get $4 i32.add i32.load i32.const 11 @@ -15933,7 +15920,7 @@ i32.const -1 local.set $1 block $~lib/typedarray/INDEX_OF<~lib/typedarray/Int32Array,i32>|inlined.059 - local.get $4 + local.get $2 i32.load offset=8 i32.const 2 i32.shr_u @@ -15944,19 +15931,19 @@ local.get $3 select br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Int32Array,i32>|inlined.059 - local.get $4 + local.get $2 i32.load offset=4 - local.set $2 + local.set $4 loop $while-continue|060 local.get $0 local.get $3 i32.lt_s if - local.get $2 local.get $0 local.tee $1 i32.const 2 i32.shl + local.get $4 i32.add i32.load i32.const 5 @@ -15988,30 +15975,30 @@ i32.const -1 local.set $1 block $~lib/typedarray/INDEX_OF<~lib/typedarray/Int32Array,i32>|inlined.062 - local.get $4 + local.get $2 i32.load offset=8 i32.const 2 i32.shr_u - local.tee $3 + local.tee $4 i32.const 2 i32.le_u i32.const 1 - local.get $3 + local.get $4 select br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Int32Array,i32>|inlined.062 - local.get $4 + local.get $2 i32.load offset=4 local.set $2 loop $while-continue|063 local.get $0 - local.get $3 + local.get $4 i32.lt_s if - local.get $2 local.get $0 local.tee $1 i32.const 2 i32.shl + local.get $2 i32.add i32.load i32.const 5 @@ -16108,25 +16095,25 @@ i32.load offset=8 i32.const 2 i32.shr_u - local.tee $4 + local.tee $3 i32.const 0 - local.get $4 + local.get $3 select i32.eqz br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Uint32Array,u32>|inlined.0 local.get $2 i32.load offset=4 - local.set $3 + local.set $4 loop $while-continue|0 local.get $0 - local.get $4 + local.get $3 i32.lt_s if - local.get $3 local.get $0 local.tee $1 i32.const 2 i32.shl + local.get $4 i32.add i32.load i32.eqz @@ -16159,25 +16146,25 @@ i32.load offset=8 i32.const 2 i32.shr_u - local.tee $4 + local.tee $3 i32.const 0 - local.get $4 + local.get $3 select i32.eqz br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Uint32Array,u32>|inlined.01 local.get $2 i32.load offset=4 - local.set $3 + local.set $4 loop $while-continue|02 local.get $0 - local.get $4 + local.get $3 i32.lt_s if - local.get $3 local.get $0 local.tee $1 i32.const 2 i32.shl + local.get $4 i32.add i32.load i32.const 11 @@ -16213,25 +16200,25 @@ i32.load offset=8 i32.const 2 i32.shr_u - local.tee $4 + local.tee $3 i32.const 0 - local.get $4 + local.get $3 select i32.eqz br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Uint32Array,u32>|inlined.04 local.get $2 i32.load offset=4 - local.set $3 + local.set $4 loop $while-continue|05 local.get $0 - local.get $4 + local.get $3 i32.lt_s if - local.get $3 local.get $0 local.tee $1 i32.const 2 i32.shl + local.get $4 i32.add i32.load i32.const -1 @@ -16267,25 +16254,25 @@ i32.load offset=8 i32.const 2 i32.shr_u - local.tee $4 + local.tee $3 i32.const 0 - local.get $4 + local.get $3 select i32.eqz br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Uint32Array,u32>|inlined.07 local.get $2 i32.load offset=4 - local.set $3 + local.set $4 loop $while-continue|08 local.get $0 - local.get $4 + local.get $3 i32.lt_s if - local.get $3 local.get $0 local.tee $1 i32.const 2 i32.shl + local.get $4 i32.add i32.load i32.const 3 @@ -16321,26 +16308,26 @@ i32.load offset=8 i32.const 2 i32.shr_u - local.tee $4 + local.tee $3 i32.const 2 i32.le_u i32.const 1 - local.get $4 + local.get $3 select br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Uint32Array,u32>|inlined.010 local.get $2 i32.load offset=4 - local.set $3 + local.set $4 loop $while-continue|011 local.get $0 - local.get $4 + local.get $3 i32.lt_s if - local.get $3 local.get $0 local.tee $1 i32.const 2 i32.shl + local.get $4 i32.add i32.load i32.const 3 @@ -16376,26 +16363,26 @@ i32.load offset=8 i32.const 2 i32.shr_u - local.tee $4 + local.tee $3 i32.const 3 i32.le_u i32.const 1 - local.get $4 + local.get $3 select br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Uint32Array,u32>|inlined.013 local.get $2 i32.load offset=4 - local.set $3 + local.set $4 loop $while-continue|014 local.get $0 - local.get $4 + local.get $3 i32.lt_s if - local.get $3 local.get $0 local.tee $1 i32.const 2 i32.shl + local.get $4 i32.add i32.load i32.const 3 @@ -16431,26 +16418,26 @@ i32.load offset=8 i32.const 2 i32.shr_u - local.tee $4 + local.tee $3 i32.const 4 i32.le_u i32.const 1 - local.get $4 + local.get $3 select br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Uint32Array,u32>|inlined.016 local.get $2 i32.load offset=4 - local.set $3 + local.set $4 loop $while-continue|017 local.get $0 - local.get $4 + local.get $3 i32.lt_s if - local.get $3 local.get $0 local.tee $1 i32.const 2 i32.shl + local.get $4 i32.add i32.load i32.const 3 @@ -16486,26 +16473,26 @@ i32.load offset=8 i32.const 2 i32.shr_u - local.tee $4 + local.tee $3 i32.const 10 i32.le_u i32.const 1 - local.get $4 + local.get $3 select br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Uint32Array,u32>|inlined.019 local.get $2 i32.load offset=4 - local.set $3 + local.set $4 loop $while-continue|020 local.get $0 - local.get $4 + local.get $3 i32.lt_s if - local.get $3 local.get $0 local.tee $1 i32.const 2 i32.shl + local.get $4 i32.add i32.load i32.const 1 @@ -16549,25 +16536,26 @@ local.get $3 i32.const 100 i32.sub - local.tee $0 + local.tee $1 i32.const 0 - local.get $0 + local.get $1 i32.const 0 i32.gt_s select - local.set $1 + local.set $0 local.get $2 i32.load offset=4 - local.set $0 + local.set $4 loop $while-continue|023 - local.get $1 + local.get $0 local.get $3 i32.lt_s if local.get $0 - local.get $1 + local.tee $1 i32.const 2 i32.shl + local.get $4 i32.add i32.load i32.const 1 @@ -16576,7 +16564,7 @@ local.get $1 i32.const 1 i32.add - local.set $1 + local.set $0 br $while-continue|023 end end @@ -16597,64 +16585,61 @@ i32.const 1 global.set $~argumentsLength local.get $2 - local.tee $0 i32.load offset=8 i32.const 2 i32.shr_u - local.set $1 + local.tee $4 + local.set $0 i32.const -1 - local.set $2 + local.set $1 block $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Uint32Array,u32>|inlined.0 - local.get $0 - i32.load offset=8 - i32.const 2 - i32.shr_u - local.tee $3 + local.get $4 i32.eqz br_if $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Uint32Array,u32>|inlined.0 - local.get $1 - local.get $3 + local.get $0 + local.get $4 i32.add - local.get $3 + local.get $4 i32.const 1 i32.sub - local.get $1 - local.get $1 - local.get $3 + local.get $0 + local.get $0 + local.get $4 i32.ge_s select - local.get $1 + local.get $0 i32.const 0 i32.lt_s select - local.set $2 - local.get $0 + local.set $0 + local.get $2 i32.load offset=4 - local.set $1 + local.set $4 loop $while-continue|00 - local.get $2 + local.get $0 i32.const 0 i32.ge_s if - local.get $1 - local.get $2 + local.get $0 + local.tee $1 i32.const 2 i32.shl + local.get $4 i32.add i32.load i32.eqz br_if $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Uint32Array,u32>|inlined.0 - local.get $2 + local.get $1 i32.const 1 i32.sub - local.set $2 + local.set $0 br $while-continue|00 end end i32.const -1 - local.set $2 + local.set $1 end - local.get $2 + local.get $1 if i32.const 0 i32.const 1568 @@ -16665,65 +16650,63 @@ end i32.const 1 global.set $~argumentsLength - local.get $0 + local.get $2 i32.load offset=8 i32.const 2 i32.shr_u - local.set $1 + local.tee $4 + local.set $0 i32.const -1 - local.set $2 + local.set $1 block $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Uint32Array,u32>|inlined.05 - local.get $0 - i32.load offset=8 - i32.const 2 - i32.shr_u - local.tee $3 + local.get $4 i32.eqz br_if $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Uint32Array,u32>|inlined.05 - local.get $1 - local.get $3 + local.get $0 + local.get $4 i32.add - local.get $3 + local.get $4 i32.const 1 i32.sub - local.get $1 - local.get $1 - local.get $3 + local.get $0 + local.get $0 + local.get $4 i32.ge_s select - local.get $1 + local.get $0 i32.const 0 i32.lt_s select - local.set $2 - local.get $0 + local.set $0 + local.get $2 i32.load offset=4 - local.set $1 + local.set $4 loop $while-continue|06 - local.get $2 + local.get $0 i32.const 0 i32.ge_s if - local.get $1 - local.get $2 + local.get $0 + local.tee $1 i32.const 2 i32.shl + local.get $4 i32.add i32.load i32.const 11 i32.eq br_if $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Uint32Array,u32>|inlined.05 - local.get $2 + local.get $1 i32.const 1 i32.sub - local.set $2 + local.set $0 br $while-continue|06 end end i32.const -1 - local.set $2 + local.set $1 end - local.get $2 + local.get $1 i32.const -1 i32.ne if @@ -16736,65 +16719,63 @@ end i32.const 1 global.set $~argumentsLength - local.get $0 + local.get $2 i32.load offset=8 i32.const 2 i32.shr_u - local.set $1 + local.tee $4 + local.set $0 i32.const -1 - local.set $2 + local.set $1 block $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Uint32Array,u32>|inlined.011 - local.get $0 - i32.load offset=8 - i32.const 2 - i32.shr_u - local.tee $3 + local.get $4 i32.eqz br_if $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Uint32Array,u32>|inlined.011 - local.get $1 - local.get $3 + local.get $0 + local.get $4 i32.add - local.get $3 + local.get $4 i32.const 1 i32.sub - local.get $1 - local.get $1 - local.get $3 + local.get $0 + local.get $0 + local.get $4 i32.ge_s select - local.get $1 + local.get $0 i32.const 0 i32.lt_s select - local.set $2 - local.get $0 + local.set $0 + local.get $2 i32.load offset=4 - local.set $1 + local.set $4 loop $while-continue|012 - local.get $2 + local.get $0 i32.const 0 i32.ge_s if - local.get $1 - local.get $2 + local.get $0 + local.tee $1 i32.const 2 i32.shl + local.get $4 i32.add i32.load i32.const -1 i32.eq br_if $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Uint32Array,u32>|inlined.011 - local.get $2 + local.get $1 i32.const 1 i32.sub - local.set $2 + local.set $0 br $while-continue|012 end end i32.const -1 - local.set $2 + local.set $1 end - local.get $2 + local.get $1 i32.const -1 i32.ne if @@ -16807,65 +16788,63 @@ end i32.const 1 global.set $~argumentsLength - local.get $0 + local.get $2 i32.load offset=8 i32.const 2 i32.shr_u - local.set $1 + local.tee $4 + local.set $0 i32.const -1 - local.set $2 + local.set $1 block $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Uint32Array,u32>|inlined.017 - local.get $0 - i32.load offset=8 - i32.const 2 - i32.shr_u - local.tee $3 + local.get $4 i32.eqz br_if $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Uint32Array,u32>|inlined.017 - local.get $1 - local.get $3 + local.get $0 + local.get $4 i32.add - local.get $3 + local.get $4 i32.const 1 i32.sub - local.get $1 - local.get $1 - local.get $3 + local.get $0 + local.get $0 + local.get $4 i32.ge_s select - local.get $1 + local.get $0 i32.const 0 i32.lt_s select - local.set $2 - local.get $0 + local.set $0 + local.get $2 i32.load offset=4 - local.set $1 + local.set $4 loop $while-continue|018 - local.get $2 + local.get $0 i32.const 0 i32.ge_s if - local.get $1 - local.get $2 + local.get $0 + local.tee $1 i32.const 2 i32.shl + local.get $4 i32.add i32.load i32.const 3 i32.eq br_if $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Uint32Array,u32>|inlined.017 - local.get $2 + local.get $1 i32.const 1 i32.sub - local.set $2 + local.set $0 br $while-continue|018 end end i32.const -1 - local.set $2 + local.set $1 end - local.get $2 + local.get $1 i32.const 3 i32.ne if @@ -16879,34 +16858,35 @@ i32.const -1 local.set $1 block $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Uint32Array,u32>|inlined.019 - local.get $0 + local.get $2 i32.load offset=8 i32.const 2 i32.shr_u - local.tee $2 + local.tee $0 i32.eqz br_if $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Uint32Array,u32>|inlined.019 - local.get $2 + local.get $0 i32.const 1 i32.sub i32.const 4 - local.get $2 + local.get $0 i32.const 4 - i32.le_s + i32.le_u select - local.set $1 - local.get $0 + local.set $0 + local.get $2 i32.load offset=4 - local.set $2 + local.set $4 loop $while-continue|024 - local.get $1 + local.get $0 i32.const 0 i32.ge_s if - local.get $2 - local.get $1 + local.get $0 + local.tee $1 i32.const 2 i32.shl + local.get $4 i32.add i32.load i32.const 3 @@ -16915,7 +16895,7 @@ local.get $1 i32.const 1 i32.sub - local.set $1 + local.set $0 br $while-continue|024 end end @@ -16936,34 +16916,35 @@ i32.const -1 local.set $1 block $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Uint32Array,u32>|inlined.026 - local.get $0 + local.get $2 i32.load offset=8 i32.const 2 i32.shr_u - local.tee $2 + local.tee $0 i32.eqz br_if $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Uint32Array,u32>|inlined.026 - local.get $2 + local.get $0 i32.const 1 i32.sub i32.const 3 - local.get $2 + local.get $0 i32.const 3 - i32.le_s + i32.le_u select - local.set $1 - local.get $0 + local.set $0 + local.get $2 i32.load offset=4 - local.set $2 + local.set $4 loop $while-continue|027 - local.get $1 + local.get $0 i32.const 0 i32.ge_s if - local.get $2 - local.get $1 + local.get $0 + local.tee $1 i32.const 2 i32.shl + local.get $4 i32.add i32.load i32.const 3 @@ -16972,7 +16953,7 @@ local.get $1 i32.const 1 i32.sub - local.set $1 + local.set $0 br $while-continue|027 end end @@ -16993,34 +16974,35 @@ i32.const -1 local.set $1 block $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Uint32Array,u32>|inlined.029 - local.get $0 + local.get $2 i32.load offset=8 i32.const 2 i32.shr_u - local.tee $2 + local.tee $0 i32.eqz br_if $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Uint32Array,u32>|inlined.029 - local.get $2 + local.get $0 i32.const 1 i32.sub i32.const 2 - local.get $2 + local.get $0 i32.const 2 - i32.le_s + i32.le_u select - local.set $1 - local.get $0 + local.set $0 + local.get $2 i32.load offset=4 - local.set $2 + local.set $4 loop $while-continue|030 - local.get $1 + local.get $0 i32.const 0 i32.ge_s if - local.get $2 - local.get $1 + local.get $0 + local.tee $1 i32.const 2 i32.shl + local.get $4 i32.add i32.load i32.const 3 @@ -17029,7 +17011,7 @@ local.get $1 i32.const 1 i32.sub - local.set $1 + local.set $0 br $while-continue|030 end end @@ -17050,34 +17032,35 @@ i32.const -1 local.set $1 block $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Uint32Array,u32>|inlined.032 - local.get $0 + local.get $2 i32.load offset=8 i32.const 2 i32.shr_u - local.tee $2 + local.tee $0 i32.eqz br_if $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Uint32Array,u32>|inlined.032 - local.get $2 + local.get $0 i32.const 1 i32.sub i32.const 100 - local.get $2 + local.get $0 i32.const 100 - i32.le_s + i32.le_u select - local.set $1 - local.get $0 + local.set $0 + local.get $2 i32.load offset=4 - local.set $2 + local.set $4 loop $while-continue|033 - local.get $1 + local.get $0 i32.const 0 i32.ge_s if - local.get $2 - local.get $1 + local.get $0 + local.tee $1 i32.const 2 i32.shl + local.get $4 i32.add i32.load i32.const 1 @@ -17086,7 +17069,7 @@ local.get $1 i32.const 1 i32.sub - local.set $1 + local.set $0 br $while-continue|033 end end @@ -17107,29 +17090,30 @@ i32.const -1 local.set $1 block $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Uint32Array,u32>|inlined.035 - local.get $0 + local.get $2 i32.load offset=8 i32.const 2 i32.shr_u - local.tee $2 + local.tee $0 i32.eqz br_if $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Uint32Array,u32>|inlined.035 - local.get $2 + local.get $0 i32.const 10 i32.sub - local.set $1 - local.get $0 + local.set $0 + local.get $2 i32.load offset=4 - local.set $2 + local.set $4 loop $while-continue|036 - local.get $1 + local.get $0 i32.const 0 i32.ge_s if - local.get $2 - local.get $1 + local.get $0 + local.tee $1 i32.const 2 i32.shl + local.get $4 i32.add i32.load i32.const 1 @@ -17138,7 +17122,7 @@ local.get $1 i32.const 1 i32.sub - local.set $1 + local.set $0 br $while-continue|036 end end @@ -17159,29 +17143,30 @@ i32.const -1 local.set $1 block $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Uint32Array,u32>|inlined.038 - local.get $0 + local.get $2 i32.load offset=8 i32.const 2 i32.shr_u - local.tee $2 + local.tee $0 i32.eqz br_if $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Uint32Array,u32>|inlined.038 - local.get $2 + local.get $0 i32.const 11 i32.sub - local.set $1 - local.get $0 + local.set $0 + local.get $2 i32.load offset=4 - local.set $2 + local.set $4 loop $while-continue|039 - local.get $1 + local.get $0 i32.const 0 i32.ge_s if - local.get $2 - local.get $1 + local.get $0 + local.tee $1 i32.const 2 i32.shl + local.get $4 i32.add i32.load i32.const 1 @@ -17190,7 +17175,7 @@ local.get $1 i32.const 1 i32.sub - local.set $1 + local.set $0 br $while-continue|039 end end @@ -17209,17 +17194,17 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $0 + local.get $2 i32.const 9 call $~lib/typedarray/Uint32Array#subarray - local.tee $4 + local.tee $2 i32.store offset=8 i32.const 0 local.set $0 i32.const -1 local.set $1 block $~lib/typedarray/INDEX_OF<~lib/typedarray/Uint32Array,u32>|inlined.041 - local.get $4 + local.get $2 i32.load offset=8 i32.const 2 i32.shr_u @@ -17229,19 +17214,19 @@ select i32.eqz br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Uint32Array,u32>|inlined.041 - local.get $4 + local.get $2 i32.load offset=4 - local.set $2 + local.set $4 loop $while-continue|042 local.get $0 local.get $3 i32.lt_s if - local.get $2 local.get $0 local.tee $1 i32.const 2 i32.shl + local.get $4 i32.add i32.load i32.const 3 @@ -17273,7 +17258,7 @@ i32.const -1 local.set $1 block $~lib/typedarray/INDEX_OF<~lib/typedarray/Uint32Array,u32>|inlined.044 - local.get $4 + local.get $2 i32.load offset=8 i32.const 2 i32.shr_u @@ -17283,19 +17268,19 @@ select i32.eqz br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Uint32Array,u32>|inlined.044 - local.get $4 + local.get $2 i32.load offset=4 - local.set $2 + local.set $4 loop $while-continue|045 local.get $0 local.get $3 i32.lt_s if - local.get $2 local.get $0 local.tee $1 i32.const 2 i32.shl + local.get $4 i32.add i32.load i32.const 4 @@ -17325,7 +17310,7 @@ i32.const -1 local.set $1 block $~lib/typedarray/INDEX_OF<~lib/typedarray/Uint32Array,u32>|inlined.047 - local.get $4 + local.get $2 i32.load offset=8 i32.const 2 i32.shr_u @@ -17335,19 +17320,19 @@ select i32.eqz br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Uint32Array,u32>|inlined.047 - local.get $4 + local.get $2 i32.load offset=4 - local.set $2 + local.set $4 loop $while-continue|048 local.get $0 local.get $3 i32.lt_s if - local.get $2 local.get $0 local.tee $1 i32.const 2 i32.shl + local.get $4 i32.add i32.load i32.const 5 @@ -17379,7 +17364,7 @@ i32.const -1 local.set $1 block $~lib/typedarray/INDEX_OF<~lib/typedarray/Uint32Array,u32>|inlined.050 - local.get $4 + local.get $2 i32.load offset=8 i32.const 2 i32.shr_u @@ -17389,19 +17374,19 @@ select i32.eqz br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Uint32Array,u32>|inlined.050 - local.get $4 + local.get $2 i32.load offset=4 - local.set $2 + local.set $4 loop $while-continue|051 local.get $0 local.get $3 i32.lt_s if - local.get $2 local.get $0 local.tee $1 i32.const 2 i32.shl + local.get $4 i32.add i32.load i32.const 9 @@ -17433,7 +17418,7 @@ i32.const -1 local.set $1 block $~lib/typedarray/INDEX_OF<~lib/typedarray/Uint32Array,u32>|inlined.053 - local.get $4 + local.get $2 i32.load offset=8 i32.const 2 i32.shr_u @@ -17443,19 +17428,19 @@ select i32.eqz br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Uint32Array,u32>|inlined.053 - local.get $4 + local.get $2 i32.load offset=4 - local.set $2 + local.set $4 loop $while-continue|054 local.get $0 local.get $3 i32.lt_s if - local.get $2 local.get $0 local.tee $1 i32.const 2 i32.shl + local.get $4 i32.add i32.load i32.const 10 @@ -17487,7 +17472,7 @@ i32.const -1 local.set $1 block $~lib/typedarray/INDEX_OF<~lib/typedarray/Uint32Array,u32>|inlined.056 - local.get $4 + local.get $2 i32.load offset=8 i32.const 2 i32.shr_u @@ -17497,19 +17482,19 @@ select i32.eqz br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Uint32Array,u32>|inlined.056 - local.get $4 + local.get $2 i32.load offset=4 - local.set $2 + local.set $4 loop $while-continue|057 local.get $0 local.get $3 i32.lt_s if - local.get $2 local.get $0 local.tee $1 i32.const 2 i32.shl + local.get $4 i32.add i32.load i32.const 11 @@ -17541,7 +17526,7 @@ i32.const -1 local.set $1 block $~lib/typedarray/INDEX_OF<~lib/typedarray/Uint32Array,u32>|inlined.059 - local.get $4 + local.get $2 i32.load offset=8 i32.const 2 i32.shr_u @@ -17552,19 +17537,19 @@ local.get $3 select br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Uint32Array,u32>|inlined.059 - local.get $4 + local.get $2 i32.load offset=4 - local.set $2 + local.set $4 loop $while-continue|060 local.get $0 local.get $3 i32.lt_s if - local.get $2 local.get $0 local.tee $1 i32.const 2 i32.shl + local.get $4 i32.add i32.load i32.const 5 @@ -17596,30 +17581,30 @@ i32.const -1 local.set $1 block $~lib/typedarray/INDEX_OF<~lib/typedarray/Uint32Array,u32>|inlined.062 - local.get $4 + local.get $2 i32.load offset=8 i32.const 2 i32.shr_u - local.tee $3 + local.tee $4 i32.const 2 i32.le_u i32.const 1 - local.get $3 + local.get $4 select br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Uint32Array,u32>|inlined.062 - local.get $4 + local.get $2 i32.load offset=4 local.set $2 loop $while-continue|063 local.get $0 - local.get $3 + local.get $4 i32.lt_s if - local.get $2 local.get $0 local.tee $1 i32.const 2 i32.shl + local.get $2 i32.add i32.load i32.const 5 @@ -17717,25 +17702,25 @@ i32.load offset=8 i32.const 3 i32.shr_u - local.tee $4 + local.tee $3 i32.const 0 - local.get $4 + local.get $3 select i32.eqz br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Int64Array,i64>|inlined.0 local.get $2 i32.load offset=4 - local.set $3 + local.set $4 loop $while-continue|0 local.get $0 - local.get $4 + local.get $3 i32.lt_s if - local.get $3 local.get $0 local.tee $1 i32.const 3 i32.shl + local.get $4 i32.add i64.load i64.eqz @@ -17768,25 +17753,25 @@ i32.load offset=8 i32.const 3 i32.shr_u - local.tee $4 + local.tee $3 i32.const 0 - local.get $4 + local.get $3 select i32.eqz br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Int64Array,i64>|inlined.01 local.get $2 i32.load offset=4 - local.set $3 + local.set $4 loop $while-continue|02 local.get $0 - local.get $4 + local.get $3 i32.lt_s if - local.get $3 local.get $0 local.tee $1 i32.const 3 i32.shl + local.get $4 i32.add i64.load i64.const 11 @@ -17822,25 +17807,25 @@ i32.load offset=8 i32.const 3 i32.shr_u - local.tee $4 + local.tee $3 i32.const 0 - local.get $4 + local.get $3 select i32.eqz br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Int64Array,i64>|inlined.04 local.get $2 i32.load offset=4 - local.set $3 + local.set $4 loop $while-continue|05 local.get $0 - local.get $4 + local.get $3 i32.lt_s if - local.get $3 local.get $0 local.tee $1 i32.const 3 i32.shl + local.get $4 i32.add i64.load i64.const -1 @@ -17876,25 +17861,25 @@ i32.load offset=8 i32.const 3 i32.shr_u - local.tee $4 + local.tee $3 i32.const 0 - local.get $4 + local.get $3 select i32.eqz br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Int64Array,i64>|inlined.07 local.get $2 i32.load offset=4 - local.set $3 + local.set $4 loop $while-continue|08 local.get $0 - local.get $4 + local.get $3 i32.lt_s if - local.get $3 local.get $0 local.tee $1 i32.const 3 i32.shl + local.get $4 i32.add i64.load i64.const 3 @@ -17930,26 +17915,26 @@ i32.load offset=8 i32.const 3 i32.shr_u - local.tee $4 + local.tee $3 i32.const 2 i32.le_u i32.const 1 - local.get $4 + local.get $3 select br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Int64Array,i64>|inlined.010 local.get $2 i32.load offset=4 - local.set $3 + local.set $4 loop $while-continue|011 local.get $0 - local.get $4 + local.get $3 i32.lt_s if - local.get $3 local.get $0 local.tee $1 i32.const 3 i32.shl + local.get $4 i32.add i64.load i64.const 3 @@ -17985,26 +17970,26 @@ i32.load offset=8 i32.const 3 i32.shr_u - local.tee $4 + local.tee $3 i32.const 3 i32.le_u i32.const 1 - local.get $4 + local.get $3 select br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Int64Array,i64>|inlined.013 local.get $2 i32.load offset=4 - local.set $3 + local.set $4 loop $while-continue|014 local.get $0 - local.get $4 + local.get $3 i32.lt_s if - local.get $3 local.get $0 local.tee $1 i32.const 3 i32.shl + local.get $4 i32.add i64.load i64.const 3 @@ -18040,26 +18025,26 @@ i32.load offset=8 i32.const 3 i32.shr_u - local.tee $4 + local.tee $3 i32.const 4 i32.le_u i32.const 1 - local.get $4 + local.get $3 select br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Int64Array,i64>|inlined.016 local.get $2 i32.load offset=4 - local.set $3 + local.set $4 loop $while-continue|017 local.get $0 - local.get $4 + local.get $3 i32.lt_s if - local.get $3 local.get $0 local.tee $1 i32.const 3 i32.shl + local.get $4 i32.add i64.load i64.const 3 @@ -18095,26 +18080,26 @@ i32.load offset=8 i32.const 3 i32.shr_u - local.tee $4 + local.tee $3 i32.const 10 i32.le_u i32.const 1 - local.get $4 + local.get $3 select br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Int64Array,i64>|inlined.019 local.get $2 i32.load offset=4 - local.set $3 + local.set $4 loop $while-continue|020 local.get $0 - local.get $4 + local.get $3 i32.lt_s if - local.get $3 local.get $0 local.tee $1 i32.const 3 i32.shl + local.get $4 i32.add i64.load i64.const 1 @@ -18158,25 +18143,26 @@ local.get $3 i32.const 100 i32.sub - local.tee $0 + local.tee $1 i32.const 0 - local.get $0 + local.get $1 i32.const 0 i32.gt_s select - local.set $1 + local.set $0 local.get $2 i32.load offset=4 - local.set $0 + local.set $4 loop $while-continue|023 - local.get $1 + local.get $0 local.get $3 i32.lt_s if local.get $0 - local.get $1 + local.tee $1 i32.const 3 i32.shl + local.get $4 i32.add i64.load i64.const 1 @@ -18185,7 +18171,7 @@ local.get $1 i32.const 1 i32.add - local.set $1 + local.set $0 br $while-continue|023 end end @@ -18206,64 +18192,61 @@ i32.const 1 global.set $~argumentsLength local.get $2 - local.tee $0 i32.load offset=8 i32.const 3 i32.shr_u - local.set $1 + local.tee $4 + local.set $0 i32.const -1 - local.set $2 + local.set $1 block $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Int64Array,i64>|inlined.0 - local.get $0 - i32.load offset=8 - i32.const 3 - i32.shr_u - local.tee $3 + local.get $4 i32.eqz br_if $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Int64Array,i64>|inlined.0 - local.get $1 - local.get $3 + local.get $0 + local.get $4 i32.add - local.get $3 + local.get $4 i32.const 1 i32.sub - local.get $1 - local.get $1 - local.get $3 + local.get $0 + local.get $0 + local.get $4 i32.ge_s select - local.get $1 + local.get $0 i32.const 0 i32.lt_s select - local.set $2 - local.get $0 + local.set $0 + local.get $2 i32.load offset=4 - local.set $1 + local.set $4 loop $while-continue|00 - local.get $2 + local.get $0 i32.const 0 i32.ge_s if - local.get $1 - local.get $2 + local.get $0 + local.tee $1 i32.const 3 i32.shl + local.get $4 i32.add i64.load i64.eqz br_if $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Int64Array,i64>|inlined.0 - local.get $2 + local.get $1 i32.const 1 i32.sub - local.set $2 + local.set $0 br $while-continue|00 end end i32.const -1 - local.set $2 + local.set $1 end - local.get $2 + local.get $1 if i32.const 0 i32.const 1568 @@ -18274,65 +18257,63 @@ end i32.const 1 global.set $~argumentsLength - local.get $0 + local.get $2 i32.load offset=8 i32.const 3 i32.shr_u - local.set $1 + local.tee $4 + local.set $0 i32.const -1 - local.set $2 + local.set $1 block $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Int64Array,i64>|inlined.05 - local.get $0 - i32.load offset=8 - i32.const 3 - i32.shr_u - local.tee $3 + local.get $4 i32.eqz br_if $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Int64Array,i64>|inlined.05 - local.get $1 - local.get $3 + local.get $0 + local.get $4 i32.add - local.get $3 + local.get $4 i32.const 1 i32.sub - local.get $1 - local.get $1 - local.get $3 + local.get $0 + local.get $0 + local.get $4 i32.ge_s select - local.get $1 + local.get $0 i32.const 0 i32.lt_s select - local.set $2 - local.get $0 + local.set $0 + local.get $2 i32.load offset=4 - local.set $1 + local.set $4 loop $while-continue|06 - local.get $2 + local.get $0 i32.const 0 i32.ge_s if - local.get $1 - local.get $2 + local.get $0 + local.tee $1 i32.const 3 i32.shl + local.get $4 i32.add i64.load i64.const 11 i64.eq br_if $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Int64Array,i64>|inlined.05 - local.get $2 + local.get $1 i32.const 1 i32.sub - local.set $2 + local.set $0 br $while-continue|06 end end i32.const -1 - local.set $2 + local.set $1 end - local.get $2 + local.get $1 i32.const -1 i32.ne if @@ -18345,65 +18326,63 @@ end i32.const 1 global.set $~argumentsLength - local.get $0 + local.get $2 i32.load offset=8 i32.const 3 i32.shr_u - local.set $1 + local.tee $4 + local.set $0 i32.const -1 - local.set $2 + local.set $1 block $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Int64Array,i64>|inlined.011 - local.get $0 - i32.load offset=8 - i32.const 3 - i32.shr_u - local.tee $3 + local.get $4 i32.eqz br_if $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Int64Array,i64>|inlined.011 - local.get $1 - local.get $3 + local.get $0 + local.get $4 i32.add - local.get $3 + local.get $4 i32.const 1 i32.sub - local.get $1 - local.get $1 - local.get $3 + local.get $0 + local.get $0 + local.get $4 i32.ge_s select - local.get $1 + local.get $0 i32.const 0 i32.lt_s select - local.set $2 - local.get $0 + local.set $0 + local.get $2 i32.load offset=4 - local.set $1 + local.set $4 loop $while-continue|012 - local.get $2 + local.get $0 i32.const 0 i32.ge_s if - local.get $1 - local.get $2 + local.get $0 + local.tee $1 i32.const 3 i32.shl + local.get $4 i32.add i64.load i64.const -1 i64.eq br_if $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Int64Array,i64>|inlined.011 - local.get $2 + local.get $1 i32.const 1 i32.sub - local.set $2 + local.set $0 br $while-continue|012 end end i32.const -1 - local.set $2 + local.set $1 end - local.get $2 + local.get $1 i32.const -1 i32.ne if @@ -18416,65 +18395,63 @@ end i32.const 1 global.set $~argumentsLength - local.get $0 + local.get $2 i32.load offset=8 i32.const 3 i32.shr_u - local.set $1 + local.tee $4 + local.set $0 i32.const -1 - local.set $2 + local.set $1 block $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Int64Array,i64>|inlined.017 - local.get $0 - i32.load offset=8 - i32.const 3 - i32.shr_u - local.tee $3 + local.get $4 i32.eqz br_if $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Int64Array,i64>|inlined.017 - local.get $1 - local.get $3 + local.get $0 + local.get $4 i32.add - local.get $3 + local.get $4 i32.const 1 i32.sub - local.get $1 - local.get $1 - local.get $3 + local.get $0 + local.get $0 + local.get $4 i32.ge_s select - local.get $1 + local.get $0 i32.const 0 i32.lt_s select - local.set $2 - local.get $0 + local.set $0 + local.get $2 i32.load offset=4 - local.set $1 + local.set $4 loop $while-continue|018 - local.get $2 + local.get $0 i32.const 0 i32.ge_s if - local.get $1 - local.get $2 + local.get $0 + local.tee $1 i32.const 3 i32.shl + local.get $4 i32.add i64.load i64.const 3 i64.eq br_if $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Int64Array,i64>|inlined.017 - local.get $2 + local.get $1 i32.const 1 i32.sub - local.set $2 + local.set $0 br $while-continue|018 end end i32.const -1 - local.set $2 + local.set $1 end - local.get $2 + local.get $1 i32.const 3 i32.ne if @@ -18488,34 +18465,35 @@ i32.const -1 local.set $1 block $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Int64Array,i64>|inlined.019 - local.get $0 + local.get $2 i32.load offset=8 i32.const 3 i32.shr_u - local.tee $2 + local.tee $0 i32.eqz br_if $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Int64Array,i64>|inlined.019 - local.get $2 + local.get $0 i32.const 1 i32.sub i32.const 4 - local.get $2 + local.get $0 i32.const 4 - i32.le_s + i32.le_u select - local.set $1 - local.get $0 + local.set $0 + local.get $2 i32.load offset=4 - local.set $2 + local.set $4 loop $while-continue|024 - local.get $1 + local.get $0 i32.const 0 i32.ge_s if - local.get $2 - local.get $1 + local.get $0 + local.tee $1 i32.const 3 i32.shl + local.get $4 i32.add i64.load i64.const 3 @@ -18524,7 +18502,7 @@ local.get $1 i32.const 1 i32.sub - local.set $1 + local.set $0 br $while-continue|024 end end @@ -18545,34 +18523,35 @@ i32.const -1 local.set $1 block $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Int64Array,i64>|inlined.026 - local.get $0 + local.get $2 i32.load offset=8 i32.const 3 i32.shr_u - local.tee $2 + local.tee $0 i32.eqz br_if $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Int64Array,i64>|inlined.026 - local.get $2 + local.get $0 i32.const 1 i32.sub i32.const 3 - local.get $2 + local.get $0 i32.const 3 - i32.le_s + i32.le_u select - local.set $1 - local.get $0 + local.set $0 + local.get $2 i32.load offset=4 - local.set $2 + local.set $4 loop $while-continue|027 - local.get $1 + local.get $0 i32.const 0 i32.ge_s if - local.get $2 - local.get $1 + local.get $0 + local.tee $1 i32.const 3 i32.shl + local.get $4 i32.add i64.load i64.const 3 @@ -18581,7 +18560,7 @@ local.get $1 i32.const 1 i32.sub - local.set $1 + local.set $0 br $while-continue|027 end end @@ -18602,34 +18581,35 @@ i32.const -1 local.set $1 block $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Int64Array,i64>|inlined.029 - local.get $0 + local.get $2 i32.load offset=8 i32.const 3 i32.shr_u - local.tee $2 + local.tee $0 i32.eqz br_if $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Int64Array,i64>|inlined.029 - local.get $2 + local.get $0 i32.const 1 i32.sub i32.const 2 - local.get $2 + local.get $0 i32.const 2 - i32.le_s + i32.le_u select - local.set $1 - local.get $0 + local.set $0 + local.get $2 i32.load offset=4 - local.set $2 + local.set $4 loop $while-continue|030 - local.get $1 + local.get $0 i32.const 0 i32.ge_s if - local.get $2 - local.get $1 + local.get $0 + local.tee $1 i32.const 3 i32.shl + local.get $4 i32.add i64.load i64.const 3 @@ -18638,7 +18618,7 @@ local.get $1 i32.const 1 i32.sub - local.set $1 + local.set $0 br $while-continue|030 end end @@ -18659,34 +18639,35 @@ i32.const -1 local.set $1 block $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Int64Array,i64>|inlined.032 - local.get $0 + local.get $2 i32.load offset=8 i32.const 3 i32.shr_u - local.tee $2 + local.tee $0 i32.eqz br_if $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Int64Array,i64>|inlined.032 - local.get $2 + local.get $0 i32.const 1 i32.sub i32.const 100 - local.get $2 + local.get $0 i32.const 100 - i32.le_s + i32.le_u select - local.set $1 - local.get $0 + local.set $0 + local.get $2 i32.load offset=4 - local.set $2 + local.set $4 loop $while-continue|033 - local.get $1 + local.get $0 i32.const 0 i32.ge_s if - local.get $2 - local.get $1 + local.get $0 + local.tee $1 i32.const 3 i32.shl + local.get $4 i32.add i64.load i64.const 1 @@ -18695,7 +18676,7 @@ local.get $1 i32.const 1 i32.sub - local.set $1 + local.set $0 br $while-continue|033 end end @@ -18716,29 +18697,30 @@ i32.const -1 local.set $1 block $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Int64Array,i64>|inlined.035 - local.get $0 + local.get $2 i32.load offset=8 i32.const 3 i32.shr_u - local.tee $2 + local.tee $0 i32.eqz br_if $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Int64Array,i64>|inlined.035 - local.get $2 + local.get $0 i32.const 10 i32.sub - local.set $1 - local.get $0 + local.set $0 + local.get $2 i32.load offset=4 - local.set $2 + local.set $4 loop $while-continue|036 - local.get $1 + local.get $0 i32.const 0 i32.ge_s if - local.get $2 - local.get $1 + local.get $0 + local.tee $1 i32.const 3 i32.shl + local.get $4 i32.add i64.load i64.const 1 @@ -18747,7 +18729,7 @@ local.get $1 i32.const 1 i32.sub - local.set $1 + local.set $0 br $while-continue|036 end end @@ -18768,29 +18750,30 @@ i32.const -1 local.set $1 block $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Int64Array,i64>|inlined.038 - local.get $0 + local.get $2 i32.load offset=8 i32.const 3 i32.shr_u - local.tee $2 + local.tee $0 i32.eqz br_if $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Int64Array,i64>|inlined.038 - local.get $2 + local.get $0 i32.const 11 i32.sub - local.set $1 - local.get $0 + local.set $0 + local.get $2 i32.load offset=4 - local.set $2 + local.set $4 loop $while-continue|039 - local.get $1 + local.get $0 i32.const 0 i32.ge_s if - local.get $2 - local.get $1 + local.get $0 + local.tee $1 i32.const 3 i32.shl + local.get $4 i32.add i64.load i64.const 1 @@ -18799,7 +18782,7 @@ local.get $1 i32.const 1 i32.sub - local.set $1 + local.set $0 br $while-continue|039 end end @@ -18818,17 +18801,17 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $0 + local.get $2 i32.const 9 call $~lib/typedarray/Int64Array#subarray - local.tee $4 + local.tee $2 i32.store offset=8 i32.const 0 local.set $0 i32.const -1 local.set $1 block $~lib/typedarray/INDEX_OF<~lib/typedarray/Int64Array,i64>|inlined.041 - local.get $4 + local.get $2 i32.load offset=8 i32.const 3 i32.shr_u @@ -18838,19 +18821,19 @@ select i32.eqz br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Int64Array,i64>|inlined.041 - local.get $4 + local.get $2 i32.load offset=4 - local.set $2 + local.set $4 loop $while-continue|042 local.get $0 local.get $3 i32.lt_s if - local.get $2 local.get $0 local.tee $1 i32.const 3 i32.shl + local.get $4 i32.add i64.load i64.const 3 @@ -18882,7 +18865,7 @@ i32.const -1 local.set $1 block $~lib/typedarray/INDEX_OF<~lib/typedarray/Int64Array,i64>|inlined.044 - local.get $4 + local.get $2 i32.load offset=8 i32.const 3 i32.shr_u @@ -18892,19 +18875,19 @@ select i32.eqz br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Int64Array,i64>|inlined.044 - local.get $4 + local.get $2 i32.load offset=4 - local.set $2 + local.set $4 loop $while-continue|045 local.get $0 local.get $3 i32.lt_s if - local.get $2 local.get $0 local.tee $1 i32.const 3 i32.shl + local.get $4 i32.add i64.load i64.const 4 @@ -18934,7 +18917,7 @@ i32.const -1 local.set $1 block $~lib/typedarray/INDEX_OF<~lib/typedarray/Int64Array,i64>|inlined.047 - local.get $4 + local.get $2 i32.load offset=8 i32.const 3 i32.shr_u @@ -18944,19 +18927,19 @@ select i32.eqz br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Int64Array,i64>|inlined.047 - local.get $4 + local.get $2 i32.load offset=4 - local.set $2 + local.set $4 loop $while-continue|048 local.get $0 local.get $3 i32.lt_s if - local.get $2 local.get $0 local.tee $1 i32.const 3 i32.shl + local.get $4 i32.add i64.load i64.const 5 @@ -18988,7 +18971,7 @@ i32.const -1 local.set $1 block $~lib/typedarray/INDEX_OF<~lib/typedarray/Int64Array,i64>|inlined.050 - local.get $4 + local.get $2 i32.load offset=8 i32.const 3 i32.shr_u @@ -18998,19 +18981,19 @@ select i32.eqz br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Int64Array,i64>|inlined.050 - local.get $4 + local.get $2 i32.load offset=4 - local.set $2 + local.set $4 loop $while-continue|051 local.get $0 local.get $3 i32.lt_s if - local.get $2 local.get $0 local.tee $1 i32.const 3 i32.shl + local.get $4 i32.add i64.load i64.const 9 @@ -19042,7 +19025,7 @@ i32.const -1 local.set $1 block $~lib/typedarray/INDEX_OF<~lib/typedarray/Int64Array,i64>|inlined.053 - local.get $4 + local.get $2 i32.load offset=8 i32.const 3 i32.shr_u @@ -19052,19 +19035,19 @@ select i32.eqz br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Int64Array,i64>|inlined.053 - local.get $4 + local.get $2 i32.load offset=4 - local.set $2 + local.set $4 loop $while-continue|054 local.get $0 local.get $3 i32.lt_s if - local.get $2 local.get $0 local.tee $1 i32.const 3 i32.shl + local.get $4 i32.add i64.load i64.const 10 @@ -19096,7 +19079,7 @@ i32.const -1 local.set $1 block $~lib/typedarray/INDEX_OF<~lib/typedarray/Int64Array,i64>|inlined.056 - local.get $4 + local.get $2 i32.load offset=8 i32.const 3 i32.shr_u @@ -19106,19 +19089,19 @@ select i32.eqz br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Int64Array,i64>|inlined.056 - local.get $4 + local.get $2 i32.load offset=4 - local.set $2 + local.set $4 loop $while-continue|057 local.get $0 local.get $3 i32.lt_s if - local.get $2 local.get $0 local.tee $1 i32.const 3 i32.shl + local.get $4 i32.add i64.load i64.const 11 @@ -19150,7 +19133,7 @@ i32.const -1 local.set $1 block $~lib/typedarray/INDEX_OF<~lib/typedarray/Int64Array,i64>|inlined.059 - local.get $4 + local.get $2 i32.load offset=8 i32.const 3 i32.shr_u @@ -19161,19 +19144,19 @@ local.get $3 select br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Int64Array,i64>|inlined.059 - local.get $4 + local.get $2 i32.load offset=4 - local.set $2 + local.set $4 loop $while-continue|060 local.get $0 local.get $3 i32.lt_s if - local.get $2 local.get $0 local.tee $1 i32.const 3 i32.shl + local.get $4 i32.add i64.load i64.const 5 @@ -19205,30 +19188,30 @@ i32.const -1 local.set $1 block $~lib/typedarray/INDEX_OF<~lib/typedarray/Int64Array,i64>|inlined.062 - local.get $4 + local.get $2 i32.load offset=8 i32.const 3 i32.shr_u - local.tee $3 + local.tee $4 i32.const 2 i32.le_u i32.const 1 - local.get $3 + local.get $4 select br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Int64Array,i64>|inlined.062 - local.get $4 + local.get $2 i32.load offset=4 local.set $2 loop $while-continue|063 local.get $0 - local.get $3 + local.get $4 i32.lt_s if - local.get $2 local.get $0 local.tee $1 i32.const 3 i32.shl + local.get $2 i32.add i64.load i64.const 5 @@ -19326,25 +19309,25 @@ i32.load offset=8 i32.const 3 i32.shr_u - local.tee $4 + local.tee $3 i32.const 0 - local.get $4 + local.get $3 select i32.eqz br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Uint64Array,u64>|inlined.0 local.get $2 i32.load offset=4 - local.set $3 + local.set $4 loop $while-continue|0 local.get $0 - local.get $4 + local.get $3 i32.lt_s if - local.get $3 local.get $0 local.tee $1 i32.const 3 i32.shl + local.get $4 i32.add i64.load i64.eqz @@ -19377,25 +19360,25 @@ i32.load offset=8 i32.const 3 i32.shr_u - local.tee $4 + local.tee $3 i32.const 0 - local.get $4 + local.get $3 select i32.eqz br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Uint64Array,u64>|inlined.01 local.get $2 i32.load offset=4 - local.set $3 + local.set $4 loop $while-continue|02 local.get $0 - local.get $4 + local.get $3 i32.lt_s if - local.get $3 local.get $0 local.tee $1 i32.const 3 i32.shl + local.get $4 i32.add i64.load i64.const 11 @@ -19431,25 +19414,25 @@ i32.load offset=8 i32.const 3 i32.shr_u - local.tee $4 + local.tee $3 i32.const 0 - local.get $4 + local.get $3 select i32.eqz br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Uint64Array,u64>|inlined.04 local.get $2 i32.load offset=4 - local.set $3 + local.set $4 loop $while-continue|05 local.get $0 - local.get $4 + local.get $3 i32.lt_s if - local.get $3 local.get $0 local.tee $1 i32.const 3 i32.shl + local.get $4 i32.add i64.load i64.const -1 @@ -19485,25 +19468,25 @@ i32.load offset=8 i32.const 3 i32.shr_u - local.tee $4 + local.tee $3 i32.const 0 - local.get $4 + local.get $3 select i32.eqz br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Uint64Array,u64>|inlined.07 local.get $2 i32.load offset=4 - local.set $3 + local.set $4 loop $while-continue|08 local.get $0 - local.get $4 + local.get $3 i32.lt_s if - local.get $3 local.get $0 local.tee $1 i32.const 3 i32.shl + local.get $4 i32.add i64.load i64.const 3 @@ -19539,26 +19522,26 @@ i32.load offset=8 i32.const 3 i32.shr_u - local.tee $4 + local.tee $3 i32.const 2 i32.le_u i32.const 1 - local.get $4 + local.get $3 select br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Uint64Array,u64>|inlined.010 local.get $2 i32.load offset=4 - local.set $3 + local.set $4 loop $while-continue|011 local.get $0 - local.get $4 + local.get $3 i32.lt_s if - local.get $3 local.get $0 local.tee $1 i32.const 3 i32.shl + local.get $4 i32.add i64.load i64.const 3 @@ -19594,26 +19577,26 @@ i32.load offset=8 i32.const 3 i32.shr_u - local.tee $4 + local.tee $3 i32.const 3 i32.le_u i32.const 1 - local.get $4 + local.get $3 select br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Uint64Array,u64>|inlined.013 local.get $2 i32.load offset=4 - local.set $3 + local.set $4 loop $while-continue|014 local.get $0 - local.get $4 + local.get $3 i32.lt_s if - local.get $3 local.get $0 local.tee $1 i32.const 3 i32.shl + local.get $4 i32.add i64.load i64.const 3 @@ -19649,26 +19632,26 @@ i32.load offset=8 i32.const 3 i32.shr_u - local.tee $4 + local.tee $3 i32.const 4 i32.le_u i32.const 1 - local.get $4 + local.get $3 select br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Uint64Array,u64>|inlined.016 local.get $2 i32.load offset=4 - local.set $3 + local.set $4 loop $while-continue|017 local.get $0 - local.get $4 + local.get $3 i32.lt_s if - local.get $3 local.get $0 local.tee $1 i32.const 3 i32.shl + local.get $4 i32.add i64.load i64.const 3 @@ -19704,26 +19687,26 @@ i32.load offset=8 i32.const 3 i32.shr_u - local.tee $4 + local.tee $3 i32.const 10 i32.le_u i32.const 1 - local.get $4 + local.get $3 select br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Uint64Array,u64>|inlined.019 local.get $2 i32.load offset=4 - local.set $3 + local.set $4 loop $while-continue|020 local.get $0 - local.get $4 + local.get $3 i32.lt_s if - local.get $3 local.get $0 local.tee $1 i32.const 3 i32.shl + local.get $4 i32.add i64.load i64.const 1 @@ -19767,25 +19750,26 @@ local.get $3 i32.const 100 i32.sub - local.tee $0 + local.tee $1 i32.const 0 - local.get $0 + local.get $1 i32.const 0 i32.gt_s select - local.set $1 + local.set $0 local.get $2 i32.load offset=4 - local.set $0 + local.set $4 loop $while-continue|023 - local.get $1 + local.get $0 local.get $3 i32.lt_s if local.get $0 - local.get $1 + local.tee $1 i32.const 3 i32.shl + local.get $4 i32.add i64.load i64.const 1 @@ -19794,7 +19778,7 @@ local.get $1 i32.const 1 i32.add - local.set $1 + local.set $0 br $while-continue|023 end end @@ -19815,64 +19799,61 @@ i32.const 1 global.set $~argumentsLength local.get $2 - local.tee $0 i32.load offset=8 i32.const 3 i32.shr_u - local.set $1 + local.tee $4 + local.set $0 i32.const -1 - local.set $2 + local.set $1 block $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Uint64Array,u64>|inlined.0 - local.get $0 - i32.load offset=8 - i32.const 3 - i32.shr_u - local.tee $3 + local.get $4 i32.eqz br_if $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Uint64Array,u64>|inlined.0 - local.get $1 - local.get $3 + local.get $0 + local.get $4 i32.add - local.get $3 + local.get $4 i32.const 1 i32.sub - local.get $1 - local.get $1 - local.get $3 + local.get $0 + local.get $0 + local.get $4 i32.ge_s select - local.get $1 + local.get $0 i32.const 0 i32.lt_s select - local.set $2 - local.get $0 + local.set $0 + local.get $2 i32.load offset=4 - local.set $1 + local.set $4 loop $while-continue|00 - local.get $2 + local.get $0 i32.const 0 i32.ge_s if - local.get $1 - local.get $2 + local.get $0 + local.tee $1 i32.const 3 i32.shl + local.get $4 i32.add i64.load i64.eqz br_if $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Uint64Array,u64>|inlined.0 - local.get $2 + local.get $1 i32.const 1 i32.sub - local.set $2 + local.set $0 br $while-continue|00 end end i32.const -1 - local.set $2 + local.set $1 end - local.get $2 + local.get $1 if i32.const 0 i32.const 1568 @@ -19883,65 +19864,63 @@ end i32.const 1 global.set $~argumentsLength - local.get $0 + local.get $2 i32.load offset=8 i32.const 3 i32.shr_u - local.set $1 + local.tee $4 + local.set $0 i32.const -1 - local.set $2 + local.set $1 block $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Uint64Array,u64>|inlined.05 - local.get $0 - i32.load offset=8 - i32.const 3 - i32.shr_u - local.tee $3 + local.get $4 i32.eqz br_if $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Uint64Array,u64>|inlined.05 - local.get $1 - local.get $3 + local.get $0 + local.get $4 i32.add - local.get $3 + local.get $4 i32.const 1 i32.sub - local.get $1 - local.get $1 - local.get $3 + local.get $0 + local.get $0 + local.get $4 i32.ge_s select - local.get $1 + local.get $0 i32.const 0 i32.lt_s select - local.set $2 - local.get $0 + local.set $0 + local.get $2 i32.load offset=4 - local.set $1 + local.set $4 loop $while-continue|06 - local.get $2 + local.get $0 i32.const 0 i32.ge_s if - local.get $1 - local.get $2 + local.get $0 + local.tee $1 i32.const 3 i32.shl + local.get $4 i32.add i64.load i64.const 11 i64.eq br_if $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Uint64Array,u64>|inlined.05 - local.get $2 + local.get $1 i32.const 1 i32.sub - local.set $2 + local.set $0 br $while-continue|06 end end i32.const -1 - local.set $2 + local.set $1 end - local.get $2 + local.get $1 i32.const -1 i32.ne if @@ -19954,65 +19933,63 @@ end i32.const 1 global.set $~argumentsLength - local.get $0 + local.get $2 i32.load offset=8 i32.const 3 i32.shr_u - local.set $1 + local.tee $4 + local.set $0 i32.const -1 - local.set $2 + local.set $1 block $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Uint64Array,u64>|inlined.011 - local.get $0 - i32.load offset=8 - i32.const 3 - i32.shr_u - local.tee $3 + local.get $4 i32.eqz br_if $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Uint64Array,u64>|inlined.011 - local.get $1 - local.get $3 + local.get $0 + local.get $4 i32.add - local.get $3 + local.get $4 i32.const 1 i32.sub - local.get $1 - local.get $1 - local.get $3 + local.get $0 + local.get $0 + local.get $4 i32.ge_s select - local.get $1 + local.get $0 i32.const 0 i32.lt_s select - local.set $2 - local.get $0 + local.set $0 + local.get $2 i32.load offset=4 - local.set $1 + local.set $4 loop $while-continue|012 - local.get $2 + local.get $0 i32.const 0 i32.ge_s if - local.get $1 - local.get $2 + local.get $0 + local.tee $1 i32.const 3 i32.shl + local.get $4 i32.add i64.load i64.const -1 i64.eq br_if $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Uint64Array,u64>|inlined.011 - local.get $2 + local.get $1 i32.const 1 i32.sub - local.set $2 + local.set $0 br $while-continue|012 end end i32.const -1 - local.set $2 + local.set $1 end - local.get $2 + local.get $1 i32.const -1 i32.ne if @@ -20025,65 +20002,63 @@ end i32.const 1 global.set $~argumentsLength - local.get $0 + local.get $2 i32.load offset=8 i32.const 3 i32.shr_u - local.set $1 + local.tee $4 + local.set $0 i32.const -1 - local.set $2 + local.set $1 block $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Uint64Array,u64>|inlined.017 - local.get $0 - i32.load offset=8 - i32.const 3 - i32.shr_u - local.tee $3 + local.get $4 i32.eqz br_if $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Uint64Array,u64>|inlined.017 - local.get $1 - local.get $3 + local.get $0 + local.get $4 i32.add - local.get $3 + local.get $4 i32.const 1 i32.sub - local.get $1 - local.get $1 - local.get $3 + local.get $0 + local.get $0 + local.get $4 i32.ge_s select - local.get $1 + local.get $0 i32.const 0 i32.lt_s select - local.set $2 - local.get $0 + local.set $0 + local.get $2 i32.load offset=4 - local.set $1 + local.set $4 loop $while-continue|018 - local.get $2 + local.get $0 i32.const 0 i32.ge_s if - local.get $1 - local.get $2 + local.get $0 + local.tee $1 i32.const 3 i32.shl + local.get $4 i32.add i64.load i64.const 3 i64.eq br_if $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Uint64Array,u64>|inlined.017 - local.get $2 + local.get $1 i32.const 1 i32.sub - local.set $2 + local.set $0 br $while-continue|018 end end i32.const -1 - local.set $2 + local.set $1 end - local.get $2 + local.get $1 i32.const 3 i32.ne if @@ -20097,34 +20072,35 @@ i32.const -1 local.set $1 block $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Uint64Array,u64>|inlined.019 - local.get $0 + local.get $2 i32.load offset=8 i32.const 3 i32.shr_u - local.tee $2 + local.tee $0 i32.eqz br_if $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Uint64Array,u64>|inlined.019 - local.get $2 + local.get $0 i32.const 1 i32.sub i32.const 4 - local.get $2 + local.get $0 i32.const 4 - i32.le_s + i32.le_u select - local.set $1 - local.get $0 + local.set $0 + local.get $2 i32.load offset=4 - local.set $2 + local.set $4 loop $while-continue|024 - local.get $1 + local.get $0 i32.const 0 i32.ge_s if - local.get $2 - local.get $1 + local.get $0 + local.tee $1 i32.const 3 i32.shl + local.get $4 i32.add i64.load i64.const 3 @@ -20133,7 +20109,7 @@ local.get $1 i32.const 1 i32.sub - local.set $1 + local.set $0 br $while-continue|024 end end @@ -20154,34 +20130,35 @@ i32.const -1 local.set $1 block $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Uint64Array,u64>|inlined.026 - local.get $0 + local.get $2 i32.load offset=8 i32.const 3 i32.shr_u - local.tee $2 + local.tee $0 i32.eqz br_if $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Uint64Array,u64>|inlined.026 - local.get $2 + local.get $0 i32.const 1 i32.sub i32.const 3 - local.get $2 + local.get $0 i32.const 3 - i32.le_s + i32.le_u select - local.set $1 - local.get $0 + local.set $0 + local.get $2 i32.load offset=4 - local.set $2 + local.set $4 loop $while-continue|027 - local.get $1 + local.get $0 i32.const 0 i32.ge_s if - local.get $2 - local.get $1 + local.get $0 + local.tee $1 i32.const 3 i32.shl + local.get $4 i32.add i64.load i64.const 3 @@ -20190,7 +20167,7 @@ local.get $1 i32.const 1 i32.sub - local.set $1 + local.set $0 br $while-continue|027 end end @@ -20211,34 +20188,35 @@ i32.const -1 local.set $1 block $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Uint64Array,u64>|inlined.029 - local.get $0 + local.get $2 i32.load offset=8 i32.const 3 i32.shr_u - local.tee $2 + local.tee $0 i32.eqz br_if $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Uint64Array,u64>|inlined.029 - local.get $2 + local.get $0 i32.const 1 i32.sub i32.const 2 - local.get $2 + local.get $0 i32.const 2 - i32.le_s + i32.le_u select - local.set $1 - local.get $0 + local.set $0 + local.get $2 i32.load offset=4 - local.set $2 + local.set $4 loop $while-continue|030 - local.get $1 + local.get $0 i32.const 0 i32.ge_s if - local.get $2 - local.get $1 + local.get $0 + local.tee $1 i32.const 3 i32.shl + local.get $4 i32.add i64.load i64.const 3 @@ -20247,7 +20225,7 @@ local.get $1 i32.const 1 i32.sub - local.set $1 + local.set $0 br $while-continue|030 end end @@ -20268,34 +20246,35 @@ i32.const -1 local.set $1 block $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Uint64Array,u64>|inlined.032 - local.get $0 + local.get $2 i32.load offset=8 i32.const 3 i32.shr_u - local.tee $2 + local.tee $0 i32.eqz br_if $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Uint64Array,u64>|inlined.032 - local.get $2 + local.get $0 i32.const 1 i32.sub i32.const 100 - local.get $2 + local.get $0 i32.const 100 - i32.le_s + i32.le_u select - local.set $1 - local.get $0 + local.set $0 + local.get $2 i32.load offset=4 - local.set $2 + local.set $4 loop $while-continue|033 - local.get $1 + local.get $0 i32.const 0 i32.ge_s if - local.get $2 - local.get $1 + local.get $0 + local.tee $1 i32.const 3 i32.shl + local.get $4 i32.add i64.load i64.const 1 @@ -20304,7 +20283,7 @@ local.get $1 i32.const 1 i32.sub - local.set $1 + local.set $0 br $while-continue|033 end end @@ -20325,29 +20304,30 @@ i32.const -1 local.set $1 block $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Uint64Array,u64>|inlined.035 - local.get $0 + local.get $2 i32.load offset=8 i32.const 3 i32.shr_u - local.tee $2 + local.tee $0 i32.eqz br_if $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Uint64Array,u64>|inlined.035 - local.get $2 + local.get $0 i32.const 10 i32.sub - local.set $1 - local.get $0 + local.set $0 + local.get $2 i32.load offset=4 - local.set $2 + local.set $4 loop $while-continue|036 - local.get $1 + local.get $0 i32.const 0 i32.ge_s if - local.get $2 - local.get $1 + local.get $0 + local.tee $1 i32.const 3 i32.shl + local.get $4 i32.add i64.load i64.const 1 @@ -20356,7 +20336,7 @@ local.get $1 i32.const 1 i32.sub - local.set $1 + local.set $0 br $while-continue|036 end end @@ -20377,29 +20357,30 @@ i32.const -1 local.set $1 block $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Uint64Array,u64>|inlined.038 - local.get $0 + local.get $2 i32.load offset=8 i32.const 3 i32.shr_u - local.tee $2 + local.tee $0 i32.eqz br_if $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Uint64Array,u64>|inlined.038 - local.get $2 + local.get $0 i32.const 11 i32.sub - local.set $1 - local.get $0 + local.set $0 + local.get $2 i32.load offset=4 - local.set $2 + local.set $4 loop $while-continue|039 - local.get $1 + local.get $0 i32.const 0 i32.ge_s if - local.get $2 - local.get $1 + local.get $0 + local.tee $1 i32.const 3 i32.shl + local.get $4 i32.add i64.load i64.const 1 @@ -20408,7 +20389,7 @@ local.get $1 i32.const 1 i32.sub - local.set $1 + local.set $0 br $while-continue|039 end end @@ -20427,17 +20408,17 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $0 + local.get $2 i32.const 9 call $~lib/typedarray/Uint64Array#subarray - local.tee $4 + local.tee $2 i32.store offset=8 i32.const 0 local.set $0 i32.const -1 local.set $1 block $~lib/typedarray/INDEX_OF<~lib/typedarray/Uint64Array,u64>|inlined.041 - local.get $4 + local.get $2 i32.load offset=8 i32.const 3 i32.shr_u @@ -20447,19 +20428,19 @@ select i32.eqz br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Uint64Array,u64>|inlined.041 - local.get $4 + local.get $2 i32.load offset=4 - local.set $2 + local.set $4 loop $while-continue|042 local.get $0 local.get $3 i32.lt_s if - local.get $2 local.get $0 local.tee $1 i32.const 3 i32.shl + local.get $4 i32.add i64.load i64.const 3 @@ -20491,7 +20472,7 @@ i32.const -1 local.set $1 block $~lib/typedarray/INDEX_OF<~lib/typedarray/Uint64Array,u64>|inlined.044 - local.get $4 + local.get $2 i32.load offset=8 i32.const 3 i32.shr_u @@ -20501,19 +20482,19 @@ select i32.eqz br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Uint64Array,u64>|inlined.044 - local.get $4 + local.get $2 i32.load offset=4 - local.set $2 + local.set $4 loop $while-continue|045 local.get $0 local.get $3 i32.lt_s if - local.get $2 local.get $0 local.tee $1 i32.const 3 i32.shl + local.get $4 i32.add i64.load i64.const 4 @@ -20543,7 +20524,7 @@ i32.const -1 local.set $1 block $~lib/typedarray/INDEX_OF<~lib/typedarray/Uint64Array,u64>|inlined.047 - local.get $4 + local.get $2 i32.load offset=8 i32.const 3 i32.shr_u @@ -20553,19 +20534,19 @@ select i32.eqz br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Uint64Array,u64>|inlined.047 - local.get $4 + local.get $2 i32.load offset=4 - local.set $2 + local.set $4 loop $while-continue|048 local.get $0 local.get $3 i32.lt_s if - local.get $2 local.get $0 local.tee $1 i32.const 3 i32.shl + local.get $4 i32.add i64.load i64.const 5 @@ -20597,7 +20578,7 @@ i32.const -1 local.set $1 block $~lib/typedarray/INDEX_OF<~lib/typedarray/Uint64Array,u64>|inlined.050 - local.get $4 + local.get $2 i32.load offset=8 i32.const 3 i32.shr_u @@ -20607,19 +20588,19 @@ select i32.eqz br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Uint64Array,u64>|inlined.050 - local.get $4 + local.get $2 i32.load offset=4 - local.set $2 + local.set $4 loop $while-continue|051 local.get $0 local.get $3 i32.lt_s if - local.get $2 local.get $0 local.tee $1 i32.const 3 i32.shl + local.get $4 i32.add i64.load i64.const 9 @@ -20651,7 +20632,7 @@ i32.const -1 local.set $1 block $~lib/typedarray/INDEX_OF<~lib/typedarray/Uint64Array,u64>|inlined.053 - local.get $4 + local.get $2 i32.load offset=8 i32.const 3 i32.shr_u @@ -20661,19 +20642,19 @@ select i32.eqz br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Uint64Array,u64>|inlined.053 - local.get $4 + local.get $2 i32.load offset=4 - local.set $2 + local.set $4 loop $while-continue|054 local.get $0 local.get $3 i32.lt_s if - local.get $2 local.get $0 local.tee $1 i32.const 3 i32.shl + local.get $4 i32.add i64.load i64.const 10 @@ -20705,7 +20686,7 @@ i32.const -1 local.set $1 block $~lib/typedarray/INDEX_OF<~lib/typedarray/Uint64Array,u64>|inlined.056 - local.get $4 + local.get $2 i32.load offset=8 i32.const 3 i32.shr_u @@ -20715,19 +20696,19 @@ select i32.eqz br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Uint64Array,u64>|inlined.056 - local.get $4 + local.get $2 i32.load offset=4 - local.set $2 + local.set $4 loop $while-continue|057 local.get $0 local.get $3 i32.lt_s if - local.get $2 local.get $0 local.tee $1 i32.const 3 i32.shl + local.get $4 i32.add i64.load i64.const 11 @@ -20759,7 +20740,7 @@ i32.const -1 local.set $1 block $~lib/typedarray/INDEX_OF<~lib/typedarray/Uint64Array,u64>|inlined.059 - local.get $4 + local.get $2 i32.load offset=8 i32.const 3 i32.shr_u @@ -20770,19 +20751,19 @@ local.get $3 select br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Uint64Array,u64>|inlined.059 - local.get $4 + local.get $2 i32.load offset=4 - local.set $2 + local.set $4 loop $while-continue|060 local.get $0 local.get $3 i32.lt_s if - local.get $2 local.get $0 local.tee $1 i32.const 3 i32.shl + local.get $4 i32.add i64.load i64.const 5 @@ -20814,30 +20795,30 @@ i32.const -1 local.set $1 block $~lib/typedarray/INDEX_OF<~lib/typedarray/Uint64Array,u64>|inlined.062 - local.get $4 + local.get $2 i32.load offset=8 i32.const 3 i32.shr_u - local.tee $3 + local.tee $4 i32.const 2 i32.le_u i32.const 1 - local.get $3 + local.get $4 select br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Uint64Array,u64>|inlined.062 - local.get $4 + local.get $2 i32.load offset=4 local.set $2 loop $while-continue|063 local.get $0 - local.get $3 + local.get $4 i32.lt_s if - local.get $2 local.get $0 local.tee $1 i32.const 3 i32.shl + local.get $2 i32.add i64.load i64.const 5 @@ -20935,25 +20916,25 @@ i32.load offset=8 i32.const 2 i32.shr_u - local.tee $4 + local.tee $3 i32.const 0 - local.get $4 + local.get $3 select i32.eqz br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Float32Array,f32>|inlined.0 local.get $2 i32.load offset=4 - local.set $3 + local.set $4 loop $while-continue|0 local.get $0 - local.get $4 + local.get $3 i32.lt_s if - local.get $3 local.get $0 local.tee $1 i32.const 2 i32.shl + local.get $4 i32.add f32.load f32.const 0 @@ -20987,25 +20968,25 @@ i32.load offset=8 i32.const 2 i32.shr_u - local.tee $4 + local.tee $3 i32.const 0 - local.get $4 + local.get $3 select i32.eqz br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Float32Array,f32>|inlined.01 local.get $2 i32.load offset=4 - local.set $3 + local.set $4 loop $while-continue|02 local.get $0 - local.get $4 + local.get $3 i32.lt_s if - local.get $3 local.get $0 local.tee $1 i32.const 2 i32.shl + local.get $4 i32.add f32.load f32.const 11 @@ -21041,25 +21022,25 @@ i32.load offset=8 i32.const 2 i32.shr_u - local.tee $4 + local.tee $3 i32.const 0 - local.get $4 + local.get $3 select i32.eqz br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Float32Array,f32>|inlined.04 local.get $2 i32.load offset=4 - local.set $3 + local.set $4 loop $while-continue|05 local.get $0 - local.get $4 + local.get $3 i32.lt_s if - local.get $3 local.get $0 local.tee $1 i32.const 2 i32.shl + local.get $4 i32.add f32.load f32.const -1 @@ -21095,25 +21076,25 @@ i32.load offset=8 i32.const 2 i32.shr_u - local.tee $4 + local.tee $3 i32.const 0 - local.get $4 + local.get $3 select i32.eqz br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Float32Array,f32>|inlined.07 local.get $2 i32.load offset=4 - local.set $3 + local.set $4 loop $while-continue|08 local.get $0 - local.get $4 + local.get $3 i32.lt_s if - local.get $3 local.get $0 local.tee $1 i32.const 2 i32.shl + local.get $4 i32.add f32.load f32.const 3 @@ -21149,26 +21130,26 @@ i32.load offset=8 i32.const 2 i32.shr_u - local.tee $4 + local.tee $3 i32.const 2 i32.le_u i32.const 1 - local.get $4 + local.get $3 select br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Float32Array,f32>|inlined.010 local.get $2 i32.load offset=4 - local.set $3 + local.set $4 loop $while-continue|011 local.get $0 - local.get $4 + local.get $3 i32.lt_s if - local.get $3 local.get $0 local.tee $1 i32.const 2 i32.shl + local.get $4 i32.add f32.load f32.const 3 @@ -21204,26 +21185,26 @@ i32.load offset=8 i32.const 2 i32.shr_u - local.tee $4 + local.tee $3 i32.const 3 i32.le_u i32.const 1 - local.get $4 + local.get $3 select br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Float32Array,f32>|inlined.013 local.get $2 i32.load offset=4 - local.set $3 + local.set $4 loop $while-continue|014 local.get $0 - local.get $4 + local.get $3 i32.lt_s if - local.get $3 local.get $0 local.tee $1 i32.const 2 i32.shl + local.get $4 i32.add f32.load f32.const 3 @@ -21259,26 +21240,26 @@ i32.load offset=8 i32.const 2 i32.shr_u - local.tee $4 + local.tee $3 i32.const 4 i32.le_u i32.const 1 - local.get $4 + local.get $3 select br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Float32Array,f32>|inlined.016 local.get $2 i32.load offset=4 - local.set $3 + local.set $4 loop $while-continue|017 local.get $0 - local.get $4 + local.get $3 i32.lt_s if - local.get $3 local.get $0 local.tee $1 i32.const 2 i32.shl + local.get $4 i32.add f32.load f32.const 3 @@ -21314,26 +21295,26 @@ i32.load offset=8 i32.const 2 i32.shr_u - local.tee $4 + local.tee $3 i32.const 10 i32.le_u i32.const 1 - local.get $4 + local.get $3 select br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Float32Array,f32>|inlined.019 local.get $2 i32.load offset=4 - local.set $3 + local.set $4 loop $while-continue|020 local.get $0 - local.get $4 + local.get $3 i32.lt_s if - local.get $3 local.get $0 local.tee $1 i32.const 2 i32.shl + local.get $4 i32.add f32.load f32.const 1 @@ -21377,25 +21358,26 @@ local.get $3 i32.const 100 i32.sub - local.tee $0 + local.tee $1 i32.const 0 - local.get $0 + local.get $1 i32.const 0 i32.gt_s select - local.set $1 + local.set $0 local.get $2 i32.load offset=4 - local.set $0 + local.set $4 loop $while-continue|023 - local.get $1 + local.get $0 local.get $3 i32.lt_s if local.get $0 - local.get $1 + local.tee $1 i32.const 2 i32.shl + local.get $4 i32.add f32.load f32.const 1 @@ -21404,7 +21386,7 @@ local.get $1 i32.const 1 i32.add - local.set $1 + local.set $0 br $while-continue|023 end end @@ -21425,65 +21407,62 @@ i32.const 1 global.set $~argumentsLength local.get $2 - local.tee $0 i32.load offset=8 i32.const 2 i32.shr_u - local.set $1 + local.tee $4 + local.set $0 i32.const -1 - local.set $2 + local.set $1 block $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Float32Array,f32>|inlined.0 - local.get $0 - i32.load offset=8 - i32.const 2 - i32.shr_u - local.tee $3 + local.get $4 i32.eqz br_if $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Float32Array,f32>|inlined.0 - local.get $1 - local.get $3 + local.get $0 + local.get $4 i32.add - local.get $3 + local.get $4 i32.const 1 i32.sub - local.get $1 - local.get $1 - local.get $3 + local.get $0 + local.get $0 + local.get $4 i32.ge_s select - local.get $1 + local.get $0 i32.const 0 i32.lt_s select - local.set $2 - local.get $0 + local.set $0 + local.get $2 i32.load offset=4 - local.set $1 + local.set $4 loop $while-continue|00 - local.get $2 + local.get $0 i32.const 0 i32.ge_s if - local.get $1 - local.get $2 + local.get $0 + local.tee $1 i32.const 2 i32.shl + local.get $4 i32.add f32.load f32.const 0 f32.eq br_if $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Float32Array,f32>|inlined.0 - local.get $2 + local.get $1 i32.const 1 i32.sub - local.set $2 + local.set $0 br $while-continue|00 end end i32.const -1 - local.set $2 + local.set $1 end - local.get $2 + local.get $1 if i32.const 0 i32.const 1568 @@ -21494,65 +21473,63 @@ end i32.const 1 global.set $~argumentsLength - local.get $0 + local.get $2 i32.load offset=8 i32.const 2 i32.shr_u - local.set $1 + local.tee $4 + local.set $0 i32.const -1 - local.set $2 + local.set $1 block $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Float32Array,f32>|inlined.05 - local.get $0 - i32.load offset=8 - i32.const 2 - i32.shr_u - local.tee $3 + local.get $4 i32.eqz br_if $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Float32Array,f32>|inlined.05 - local.get $1 - local.get $3 + local.get $0 + local.get $4 i32.add - local.get $3 + local.get $4 i32.const 1 i32.sub - local.get $1 - local.get $1 - local.get $3 + local.get $0 + local.get $0 + local.get $4 i32.ge_s select - local.get $1 + local.get $0 i32.const 0 i32.lt_s select - local.set $2 - local.get $0 + local.set $0 + local.get $2 i32.load offset=4 - local.set $1 + local.set $4 loop $while-continue|06 - local.get $2 + local.get $0 i32.const 0 i32.ge_s if - local.get $1 - local.get $2 + local.get $0 + local.tee $1 i32.const 2 i32.shl + local.get $4 i32.add f32.load f32.const 11 f32.eq br_if $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Float32Array,f32>|inlined.05 - local.get $2 + local.get $1 i32.const 1 i32.sub - local.set $2 + local.set $0 br $while-continue|06 end end i32.const -1 - local.set $2 + local.set $1 end - local.get $2 + local.get $1 i32.const -1 i32.ne if @@ -21565,65 +21542,63 @@ end i32.const 1 global.set $~argumentsLength - local.get $0 + local.get $2 i32.load offset=8 i32.const 2 i32.shr_u - local.set $1 + local.tee $4 + local.set $0 i32.const -1 - local.set $2 + local.set $1 block $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Float32Array,f32>|inlined.011 - local.get $0 - i32.load offset=8 - i32.const 2 - i32.shr_u - local.tee $3 + local.get $4 i32.eqz br_if $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Float32Array,f32>|inlined.011 - local.get $1 - local.get $3 + local.get $0 + local.get $4 i32.add - local.get $3 + local.get $4 i32.const 1 i32.sub - local.get $1 - local.get $1 - local.get $3 + local.get $0 + local.get $0 + local.get $4 i32.ge_s select - local.get $1 + local.get $0 i32.const 0 i32.lt_s select - local.set $2 - local.get $0 + local.set $0 + local.get $2 i32.load offset=4 - local.set $1 + local.set $4 loop $while-continue|012 - local.get $2 + local.get $0 i32.const 0 i32.ge_s if - local.get $1 - local.get $2 + local.get $0 + local.tee $1 i32.const 2 i32.shl + local.get $4 i32.add f32.load f32.const -1 f32.eq br_if $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Float32Array,f32>|inlined.011 - local.get $2 + local.get $1 i32.const 1 i32.sub - local.set $2 + local.set $0 br $while-continue|012 end end i32.const -1 - local.set $2 + local.set $1 end - local.get $2 + local.get $1 i32.const -1 i32.ne if @@ -21636,65 +21611,63 @@ end i32.const 1 global.set $~argumentsLength - local.get $0 + local.get $2 i32.load offset=8 i32.const 2 i32.shr_u - local.set $1 + local.tee $4 + local.set $0 i32.const -1 - local.set $2 + local.set $1 block $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Float32Array,f32>|inlined.017 - local.get $0 - i32.load offset=8 - i32.const 2 - i32.shr_u - local.tee $3 + local.get $4 i32.eqz br_if $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Float32Array,f32>|inlined.017 - local.get $1 - local.get $3 + local.get $0 + local.get $4 i32.add - local.get $3 + local.get $4 i32.const 1 i32.sub - local.get $1 - local.get $1 - local.get $3 + local.get $0 + local.get $0 + local.get $4 i32.ge_s select - local.get $1 + local.get $0 i32.const 0 i32.lt_s select - local.set $2 - local.get $0 + local.set $0 + local.get $2 i32.load offset=4 - local.set $1 + local.set $4 loop $while-continue|018 - local.get $2 + local.get $0 i32.const 0 i32.ge_s if - local.get $1 - local.get $2 + local.get $0 + local.tee $1 i32.const 2 i32.shl + local.get $4 i32.add f32.load f32.const 3 f32.eq br_if $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Float32Array,f32>|inlined.017 - local.get $2 + local.get $1 i32.const 1 i32.sub - local.set $2 + local.set $0 br $while-continue|018 end end i32.const -1 - local.set $2 + local.set $1 end - local.get $2 + local.get $1 i32.const 3 i32.ne if @@ -21708,34 +21681,35 @@ i32.const -1 local.set $1 block $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Float32Array,f32>|inlined.019 - local.get $0 + local.get $2 i32.load offset=8 i32.const 2 i32.shr_u - local.tee $2 + local.tee $0 i32.eqz br_if $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Float32Array,f32>|inlined.019 - local.get $2 + local.get $0 i32.const 1 i32.sub i32.const 4 - local.get $2 + local.get $0 i32.const 4 - i32.le_s + i32.le_u select - local.set $1 - local.get $0 + local.set $0 + local.get $2 i32.load offset=4 - local.set $2 + local.set $4 loop $while-continue|024 - local.get $1 + local.get $0 i32.const 0 i32.ge_s if - local.get $2 - local.get $1 + local.get $0 + local.tee $1 i32.const 2 i32.shl + local.get $4 i32.add f32.load f32.const 3 @@ -21744,7 +21718,7 @@ local.get $1 i32.const 1 i32.sub - local.set $1 + local.set $0 br $while-continue|024 end end @@ -21765,34 +21739,35 @@ i32.const -1 local.set $1 block $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Float32Array,f32>|inlined.026 - local.get $0 + local.get $2 i32.load offset=8 i32.const 2 i32.shr_u - local.tee $2 + local.tee $0 i32.eqz br_if $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Float32Array,f32>|inlined.026 - local.get $2 + local.get $0 i32.const 1 i32.sub i32.const 3 - local.get $2 + local.get $0 i32.const 3 - i32.le_s + i32.le_u select - local.set $1 - local.get $0 + local.set $0 + local.get $2 i32.load offset=4 - local.set $2 + local.set $4 loop $while-continue|027 - local.get $1 + local.get $0 i32.const 0 i32.ge_s if - local.get $2 - local.get $1 + local.get $0 + local.tee $1 i32.const 2 i32.shl + local.get $4 i32.add f32.load f32.const 3 @@ -21801,7 +21776,7 @@ local.get $1 i32.const 1 i32.sub - local.set $1 + local.set $0 br $while-continue|027 end end @@ -21822,34 +21797,35 @@ i32.const -1 local.set $1 block $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Float32Array,f32>|inlined.029 - local.get $0 + local.get $2 i32.load offset=8 i32.const 2 i32.shr_u - local.tee $2 + local.tee $0 i32.eqz br_if $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Float32Array,f32>|inlined.029 - local.get $2 + local.get $0 i32.const 1 i32.sub i32.const 2 - local.get $2 + local.get $0 i32.const 2 - i32.le_s + i32.le_u select - local.set $1 - local.get $0 + local.set $0 + local.get $2 i32.load offset=4 - local.set $2 + local.set $4 loop $while-continue|030 - local.get $1 + local.get $0 i32.const 0 i32.ge_s if - local.get $2 - local.get $1 + local.get $0 + local.tee $1 i32.const 2 i32.shl + local.get $4 i32.add f32.load f32.const 3 @@ -21858,7 +21834,7 @@ local.get $1 i32.const 1 i32.sub - local.set $1 + local.set $0 br $while-continue|030 end end @@ -21879,34 +21855,35 @@ i32.const -1 local.set $1 block $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Float32Array,f32>|inlined.032 - local.get $0 + local.get $2 i32.load offset=8 i32.const 2 i32.shr_u - local.tee $2 + local.tee $0 i32.eqz br_if $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Float32Array,f32>|inlined.032 - local.get $2 + local.get $0 i32.const 1 i32.sub i32.const 100 - local.get $2 + local.get $0 i32.const 100 - i32.le_s + i32.le_u select - local.set $1 - local.get $0 + local.set $0 + local.get $2 i32.load offset=4 - local.set $2 + local.set $4 loop $while-continue|033 - local.get $1 + local.get $0 i32.const 0 i32.ge_s if - local.get $2 - local.get $1 + local.get $0 + local.tee $1 i32.const 2 i32.shl + local.get $4 i32.add f32.load f32.const 1 @@ -21915,7 +21892,7 @@ local.get $1 i32.const 1 i32.sub - local.set $1 + local.set $0 br $while-continue|033 end end @@ -21936,29 +21913,30 @@ i32.const -1 local.set $1 block $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Float32Array,f32>|inlined.035 - local.get $0 + local.get $2 i32.load offset=8 i32.const 2 i32.shr_u - local.tee $2 + local.tee $0 i32.eqz br_if $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Float32Array,f32>|inlined.035 - local.get $2 + local.get $0 i32.const 10 i32.sub - local.set $1 - local.get $0 + local.set $0 + local.get $2 i32.load offset=4 - local.set $2 + local.set $4 loop $while-continue|036 - local.get $1 + local.get $0 i32.const 0 i32.ge_s if - local.get $2 - local.get $1 + local.get $0 + local.tee $1 i32.const 2 i32.shl + local.get $4 i32.add f32.load f32.const 1 @@ -21967,7 +21945,7 @@ local.get $1 i32.const 1 i32.sub - local.set $1 + local.set $0 br $while-continue|036 end end @@ -21988,29 +21966,30 @@ i32.const -1 local.set $1 block $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Float32Array,f32>|inlined.038 - local.get $0 + local.get $2 i32.load offset=8 i32.const 2 i32.shr_u - local.tee $2 + local.tee $0 i32.eqz br_if $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Float32Array,f32>|inlined.038 - local.get $2 + local.get $0 i32.const 11 i32.sub - local.set $1 - local.get $0 + local.set $0 + local.get $2 i32.load offset=4 - local.set $2 + local.set $4 loop $while-continue|039 - local.get $1 + local.get $0 i32.const 0 i32.ge_s if - local.get $2 - local.get $1 + local.get $0 + local.tee $1 i32.const 2 i32.shl + local.get $4 i32.add f32.load f32.const 1 @@ -22019,7 +21998,7 @@ local.get $1 i32.const 1 i32.sub - local.set $1 + local.set $0 br $while-continue|039 end end @@ -22038,17 +22017,17 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $0 + local.get $2 i32.const 9 call $~lib/typedarray/Float32Array#subarray - local.tee $4 + local.tee $2 i32.store offset=8 i32.const 0 local.set $0 i32.const -1 local.set $1 block $~lib/typedarray/INDEX_OF<~lib/typedarray/Float32Array,f32>|inlined.041 - local.get $4 + local.get $2 i32.load offset=8 i32.const 2 i32.shr_u @@ -22058,19 +22037,19 @@ select i32.eqz br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Float32Array,f32>|inlined.041 - local.get $4 + local.get $2 i32.load offset=4 - local.set $2 + local.set $4 loop $while-continue|042 local.get $0 local.get $3 i32.lt_s if - local.get $2 local.get $0 local.tee $1 i32.const 2 i32.shl + local.get $4 i32.add f32.load f32.const 3 @@ -22102,7 +22081,7 @@ i32.const -1 local.set $1 block $~lib/typedarray/INDEX_OF<~lib/typedarray/Float32Array,f32>|inlined.044 - local.get $4 + local.get $2 i32.load offset=8 i32.const 2 i32.shr_u @@ -22112,19 +22091,19 @@ select i32.eqz br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Float32Array,f32>|inlined.044 - local.get $4 + local.get $2 i32.load offset=4 - local.set $2 + local.set $4 loop $while-continue|045 local.get $0 local.get $3 i32.lt_s if - local.get $2 local.get $0 local.tee $1 i32.const 2 i32.shl + local.get $4 i32.add f32.load f32.const 4 @@ -22154,7 +22133,7 @@ i32.const -1 local.set $1 block $~lib/typedarray/INDEX_OF<~lib/typedarray/Float32Array,f32>|inlined.047 - local.get $4 + local.get $2 i32.load offset=8 i32.const 2 i32.shr_u @@ -22164,19 +22143,19 @@ select i32.eqz br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Float32Array,f32>|inlined.047 - local.get $4 + local.get $2 i32.load offset=4 - local.set $2 + local.set $4 loop $while-continue|048 local.get $0 local.get $3 i32.lt_s if - local.get $2 local.get $0 local.tee $1 i32.const 2 i32.shl + local.get $4 i32.add f32.load f32.const 5 @@ -22208,7 +22187,7 @@ i32.const -1 local.set $1 block $~lib/typedarray/INDEX_OF<~lib/typedarray/Float32Array,f32>|inlined.050 - local.get $4 + local.get $2 i32.load offset=8 i32.const 2 i32.shr_u @@ -22218,19 +22197,19 @@ select i32.eqz br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Float32Array,f32>|inlined.050 - local.get $4 + local.get $2 i32.load offset=4 - local.set $2 + local.set $4 loop $while-continue|051 local.get $0 local.get $3 i32.lt_s if - local.get $2 local.get $0 local.tee $1 i32.const 2 i32.shl + local.get $4 i32.add f32.load f32.const 9 @@ -22262,7 +22241,7 @@ i32.const -1 local.set $1 block $~lib/typedarray/INDEX_OF<~lib/typedarray/Float32Array,f32>|inlined.053 - local.get $4 + local.get $2 i32.load offset=8 i32.const 2 i32.shr_u @@ -22272,19 +22251,19 @@ select i32.eqz br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Float32Array,f32>|inlined.053 - local.get $4 + local.get $2 i32.load offset=4 - local.set $2 + local.set $4 loop $while-continue|054 local.get $0 local.get $3 i32.lt_s if - local.get $2 local.get $0 local.tee $1 i32.const 2 i32.shl + local.get $4 i32.add f32.load f32.const 10 @@ -22316,7 +22295,7 @@ i32.const -1 local.set $1 block $~lib/typedarray/INDEX_OF<~lib/typedarray/Float32Array,f32>|inlined.056 - local.get $4 + local.get $2 i32.load offset=8 i32.const 2 i32.shr_u @@ -22326,19 +22305,19 @@ select i32.eqz br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Float32Array,f32>|inlined.056 - local.get $4 + local.get $2 i32.load offset=4 - local.set $2 + local.set $4 loop $while-continue|057 local.get $0 local.get $3 i32.lt_s if - local.get $2 local.get $0 local.tee $1 i32.const 2 i32.shl + local.get $4 i32.add f32.load f32.const 11 @@ -22370,7 +22349,7 @@ i32.const -1 local.set $1 block $~lib/typedarray/INDEX_OF<~lib/typedarray/Float32Array,f32>|inlined.059 - local.get $4 + local.get $2 i32.load offset=8 i32.const 2 i32.shr_u @@ -22381,19 +22360,19 @@ local.get $3 select br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Float32Array,f32>|inlined.059 - local.get $4 + local.get $2 i32.load offset=4 - local.set $2 + local.set $4 loop $while-continue|060 local.get $0 local.get $3 i32.lt_s if - local.get $2 local.get $0 local.tee $1 i32.const 2 i32.shl + local.get $4 i32.add f32.load f32.const 5 @@ -22425,30 +22404,30 @@ i32.const -1 local.set $1 block $~lib/typedarray/INDEX_OF<~lib/typedarray/Float32Array,f32>|inlined.062 - local.get $4 + local.get $2 i32.load offset=8 i32.const 2 i32.shr_u - local.tee $3 + local.tee $4 i32.const 2 i32.le_u i32.const 1 - local.get $3 + local.get $4 select br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Float32Array,f32>|inlined.062 - local.get $4 + local.get $2 i32.load offset=4 local.set $2 loop $while-continue|063 local.get $0 - local.get $3 + local.get $4 i32.lt_s if - local.get $2 local.get $0 local.tee $1 i32.const 2 i32.shl + local.get $2 i32.add f32.load f32.const 5 @@ -22546,25 +22525,25 @@ i32.load offset=8 i32.const 3 i32.shr_u - local.tee $4 + local.tee $3 i32.const 0 - local.get $4 + local.get $3 select i32.eqz br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Float64Array,f64>|inlined.0 local.get $2 i32.load offset=4 - local.set $3 + local.set $4 loop $while-continue|0 local.get $0 - local.get $4 + local.get $3 i32.lt_s if - local.get $3 local.get $0 local.tee $1 i32.const 3 i32.shl + local.get $4 i32.add f64.load f64.const 0 @@ -22598,25 +22577,25 @@ i32.load offset=8 i32.const 3 i32.shr_u - local.tee $4 + local.tee $3 i32.const 0 - local.get $4 + local.get $3 select i32.eqz br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Float64Array,f64>|inlined.01 local.get $2 i32.load offset=4 - local.set $3 + local.set $4 loop $while-continue|02 local.get $0 - local.get $4 + local.get $3 i32.lt_s if - local.get $3 local.get $0 local.tee $1 i32.const 3 i32.shl + local.get $4 i32.add f64.load f64.const 11 @@ -22652,25 +22631,25 @@ i32.load offset=8 i32.const 3 i32.shr_u - local.tee $4 + local.tee $3 i32.const 0 - local.get $4 + local.get $3 select i32.eqz br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Float64Array,f64>|inlined.04 local.get $2 i32.load offset=4 - local.set $3 + local.set $4 loop $while-continue|05 local.get $0 - local.get $4 + local.get $3 i32.lt_s if - local.get $3 local.get $0 local.tee $1 i32.const 3 i32.shl + local.get $4 i32.add f64.load f64.const -1 @@ -22706,25 +22685,25 @@ i32.load offset=8 i32.const 3 i32.shr_u - local.tee $4 + local.tee $3 i32.const 0 - local.get $4 + local.get $3 select i32.eqz br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Float64Array,f64>|inlined.07 local.get $2 i32.load offset=4 - local.set $3 + local.set $4 loop $while-continue|08 local.get $0 - local.get $4 + local.get $3 i32.lt_s if - local.get $3 local.get $0 local.tee $1 i32.const 3 i32.shl + local.get $4 i32.add f64.load f64.const 3 @@ -22760,26 +22739,26 @@ i32.load offset=8 i32.const 3 i32.shr_u - local.tee $4 + local.tee $3 i32.const 2 i32.le_u i32.const 1 - local.get $4 + local.get $3 select br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Float64Array,f64>|inlined.010 local.get $2 i32.load offset=4 - local.set $3 + local.set $4 loop $while-continue|011 local.get $0 - local.get $4 + local.get $3 i32.lt_s if - local.get $3 local.get $0 local.tee $1 i32.const 3 i32.shl + local.get $4 i32.add f64.load f64.const 3 @@ -22815,26 +22794,26 @@ i32.load offset=8 i32.const 3 i32.shr_u - local.tee $4 + local.tee $3 i32.const 3 i32.le_u i32.const 1 - local.get $4 + local.get $3 select br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Float64Array,f64>|inlined.013 local.get $2 i32.load offset=4 - local.set $3 + local.set $4 loop $while-continue|014 local.get $0 - local.get $4 + local.get $3 i32.lt_s if - local.get $3 local.get $0 local.tee $1 i32.const 3 i32.shl + local.get $4 i32.add f64.load f64.const 3 @@ -22870,26 +22849,26 @@ i32.load offset=8 i32.const 3 i32.shr_u - local.tee $4 + local.tee $3 i32.const 4 i32.le_u i32.const 1 - local.get $4 + local.get $3 select br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Float64Array,f64>|inlined.016 local.get $2 i32.load offset=4 - local.set $3 + local.set $4 loop $while-continue|017 local.get $0 - local.get $4 + local.get $3 i32.lt_s if - local.get $3 local.get $0 local.tee $1 i32.const 3 i32.shl + local.get $4 i32.add f64.load f64.const 3 @@ -22925,26 +22904,26 @@ i32.load offset=8 i32.const 3 i32.shr_u - local.tee $4 + local.tee $3 i32.const 10 i32.le_u i32.const 1 - local.get $4 + local.get $3 select br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Float64Array,f64>|inlined.019 local.get $2 i32.load offset=4 - local.set $3 + local.set $4 loop $while-continue|020 local.get $0 - local.get $4 + local.get $3 i32.lt_s if - local.get $3 local.get $0 local.tee $1 i32.const 3 i32.shl + local.get $4 i32.add f64.load f64.const 1 @@ -22988,25 +22967,26 @@ local.get $3 i32.const 100 i32.sub - local.tee $0 + local.tee $1 i32.const 0 - local.get $0 + local.get $1 i32.const 0 i32.gt_s select - local.set $1 + local.set $0 local.get $2 i32.load offset=4 - local.set $0 + local.set $4 loop $while-continue|023 - local.get $1 + local.get $0 local.get $3 i32.lt_s if local.get $0 - local.get $1 + local.tee $1 i32.const 3 i32.shl + local.get $4 i32.add f64.load f64.const 1 @@ -23015,7 +22995,7 @@ local.get $1 i32.const 1 i32.add - local.set $1 + local.set $0 br $while-continue|023 end end @@ -23036,65 +23016,62 @@ i32.const 1 global.set $~argumentsLength local.get $2 - local.tee $0 i32.load offset=8 i32.const 3 i32.shr_u - local.set $1 + local.tee $4 + local.set $0 i32.const -1 - local.set $2 + local.set $1 block $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Float64Array,f64>|inlined.0 - local.get $0 - i32.load offset=8 - i32.const 3 - i32.shr_u - local.tee $3 + local.get $4 i32.eqz br_if $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Float64Array,f64>|inlined.0 - local.get $1 - local.get $3 + local.get $0 + local.get $4 i32.add - local.get $3 + local.get $4 i32.const 1 i32.sub - local.get $1 - local.get $1 - local.get $3 + local.get $0 + local.get $0 + local.get $4 i32.ge_s select - local.get $1 + local.get $0 i32.const 0 i32.lt_s select - local.set $2 - local.get $0 + local.set $0 + local.get $2 i32.load offset=4 - local.set $1 + local.set $4 loop $while-continue|00 - local.get $2 + local.get $0 i32.const 0 i32.ge_s if - local.get $1 - local.get $2 + local.get $0 + local.tee $1 i32.const 3 i32.shl + local.get $4 i32.add f64.load f64.const 0 f64.eq br_if $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Float64Array,f64>|inlined.0 - local.get $2 + local.get $1 i32.const 1 i32.sub - local.set $2 + local.set $0 br $while-continue|00 end end i32.const -1 - local.set $2 + local.set $1 end - local.get $2 + local.get $1 if i32.const 0 i32.const 1568 @@ -23105,65 +23082,63 @@ end i32.const 1 global.set $~argumentsLength - local.get $0 + local.get $2 i32.load offset=8 i32.const 3 i32.shr_u - local.set $1 + local.tee $4 + local.set $0 i32.const -1 - local.set $2 + local.set $1 block $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Float64Array,f64>|inlined.05 - local.get $0 - i32.load offset=8 - i32.const 3 - i32.shr_u - local.tee $3 + local.get $4 i32.eqz br_if $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Float64Array,f64>|inlined.05 - local.get $1 - local.get $3 + local.get $0 + local.get $4 i32.add - local.get $3 + local.get $4 i32.const 1 i32.sub - local.get $1 - local.get $1 - local.get $3 + local.get $0 + local.get $0 + local.get $4 i32.ge_s select - local.get $1 + local.get $0 i32.const 0 i32.lt_s select - local.set $2 - local.get $0 + local.set $0 + local.get $2 i32.load offset=4 - local.set $1 + local.set $4 loop $while-continue|06 - local.get $2 + local.get $0 i32.const 0 i32.ge_s if - local.get $1 - local.get $2 + local.get $0 + local.tee $1 i32.const 3 i32.shl + local.get $4 i32.add f64.load f64.const 11 f64.eq br_if $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Float64Array,f64>|inlined.05 - local.get $2 + local.get $1 i32.const 1 i32.sub - local.set $2 + local.set $0 br $while-continue|06 end end i32.const -1 - local.set $2 + local.set $1 end - local.get $2 + local.get $1 i32.const -1 i32.ne if @@ -23176,65 +23151,63 @@ end i32.const 1 global.set $~argumentsLength - local.get $0 + local.get $2 i32.load offset=8 i32.const 3 i32.shr_u - local.set $1 + local.tee $4 + local.set $0 i32.const -1 - local.set $2 + local.set $1 block $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Float64Array,f64>|inlined.011 - local.get $0 - i32.load offset=8 - i32.const 3 - i32.shr_u - local.tee $3 + local.get $4 i32.eqz br_if $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Float64Array,f64>|inlined.011 - local.get $1 - local.get $3 + local.get $0 + local.get $4 i32.add - local.get $3 + local.get $4 i32.const 1 i32.sub - local.get $1 - local.get $1 - local.get $3 + local.get $0 + local.get $0 + local.get $4 i32.ge_s select - local.get $1 + local.get $0 i32.const 0 i32.lt_s select - local.set $2 - local.get $0 + local.set $0 + local.get $2 i32.load offset=4 - local.set $1 + local.set $4 loop $while-continue|012 - local.get $2 + local.get $0 i32.const 0 i32.ge_s if - local.get $1 - local.get $2 + local.get $0 + local.tee $1 i32.const 3 i32.shl + local.get $4 i32.add f64.load f64.const -1 f64.eq br_if $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Float64Array,f64>|inlined.011 - local.get $2 + local.get $1 i32.const 1 i32.sub - local.set $2 + local.set $0 br $while-continue|012 end end i32.const -1 - local.set $2 + local.set $1 end - local.get $2 + local.get $1 i32.const -1 i32.ne if @@ -23247,65 +23220,63 @@ end i32.const 1 global.set $~argumentsLength - local.get $0 + local.get $2 i32.load offset=8 i32.const 3 i32.shr_u - local.set $1 + local.tee $4 + local.set $0 i32.const -1 - local.set $2 + local.set $1 block $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Float64Array,f64>|inlined.017 - local.get $0 - i32.load offset=8 - i32.const 3 - i32.shr_u - local.tee $3 + local.get $4 i32.eqz br_if $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Float64Array,f64>|inlined.017 - local.get $1 - local.get $3 + local.get $0 + local.get $4 i32.add - local.get $3 + local.get $4 i32.const 1 i32.sub - local.get $1 - local.get $1 - local.get $3 + local.get $0 + local.get $0 + local.get $4 i32.ge_s select - local.get $1 + local.get $0 i32.const 0 i32.lt_s select - local.set $2 - local.get $0 + local.set $0 + local.get $2 i32.load offset=4 - local.set $1 + local.set $4 loop $while-continue|018 - local.get $2 + local.get $0 i32.const 0 i32.ge_s if - local.get $1 - local.get $2 + local.get $0 + local.tee $1 i32.const 3 i32.shl + local.get $4 i32.add f64.load f64.const 3 f64.eq br_if $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Float64Array,f64>|inlined.017 - local.get $2 + local.get $1 i32.const 1 i32.sub - local.set $2 + local.set $0 br $while-continue|018 end end i32.const -1 - local.set $2 + local.set $1 end - local.get $2 + local.get $1 i32.const 3 i32.ne if @@ -23319,34 +23290,35 @@ i32.const -1 local.set $1 block $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Float64Array,f64>|inlined.019 - local.get $0 + local.get $2 i32.load offset=8 i32.const 3 i32.shr_u - local.tee $2 + local.tee $0 i32.eqz br_if $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Float64Array,f64>|inlined.019 - local.get $2 + local.get $0 i32.const 1 i32.sub i32.const 4 - local.get $2 + local.get $0 i32.const 4 - i32.le_s + i32.le_u select - local.set $1 - local.get $0 + local.set $0 + local.get $2 i32.load offset=4 - local.set $2 + local.set $4 loop $while-continue|024 - local.get $1 + local.get $0 i32.const 0 i32.ge_s if - local.get $2 - local.get $1 + local.get $0 + local.tee $1 i32.const 3 i32.shl + local.get $4 i32.add f64.load f64.const 3 @@ -23355,7 +23327,7 @@ local.get $1 i32.const 1 i32.sub - local.set $1 + local.set $0 br $while-continue|024 end end @@ -23376,34 +23348,35 @@ i32.const -1 local.set $1 block $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Float64Array,f64>|inlined.026 - local.get $0 + local.get $2 i32.load offset=8 i32.const 3 i32.shr_u - local.tee $2 + local.tee $0 i32.eqz br_if $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Float64Array,f64>|inlined.026 - local.get $2 + local.get $0 i32.const 1 i32.sub i32.const 3 - local.get $2 + local.get $0 i32.const 3 - i32.le_s + i32.le_u select - local.set $1 - local.get $0 + local.set $0 + local.get $2 i32.load offset=4 - local.set $2 + local.set $4 loop $while-continue|027 - local.get $1 + local.get $0 i32.const 0 i32.ge_s if - local.get $2 - local.get $1 + local.get $0 + local.tee $1 i32.const 3 i32.shl + local.get $4 i32.add f64.load f64.const 3 @@ -23412,7 +23385,7 @@ local.get $1 i32.const 1 i32.sub - local.set $1 + local.set $0 br $while-continue|027 end end @@ -23433,34 +23406,35 @@ i32.const -1 local.set $1 block $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Float64Array,f64>|inlined.029 - local.get $0 + local.get $2 i32.load offset=8 i32.const 3 i32.shr_u - local.tee $2 + local.tee $0 i32.eqz br_if $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Float64Array,f64>|inlined.029 - local.get $2 + local.get $0 i32.const 1 i32.sub i32.const 2 - local.get $2 + local.get $0 i32.const 2 - i32.le_s + i32.le_u select - local.set $1 - local.get $0 + local.set $0 + local.get $2 i32.load offset=4 - local.set $2 + local.set $4 loop $while-continue|030 - local.get $1 + local.get $0 i32.const 0 i32.ge_s if - local.get $2 - local.get $1 + local.get $0 + local.tee $1 i32.const 3 i32.shl + local.get $4 i32.add f64.load f64.const 3 @@ -23469,7 +23443,7 @@ local.get $1 i32.const 1 i32.sub - local.set $1 + local.set $0 br $while-continue|030 end end @@ -23490,34 +23464,35 @@ i32.const -1 local.set $1 block $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Float64Array,f64>|inlined.032 - local.get $0 + local.get $2 i32.load offset=8 i32.const 3 i32.shr_u - local.tee $2 + local.tee $0 i32.eqz br_if $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Float64Array,f64>|inlined.032 - local.get $2 + local.get $0 i32.const 1 i32.sub i32.const 100 - local.get $2 + local.get $0 i32.const 100 - i32.le_s + i32.le_u select - local.set $1 - local.get $0 + local.set $0 + local.get $2 i32.load offset=4 - local.set $2 + local.set $4 loop $while-continue|033 - local.get $1 + local.get $0 i32.const 0 i32.ge_s if - local.get $2 - local.get $1 + local.get $0 + local.tee $1 i32.const 3 i32.shl + local.get $4 i32.add f64.load f64.const 1 @@ -23526,7 +23501,7 @@ local.get $1 i32.const 1 i32.sub - local.set $1 + local.set $0 br $while-continue|033 end end @@ -23547,29 +23522,30 @@ i32.const -1 local.set $1 block $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Float64Array,f64>|inlined.035 - local.get $0 + local.get $2 i32.load offset=8 i32.const 3 i32.shr_u - local.tee $2 + local.tee $0 i32.eqz br_if $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Float64Array,f64>|inlined.035 - local.get $2 + local.get $0 i32.const 10 i32.sub - local.set $1 - local.get $0 + local.set $0 + local.get $2 i32.load offset=4 - local.set $2 + local.set $4 loop $while-continue|036 - local.get $1 + local.get $0 i32.const 0 i32.ge_s if - local.get $2 - local.get $1 + local.get $0 + local.tee $1 i32.const 3 i32.shl + local.get $4 i32.add f64.load f64.const 1 @@ -23578,7 +23554,7 @@ local.get $1 i32.const 1 i32.sub - local.set $1 + local.set $0 br $while-continue|036 end end @@ -23599,29 +23575,30 @@ i32.const -1 local.set $1 block $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Float64Array,f64>|inlined.038 - local.get $0 + local.get $2 i32.load offset=8 i32.const 3 i32.shr_u - local.tee $2 + local.tee $0 i32.eqz br_if $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Float64Array,f64>|inlined.038 - local.get $2 + local.get $0 i32.const 11 i32.sub - local.set $1 - local.get $0 + local.set $0 + local.get $2 i32.load offset=4 - local.set $2 + local.set $4 loop $while-continue|039 - local.get $1 + local.get $0 i32.const 0 i32.ge_s if - local.get $2 - local.get $1 + local.get $0 + local.tee $1 i32.const 3 i32.shl + local.get $4 i32.add f64.load f64.const 1 @@ -23630,7 +23607,7 @@ local.get $1 i32.const 1 i32.sub - local.set $1 + local.set $0 br $while-continue|039 end end @@ -23649,18 +23626,18 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $0 + local.get $2 i32.const 4 i32.const 9 call $~lib/typedarray/Float64Array#subarray - local.tee $4 + local.tee $2 i32.store offset=8 i32.const 0 local.set $0 i32.const -1 local.set $1 block $~lib/typedarray/INDEX_OF<~lib/typedarray/Float64Array,f64>|inlined.041 - local.get $4 + local.get $2 i32.load offset=8 i32.const 3 i32.shr_u @@ -23670,19 +23647,19 @@ select i32.eqz br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Float64Array,f64>|inlined.041 - local.get $4 + local.get $2 i32.load offset=4 - local.set $2 + local.set $4 loop $while-continue|042 local.get $0 local.get $3 i32.lt_s if - local.get $2 local.get $0 local.tee $1 i32.const 3 i32.shl + local.get $4 i32.add f64.load f64.const 3 @@ -23714,7 +23691,7 @@ i32.const -1 local.set $1 block $~lib/typedarray/INDEX_OF<~lib/typedarray/Float64Array,f64>|inlined.044 - local.get $4 + local.get $2 i32.load offset=8 i32.const 3 i32.shr_u @@ -23724,19 +23701,19 @@ select i32.eqz br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Float64Array,f64>|inlined.044 - local.get $4 + local.get $2 i32.load offset=4 - local.set $2 + local.set $4 loop $while-continue|045 local.get $0 local.get $3 i32.lt_s if - local.get $2 local.get $0 local.tee $1 i32.const 3 i32.shl + local.get $4 i32.add f64.load f64.const 4 @@ -23766,7 +23743,7 @@ i32.const -1 local.set $1 block $~lib/typedarray/INDEX_OF<~lib/typedarray/Float64Array,f64>|inlined.047 - local.get $4 + local.get $2 i32.load offset=8 i32.const 3 i32.shr_u @@ -23776,19 +23753,19 @@ select i32.eqz br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Float64Array,f64>|inlined.047 - local.get $4 + local.get $2 i32.load offset=4 - local.set $2 + local.set $4 loop $while-continue|048 local.get $0 local.get $3 i32.lt_s if - local.get $2 local.get $0 local.tee $1 i32.const 3 i32.shl + local.get $4 i32.add f64.load f64.const 5 @@ -23820,7 +23797,7 @@ i32.const -1 local.set $1 block $~lib/typedarray/INDEX_OF<~lib/typedarray/Float64Array,f64>|inlined.050 - local.get $4 + local.get $2 i32.load offset=8 i32.const 3 i32.shr_u @@ -23830,19 +23807,19 @@ select i32.eqz br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Float64Array,f64>|inlined.050 - local.get $4 + local.get $2 i32.load offset=4 - local.set $2 + local.set $4 loop $while-continue|051 local.get $0 local.get $3 i32.lt_s if - local.get $2 local.get $0 local.tee $1 i32.const 3 i32.shl + local.get $4 i32.add f64.load f64.const 9 @@ -23874,7 +23851,7 @@ i32.const -1 local.set $1 block $~lib/typedarray/INDEX_OF<~lib/typedarray/Float64Array,f64>|inlined.053 - local.get $4 + local.get $2 i32.load offset=8 i32.const 3 i32.shr_u @@ -23884,19 +23861,19 @@ select i32.eqz br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Float64Array,f64>|inlined.053 - local.get $4 + local.get $2 i32.load offset=4 - local.set $2 + local.set $4 loop $while-continue|054 local.get $0 local.get $3 i32.lt_s if - local.get $2 local.get $0 local.tee $1 i32.const 3 i32.shl + local.get $4 i32.add f64.load f64.const 10 @@ -23928,7 +23905,7 @@ i32.const -1 local.set $1 block $~lib/typedarray/INDEX_OF<~lib/typedarray/Float64Array,f64>|inlined.056 - local.get $4 + local.get $2 i32.load offset=8 i32.const 3 i32.shr_u @@ -23938,19 +23915,19 @@ select i32.eqz br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Float64Array,f64>|inlined.056 - local.get $4 + local.get $2 i32.load offset=4 - local.set $2 + local.set $4 loop $while-continue|057 local.get $0 local.get $3 i32.lt_s if - local.get $2 local.get $0 local.tee $1 i32.const 3 i32.shl + local.get $4 i32.add f64.load f64.const 11 @@ -23982,7 +23959,7 @@ i32.const -1 local.set $1 block $~lib/typedarray/INDEX_OF<~lib/typedarray/Float64Array,f64>|inlined.059 - local.get $4 + local.get $2 i32.load offset=8 i32.const 3 i32.shr_u @@ -23993,19 +23970,19 @@ local.get $3 select br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Float64Array,f64>|inlined.059 - local.get $4 + local.get $2 i32.load offset=4 - local.set $2 + local.set $4 loop $while-continue|060 local.get $0 local.get $3 i32.lt_s if - local.get $2 local.get $0 local.tee $1 i32.const 3 i32.shl + local.get $4 i32.add f64.load f64.const 5 @@ -24037,30 +24014,30 @@ i32.const -1 local.set $1 block $~lib/typedarray/INDEX_OF<~lib/typedarray/Float64Array,f64>|inlined.062 - local.get $4 + local.get $2 i32.load offset=8 i32.const 3 i32.shr_u - local.tee $3 + local.tee $4 i32.const 2 i32.le_u i32.const 1 - local.get $3 + local.get $4 select br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Float64Array,f64>|inlined.062 - local.get $4 + local.get $2 i32.load offset=4 local.set $2 loop $while-continue|063 local.get $0 - local.get $3 + local.get $4 i32.lt_s if - local.get $2 local.get $0 local.tee $1 i32.const 3 i32.shl + local.get $2 i32.add f64.load f64.const 5 @@ -24218,10 +24195,10 @@ i32.const 10 i32.lt_u if - local.get $0 local.get $2 i32.const 1 i32.shl + local.get $0 i32.add local.get $1 i32.extend8_s @@ -24304,6 +24281,8 @@ local.set $3 local.get $0 i32.load offset=8 + local.set $1 + i32.const 0 local.set $0 global.get $~lib/memory/__stack_pointer i32.const 4 @@ -24324,7 +24303,7 @@ i32.const 0 i32.store block $__inlined_func$~lib/util/string/joinIntegerArray - local.get $0 + local.get $1 i32.const 1 i32.sub local.tee $2 @@ -24366,7 +24345,7 @@ i32.shl i32.const 1 call $~lib/rt/itcms/__new - local.tee $0 + local.tee $1 i32.store loop $for-loop|0 local.get $2 @@ -24374,34 +24353,34 @@ i32.gt_s if local.get $0 - local.get $1 i32.const 1 i32.shl + local.get $1 i32.add local.get $3 local.get $5 i32.add i32.load8_s call $~lib/util/number/itoa_buffered - local.get $1 + local.get $0 i32.add - local.set $1 + local.set $0 local.get $4 if local.get $0 - local.get $1 i32.const 1 i32.shl + local.get $1 i32.add i32.const 9584 local.get $4 i32.const 1 i32.shl call $~lib/memory/memory.copy - local.get $1 + local.get $0 local.get $4 i32.add - local.set $1 + local.set $0 end local.get $5 i32.const 1 @@ -24412,22 +24391,22 @@ end local.get $6 local.get $0 - local.get $1 i32.const 1 i32.shl + local.get $1 i32.add local.get $2 local.get $3 i32.add i32.load8_s call $~lib/util/number/itoa_buffered - local.get $1 + local.get $0 i32.add - local.tee $1 + local.tee $0 i32.gt_s if - local.get $0 local.get $1 + local.get $0 call $~lib/string/String#substring local.set $0 br $folding-inner0 @@ -24436,6 +24415,8 @@ i32.const 4 i32.add global.set $~lib/memory/__stack_pointer + local.get $1 + local.set $0 br $__inlined_func$~lib/util/string/joinIntegerArray end global.get $~lib/memory/__stack_pointer @@ -24648,6 +24629,8 @@ local.set $3 local.get $0 i32.load offset=8 + local.set $1 + i32.const 0 local.set $0 global.get $~lib/memory/__stack_pointer i32.const 4 @@ -24668,7 +24651,7 @@ i32.const 0 i32.store block $__inlined_func$~lib/util/string/joinIntegerArray - local.get $0 + local.get $1 i32.const 1 i32.sub local.tee $2 @@ -24710,7 +24693,7 @@ i32.shl i32.const 1 call $~lib/rt/itcms/__new - local.tee $0 + local.tee $1 i32.store loop $for-loop|0 local.get $2 @@ -24718,34 +24701,34 @@ i32.gt_s if local.get $0 - local.get $1 i32.const 1 i32.shl + local.get $1 i32.add local.get $3 local.get $5 i32.add i32.load8_u call $~lib/util/number/itoa_buffered - local.get $1 + local.get $0 i32.add - local.set $1 + local.set $0 local.get $4 if local.get $0 - local.get $1 i32.const 1 i32.shl + local.get $1 i32.add i32.const 9584 local.get $4 i32.const 1 i32.shl call $~lib/memory/memory.copy - local.get $1 + local.get $0 local.get $4 i32.add - local.set $1 + local.set $0 end local.get $5 i32.const 1 @@ -24756,22 +24739,22 @@ end local.get $6 local.get $0 - local.get $1 i32.const 1 i32.shl + local.get $1 i32.add local.get $2 local.get $3 i32.add i32.load8_u call $~lib/util/number/itoa_buffered - local.get $1 + local.get $0 i32.add - local.tee $1 + local.tee $0 i32.gt_s if - local.get $0 local.get $1 + local.get $0 call $~lib/string/String#substring local.set $0 br $folding-inner0 @@ -24780,6 +24763,8 @@ i32.const 4 i32.add global.set $~lib/memory/__stack_pointer + local.get $1 + local.set $0 br $__inlined_func$~lib/util/string/joinIntegerArray end global.get $~lib/memory/__stack_pointer @@ -24811,10 +24796,10 @@ i32.const 10 i32.lt_u if - local.get $0 local.get $2 i32.const 1 i32.shl + local.get $0 i32.add local.get $1 i32.extend16_s @@ -24899,6 +24884,8 @@ i32.load offset=8 i32.const 1 i32.shr_u + local.set $1 + i32.const 0 local.set $0 global.get $~lib/memory/__stack_pointer i32.const 4 @@ -24919,7 +24906,7 @@ i32.const 0 i32.store block $__inlined_func$~lib/util/string/joinIntegerArray - local.get $0 + local.get $1 i32.const 1 i32.sub local.tee $2 @@ -24961,7 +24948,7 @@ i32.shl i32.const 1 call $~lib/rt/itcms/__new - local.tee $0 + local.tee $1 i32.store loop $for-loop|0 local.get $2 @@ -24969,36 +24956,36 @@ i32.gt_s if local.get $0 - local.get $1 i32.const 1 i32.shl + local.get $1 i32.add - local.get $3 local.get $5 i32.const 1 i32.shl + local.get $3 i32.add i32.load16_s call $~lib/util/number/itoa_buffered - local.get $1 + local.get $0 i32.add - local.set $1 + local.set $0 local.get $4 if local.get $0 - local.get $1 i32.const 1 i32.shl + local.get $1 i32.add i32.const 9584 local.get $4 i32.const 1 i32.shl call $~lib/memory/memory.copy - local.get $1 + local.get $0 local.get $4 i32.add - local.set $1 + local.set $0 end local.get $5 i32.const 1 @@ -25009,24 +24996,24 @@ end local.get $6 local.get $0 - local.get $1 i32.const 1 i32.shl + local.get $1 i32.add - local.get $3 local.get $2 i32.const 1 i32.shl + local.get $3 i32.add i32.load16_s call $~lib/util/number/itoa_buffered - local.get $1 + local.get $0 i32.add - local.tee $1 + local.tee $0 i32.gt_s if - local.get $0 local.get $1 + local.get $0 call $~lib/string/String#substring local.set $0 br $folding-inner0 @@ -25035,6 +25022,8 @@ i32.const 4 i32.add global.set $~lib/memory/__stack_pointer + local.get $1 + local.set $0 br $__inlined_func$~lib/util/string/joinIntegerArray end global.get $~lib/memory/__stack_pointer @@ -25133,6 +25122,8 @@ i32.load offset=8 i32.const 1 i32.shr_u + local.set $1 + i32.const 0 local.set $0 global.get $~lib/memory/__stack_pointer i32.const 4 @@ -25153,7 +25144,7 @@ i32.const 0 i32.store block $__inlined_func$~lib/util/string/joinIntegerArray - local.get $0 + local.get $1 i32.const 1 i32.sub local.tee $2 @@ -25195,7 +25186,7 @@ i32.shl i32.const 1 call $~lib/rt/itcms/__new - local.tee $0 + local.tee $1 i32.store loop $for-loop|0 local.get $2 @@ -25203,36 +25194,36 @@ i32.gt_s if local.get $0 - local.get $1 i32.const 1 i32.shl + local.get $1 i32.add - local.get $3 local.get $5 i32.const 1 i32.shl + local.get $3 i32.add i32.load16_u call $~lib/util/number/itoa_buffered - local.get $1 + local.get $0 i32.add - local.set $1 + local.set $0 local.get $4 if local.get $0 - local.get $1 i32.const 1 i32.shl + local.get $1 i32.add i32.const 9584 local.get $4 i32.const 1 i32.shl call $~lib/memory/memory.copy - local.get $1 + local.get $0 local.get $4 i32.add - local.set $1 + local.set $0 end local.get $5 i32.const 1 @@ -25243,24 +25234,24 @@ end local.get $6 local.get $0 - local.get $1 i32.const 1 i32.shl + local.get $1 i32.add - local.get $3 local.get $2 i32.const 1 i32.shl + local.get $3 i32.add i32.load16_u call $~lib/util/number/itoa_buffered - local.get $1 + local.get $0 i32.add - local.tee $1 + local.tee $0 i32.gt_s if - local.get $0 local.get $1 + local.get $0 call $~lib/string/String#substring local.set $0 br $folding-inner0 @@ -25269,6 +25260,8 @@ i32.const 4 i32.add global.set $~lib/memory/__stack_pointer + local.get $1 + local.set $0 br $__inlined_func$~lib/util/string/joinIntegerArray end global.get $~lib/memory/__stack_pointer @@ -25297,10 +25290,10 @@ i32.const 10 i32.lt_u if - local.get $0 local.get $2 i32.const 1 i32.shl + local.get $0 i32.add local.get $1 i32.const 48 @@ -25380,6 +25373,8 @@ i32.load offset=8 i32.const 2 i32.shr_u + local.set $1 + i32.const 0 local.set $0 global.get $~lib/memory/__stack_pointer i32.const 4 @@ -25400,7 +25395,7 @@ i32.const 0 i32.store block $__inlined_func$~lib/util/string/joinIntegerArray - local.get $0 + local.get $1 i32.const 1 i32.sub local.tee $2 @@ -25442,7 +25437,7 @@ i32.shl i32.const 1 call $~lib/rt/itcms/__new - local.tee $0 + local.tee $1 i32.store loop $for-loop|0 local.get $2 @@ -25450,36 +25445,36 @@ i32.gt_s if local.get $0 - local.get $1 i32.const 1 i32.shl + local.get $1 i32.add - local.get $3 local.get $5 i32.const 2 i32.shl + local.get $3 i32.add i32.load call $~lib/util/number/itoa_buffered - local.get $1 + local.get $0 i32.add - local.set $1 + local.set $0 local.get $4 if local.get $0 - local.get $1 i32.const 1 i32.shl + local.get $1 i32.add i32.const 9584 local.get $4 i32.const 1 i32.shl call $~lib/memory/memory.copy - local.get $1 + local.get $0 local.get $4 i32.add - local.set $1 + local.set $0 end local.get $5 i32.const 1 @@ -25490,24 +25485,24 @@ end local.get $6 local.get $0 - local.get $1 i32.const 1 i32.shl + local.get $1 i32.add - local.get $3 local.get $2 i32.const 2 i32.shl + local.get $3 i32.add i32.load call $~lib/util/number/itoa_buffered - local.get $1 + local.get $0 i32.add - local.tee $1 + local.tee $0 i32.gt_s if - local.get $0 local.get $1 + local.get $0 call $~lib/string/String#substring local.set $0 br $folding-inner0 @@ -25516,6 +25511,8 @@ i32.const 4 i32.add global.set $~lib/memory/__stack_pointer + local.get $1 + local.set $0 br $__inlined_func$~lib/util/string/joinIntegerArray end global.get $~lib/memory/__stack_pointer @@ -25605,6 +25602,8 @@ i32.load offset=8 i32.const 2 i32.shr_u + local.set $1 + i32.const 0 local.set $0 global.get $~lib/memory/__stack_pointer i32.const 4 @@ -25625,7 +25624,7 @@ i32.const 0 i32.store block $__inlined_func$~lib/util/string/joinIntegerArray - local.get $0 + local.get $1 i32.const 1 i32.sub local.tee $2 @@ -25667,7 +25666,7 @@ i32.shl i32.const 1 call $~lib/rt/itcms/__new - local.tee $0 + local.tee $1 i32.store loop $for-loop|0 local.get $2 @@ -25675,36 +25674,36 @@ i32.gt_s if local.get $0 - local.get $1 i32.const 1 i32.shl + local.get $1 i32.add - local.get $3 local.get $5 i32.const 2 i32.shl + local.get $3 i32.add i32.load call $~lib/util/number/itoa_buffered - local.get $1 + local.get $0 i32.add - local.set $1 + local.set $0 local.get $4 if local.get $0 - local.get $1 i32.const 1 i32.shl + local.get $1 i32.add i32.const 9584 local.get $4 i32.const 1 i32.shl call $~lib/memory/memory.copy - local.get $1 + local.get $0 local.get $4 i32.add - local.set $1 + local.set $0 end local.get $5 i32.const 1 @@ -25715,24 +25714,24 @@ end local.get $6 local.get $0 - local.get $1 i32.const 1 i32.shl + local.get $1 i32.add - local.get $3 local.get $2 i32.const 2 i32.shl + local.get $3 i32.add i32.load call $~lib/util/number/itoa_buffered - local.get $1 + local.get $0 i32.add - local.tee $1 + local.tee $0 i32.gt_s if - local.get $0 local.get $1 + local.get $0 call $~lib/string/String#substring local.set $0 br $folding-inner0 @@ -25741,6 +25740,8 @@ i32.const 4 i32.add global.set $~lib/memory/__stack_pointer + local.get $1 + local.set $0 br $__inlined_func$~lib/util/string/joinIntegerArray end global.get $~lib/memory/__stack_pointer @@ -25758,6 +25759,14 @@ i64.const 100000000 i64.ge_u if + local.get $2 + i32.const 4 + i32.sub + local.tee $2 + i32.const 1 + i32.shl + local.get $0 + i32.add local.get $1 local.get $1 i64.const 100000000 @@ -25769,20 +25778,8 @@ i32.wrap_i64 local.tee $3 i32.const 10000 - i32.div_u - local.set $4 - local.get $2 - i32.const 4 - i32.sub - local.tee $2 - i32.const 1 - i32.shl - local.get $0 - i32.add - local.get $3 - i32.const 10000 i32.rem_u - local.tee $3 + local.tee $4 i32.const 100 i32.div_u i32.const 2 @@ -25790,7 +25787,7 @@ i32.const 8012 i32.add i64.load32_u - local.get $3 + local.get $4 i32.const 100 i32.rem_u i32.const 2 @@ -25810,7 +25807,10 @@ i32.shl local.get $0 i32.add - local.get $4 + local.get $3 + i32.const 10000 + i32.div_u + local.tee $3 i32.const 100 i32.div_u i32.const 2 @@ -25818,7 +25818,7 @@ i32.const 8012 i32.add i64.load32_u - local.get $4 + local.get $3 i32.const 100 i32.rem_u i32.const 2 @@ -25860,10 +25860,10 @@ i64.const 10 i64.lt_u if - local.get $0 local.get $3 i32.const 1 i32.shl + local.get $0 i32.add local.get $1 i64.const 48 @@ -25995,6 +25995,349 @@ end local.get $0 ) + (func $~lib/typedarray/Int64Array#join (param $0 i32) (result i32) + (local $1 i32) + (local $2 i64) + (local $3 i32) + (local $4 i32) + (local $5 i32) + (local $6 i32) + (local $7 i32) + local.get $0 + i32.load offset=4 + local.set $5 + local.get $0 + i32.load offset=8 + i32.const 3 + i32.shr_u + local.set $1 + i32.const 0 + local.set $0 + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.sub + global.set $~lib/memory/__stack_pointer + block $folding-inner1 + global.get $~lib/memory/__stack_pointer + i32.const 16628 + i32.lt_s + br_if $folding-inner1 + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store + block $__inlined_func$~lib/util/string/joinIntegerArray + local.get $1 + i32.const 1 + i32.sub + local.tee $4 + i32.const 0 + i32.lt_s + if + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + i32.const 7776 + local.set $0 + br $__inlined_func$~lib/util/string/joinIntegerArray + end + block $folding-inner0 + local.get $4 + i32.eqz + if + local.get $5 + i64.load + i64.extend32_s + local.set $2 + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.sub + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 16628 + i32.lt_s + br_if $folding-inner1 + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store + block $__inlined_func$~lib/util/number/itoa64 + local.get $2 + i64.eqz + if + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + i32.const 8000 + local.set $0 + br $__inlined_func$~lib/util/number/itoa64 + end + i64.const 0 + local.get $2 + i64.sub + local.get $2 + local.get $2 + i64.const 63 + i64.shr_u + i32.wrap_i64 + local.tee $3 + select + local.tee $2 + i64.const 4294967295 + i64.le_u + if + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.wrap_i64 + local.tee $6 + local.tee $0 + i32.const 100000 + i32.lt_u + if (result i32) + local.get $0 + i32.const 100 + i32.lt_u + if (result i32) + local.get $0 + i32.const 10 + i32.ge_u + i32.const 1 + i32.add + else + local.get $0 + i32.const 10000 + i32.ge_u + i32.const 3 + i32.add + local.get $0 + i32.const 1000 + i32.ge_u + i32.add + end + else + local.get $0 + i32.const 10000000 + i32.lt_u + if (result i32) + local.get $0 + i32.const 1000000 + i32.ge_u + i32.const 6 + i32.add + else + local.get $0 + i32.const 1000000000 + i32.ge_u + i32.const 8 + i32.add + local.get $0 + i32.const 100000000 + i32.ge_u + i32.add + end + end + local.get $3 + i32.add + local.tee $1 + i32.const 1 + i32.shl + i32.const 1 + call $~lib/rt/itcms/__new + local.tee $0 + i32.store + local.get $0 + local.get $6 + local.get $1 + call $~lib/util/number/utoa32_dec_lut + else + global.get $~lib/memory/__stack_pointer + local.get $2 + i64.const 1000000000000000 + i64.lt_u + if (result i32) + local.get $2 + i64.const 1000000000000 + i64.lt_u + if (result i32) + local.get $2 + i64.const 100000000000 + i64.ge_u + i32.const 10 + i32.add + local.get $2 + i64.const 10000000000 + i64.ge_u + i32.add + else + local.get $2 + i64.const 100000000000000 + i64.ge_u + i32.const 13 + i32.add + local.get $2 + i64.const 10000000000000 + i64.ge_u + i32.add + end + else + local.get $2 + i64.const 100000000000000000 + i64.lt_u + if (result i32) + local.get $2 + i64.const 10000000000000000 + i64.ge_u + i32.const 16 + i32.add + else + local.get $2 + i64.const -8446744073709551616 + i64.ge_u + i32.const 18 + i32.add + local.get $2 + i64.const 1000000000000000000 + i64.ge_u + i32.add + end + end + local.get $3 + i32.add + local.tee $1 + i32.const 1 + i32.shl + i32.const 1 + call $~lib/rt/itcms/__new + local.tee $0 + i32.store + local.get $0 + local.get $2 + local.get $1 + call $~lib/util/number/utoa64_dec_lut + end + local.get $3 + if + local.get $0 + i32.const 45 + i32.store16 + end + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + end + br $folding-inner0 + end + global.get $~lib/memory/__stack_pointer + local.get $4 + i32.const 9580 + i32.load + i32.const 1 + i32.shr_u + local.tee $7 + i32.const 21 + i32.add + i32.mul + i32.const 21 + i32.add + local.tee $6 + i32.const 1 + i32.shl + i32.const 1 + call $~lib/rt/itcms/__new + local.tee $1 + i32.store + loop $for-loop|0 + local.get $3 + local.get $4 + i32.lt_s + if + local.get $0 + i32.const 1 + i32.shl + local.get $1 + i32.add + local.get $3 + i32.const 3 + i32.shl + local.get $5 + i32.add + i64.load + call $~lib/util/number/itoa_buffered + local.get $0 + i32.add + local.set $0 + local.get $7 + if + local.get $0 + i32.const 1 + i32.shl + local.get $1 + i32.add + i32.const 9584 + local.get $7 + i32.const 1 + i32.shl + call $~lib/memory/memory.copy + local.get $0 + local.get $7 + i32.add + local.set $0 + end + local.get $3 + i32.const 1 + i32.add + local.set $3 + br $for-loop|0 + end + end + local.get $6 + local.get $0 + i32.const 1 + i32.shl + local.get $1 + i32.add + local.get $4 + i32.const 3 + i32.shl + local.get $5 + i32.add + i64.load + call $~lib/util/number/itoa_buffered + local.get $0 + i32.add + local.tee $0 + i32.gt_s + if + local.get $1 + local.get $0 + call $~lib/string/String#substring + local.set $0 + br $folding-inner0 + end + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $1 + local.set $0 + br $__inlined_func$~lib/util/string/joinIntegerArray + end + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + end + local.get $0 + return + end + i32.const 33040 + i32.const 33088 + i32.const 1 + i32.const 1 + call $~lib/builtins/abort + unreachable + ) (func $~lib/util/number/itoa_buffered (param $0 i32) (param $1 i64) (result i32) (local $2 i32) (local $3 i32) @@ -26142,21 +26485,23 @@ i32.load offset=8 i32.const 3 i32.shr_u + local.set $1 + i32.const 0 local.set $0 global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub global.set $~lib/memory/__stack_pointer - block $folding-inner0 + block $folding-inner1 global.get $~lib/memory/__stack_pointer i32.const 16628 i32.lt_s - br_if $folding-inner0 + br_if $folding-inner1 global.get $~lib/memory/__stack_pointer i32.const 0 i32.store block $__inlined_func$~lib/util/string/joinIntegerArray - local.get $0 + local.get $1 i32.const 1 i32.sub local.tee $3 @@ -26171,264 +26516,265 @@ local.set $0 br $__inlined_func$~lib/util/string/joinIntegerArray end - local.get $3 - i32.eqz - if - local.get $4 - i64.load - local.set $2 - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.sub - global.set $~lib/memory/__stack_pointer - global.get $~lib/memory/__stack_pointer - i32.const 16628 - i32.lt_s - br_if $folding-inner0 - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store - block $__inlined_func$~lib/util/number/utoa64 - local.get $2 - i64.eqz - if - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - i32.const 8000 - local.set $0 - br $__inlined_func$~lib/util/number/utoa64 - end - local.get $2 - i64.const 4294967295 - i64.le_u - if - global.get $~lib/memory/__stack_pointer + block $folding-inner0 + local.get $3 + i32.eqz + if + local.get $4 + i64.load + local.set $2 + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.sub + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 16628 + i32.lt_s + br_if $folding-inner1 + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store + block $__inlined_func$~lib/util/number/utoa64 local.get $2 - i32.wrap_i64 - local.tee $3 - local.tee $0 - i32.const 100000 - i32.lt_u - if (result i32) - local.get $0 - i32.const 100 + i64.eqz + if + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + i32.const 8000 + local.set $0 + br $__inlined_func$~lib/util/number/utoa64 + end + local.get $2 + i64.const 4294967295 + i64.le_u + if + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.wrap_i64 + local.tee $3 + local.tee $0 + i32.const 100000 i32.lt_u if (result i32) local.get $0 - i32.const 10 - i32.ge_u - i32.const 1 - i32.add + i32.const 100 + i32.lt_u + if (result i32) + local.get $0 + i32.const 10 + i32.ge_u + i32.const 1 + i32.add + else + local.get $0 + i32.const 10000 + i32.ge_u + i32.const 3 + i32.add + local.get $0 + i32.const 1000 + i32.ge_u + i32.add + end else local.get $0 - i32.const 10000 - i32.ge_u - i32.const 3 - i32.add - local.get $0 - i32.const 1000 - i32.ge_u - i32.add + i32.const 10000000 + i32.lt_u + if (result i32) + local.get $0 + i32.const 1000000 + i32.ge_u + i32.const 6 + i32.add + else + local.get $0 + i32.const 1000000000 + i32.ge_u + i32.const 8 + i32.add + local.get $0 + i32.const 100000000 + i32.ge_u + i32.add + end end - else + local.tee $1 + i32.const 1 + i32.shl + i32.const 1 + call $~lib/rt/itcms/__new + local.tee $0 + i32.store local.get $0 - i32.const 10000000 - i32.lt_u - if (result i32) - local.get $0 - i32.const 1000000 - i32.ge_u - i32.const 6 - i32.add - else - local.get $0 - i32.const 1000000000 - i32.ge_u - i32.const 8 - i32.add - local.get $0 - i32.const 100000000 - i32.ge_u - i32.add - end - end - local.tee $1 - i32.const 1 - i32.shl - i32.const 1 - call $~lib/rt/itcms/__new - local.tee $0 - i32.store - local.get $0 - local.get $3 - local.get $1 - call $~lib/util/number/utoa32_dec_lut - else - global.get $~lib/memory/__stack_pointer - local.get $2 - i64.const 1000000000000000 - i64.lt_u - if (result i32) - local.get $2 - i64.const 1000000000000 - i64.lt_u - if (result i32) - local.get $2 - i64.const 100000000000 - i64.ge_u - i32.const 10 - i32.add - local.get $2 - i64.const 10000000000 - i64.ge_u - i32.add - else - local.get $2 - i64.const 100000000000000 - i64.ge_u - i32.const 13 - i32.add - local.get $2 - i64.const 10000000000000 - i64.ge_u - i32.add - end + local.get $3 + local.get $1 + call $~lib/util/number/utoa32_dec_lut else + global.get $~lib/memory/__stack_pointer local.get $2 - i64.const 100000000000000000 + i64.const 1000000000000000 i64.lt_u if (result i32) local.get $2 - i64.const 10000000000000000 - i64.ge_u - i32.const 16 - i32.add + i64.const 1000000000000 + i64.lt_u + if (result i32) + local.get $2 + i64.const 100000000000 + i64.ge_u + i32.const 10 + i32.add + local.get $2 + i64.const 10000000000 + i64.ge_u + i32.add + else + local.get $2 + i64.const 100000000000000 + i64.ge_u + i32.const 13 + i32.add + local.get $2 + i64.const 10000000000000 + i64.ge_u + i32.add + end else local.get $2 - i64.const -8446744073709551616 - i64.ge_u - i32.const 18 - i32.add - local.get $2 - i64.const 1000000000000000000 - i64.ge_u - i32.add + i64.const 100000000000000000 + i64.lt_u + if (result i32) + local.get $2 + i64.const 10000000000000000 + i64.ge_u + i32.const 16 + i32.add + else + local.get $2 + i64.const -8446744073709551616 + i64.ge_u + i32.const 18 + i32.add + local.get $2 + i64.const 1000000000000000000 + i64.ge_u + i32.add + end end + local.tee $1 + i32.const 1 + i32.shl + i32.const 1 + call $~lib/rt/itcms/__new + local.tee $0 + i32.store + local.get $0 + local.get $2 + local.get $1 + call $~lib/util/number/utoa64_dec_lut end - local.tee $1 - i32.const 1 - i32.shl - i32.const 1 - call $~lib/rt/itcms/__new - local.tee $0 - i32.store - local.get $0 - local.get $2 - local.get $1 - call $~lib/util/number/utoa64_dec_lut + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer end - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer + br $folding-inner0 end global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - br $__inlined_func$~lib/util/string/joinIntegerArray - end - global.get $~lib/memory/__stack_pointer - local.get $3 - i32.const 9580 - i32.load - i32.const 1 - i32.shr_u - local.tee $5 - i32.const 20 - i32.add - i32.mul - i32.const 20 - i32.add - local.tee $7 - i32.const 1 - i32.shl - i32.const 1 - call $~lib/rt/itcms/__new - local.tee $0 - i32.store - loop $for-loop|0 local.get $3 - local.get $6 - i32.gt_s - if - local.get $0 - local.get $1 - i32.const 1 - i32.shl - i32.add - local.get $4 + i32.const 9580 + i32.load + i32.const 1 + i32.shr_u + local.tee $5 + i32.const 20 + i32.add + i32.mul + i32.const 20 + i32.add + local.tee $7 + i32.const 1 + i32.shl + i32.const 1 + call $~lib/rt/itcms/__new + local.tee $1 + i32.store + loop $for-loop|0 + local.get $3 local.get $6 - i32.const 3 - i32.shl - i32.add - i64.load - call $~lib/util/number/itoa_buffered - local.get $1 - i32.add - local.set $1 - local.get $5 + i32.gt_s if local.get $0 - local.get $1 i32.const 1 i32.shl + local.get $1 i32.add - i32.const 9584 - local.get $5 - i32.const 1 + local.get $6 + i32.const 3 i32.shl - call $~lib/memory/memory.copy - local.get $1 + local.get $4 + i32.add + i64.load + call $~lib/util/number/itoa_buffered + local.get $0 + i32.add + local.set $0 local.get $5 + if + local.get $0 + i32.const 1 + i32.shl + local.get $1 + i32.add + i32.const 9584 + local.get $5 + i32.const 1 + i32.shl + call $~lib/memory/memory.copy + local.get $0 + local.get $5 + i32.add + local.set $0 + end + local.get $6 + i32.const 1 i32.add - local.set $1 + local.set $6 + br $for-loop|0 end - local.get $6 - i32.const 1 - i32.add - local.set $6 - br $for-loop|0 end - end - local.get $7 - local.get $0 - local.get $1 - i32.const 1 - i32.shl - i32.add - local.get $4 - local.get $3 - i32.const 3 - i32.shl - i32.add - i64.load - call $~lib/util/number/itoa_buffered - local.get $1 - i32.add - local.tee $1 - i32.gt_s - if + local.get $7 local.get $0 + i32.const 1 + i32.shl local.get $1 - call $~lib/string/String#substring - local.set $0 + i32.add + local.get $3 + i32.const 3 + i32.shl + local.get $4 + i32.add + i64.load + call $~lib/util/number/itoa_buffered + local.get $0 + i32.add + local.tee $0 + i32.gt_s + if + local.get $1 + local.get $0 + call $~lib/string/String#substring + local.set $0 + br $folding-inner0 + end global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer + local.get $1 + local.set $0 br $__inlined_func$~lib/util/string/joinIntegerArray end global.get $~lib/memory/__stack_pointer @@ -26657,10 +27003,10 @@ i32.const 1 i32.add local.set $5 - local.get $0 local.get $8 i32.const 1 i32.shl + local.get $0 i32.add local.get $3 i32.const 65535 @@ -26698,12 +27044,12 @@ i64.extend_i32_s i64.shl local.set $2 - local.get $0 local.get $5 i32.const 1 i32.sub i32.const 1 i32.shl + local.get $0 i32.add local.tee $6 i32.load16_u @@ -26759,9 +27105,6 @@ br $while-continue|0 end end - local.get $11 - i64.extend_i32_s - local.set $1 loop $while-continue|4 local.get $4 i64.const 10 @@ -26770,10 +27113,11 @@ local.get $7 i64.const 10 i64.mul - local.tee $2 - local.get $1 + local.tee $1 + local.get $11 + i64.extend_i32_s i64.shr_u - local.tee $7 + local.tee $2 local.get $5 i64.extend_i32_s i64.or @@ -26785,12 +27129,12 @@ i32.const 1 i32.add local.set $5 - local.get $0 local.get $3 i32.const 1 i32.shl + local.get $0 i32.add - local.get $7 + local.get $2 i32.wrap_i64 i32.const 65535 i32.and @@ -26803,7 +27147,7 @@ i32.sub local.set $9 local.get $4 - local.get $2 + local.get $1 local.get $13 i64.and local.tee $7 @@ -26816,7 +27160,6 @@ global.set $~lib/util/number/_K local.get $7 local.set $1 - local.get $10 i32.const 0 local.get $9 i32.sub @@ -26825,14 +27168,15 @@ i32.const 10736 i32.add i64.load32_u + local.get $10 i64.mul local.set $2 - local.get $0 local.get $5 i32.const 1 i32.sub i32.const 1 i32.shl + local.get $0 i32.add local.tee $6 i32.load16_u @@ -26892,10 +27236,10 @@ local.get $2 i32.eqz if - local.get $0 local.get $1 i32.const 1 i32.shl + local.get $0 i32.add i32.const 3145774 i32.store @@ -26921,10 +27265,10 @@ local.get $4 i32.lt_s if - local.get $0 local.get $1 i32.const 1 i32.shl + local.get $0 i32.add i32.const 48 i32.store16 @@ -26935,10 +27279,10 @@ br $for-loop|0 end end - local.get $0 local.get $4 i32.const 1 i32.shl + local.get $0 i32.add i32.const 3145774 i32.store @@ -26955,10 +27299,10 @@ i32.gt_s select if (result i32) - local.get $0 local.get $4 i32.const 1 i32.shl + local.get $0 i32.add local.tee $0 i32.const 2 @@ -26986,13 +27330,13 @@ i32.gt_s select if (result i32) - local.get $0 i32.const 2 local.get $4 i32.sub local.tee $5 i32.const 1 i32.shl + local.get $0 i32.add local.get $0 local.get $1 @@ -27009,10 +27353,10 @@ local.get $5 i32.lt_s if - local.get $0 local.get $2 i32.const 1 i32.shl + local.get $0 i32.add i32.const 48 i32.store16 @@ -27226,21 +27570,22 @@ ) (func $~lib/util/number/dtoa_core (param $0 i32) (param $1 f64) (result i32) (local $2 i64) - (local $3 i64) - (local $4 i32) - (local $5 i32) + (local $3 i32) + (local $4 i64) + (local $5 i64) (local $6 i64) - (local $7 i64) - (local $8 i64) + (local $7 i32) + (local $8 i32) (local $9 i32) - (local $10 i32) + (local $10 i64) (local $11 i64) (local $12 i64) (local $13 i64) + (local $14 i64) local.get $1 f64.const 0 f64.lt - local.tee $9 + local.tee $8 if (result f64) local.get $0 i32.const 45 @@ -27257,11 +27602,11 @@ i64.const 52 i64.shr_u i32.wrap_i64 - local.set $5 + local.set $3 local.get $2 i64.const 4503599627370495 i64.and - local.get $5 + local.get $3 i32.const 0 i32.ne i64.extend_i32_u @@ -27269,13 +27614,13 @@ i64.shl i64.add local.set $2 - local.get $5 + local.get $3 i32.const 1 - local.get $5 + local.get $3 select i32.const 1075 i32.sub - local.tee $5 + local.tee $3 i32.const 1 i32.sub local.get $2 @@ -27283,14 +27628,14 @@ i64.shl i64.const 1 i64.add - local.tee $3 + local.tee $5 i64.clz i32.wrap_i64 - local.tee $4 + local.tee $7 i32.sub - local.set $10 - local.get $3 - local.get $4 + local.set $9 + local.get $5 + local.get $7 i64.extend_i32_s i64.shl global.set $~lib/util/number/_frc_plus @@ -27300,25 +27645,25 @@ i64.eq i32.const 1 i32.add - local.tee $4 + local.tee $7 i64.extend_i32_s i64.shl i64.const 1 i64.sub - local.get $5 - local.get $4 + local.get $3 + local.get $7 i32.sub - local.get $10 + local.get $9 i32.sub i64.extend_i32_s i64.shl global.set $~lib/util/number/_frc_minus - local.get $10 + local.get $9 global.set $~lib/util/number/_exp i32.const 348 i32.const -61 global.get $~lib/util/number/_exp - local.tee $5 + local.tee $9 i32.sub f64.convert_i32_s f64.const 0.30102999566398114 @@ -27327,9 +27672,9 @@ f64.add local.tee $1 i32.trunc_f64_s - local.tee $4 + local.tee $3 local.get $1 - local.get $4 + local.get $3 f64.convert_i32_s f64.ne i32.add @@ -27337,18 +27682,18 @@ i32.shr_s i32.const 1 i32.add - local.tee $4 + local.tee $3 i32.const 3 i32.shl - local.tee $10 + local.tee $7 i32.sub global.set $~lib/util/number/_K - local.get $10 + local.get $7 i32.const 9864 i32.add i64.load global.set $~lib/util/number/_frc_pow - local.get $4 + local.get $3 i32.const 1 i32.shl i32.const 10560 @@ -27359,62 +27704,62 @@ local.get $2 i64.clz i64.shl - local.tee $3 + local.tee $2 i64.const 4294967295 i64.and - local.set $12 + local.set $11 + local.get $2 + i64.const 32 + i64.shr_u + local.tee $14 global.get $~lib/util/number/_frc_pow - local.tee $11 + local.tee $5 i64.const 4294967295 i64.and - local.set $2 - local.get $3 - i64.const 32 - i64.shr_u - local.set $13 - local.get $11 - i64.const 32 - i64.shr_u - local.set $3 - local.get $2 - local.get $13 + local.tee $2 + local.tee $4 i64.mul - local.get $2 - local.get $12 + local.get $4 + local.get $11 i64.mul i64.const 32 i64.shr_u i64.add - local.set $11 + local.set $12 + local.get $5 + i64.const 32 + i64.shr_u + local.tee $5 + local.set $13 global.get $~lib/util/number/_frc_plus - local.tee $6 + local.tee $4 i64.const 4294967295 i64.and - local.set $7 - local.get $2 - local.get $6 + local.set $6 + local.get $4 i64.const 32 i64.shr_u - local.tee $6 + local.tee $10 + local.get $2 i64.mul local.get $2 - local.get $7 + local.get $6 i64.mul i64.const 32 i64.shr_u i64.add - local.set $8 - local.get $3 - local.get $6 + local.set $4 + local.get $5 + local.get $10 i64.mul - local.get $8 + local.get $4 i64.const 32 i64.shr_u i64.add - local.get $3 - local.get $7 + local.get $5 + local.get $6 i64.mul - local.get $8 + local.get $4 i64.const 4294967295 i64.and i64.add @@ -27425,42 +27770,42 @@ i64.add i64.const 1 i64.sub - local.set $6 + local.set $4 global.get $~lib/util/number/_frc_minus - local.tee $7 + local.tee $6 i64.const 4294967295 i64.and - local.set $8 - local.get $2 - local.get $7 + local.set $10 + local.get $6 i64.const 32 i64.shr_u - local.tee $7 + local.tee $6 + local.get $2 i64.mul local.get $2 - local.get $8 + local.get $10 i64.mul i64.const 32 i64.shr_u i64.add local.set $2 - local.get $9 + local.get $8 i32.const 1 i32.shl local.get $0 i32.add local.get $0 - local.get $3 local.get $13 + local.get $14 i64.mul - local.get $11 + local.get $12 i64.const 32 i64.shr_u i64.add - local.get $3 - local.get $12 - i64.mul local.get $11 + local.get $13 + i64.mul + local.get $12 i64.const 4294967295 i64.and i64.add @@ -27469,22 +27814,22 @@ i64.const 32 i64.shr_u i64.add - local.get $6 - local.get $5 + local.get $4 global.get $~lib/util/number/_exp_pow + local.get $9 i32.add i32.const -64 i32.sub + local.get $4 + local.get $5 local.get $6 - local.get $3 - local.get $7 i64.mul local.get $2 i64.const 32 i64.shr_u i64.add - local.get $3 - local.get $8 + local.get $5 + local.get $10 i64.mul local.get $2 i64.const 4294967295 @@ -27498,13 +27843,13 @@ i64.const 1 i64.add i64.sub - local.get $9 + local.get $8 call $~lib/util/number/genDigits - local.get $9 + local.get $8 i32.sub global.get $~lib/util/number/_K call $~lib/util/number/prettify - local.get $9 + local.get $8 i32.add ) (func $~lib/util/number/dtoa_buffered (param $0 i32) (param $1 f64) (result i32) @@ -27591,6 +27936,8 @@ i32.load offset=8 i32.const 2 i32.shr_u + local.set $1 + i32.const 0 local.set $0 global.get $~lib/memory/__stack_pointer i32.const 4 @@ -27611,7 +27958,7 @@ i32.const 0 i32.store block $__inlined_func$~lib/util/string/joinFloatArray - local.get $0 + local.get $1 i32.const 1 i32.sub local.tee $2 @@ -27654,168 +28001,7 @@ i32.shl i32.const 1 call $~lib/rt/itcms/__new - local.tee $0 - i32.store - loop $for-loop|0 - local.get $2 - local.get $5 - i32.gt_s - if - local.get $0 - local.get $1 - i32.const 1 - i32.shl - i32.add - local.get $3 - local.get $5 - i32.const 2 - i32.shl - i32.add - f32.load - f64.promote_f32 - call $~lib/util/number/dtoa_buffered - local.get $1 - i32.add - local.set $1 - local.get $4 - if - local.get $0 - local.get $1 - i32.const 1 - i32.shl - i32.add - i32.const 9584 - local.get $4 - i32.const 1 - i32.shl - call $~lib/memory/memory.copy - local.get $1 - local.get $4 - i32.add - local.set $1 - end - local.get $5 - i32.const 1 - i32.add - local.set $5 - br $for-loop|0 - end - end - local.get $6 - local.get $0 - local.get $1 - i32.const 1 - i32.shl - i32.add - local.get $3 - local.get $2 - i32.const 2 - i32.shl - i32.add - f32.load - f64.promote_f32 - call $~lib/util/number/dtoa_buffered - local.get $1 - i32.add local.tee $1 - i32.gt_s - if - local.get $0 - local.get $1 - call $~lib/string/String#substring - local.set $0 - br $folding-inner0 - end - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - br $__inlined_func$~lib/util/string/joinFloatArray - end - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - end - local.get $0 - ) - (func $~lib/typedarray/Float64Array#join (param $0 i32) (result i32) - (local $1 i32) - (local $2 i32) - (local $3 i32) - (local $4 i32) - (local $5 i32) - (local $6 i32) - local.get $0 - i32.load offset=4 - local.set $3 - local.get $0 - i32.load offset=8 - i32.const 3 - i32.shr_u - local.set $0 - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.sub - global.set $~lib/memory/__stack_pointer - global.get $~lib/memory/__stack_pointer - i32.const 16628 - i32.lt_s - if - i32.const 33040 - i32.const 33088 - i32.const 1 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store - block $__inlined_func$~lib/util/string/joinFloatArray - local.get $0 - i32.const 1 - i32.sub - local.tee $2 - i32.const 0 - i32.lt_s - if - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - i32.const 7776 - local.set $0 - br $__inlined_func$~lib/util/string/joinFloatArray - end - block $folding-inner0 - local.get $2 - i32.eqz - if - local.get $3 - f64.load - call $~lib/util/number/dtoa - local.set $0 - br $folding-inner0 - end - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.const 9580 - i32.load - i32.const 1 - i32.shr_u - local.tee $4 - i32.const 28 - i32.add - i32.mul - i32.const 28 - i32.add - local.tee $6 - i32.const 1 - i32.shl - i32.const 1 - call $~lib/rt/itcms/__new - local.tee $0 i32.store loop $for-loop|0 local.get $2 @@ -27823,36 +28009,201 @@ i32.gt_s if local.get $0 - local.get $1 i32.const 1 i32.shl + local.get $1 + i32.add + local.get $5 + i32.const 2 + i32.shl + local.get $3 + i32.add + f32.load + f64.promote_f32 + call $~lib/util/number/dtoa_buffered + local.get $0 + i32.add + local.set $0 + local.get $4 + if + local.get $0 + i32.const 1 + i32.shl + local.get $1 + i32.add + i32.const 9584 + local.get $4 + i32.const 1 + i32.shl + call $~lib/memory/memory.copy + local.get $0 + local.get $4 + i32.add + local.set $0 + end + local.get $5 + i32.const 1 + i32.add + local.set $5 + br $for-loop|0 + end + end + local.get $6 + local.get $0 + i32.const 1 + i32.shl + local.get $1 + i32.add + local.get $2 + i32.const 2 + i32.shl + local.get $3 + i32.add + f32.load + f64.promote_f32 + call $~lib/util/number/dtoa_buffered + local.get $0 + i32.add + local.tee $0 + i32.gt_s + if + local.get $1 + local.get $0 + call $~lib/string/String#substring + local.set $0 + br $folding-inner0 + end + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $1 + local.set $0 + br $__inlined_func$~lib/util/string/joinFloatArray + end + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + end + local.get $0 + ) + (func $~lib/typedarray/Float64Array#join (param $0 i32) (result i32) + (local $1 i32) + (local $2 i32) + (local $3 i32) + (local $4 i32) + (local $5 i32) + (local $6 i32) + local.get $0 + i32.load offset=4 + local.set $3 + local.get $0 + i32.load offset=8 + i32.const 3 + i32.shr_u + local.set $1 + i32.const 0 + local.set $0 + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.sub + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 16628 + i32.lt_s + if + i32.const 33040 + i32.const 33088 + i32.const 1 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store + block $__inlined_func$~lib/util/string/joinFloatArray + local.get $1 + i32.const 1 + i32.sub + local.tee $2 + i32.const 0 + i32.lt_s + if + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + i32.const 7776 + local.set $0 + br $__inlined_func$~lib/util/string/joinFloatArray + end + block $folding-inner0 + local.get $2 + i32.eqz + if + local.get $3 + f64.load + call $~lib/util/number/dtoa + local.set $0 + br $folding-inner0 + end + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.const 9580 + i32.load + i32.const 1 + i32.shr_u + local.tee $4 + i32.const 28 + i32.add + i32.mul + i32.const 28 + i32.add + local.tee $6 + i32.const 1 + i32.shl + i32.const 1 + call $~lib/rt/itcms/__new + local.tee $1 + i32.store + loop $for-loop|0 + local.get $2 + local.get $5 + i32.gt_s + if + local.get $0 + i32.const 1 + i32.shl + local.get $1 i32.add - local.get $3 local.get $5 i32.const 3 i32.shl + local.get $3 i32.add f64.load call $~lib/util/number/dtoa_buffered - local.get $1 + local.get $0 i32.add - local.set $1 + local.set $0 local.get $4 if local.get $0 - local.get $1 i32.const 1 i32.shl + local.get $1 i32.add i32.const 9584 local.get $4 i32.const 1 i32.shl call $~lib/memory/memory.copy - local.get $1 + local.get $0 local.get $4 i32.add - local.set $1 + local.set $0 end local.get $5 i32.const 1 @@ -27863,24 +28214,24 @@ end local.get $6 local.get $0 - local.get $1 i32.const 1 i32.shl + local.get $1 i32.add - local.get $3 local.get $2 i32.const 3 i32.shl + local.get $3 i32.add f64.load call $~lib/util/number/dtoa_buffered - local.get $1 + local.get $0 i32.add - local.tee $1 + local.tee $0 i32.gt_s if - local.get $0 local.get $1 + local.get $0 call $~lib/string/String#substring local.set $0 br $folding-inner0 @@ -27889,6 +28240,8 @@ i32.const 4 i32.add global.set $~lib/memory/__stack_pointer + local.get $1 + local.set $0 br $__inlined_func$~lib/util/string/joinFloatArray end global.get $~lib/memory/__stack_pointer @@ -28046,10 +28399,10 @@ local.get $0 local.get $1 i32.add - local.get $2 local.get $1 i32.const 2 i32.shl + local.get $2 i32.add i32.load i32.store8 @@ -28102,10 +28455,10 @@ local.get $0 local.get $2 i32.add - local.get $3 local.get $2 i32.const 3 i32.shl + local.get $3 i32.add i64.load i64.store8 @@ -28180,10 +28533,10 @@ local.get $0 local.get $2 i32.add - local.get $3 local.get $2 i32.const 1 i32.shl + local.get $3 i32.add i32.load16_s i32.store8 @@ -28419,15 +28772,15 @@ local.get $3 i32.lt_s if - local.get $0 local.get $1 i32.const 1 i32.shl + local.get $0 i32.add - local.get $2 local.get $1 i32.const 2 i32.shl + local.get $2 i32.add i32.load i32.store16 @@ -28479,15 +28832,15 @@ local.get $2 i32.gt_s if - local.get $0 local.get $2 i32.const 1 i32.shl + local.get $0 i32.add - local.get $3 local.get $2 i32.const 3 i32.shl + local.get $3 i32.add i64.load i64.store16 @@ -28531,10 +28884,10 @@ local.get $2 i32.gt_s if - local.get $0 local.get $2 i32.const 1 i32.shl + local.get $0 i32.add local.get $2 local.get $3 @@ -28616,10 +28969,10 @@ local.get $3 i32.lt_s if - local.get $0 local.get $1 i32.const 1 i32.shl + local.get $0 i32.add local.get $1 local.get $2 @@ -28715,15 +29068,15 @@ local.get $2 i32.gt_s if - local.get $0 local.get $2 i32.const 2 i32.shl + local.get $0 i32.add - local.get $3 local.get $2 i32.const 3 i32.shl + local.get $3 i32.add i64.load i64.store32 @@ -28767,10 +29120,10 @@ local.get $2 i32.gt_s if - local.get $0 local.get $2 i32.const 2 i32.shl + local.get $0 i32.add local.get $2 local.get $3 @@ -28825,15 +29178,15 @@ local.get $2 i32.gt_s if - local.get $0 local.get $2 i32.const 2 i32.shl + local.get $0 i32.add - local.get $3 local.get $2 i32.const 1 i32.shl + local.get $3 i32.add i32.load16_s i32.store @@ -28882,10 +29235,10 @@ local.get $3 i32.lt_s if - local.get $0 local.get $1 i32.const 2 i32.shl + local.get $0 i32.add local.get $1 local.get $2 @@ -28933,15 +29286,15 @@ local.get $3 i32.lt_s if - local.get $0 local.get $1 i32.const 3 i32.shl + local.get $0 i32.add - local.get $2 local.get $1 i32.const 2 i32.shl + local.get $2 i32.add i64.load32_s i64.store @@ -29015,10 +29368,10 @@ local.get $2 i32.gt_s if - local.get $0 local.get $2 i32.const 3 i32.shl + local.get $0 i32.add local.get $2 local.get $3 @@ -29073,15 +29426,15 @@ local.get $2 i32.gt_s if - local.get $0 local.get $2 i32.const 3 i32.shl + local.get $0 i32.add - local.get $3 local.get $2 i32.const 1 i32.shl + local.get $3 i32.add i64.load16_s i64.store @@ -29130,10 +29483,10 @@ local.get $3 i32.lt_s if - local.get $0 local.get $1 i32.const 3 i32.shl + local.get $0 i32.add local.get $1 local.get $2 @@ -30722,10 +31075,10 @@ local.get $7 i32.ge_s if - local.get $0 local.get $7 i32.const 1 i32.shl + local.get $0 i32.add local.tee $3 i32.load16_s offset=2 @@ -30890,10 +31243,10 @@ local.get $4 i32.gt_s if (result i32) - local.get $0 local.get $4 i32.const 1 i32.shl + local.get $0 i32.add local.tee $5 i32.load16_s offset=2 @@ -30924,19 +31277,19 @@ local.get $2 i32.lt_s if - local.get $0 local.get $1 i32.const 1 i32.shl + local.get $0 i32.add local.tee $3 i32.load16_s local.set $6 local.get $3 - local.get $0 local.get $2 i32.const 1 i32.shl + local.get $0 i32.add local.tee $5 i32.load16_s @@ -30961,10 +31314,10 @@ local.get $4 i32.gt_s if (result i32) - local.get $0 local.get $4 i32.const 1 i32.shl + local.get $0 i32.add local.tee $1 i32.load16_s offset=2 @@ -31532,10 +31885,10 @@ local.get $7 i32.ge_s if - local.get $0 local.get $7 i32.const 1 i32.shl + local.get $0 i32.add local.tee $3 i32.load16_u offset=2 @@ -31700,10 +32053,10 @@ local.get $4 i32.gt_s if (result i32) - local.get $0 local.get $4 i32.const 1 i32.shl + local.get $0 i32.add local.tee $5 i32.load16_u offset=2 @@ -31734,19 +32087,19 @@ local.get $2 i32.lt_s if - local.get $0 local.get $1 i32.const 1 i32.shl + local.get $0 i32.add local.tee $3 i32.load16_u local.set $6 local.get $3 - local.get $0 local.get $2 i32.const 1 i32.shl + local.get $0 i32.add local.tee $5 i32.load16_u @@ -31771,10 +32124,10 @@ local.get $4 i32.gt_s if (result i32) - local.get $0 local.get $4 i32.const 1 i32.shl + local.get $0 i32.add local.tee $1 i32.load16_u offset=2 @@ -32352,10 +32705,10 @@ local.get $7 i32.ge_s if - local.get $0 local.get $7 i32.const 2 i32.shl + local.get $0 i32.add local.tee $3 i32.load offset=4 @@ -32520,10 +32873,10 @@ local.get $4 i32.gt_s if (result i32) - local.get $0 local.get $4 i32.const 2 i32.shl + local.get $0 i32.add local.tee $5 i32.load offset=4 @@ -32554,19 +32907,19 @@ local.get $2 i32.lt_s if - local.get $0 local.get $1 i32.const 2 i32.shl + local.get $0 i32.add local.tee $3 i32.load local.set $6 local.get $3 - local.get $0 local.get $2 i32.const 2 i32.shl + local.get $0 i32.add local.tee $5 i32.load @@ -32591,10 +32944,10 @@ local.get $4 i32.gt_s if (result i32) - local.get $0 local.get $4 i32.const 2 i32.shl + local.get $0 i32.add local.tee $1 i32.load offset=4 @@ -33156,10 +33509,10 @@ local.get $7 i32.ge_s if - local.get $0 local.get $7 i32.const 2 i32.shl + local.get $0 i32.add local.tee $3 i32.load offset=4 @@ -33324,10 +33677,10 @@ local.get $4 i32.gt_s if (result i32) - local.get $0 local.get $4 i32.const 2 i32.shl + local.get $0 i32.add local.tee $5 i32.load offset=4 @@ -33358,19 +33711,19 @@ local.get $2 i32.lt_s if - local.get $0 local.get $1 i32.const 2 i32.shl + local.get $0 i32.add local.tee $3 i32.load local.set $6 local.get $3 - local.get $0 local.get $2 i32.const 2 i32.shl + local.get $0 i32.add local.tee $5 i32.load @@ -33395,10 +33748,10 @@ local.get $4 i32.gt_s if (result i32) - local.get $0 local.get $4 i32.const 2 i32.shl + local.get $0 i32.add local.tee $1 i32.load offset=4 @@ -33964,10 +34317,10 @@ local.get $8 i32.ge_s if - local.get $0 local.get $8 i32.const 3 i32.shl + local.get $0 i32.add local.tee $3 i64.load offset=8 @@ -34133,10 +34486,10 @@ local.get $4 i32.gt_s if (result i32) - local.get $0 local.get $4 i32.const 3 i32.shl + local.get $0 i32.add local.tee $7 i64.load offset=8 @@ -34167,19 +34520,19 @@ local.get $2 i32.lt_s if - local.get $0 local.get $1 i32.const 3 i32.shl + local.get $0 i32.add local.tee $3 i64.load local.set $5 local.get $3 - local.get $0 local.get $2 i32.const 3 i32.shl + local.get $0 i32.add local.tee $7 i64.load @@ -34204,10 +34557,10 @@ local.get $4 i32.gt_s if (result i32) - local.get $0 local.get $4 i32.const 3 i32.shl + local.get $0 i32.add local.tee $1 i64.load offset=8 @@ -34776,10 +35129,10 @@ local.get $8 i32.ge_s if - local.get $0 local.get $8 i32.const 3 i32.shl + local.get $0 i32.add local.tee $3 i64.load offset=8 @@ -34945,10 +35298,10 @@ local.get $4 i32.gt_s if (result i32) - local.get $0 local.get $4 i32.const 3 i32.shl + local.get $0 i32.add local.tee $7 i64.load offset=8 @@ -34979,19 +35332,19 @@ local.get $2 i32.lt_s if - local.get $0 local.get $1 i32.const 3 i32.shl + local.get $0 i32.add local.tee $3 i64.load local.set $5 local.get $3 - local.get $0 local.get $2 i32.const 3 i32.shl + local.get $0 i32.add local.tee $7 i64.load @@ -35016,10 +35369,10 @@ local.get $4 i32.gt_s if (result i32) - local.get $0 local.get $4 i32.const 3 i32.shl + local.get $0 i32.add local.tee $1 i64.load offset=8 @@ -35588,10 +35941,10 @@ local.get $8 i32.ge_s if - local.get $0 local.get $8 i32.const 2 i32.shl + local.get $0 i32.add local.tee $3 f32.load offset=4 @@ -35757,10 +36110,10 @@ local.get $4 i32.gt_s if (result i32) - local.get $0 local.get $4 i32.const 2 i32.shl + local.get $0 i32.add local.tee $7 f32.load offset=4 @@ -35791,19 +36144,19 @@ local.get $2 i32.lt_s if - local.get $0 local.get $1 i32.const 2 i32.shl + local.get $0 i32.add local.tee $3 f32.load local.set $5 local.get $3 - local.get $0 local.get $2 i32.const 2 i32.shl + local.get $0 i32.add local.tee $7 f32.load @@ -35828,10 +36181,10 @@ local.get $4 i32.gt_s if (result i32) - local.get $0 local.get $4 i32.const 2 i32.shl + local.get $0 i32.add local.tee $1 f32.load offset=4 @@ -36450,6 +36803,7 @@ (local $6 i32) (local $7 i32) (local $8 i32) + (local $9 i32) global.get $~lib/memory/__stack_pointer i32.const 12 i32.sub @@ -36460,42 +36814,42 @@ i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer - local.tee $2 + local.tee $0 i64.const 0 i64.store - local.get $2 + local.get $0 i32.const 0 i32.store offset=8 - local.get $2 + local.get $0 i32.const 6 call $~lib/typedarray/Int8Array#constructor - local.tee $2 + local.tee $0 i32.store - local.get $2 + local.get $0 i32.const 0 i32.const 1 call $~lib/typedarray/Int8Array#__set - local.get $2 + local.get $0 i32.const 1 i32.const 2 call $~lib/typedarray/Int8Array#__set - local.get $2 + local.get $0 i32.const 2 i32.const 3 call $~lib/typedarray/Int8Array#__set - local.get $2 + local.get $0 i32.const 3 i32.const 4 call $~lib/typedarray/Int8Array#__set - local.get $2 + local.get $0 i32.const 5 i32.const 5 call $~lib/typedarray/Int8Array#__set global.get $~lib/memory/__stack_pointer - local.tee $7 i32.const 3952 i32.store offset=4 - local.get $7 + global.get $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer i32.const 8 i32.sub global.set $~lib/memory/__stack_pointer @@ -36507,9 +36861,9 @@ local.tee $1 i64.const 0 i64.store - local.get $2 + local.get $0 i32.load offset=8 - local.set $6 + local.set $5 local.get $1 i32.const 12 i32.const 3 @@ -36517,76 +36871,76 @@ local.tee $1 i32.store global.get $~lib/memory/__stack_pointer - local.get $6 + local.get $5 i32.const 0 call $~lib/rt/itcms/__new - local.tee $5 + local.tee $6 i32.store offset=4 - local.get $2 + local.get $0 i32.load offset=4 - local.set $3 + local.set $9 loop $for-loop|0 - local.get $6 - local.get $8 - i32.gt_s + local.get $4 + local.get $5 + i32.lt_s if - local.get $3 - local.get $8 + local.get $4 + local.get $9 i32.add i32.load8_s - local.set $4 + local.set $7 i32.const 3 global.set $~argumentsLength + local.get $7 local.get $4 - local.get $8 - local.get $2 + local.get $0 i32.const 3952 i32.load call_indirect $0 (type $i32_i32_i32_=>_i32) if - local.get $0 - local.get $5 - i32.add - local.get $4 - i32.store8 - local.get $0 + local.get $2 + local.tee $3 i32.const 1 i32.add - local.set $0 + local.set $2 + local.get $3 + local.get $6 + i32.add + local.get $7 + i32.store8 end - local.get $8 + local.get $4 i32.const 1 i32.add - local.set $8 + local.set $4 br $for-loop|0 end end local.get $1 - local.get $5 - local.get $0 + local.get $6 + local.get $2 call $~lib/rt/itcms/__renew - local.tee $2 + local.tee $0 i32.store local.get $1 - local.get $2 + local.get $0 call $~lib/rt/itcms/__link local.get $1 - local.get $0 + local.get $2 i32.store offset=8 local.get $1 - local.get $2 + local.get $0 i32.store offset=4 global.get $~lib/memory/__stack_pointer i32.const 8 i32.add global.set $~lib/memory/__stack_pointer - local.get $7 local.get $1 - local.tee $2 + local.tee $0 i32.store offset=8 - local.get $2 + local.get $0 i32.load offset=4 - local.get $2 + local.get $0 i32.load i32.sub if @@ -36597,7 +36951,7 @@ call $~lib/builtins/abort unreachable end - local.get $2 + local.get $0 i32.load offset=8 i32.const 3 i32.ne @@ -36609,7 +36963,7 @@ call $~lib/builtins/abort unreachable end - local.get $2 + local.get $0 i32.const 0 call $~lib/typedarray/Int8Array#__get i32.const 3 @@ -36622,7 +36976,7 @@ call $~lib/builtins/abort unreachable end - local.get $2 + local.get $0 i32.const 1 call $~lib/typedarray/Int8Array#__get i32.const 4 @@ -36635,7 +36989,7 @@ call $~lib/builtins/abort unreachable end - local.get $2 + local.get $0 i32.const 2 call $~lib/typedarray/Int8Array#__get i32.const 5 @@ -36671,6 +37025,7 @@ (local $6 i32) (local $7 i32) (local $8 i32) + (local $9 i32) global.get $~lib/memory/__stack_pointer i32.const 12 i32.sub @@ -36681,42 +37036,42 @@ i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer - local.tee $2 + local.tee $0 i64.const 0 i64.store - local.get $2 + local.get $0 i32.const 0 i32.store offset=8 - local.get $2 + local.get $0 i32.const 6 call $~lib/typedarray/Uint8Array#constructor - local.tee $2 + local.tee $0 i32.store - local.get $2 + local.get $0 i32.const 0 i32.const 1 call $~lib/typedarray/Uint8Array#__set - local.get $2 + local.get $0 i32.const 1 i32.const 2 call $~lib/typedarray/Uint8Array#__set - local.get $2 + local.get $0 i32.const 2 i32.const 3 call $~lib/typedarray/Uint8Array#__set - local.get $2 + local.get $0 i32.const 3 i32.const 4 call $~lib/typedarray/Uint8Array#__set - local.get $2 + local.get $0 i32.const 5 i32.const 5 call $~lib/typedarray/Uint8Array#__set global.get $~lib/memory/__stack_pointer - local.tee $7 i32.const 3984 i32.store offset=4 - local.get $7 + global.get $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer i32.const 8 i32.sub global.set $~lib/memory/__stack_pointer @@ -36728,9 +37083,9 @@ local.tee $1 i64.const 0 i64.store - local.get $2 + local.get $0 i32.load offset=8 - local.set $6 + local.set $5 local.get $1 i32.const 12 i32.const 4 @@ -36738,76 +37093,76 @@ local.tee $1 i32.store global.get $~lib/memory/__stack_pointer - local.get $6 + local.get $5 i32.const 0 call $~lib/rt/itcms/__new - local.tee $5 + local.tee $6 i32.store offset=4 - local.get $2 + local.get $0 i32.load offset=4 - local.set $3 + local.set $9 loop $for-loop|0 - local.get $6 - local.get $8 - i32.gt_s + local.get $4 + local.get $5 + i32.lt_s if - local.get $3 - local.get $8 + local.get $4 + local.get $9 i32.add i32.load8_u - local.set $4 + local.set $7 i32.const 3 global.set $~argumentsLength + local.get $7 local.get $4 - local.get $8 - local.get $2 + local.get $0 i32.const 3984 i32.load call_indirect $0 (type $i32_i32_i32_=>_i32) if - local.get $0 - local.get $5 - i32.add - local.get $4 - i32.store8 - local.get $0 + local.get $2 + local.tee $3 i32.const 1 i32.add - local.set $0 + local.set $2 + local.get $3 + local.get $6 + i32.add + local.get $7 + i32.store8 end - local.get $8 + local.get $4 i32.const 1 i32.add - local.set $8 + local.set $4 br $for-loop|0 end end local.get $1 - local.get $5 - local.get $0 + local.get $6 + local.get $2 call $~lib/rt/itcms/__renew - local.tee $2 + local.tee $0 i32.store local.get $1 - local.get $2 + local.get $0 call $~lib/rt/itcms/__link local.get $1 - local.get $0 + local.get $2 i32.store offset=8 local.get $1 - local.get $2 + local.get $0 i32.store offset=4 global.get $~lib/memory/__stack_pointer i32.const 8 i32.add global.set $~lib/memory/__stack_pointer - local.get $7 local.get $1 - local.tee $2 + local.tee $0 i32.store offset=8 - local.get $2 + local.get $0 i32.load offset=4 - local.get $2 + local.get $0 i32.load i32.sub if @@ -36818,7 +37173,7 @@ call $~lib/builtins/abort unreachable end - local.get $2 + local.get $0 i32.load offset=8 i32.const 3 i32.ne @@ -36830,7 +37185,7 @@ call $~lib/builtins/abort unreachable end - local.get $2 + local.get $0 i32.const 0 call $~lib/typedarray/Uint8Array#__get i32.const 3 @@ -36843,7 +37198,7 @@ call $~lib/builtins/abort unreachable end - local.get $2 + local.get $0 i32.const 1 call $~lib/typedarray/Uint8Array#__get i32.const 4 @@ -36856,7 +37211,7 @@ call $~lib/builtins/abort unreachable end - local.get $2 + local.get $0 i32.const 2 call $~lib/typedarray/Uint8Array#__get i32.const 5 @@ -36892,6 +37247,7 @@ (local $6 i32) (local $7 i32) (local $8 i32) + (local $9 i32) global.get $~lib/memory/__stack_pointer i32.const 12 i32.sub @@ -36902,42 +37258,42 @@ i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer - local.tee $2 + local.tee $0 i64.const 0 i64.store - local.get $2 + local.get $0 i32.const 0 i32.store offset=8 - local.get $2 + local.get $0 i32.const 6 call $~lib/typedarray/Uint8ClampedArray#constructor - local.tee $2 + local.tee $0 i32.store - local.get $2 + local.get $0 i32.const 0 i32.const 1 call $~lib/typedarray/Uint8ClampedArray#__set - local.get $2 + local.get $0 i32.const 1 i32.const 2 call $~lib/typedarray/Uint8ClampedArray#__set - local.get $2 + local.get $0 i32.const 2 i32.const 3 call $~lib/typedarray/Uint8ClampedArray#__set - local.get $2 + local.get $0 i32.const 3 i32.const 4 call $~lib/typedarray/Uint8ClampedArray#__set - local.get $2 + local.get $0 i32.const 5 i32.const 5 call $~lib/typedarray/Uint8ClampedArray#__set global.get $~lib/memory/__stack_pointer - local.tee $7 i32.const 4016 i32.store offset=4 - local.get $7 + global.get $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer i32.const 8 i32.sub global.set $~lib/memory/__stack_pointer @@ -36949,9 +37305,9 @@ local.tee $1 i64.const 0 i64.store - local.get $2 + local.get $0 i32.load offset=8 - local.set $6 + local.set $5 local.get $1 i32.const 12 i32.const 5 @@ -36959,76 +37315,76 @@ local.tee $1 i32.store global.get $~lib/memory/__stack_pointer - local.get $6 + local.get $5 i32.const 0 call $~lib/rt/itcms/__new - local.tee $5 + local.tee $6 i32.store offset=4 - local.get $2 + local.get $0 i32.load offset=4 - local.set $3 + local.set $9 loop $for-loop|0 - local.get $6 - local.get $8 - i32.gt_s + local.get $4 + local.get $5 + i32.lt_s if - local.get $3 - local.get $8 + local.get $4 + local.get $9 i32.add i32.load8_u - local.set $4 + local.set $7 i32.const 3 global.set $~argumentsLength + local.get $7 local.get $4 - local.get $8 - local.get $2 + local.get $0 i32.const 4016 i32.load call_indirect $0 (type $i32_i32_i32_=>_i32) if - local.get $0 - local.get $5 - i32.add - local.get $4 - i32.store8 - local.get $0 + local.get $2 + local.tee $3 i32.const 1 i32.add - local.set $0 + local.set $2 + local.get $3 + local.get $6 + i32.add + local.get $7 + i32.store8 end - local.get $8 + local.get $4 i32.const 1 i32.add - local.set $8 + local.set $4 br $for-loop|0 end end local.get $1 - local.get $5 - local.get $0 + local.get $6 + local.get $2 call $~lib/rt/itcms/__renew - local.tee $2 + local.tee $0 i32.store local.get $1 - local.get $2 + local.get $0 call $~lib/rt/itcms/__link local.get $1 - local.get $0 + local.get $2 i32.store offset=8 local.get $1 - local.get $2 + local.get $0 i32.store offset=4 global.get $~lib/memory/__stack_pointer i32.const 8 i32.add global.set $~lib/memory/__stack_pointer - local.get $7 local.get $1 - local.tee $2 + local.tee $0 i32.store offset=8 - local.get $2 + local.get $0 i32.load offset=4 - local.get $2 + local.get $0 i32.load i32.sub if @@ -37039,7 +37395,7 @@ call $~lib/builtins/abort unreachable end - local.get $2 + local.get $0 i32.load offset=8 i32.const 3 i32.ne @@ -37051,7 +37407,7 @@ call $~lib/builtins/abort unreachable end - local.get $2 + local.get $0 i32.const 0 call $~lib/typedarray/Uint8ClampedArray#__get i32.const 3 @@ -37064,7 +37420,7 @@ call $~lib/builtins/abort unreachable end - local.get $2 + local.get $0 i32.const 1 call $~lib/typedarray/Uint8ClampedArray#__get i32.const 4 @@ -37077,7 +37433,7 @@ call $~lib/builtins/abort unreachable end - local.get $2 + local.get $0 i32.const 2 call $~lib/typedarray/Uint8ClampedArray#__get i32.const 5 @@ -37113,6 +37469,7 @@ (local $6 i32) (local $7 i32) (local $8 i32) + (local $9 i32) global.get $~lib/memory/__stack_pointer i32.const 12 i32.sub @@ -37123,42 +37480,42 @@ i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer - local.tee $2 + local.tee $0 i64.const 0 i64.store - local.get $2 + local.get $0 i32.const 0 i32.store offset=8 - local.get $2 + local.get $0 i32.const 6 call $~lib/typedarray/Int16Array#constructor - local.tee $2 + local.tee $0 i32.store - local.get $2 + local.get $0 i32.const 0 i32.const 1 call $~lib/typedarray/Int16Array#__set - local.get $2 + local.get $0 i32.const 1 i32.const 2 call $~lib/typedarray/Int16Array#__set - local.get $2 + local.get $0 i32.const 2 i32.const 3 call $~lib/typedarray/Int16Array#__set - local.get $2 + local.get $0 i32.const 3 i32.const 4 call $~lib/typedarray/Int16Array#__set - local.get $2 + local.get $0 i32.const 5 i32.const 5 call $~lib/typedarray/Int16Array#__set global.get $~lib/memory/__stack_pointer - local.tee $6 i32.const 4048 i32.store offset=4 - local.get $6 + global.get $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer i32.const 8 i32.sub global.set $~lib/memory/__stack_pointer @@ -37170,7 +37527,7 @@ local.tee $1 i64.const 0 i64.store - local.get $2 + local.get $0 i32.load offset=8 i32.const 1 i32.shr_u @@ -37187,80 +37544,80 @@ i32.shl i32.const 0 call $~lib/rt/itcms/__new - local.tee $4 + local.tee $6 i32.store offset=4 - local.get $2 + local.get $0 i32.load offset=4 - local.set $8 + local.set $9 loop $for-loop|0 + local.get $4 local.get $5 - local.get $7 - i32.gt_s + i32.lt_s if - local.get $8 - local.get $7 + local.get $4 i32.const 1 i32.shl + local.get $9 i32.add i32.load16_s - local.set $3 + local.set $7 i32.const 3 global.set $~argumentsLength - local.get $3 local.get $7 - local.get $2 + local.get $4 + local.get $0 i32.const 4048 i32.load call_indirect $0 (type $i32_i32_i32_=>_i32) if - local.get $4 - local.get $0 + local.get $2 + local.tee $3 i32.const 1 - i32.shl i32.add + local.set $2 local.get $3 - i32.store16 - local.get $0 i32.const 1 + i32.shl + local.get $6 i32.add - local.set $0 + local.get $7 + i32.store16 end - local.get $7 + local.get $4 i32.const 1 i32.add - local.set $7 + local.set $4 br $for-loop|0 end end local.get $1 - local.get $4 - local.get $0 + local.get $6 + local.get $2 i32.const 1 i32.shl local.tee $2 call $~lib/rt/itcms/__renew - local.tee $8 + local.tee $0 i32.store local.get $1 - local.get $8 + local.get $0 call $~lib/rt/itcms/__link local.get $1 local.get $2 i32.store offset=8 local.get $1 - local.get $8 + local.get $0 i32.store offset=4 global.get $~lib/memory/__stack_pointer i32.const 8 i32.add global.set $~lib/memory/__stack_pointer - local.get $6 local.get $1 - local.tee $2 + local.tee $0 i32.store offset=8 - local.get $2 + local.get $0 i32.load offset=4 - local.get $2 + local.get $0 i32.load i32.sub if @@ -37271,7 +37628,7 @@ call $~lib/builtins/abort unreachable end - local.get $2 + local.get $0 i32.load offset=8 i32.const 1 i32.shr_u @@ -37285,7 +37642,7 @@ call $~lib/builtins/abort unreachable end - local.get $2 + local.get $0 i32.const 0 call $~lib/typedarray/Int16Array#__get i32.const 3 @@ -37298,7 +37655,7 @@ call $~lib/builtins/abort unreachable end - local.get $2 + local.get $0 i32.const 1 call $~lib/typedarray/Int16Array#__get i32.const 4 @@ -37311,7 +37668,7 @@ call $~lib/builtins/abort unreachable end - local.get $2 + local.get $0 i32.const 2 call $~lib/typedarray/Int16Array#__get i32.const 5 @@ -37347,6 +37704,7 @@ (local $6 i32) (local $7 i32) (local $8 i32) + (local $9 i32) global.get $~lib/memory/__stack_pointer i32.const 12 i32.sub @@ -37357,42 +37715,42 @@ i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer - local.tee $2 + local.tee $0 i64.const 0 i64.store - local.get $2 + local.get $0 i32.const 0 i32.store offset=8 - local.get $2 + local.get $0 i32.const 6 call $~lib/typedarray/Uint16Array#constructor - local.tee $2 + local.tee $0 i32.store - local.get $2 + local.get $0 i32.const 0 i32.const 1 call $~lib/typedarray/Uint16Array#__set - local.get $2 + local.get $0 i32.const 1 i32.const 2 call $~lib/typedarray/Uint16Array#__set - local.get $2 + local.get $0 i32.const 2 i32.const 3 call $~lib/typedarray/Uint16Array#__set - local.get $2 + local.get $0 i32.const 3 i32.const 4 call $~lib/typedarray/Uint16Array#__set - local.get $2 + local.get $0 i32.const 5 i32.const 5 call $~lib/typedarray/Uint16Array#__set global.get $~lib/memory/__stack_pointer - local.tee $6 i32.const 4080 i32.store offset=4 - local.get $6 + global.get $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer i32.const 8 i32.sub global.set $~lib/memory/__stack_pointer @@ -37404,7 +37762,7 @@ local.tee $1 i64.const 0 i64.store - local.get $2 + local.get $0 i32.load offset=8 i32.const 1 i32.shr_u @@ -37421,80 +37779,80 @@ i32.shl i32.const 0 call $~lib/rt/itcms/__new - local.tee $4 + local.tee $6 i32.store offset=4 - local.get $2 + local.get $0 i32.load offset=4 - local.set $8 + local.set $9 loop $for-loop|0 + local.get $4 local.get $5 - local.get $7 - i32.gt_s + i32.lt_s if - local.get $8 - local.get $7 + local.get $4 i32.const 1 i32.shl + local.get $9 i32.add i32.load16_u - local.set $3 + local.set $7 i32.const 3 global.set $~argumentsLength - local.get $3 local.get $7 - local.get $2 + local.get $4 + local.get $0 i32.const 4080 i32.load call_indirect $0 (type $i32_i32_i32_=>_i32) if - local.get $4 - local.get $0 + local.get $2 + local.tee $3 i32.const 1 - i32.shl i32.add + local.set $2 local.get $3 - i32.store16 - local.get $0 i32.const 1 + i32.shl + local.get $6 i32.add - local.set $0 + local.get $7 + i32.store16 end - local.get $7 + local.get $4 i32.const 1 i32.add - local.set $7 + local.set $4 br $for-loop|0 end end local.get $1 - local.get $4 - local.get $0 + local.get $6 + local.get $2 i32.const 1 i32.shl local.tee $2 call $~lib/rt/itcms/__renew - local.tee $8 + local.tee $0 i32.store local.get $1 - local.get $8 + local.get $0 call $~lib/rt/itcms/__link local.get $1 local.get $2 i32.store offset=8 local.get $1 - local.get $8 + local.get $0 i32.store offset=4 global.get $~lib/memory/__stack_pointer i32.const 8 i32.add global.set $~lib/memory/__stack_pointer - local.get $6 local.get $1 - local.tee $2 + local.tee $0 i32.store offset=8 - local.get $2 + local.get $0 i32.load offset=4 - local.get $2 + local.get $0 i32.load i32.sub if @@ -37505,7 +37863,7 @@ call $~lib/builtins/abort unreachable end - local.get $2 + local.get $0 i32.load offset=8 i32.const 1 i32.shr_u @@ -37519,7 +37877,7 @@ call $~lib/builtins/abort unreachable end - local.get $2 + local.get $0 i32.const 0 call $~lib/typedarray/Uint16Array#__get i32.const 3 @@ -37532,7 +37890,7 @@ call $~lib/builtins/abort unreachable end - local.get $2 + local.get $0 i32.const 1 call $~lib/typedarray/Uint16Array#__get i32.const 4 @@ -37545,7 +37903,7 @@ call $~lib/builtins/abort unreachable end - local.get $2 + local.get $0 i32.const 2 call $~lib/typedarray/Uint16Array#__get i32.const 5 @@ -37581,6 +37939,7 @@ (local $6 i32) (local $7 i32) (local $8 i32) + (local $9 i32) global.get $~lib/memory/__stack_pointer i32.const 12 i32.sub @@ -37591,42 +37950,42 @@ i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer - local.tee $2 + local.tee $0 i64.const 0 i64.store - local.get $2 + local.get $0 i32.const 0 i32.store offset=8 - local.get $2 + local.get $0 i32.const 6 call $~lib/typedarray/Int32Array#constructor - local.tee $2 + local.tee $0 i32.store - local.get $2 + local.get $0 i32.const 0 i32.const 1 call $~lib/typedarray/Int32Array#__set - local.get $2 + local.get $0 i32.const 1 i32.const 2 call $~lib/typedarray/Int32Array#__set - local.get $2 + local.get $0 i32.const 2 i32.const 3 call $~lib/typedarray/Int32Array#__set - local.get $2 + local.get $0 i32.const 3 i32.const 4 call $~lib/typedarray/Int32Array#__set - local.get $2 + local.get $0 i32.const 5 i32.const 5 call $~lib/typedarray/Int32Array#__set global.get $~lib/memory/__stack_pointer - local.tee $6 i32.const 4112 i32.store offset=4 - local.get $6 + global.get $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer i32.const 8 i32.sub global.set $~lib/memory/__stack_pointer @@ -37638,7 +37997,7 @@ local.tee $1 i64.const 0 i64.store - local.get $2 + local.get $0 i32.load offset=8 i32.const 2 i32.shr_u @@ -37655,80 +38014,80 @@ i32.shl i32.const 0 call $~lib/rt/itcms/__new - local.tee $4 + local.tee $6 i32.store offset=4 - local.get $2 + local.get $0 i32.load offset=4 - local.set $8 + local.set $9 loop $for-loop|0 + local.get $4 local.get $5 - local.get $7 - i32.gt_s + i32.lt_s if - local.get $8 - local.get $7 + local.get $4 i32.const 2 i32.shl + local.get $9 i32.add i32.load - local.set $3 + local.set $7 i32.const 3 global.set $~argumentsLength - local.get $3 local.get $7 - local.get $2 + local.get $4 + local.get $0 i32.const 4112 i32.load call_indirect $0 (type $i32_i32_i32_=>_i32) if - local.get $4 - local.get $0 + local.get $2 + local.tee $3 + i32.const 1 + i32.add + local.set $2 + local.get $3 i32.const 2 i32.shl + local.get $6 i32.add - local.get $3 + local.get $7 i32.store - local.get $0 - i32.const 1 - i32.add - local.set $0 end - local.get $7 + local.get $4 i32.const 1 i32.add - local.set $7 + local.set $4 br $for-loop|0 end end local.get $1 - local.get $4 - local.get $0 + local.get $6 + local.get $2 i32.const 2 i32.shl local.tee $2 call $~lib/rt/itcms/__renew - local.tee $8 + local.tee $0 i32.store local.get $1 - local.get $8 + local.get $0 call $~lib/rt/itcms/__link local.get $1 local.get $2 i32.store offset=8 local.get $1 - local.get $8 + local.get $0 i32.store offset=4 global.get $~lib/memory/__stack_pointer i32.const 8 i32.add global.set $~lib/memory/__stack_pointer - local.get $6 local.get $1 - local.tee $2 + local.tee $0 i32.store offset=8 - local.get $2 + local.get $0 i32.load offset=4 - local.get $2 + local.get $0 i32.load i32.sub if @@ -37739,7 +38098,7 @@ call $~lib/builtins/abort unreachable end - local.get $2 + local.get $0 i32.load offset=8 i32.const 2 i32.shr_u @@ -37753,7 +38112,7 @@ call $~lib/builtins/abort unreachable end - local.get $2 + local.get $0 i32.const 0 call $~lib/typedarray/Int32Array#__get i32.const 3 @@ -37766,7 +38125,7 @@ call $~lib/builtins/abort unreachable end - local.get $2 + local.get $0 i32.const 1 call $~lib/typedarray/Int32Array#__get i32.const 4 @@ -37779,7 +38138,7 @@ call $~lib/builtins/abort unreachable end - local.get $2 + local.get $0 i32.const 2 call $~lib/typedarray/Int32Array#__get i32.const 5 @@ -37815,6 +38174,7 @@ (local $6 i32) (local $7 i32) (local $8 i32) + (local $9 i32) global.get $~lib/memory/__stack_pointer i32.const 12 i32.sub @@ -37825,42 +38185,42 @@ i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer - local.tee $2 + local.tee $0 i64.const 0 i64.store - local.get $2 + local.get $0 i32.const 0 i32.store offset=8 - local.get $2 + local.get $0 i32.const 6 call $~lib/typedarray/Uint32Array#constructor - local.tee $2 + local.tee $0 i32.store - local.get $2 + local.get $0 i32.const 0 i32.const 1 call $~lib/typedarray/Uint32Array#__set - local.get $2 + local.get $0 i32.const 1 i32.const 2 call $~lib/typedarray/Uint32Array#__set - local.get $2 + local.get $0 i32.const 2 i32.const 3 call $~lib/typedarray/Uint32Array#__set - local.get $2 + local.get $0 i32.const 3 i32.const 4 call $~lib/typedarray/Uint32Array#__set - local.get $2 + local.get $0 i32.const 5 i32.const 5 call $~lib/typedarray/Uint32Array#__set global.get $~lib/memory/__stack_pointer - local.tee $6 i32.const 4144 i32.store offset=4 - local.get $6 + global.get $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer i32.const 8 i32.sub global.set $~lib/memory/__stack_pointer @@ -37872,7 +38232,7 @@ local.tee $1 i64.const 0 i64.store - local.get $2 + local.get $0 i32.load offset=8 i32.const 2 i32.shr_u @@ -37889,80 +38249,80 @@ i32.shl i32.const 0 call $~lib/rt/itcms/__new - local.tee $4 + local.tee $6 i32.store offset=4 - local.get $2 + local.get $0 i32.load offset=4 - local.set $8 + local.set $9 loop $for-loop|0 + local.get $4 local.get $5 - local.get $7 - i32.gt_s + i32.lt_s if - local.get $8 - local.get $7 + local.get $4 i32.const 2 i32.shl + local.get $9 i32.add i32.load - local.set $3 + local.set $7 i32.const 3 global.set $~argumentsLength - local.get $3 local.get $7 - local.get $2 + local.get $4 + local.get $0 i32.const 4144 i32.load call_indirect $0 (type $i32_i32_i32_=>_i32) if - local.get $4 - local.get $0 + local.get $2 + local.tee $3 + i32.const 1 + i32.add + local.set $2 + local.get $3 i32.const 2 i32.shl + local.get $6 i32.add - local.get $3 + local.get $7 i32.store - local.get $0 - i32.const 1 - i32.add - local.set $0 end - local.get $7 + local.get $4 i32.const 1 i32.add - local.set $7 + local.set $4 br $for-loop|0 end end local.get $1 - local.get $4 - local.get $0 + local.get $6 + local.get $2 i32.const 2 i32.shl local.tee $2 call $~lib/rt/itcms/__renew - local.tee $8 + local.tee $0 i32.store local.get $1 - local.get $8 + local.get $0 call $~lib/rt/itcms/__link local.get $1 local.get $2 i32.store offset=8 local.get $1 - local.get $8 + local.get $0 i32.store offset=4 global.get $~lib/memory/__stack_pointer i32.const 8 i32.add global.set $~lib/memory/__stack_pointer - local.get $6 local.get $1 - local.tee $2 + local.tee $0 i32.store offset=8 - local.get $2 + local.get $0 i32.load offset=4 - local.get $2 + local.get $0 i32.load i32.sub if @@ -37973,7 +38333,7 @@ call $~lib/builtins/abort unreachable end - local.get $2 + local.get $0 i32.load offset=8 i32.const 2 i32.shr_u @@ -37987,7 +38347,7 @@ call $~lib/builtins/abort unreachable end - local.get $2 + local.get $0 i32.const 0 call $~lib/typedarray/Uint32Array#__get i32.const 3 @@ -38000,7 +38360,7 @@ call $~lib/builtins/abort unreachable end - local.get $2 + local.get $0 i32.const 1 call $~lib/typedarray/Uint32Array#__get i32.const 4 @@ -38013,7 +38373,7 @@ call $~lib/builtins/abort unreachable end - local.get $2 + local.get $0 i32.const 2 call $~lib/typedarray/Uint32Array#__get i32.const 5 @@ -38043,12 +38403,13 @@ (local $0 i32) (local $1 i32) (local $2 i32) - (local $3 i64) + (local $3 i32) (local $4 i32) (local $5 i32) (local $6 i32) - (local $7 i32) + (local $7 i64) (local $8 i32) + (local $9 i32) global.get $~lib/memory/__stack_pointer i32.const 12 i32.sub @@ -38059,42 +38420,42 @@ i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer - local.tee $2 + local.tee $0 i64.const 0 i64.store - local.get $2 + local.get $0 i32.const 0 i32.store offset=8 - local.get $2 + local.get $0 i32.const 6 call $~lib/typedarray/Int64Array#constructor - local.tee $2 + local.tee $0 i32.store - local.get $2 + local.get $0 i32.const 0 i64.const 1 call $~lib/typedarray/Int64Array#__set - local.get $2 + local.get $0 i32.const 1 i64.const 2 call $~lib/typedarray/Int64Array#__set - local.get $2 + local.get $0 i32.const 2 i64.const 3 call $~lib/typedarray/Int64Array#__set - local.get $2 + local.get $0 i32.const 3 i64.const 4 call $~lib/typedarray/Int64Array#__set - local.get $2 + local.get $0 i32.const 5 i64.const 5 call $~lib/typedarray/Int64Array#__set global.get $~lib/memory/__stack_pointer - local.tee $6 i32.const 4176 i32.store offset=4 - local.get $6 + global.get $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer i32.const 8 i32.sub global.set $~lib/memory/__stack_pointer @@ -38106,7 +38467,7 @@ local.tee $1 i64.const 0 i64.store - local.get $2 + local.get $0 i32.load offset=8 i32.const 3 i32.shr_u @@ -38123,80 +38484,80 @@ i32.shl i32.const 0 call $~lib/rt/itcms/__new - local.tee $4 + local.tee $6 i32.store offset=4 - local.get $2 + local.get $0 i32.load offset=4 - local.set $8 + local.set $9 loop $for-loop|0 + local.get $4 local.get $5 - local.get $7 - i32.gt_s + i32.lt_s if - local.get $8 - local.get $7 + local.get $4 i32.const 3 i32.shl + local.get $9 i32.add i64.load - local.set $3 + local.set $7 i32.const 3 global.set $~argumentsLength - local.get $3 local.get $7 - local.get $2 + local.get $4 + local.get $0 i32.const 4176 i32.load call_indirect $0 (type $i64_i32_i32_=>_i32) if - local.get $4 - local.get $0 + local.get $2 + local.tee $3 + i32.const 1 + i32.add + local.set $2 + local.get $3 i32.const 3 i32.shl + local.get $6 i32.add - local.get $3 + local.get $7 i64.store - local.get $0 - i32.const 1 - i32.add - local.set $0 end - local.get $7 + local.get $4 i32.const 1 i32.add - local.set $7 + local.set $4 br $for-loop|0 end end local.get $1 - local.get $4 - local.get $0 + local.get $6 + local.get $2 i32.const 3 i32.shl local.tee $2 call $~lib/rt/itcms/__renew - local.tee $8 + local.tee $0 i32.store local.get $1 - local.get $8 + local.get $0 call $~lib/rt/itcms/__link local.get $1 local.get $2 i32.store offset=8 local.get $1 - local.get $8 + local.get $0 i32.store offset=4 global.get $~lib/memory/__stack_pointer i32.const 8 i32.add global.set $~lib/memory/__stack_pointer - local.get $6 local.get $1 - local.tee $2 + local.tee $0 i32.store offset=8 - local.get $2 + local.get $0 i32.load offset=4 - local.get $2 + local.get $0 i32.load i32.sub if @@ -38207,7 +38568,7 @@ call $~lib/builtins/abort unreachable end - local.get $2 + local.get $0 i32.load offset=8 i32.const 3 i32.shr_u @@ -38221,7 +38582,7 @@ call $~lib/builtins/abort unreachable end - local.get $2 + local.get $0 i32.const 0 call $~lib/typedarray/Int64Array#__get i64.const 3 @@ -38234,7 +38595,7 @@ call $~lib/builtins/abort unreachable end - local.get $2 + local.get $0 i32.const 1 call $~lib/typedarray/Int64Array#__get i64.const 4 @@ -38247,7 +38608,7 @@ call $~lib/builtins/abort unreachable end - local.get $2 + local.get $0 i32.const 2 call $~lib/typedarray/Int64Array#__get i64.const 5 @@ -38277,12 +38638,13 @@ (local $0 i32) (local $1 i32) (local $2 i32) - (local $3 i64) + (local $3 i32) (local $4 i32) (local $5 i32) (local $6 i32) - (local $7 i32) + (local $7 i64) (local $8 i32) + (local $9 i32) global.get $~lib/memory/__stack_pointer i32.const 12 i32.sub @@ -38293,42 +38655,42 @@ i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer - local.tee $2 + local.tee $0 i64.const 0 i64.store - local.get $2 + local.get $0 i32.const 0 i32.store offset=8 - local.get $2 + local.get $0 i32.const 6 call $~lib/typedarray/Uint64Array#constructor - local.tee $2 + local.tee $0 i32.store - local.get $2 + local.get $0 i32.const 0 i64.const 1 call $~lib/typedarray/Uint64Array#__set - local.get $2 + local.get $0 i32.const 1 i64.const 2 call $~lib/typedarray/Uint64Array#__set - local.get $2 + local.get $0 i32.const 2 i64.const 3 call $~lib/typedarray/Uint64Array#__set - local.get $2 + local.get $0 i32.const 3 i64.const 4 call $~lib/typedarray/Uint64Array#__set - local.get $2 + local.get $0 i32.const 5 i64.const 5 call $~lib/typedarray/Uint64Array#__set global.get $~lib/memory/__stack_pointer - local.tee $6 i32.const 4208 i32.store offset=4 - local.get $6 + global.get $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer i32.const 8 i32.sub global.set $~lib/memory/__stack_pointer @@ -38340,7 +38702,7 @@ local.tee $1 i64.const 0 i64.store - local.get $2 + local.get $0 i32.load offset=8 i32.const 3 i32.shr_u @@ -38357,80 +38719,80 @@ i32.shl i32.const 0 call $~lib/rt/itcms/__new - local.tee $4 + local.tee $6 i32.store offset=4 - local.get $2 + local.get $0 i32.load offset=4 - local.set $8 + local.set $9 loop $for-loop|0 + local.get $4 local.get $5 - local.get $7 - i32.gt_s + i32.lt_s if - local.get $8 - local.get $7 + local.get $4 i32.const 3 i32.shl + local.get $9 i32.add i64.load - local.set $3 + local.set $7 i32.const 3 global.set $~argumentsLength - local.get $3 local.get $7 - local.get $2 + local.get $4 + local.get $0 i32.const 4208 i32.load call_indirect $0 (type $i64_i32_i32_=>_i32) if - local.get $4 - local.get $0 + local.get $2 + local.tee $3 + i32.const 1 + i32.add + local.set $2 + local.get $3 i32.const 3 i32.shl + local.get $6 i32.add - local.get $3 + local.get $7 i64.store - local.get $0 - i32.const 1 - i32.add - local.set $0 end - local.get $7 + local.get $4 i32.const 1 i32.add - local.set $7 + local.set $4 br $for-loop|0 end end local.get $1 - local.get $4 - local.get $0 + local.get $6 + local.get $2 i32.const 3 i32.shl local.tee $2 call $~lib/rt/itcms/__renew - local.tee $8 + local.tee $0 i32.store local.get $1 - local.get $8 + local.get $0 call $~lib/rt/itcms/__link local.get $1 local.get $2 i32.store offset=8 local.get $1 - local.get $8 + local.get $0 i32.store offset=4 global.get $~lib/memory/__stack_pointer i32.const 8 i32.add global.set $~lib/memory/__stack_pointer - local.get $6 local.get $1 - local.tee $2 + local.tee $0 i32.store offset=8 - local.get $2 + local.get $0 i32.load offset=4 - local.get $2 + local.get $0 i32.load i32.sub if @@ -38441,7 +38803,7 @@ call $~lib/builtins/abort unreachable end - local.get $2 + local.get $0 i32.load offset=8 i32.const 3 i32.shr_u @@ -38455,7 +38817,7 @@ call $~lib/builtins/abort unreachable end - local.get $2 + local.get $0 i32.const 0 call $~lib/typedarray/Uint64Array#__get i64.const 3 @@ -38468,7 +38830,7 @@ call $~lib/builtins/abort unreachable end - local.get $2 + local.get $0 i32.const 1 call $~lib/typedarray/Uint64Array#__get i64.const 4 @@ -38481,7 +38843,7 @@ call $~lib/builtins/abort unreachable end - local.get $2 + local.get $0 i32.const 2 call $~lib/typedarray/Uint64Array#__get i64.const 5 @@ -38511,12 +38873,13 @@ (local $0 i32) (local $1 i32) (local $2 i32) - (local $3 f32) + (local $3 i32) (local $4 i32) (local $5 i32) (local $6 i32) - (local $7 i32) + (local $7 f32) (local $8 i32) + (local $9 i32) global.get $~lib/memory/__stack_pointer i32.const 12 i32.sub @@ -38527,42 +38890,42 @@ i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer - local.tee $2 + local.tee $0 i64.const 0 i64.store - local.get $2 + local.get $0 i32.const 0 i32.store offset=8 - local.get $2 + local.get $0 i32.const 6 call $~lib/typedarray/Float32Array#constructor - local.tee $2 + local.tee $0 i32.store - local.get $2 + local.get $0 i32.const 0 f32.const 1 call $~lib/typedarray/Float32Array#__set - local.get $2 + local.get $0 i32.const 1 f32.const 2 call $~lib/typedarray/Float32Array#__set - local.get $2 + local.get $0 i32.const 2 f32.const 3 call $~lib/typedarray/Float32Array#__set - local.get $2 + local.get $0 i32.const 3 f32.const 4 call $~lib/typedarray/Float32Array#__set - local.get $2 + local.get $0 i32.const 5 f32.const 5 call $~lib/typedarray/Float32Array#__set global.get $~lib/memory/__stack_pointer - local.tee $6 i32.const 4240 i32.store offset=4 - local.get $6 + global.get $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer i32.const 8 i32.sub global.set $~lib/memory/__stack_pointer @@ -38574,7 +38937,7 @@ local.tee $1 i64.const 0 i64.store - local.get $2 + local.get $0 i32.load offset=8 i32.const 2 i32.shr_u @@ -38591,80 +38954,80 @@ i32.shl i32.const 0 call $~lib/rt/itcms/__new - local.tee $4 + local.tee $6 i32.store offset=4 - local.get $2 + local.get $0 i32.load offset=4 - local.set $8 + local.set $9 loop $for-loop|0 + local.get $4 local.get $5 - local.get $7 - i32.gt_s + i32.lt_s if - local.get $8 - local.get $7 + local.get $4 i32.const 2 i32.shl + local.get $9 i32.add f32.load - local.set $3 + local.set $7 i32.const 3 global.set $~argumentsLength - local.get $3 local.get $7 - local.get $2 + local.get $4 + local.get $0 i32.const 4240 i32.load call_indirect $0 (type $f32_i32_i32_=>_i32) if - local.get $4 - local.get $0 + local.get $2 + local.tee $3 + i32.const 1 + i32.add + local.set $2 + local.get $3 i32.const 2 i32.shl + local.get $6 i32.add - local.get $3 + local.get $7 f32.store - local.get $0 - i32.const 1 - i32.add - local.set $0 end - local.get $7 + local.get $4 i32.const 1 i32.add - local.set $7 + local.set $4 br $for-loop|0 end end local.get $1 - local.get $4 - local.get $0 + local.get $6 + local.get $2 i32.const 2 i32.shl local.tee $2 call $~lib/rt/itcms/__renew - local.tee $8 + local.tee $0 i32.store local.get $1 - local.get $8 + local.get $0 call $~lib/rt/itcms/__link local.get $1 local.get $2 i32.store offset=8 local.get $1 - local.get $8 + local.get $0 i32.store offset=4 global.get $~lib/memory/__stack_pointer i32.const 8 i32.add global.set $~lib/memory/__stack_pointer - local.get $6 local.get $1 - local.tee $2 + local.tee $0 i32.store offset=8 - local.get $2 + local.get $0 i32.load offset=4 - local.get $2 + local.get $0 i32.load i32.sub if @@ -38675,7 +39038,7 @@ call $~lib/builtins/abort unreachable end - local.get $2 + local.get $0 i32.load offset=8 i32.const 2 i32.shr_u @@ -38689,7 +39052,7 @@ call $~lib/builtins/abort unreachable end - local.get $2 + local.get $0 i32.const 0 call $~lib/typedarray/Float32Array#__get f32.const 3 @@ -38702,7 +39065,7 @@ call $~lib/builtins/abort unreachable end - local.get $2 + local.get $0 i32.const 1 call $~lib/typedarray/Float32Array#__get f32.const 4 @@ -38715,7 +39078,7 @@ call $~lib/builtins/abort unreachable end - local.get $2 + local.get $0 i32.const 2 call $~lib/typedarray/Float32Array#__get f32.const 5 @@ -38745,12 +39108,13 @@ (local $0 i32) (local $1 i32) (local $2 i32) - (local $3 f64) + (local $3 i32) (local $4 i32) (local $5 i32) (local $6 i32) - (local $7 i32) + (local $7 f64) (local $8 i32) + (local $9 i32) global.get $~lib/memory/__stack_pointer i32.const 12 i32.sub @@ -38761,42 +39125,42 @@ i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer - local.tee $2 + local.tee $0 i64.const 0 i64.store - local.get $2 + local.get $0 i32.const 0 i32.store offset=8 - local.get $2 + local.get $0 i32.const 6 call $~lib/typedarray/Float64Array#constructor - local.tee $2 + local.tee $0 i32.store - local.get $2 + local.get $0 i32.const 0 f64.const 1 call $~lib/typedarray/Float64Array#__set - local.get $2 + local.get $0 i32.const 1 f64.const 2 call $~lib/typedarray/Float64Array#__set - local.get $2 + local.get $0 i32.const 2 f64.const 3 call $~lib/typedarray/Float64Array#__set - local.get $2 + local.get $0 i32.const 3 f64.const 4 call $~lib/typedarray/Float64Array#__set - local.get $2 + local.get $0 i32.const 5 f64.const 5 call $~lib/typedarray/Float64Array#__set global.get $~lib/memory/__stack_pointer - local.tee $6 i32.const 4272 i32.store offset=4 - local.get $6 + global.get $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer i32.const 8 i32.sub global.set $~lib/memory/__stack_pointer @@ -38808,7 +39172,7 @@ local.tee $1 i64.const 0 i64.store - local.get $2 + local.get $0 i32.load offset=8 i32.const 3 i32.shr_u @@ -38825,80 +39189,80 @@ i32.shl i32.const 0 call $~lib/rt/itcms/__new - local.tee $4 + local.tee $6 i32.store offset=4 - local.get $2 + local.get $0 i32.load offset=4 - local.set $8 + local.set $9 loop $for-loop|0 + local.get $4 local.get $5 - local.get $7 - i32.gt_s + i32.lt_s if - local.get $8 - local.get $7 + local.get $4 i32.const 3 i32.shl + local.get $9 i32.add f64.load - local.set $3 + local.set $7 i32.const 3 global.set $~argumentsLength - local.get $3 local.get $7 - local.get $2 + local.get $4 + local.get $0 i32.const 4272 i32.load call_indirect $0 (type $f64_i32_i32_=>_i32) if - local.get $4 - local.get $0 + local.get $2 + local.tee $3 + i32.const 1 + i32.add + local.set $2 + local.get $3 i32.const 3 i32.shl + local.get $6 i32.add - local.get $3 + local.get $7 f64.store - local.get $0 - i32.const 1 - i32.add - local.set $0 end - local.get $7 + local.get $4 i32.const 1 i32.add - local.set $7 + local.set $4 br $for-loop|0 end end local.get $1 - local.get $4 - local.get $0 + local.get $6 + local.get $2 i32.const 3 i32.shl local.tee $2 call $~lib/rt/itcms/__renew - local.tee $8 + local.tee $0 i32.store local.get $1 - local.get $8 + local.get $0 call $~lib/rt/itcms/__link local.get $1 local.get $2 i32.store offset=8 local.get $1 - local.get $8 + local.get $0 i32.store offset=4 global.get $~lib/memory/__stack_pointer i32.const 8 i32.add global.set $~lib/memory/__stack_pointer - local.get $6 local.get $1 - local.tee $2 + local.tee $0 i32.store offset=8 - local.get $2 + local.get $0 i32.load offset=4 - local.get $2 + local.get $0 i32.load i32.sub if @@ -38909,7 +39273,7 @@ call $~lib/builtins/abort unreachable end - local.get $2 + local.get $0 i32.load offset=8 i32.const 3 i32.shr_u @@ -38923,7 +39287,7 @@ call $~lib/builtins/abort unreachable end - local.get $2 + local.get $0 i32.const 0 call $~lib/typedarray/Float64Array#__get f64.const 3 @@ -38936,7 +39300,7 @@ call $~lib/builtins/abort unreachable end - local.get $2 + local.get $0 i32.const 1 call $~lib/typedarray/Float64Array#__get f64.const 4 @@ -38949,7 +39313,7 @@ call $~lib/builtins/abort unreachable end - local.get $2 + local.get $0 i32.const 2 call $~lib/typedarray/Float64Array#__get f64.const 5 @@ -39027,8 +39391,8 @@ call $~lib/builtins/abort unreachable end - local.get $2 global.get $std/typedarray/forEachSelf + local.get $2 i32.ne if i32.const 0 @@ -39099,8 +39463,8 @@ call $~lib/builtins/abort unreachable end - local.get $2 global.get $std/typedarray/forEachSelf + local.get $2 i32.ne if i32.const 0 @@ -39167,8 +39531,8 @@ call $~lib/builtins/abort unreachable end - local.get $2 global.get $std/typedarray/forEachSelf + local.get $2 i32.ne if i32.const 0 @@ -39236,8 +39600,8 @@ call $~lib/builtins/abort unreachable end - local.get $2 global.get $std/typedarray/forEachSelf + local.get $2 i32.ne if i32.const 0 @@ -39305,8 +39669,8 @@ call $~lib/builtins/abort unreachable end - local.get $2 global.get $std/typedarray/forEachSelf + local.get $2 i32.ne if i32.const 0 @@ -39374,8 +39738,8 @@ call $~lib/builtins/abort unreachable end - local.get $2 global.get $std/typedarray/forEachSelf + local.get $2 i32.ne if i32.const 0 @@ -39494,21 +39858,21 @@ local.get $6 i32.lt_u if - local.get $3 local.get $0 i32.const 2 i32.shl + local.get $3 i32.add local.tee $7 i32.load local.set $8 local.get $7 - local.get $3 local.get $4 local.get $0 i32.sub i32.const 2 i32.shl + local.get $3 i32.add local.tee $7 i32.load @@ -39592,21 +39956,21 @@ local.get $4 i32.lt_u if - local.get $5 local.get $2 i32.const 2 i32.shl + local.get $5 i32.add local.tee $6 i32.load local.set $7 local.get $6 - local.get $5 local.get $3 local.get $2 i32.sub i32.const 2 i32.shl + local.get $5 i32.add local.tee $6 i32.load @@ -39781,21 +40145,21 @@ local.get $6 i32.lt_u if - local.get $3 local.get $0 i32.const 2 i32.shl + local.get $3 i32.add local.tee $7 i32.load local.set $8 local.get $7 - local.get $3 local.get $4 local.get $0 i32.sub i32.const 2 i32.shl + local.get $3 i32.add local.tee $7 i32.load @@ -39878,21 +40242,21 @@ local.get $4 i32.lt_u if - local.get $5 local.get $2 i32.const 2 i32.shl + local.get $5 i32.add local.tee $6 i32.load local.set $7 local.get $6 - local.get $5 local.get $3 local.get $2 i32.sub i32.const 2 i32.shl + local.get $5 i32.add local.tee $6 i32.load @@ -40069,21 +40433,21 @@ local.get $6 i32.lt_u if - local.get $3 local.get $0 i32.const 3 i32.shl + local.get $3 i32.add local.tee $7 i64.load local.set $8 local.get $7 - local.get $3 local.get $4 local.get $0 i32.sub i32.const 3 i32.shl + local.get $3 i32.add local.tee $7 i64.load @@ -40167,21 +40531,21 @@ local.get $4 i32.lt_u if - local.get $5 local.get $2 i32.const 3 i32.shl + local.get $5 i32.add local.tee $6 i64.load local.set $8 local.get $6 - local.get $5 local.get $3 local.get $2 i32.sub i32.const 3 i32.shl + local.get $5 i32.add local.tee $6 i64.load @@ -40358,21 +40722,21 @@ local.get $6 i32.lt_u if - local.get $3 local.get $0 i32.const 3 i32.shl + local.get $3 i32.add local.tee $7 i64.load local.set $8 local.get $7 - local.get $3 local.get $4 local.get $0 i32.sub i32.const 3 i32.shl + local.get $3 i32.add local.tee $7 i64.load @@ -40456,21 +40820,21 @@ local.get $4 i32.lt_u if - local.get $5 local.get $2 i32.const 3 i32.shl + local.get $5 i32.add local.tee $6 i64.load local.set $8 local.get $6 - local.get $5 local.get $3 local.get $2 i32.sub i32.const 3 i32.shl + local.get $5 i32.add local.tee $6 i64.load @@ -40647,21 +41011,21 @@ local.get $6 i32.lt_u if - local.get $3 local.get $0 i32.const 2 i32.shl + local.get $3 i32.add local.tee $7 f32.load local.set $8 local.get $7 - local.get $3 local.get $4 local.get $0 i32.sub i32.const 2 i32.shl + local.get $3 i32.add local.tee $7 f32.load @@ -40745,21 +41109,21 @@ local.get $4 i32.lt_u if - local.get $5 local.get $2 i32.const 2 i32.shl + local.get $5 i32.add local.tee $6 f32.load local.set $8 local.get $6 - local.get $5 local.get $3 local.get $2 i32.sub i32.const 2 i32.shl + local.get $5 i32.add local.tee $6 f32.load @@ -40936,21 +41300,21 @@ local.get $6 i32.lt_u if - local.get $3 local.get $0 i32.const 3 i32.shl + local.get $3 i32.add local.tee $7 f64.load local.set $8 local.get $7 - local.get $3 local.get $4 local.get $0 i32.sub i32.const 3 i32.shl + local.get $3 i32.add local.tee $7 f64.load @@ -41035,21 +41399,21 @@ local.get $4 i32.lt_u if - local.get $5 local.get $2 i32.const 3 i32.shl + local.get $5 i32.add local.tee $6 f64.load local.set $8 local.get $6 - local.get $5 local.get $3 local.get $2 i32.sub i32.const 3 i32.shl + local.get $5 i32.add local.tee $6 f64.load @@ -41255,7 +41619,6 @@ (local $7 i32) (local $8 f32) (local $9 f64) - (local $10 i32) global.get $~lib/memory/__stack_pointer i32.const 20 i32.sub @@ -41301,21 +41664,21 @@ global.get $~lib/memory/__stack_pointer i32.const 4 call $~lib/typedarray/Uint8Array#constructor - local.tee $4 + local.tee $2 i32.store offset=4 - local.get $4 + local.get $2 i32.const 0 i32.const 100 call $~lib/typedarray/Uint8Array#__set - local.get $4 + local.get $2 i32.const 1 i32.const 101 call $~lib/typedarray/Uint8Array#__set - local.get $4 + local.get $2 i32.const 2 i32.const 102 call $~lib/typedarray/Uint8Array#__set - local.get $4 + local.get $2 i32.const 3 i32.const 103 call $~lib/typedarray/Uint8Array#__set @@ -41339,7 +41702,6 @@ global.get $~lib/memory/__stack_pointer i32.const 10 call $~lib/typedarray/Int8Array#constructor - local.tee $10 local.tee $0 i32.store offset=12 global.get $~lib/memory/__stack_pointer @@ -41352,12 +41714,12 @@ i32.const 15 i32.const 11312 call $~lib/rt/__newArray - local.set $3 + local.set $4 global.get $~lib/memory/__stack_pointer - local.get $3 + local.get $4 i32.store offset=16 local.get $0 - local.get $3 + local.get $4 call $std/typedarray/valuesEqual<~lib/typedarray/Int8Array> global.get $~lib/memory/__stack_pointer i32.const 11088 @@ -41381,19 +41743,19 @@ local.set $7 i32.const 11100 i32.load - local.set $3 + local.set $4 loop $for-loop|0 - local.get $2 local.get $3 + local.get $4 i32.lt_s if - local.get $2 + local.get $3 local.get $6 i32.add - local.get $7 - local.get $2 + local.get $3 i32.const 2 i32.shl + local.get $7 i32.add f32.load local.tee $8 @@ -41408,10 +41770,10 @@ i32.const 0 end i32.store8 - local.get $2 + local.get $3 i32.const 1 i32.add - local.set $2 + local.set $3 br $for-loop|0 end end @@ -41420,12 +41782,12 @@ i32.const 15 i32.const 11392 call $~lib/rt/__newArray - local.set $2 + local.set $3 global.get $~lib/memory/__stack_pointer - local.get $2 + local.get $3 i32.store offset=16 local.get $0 - local.get $2 + local.get $3 call $std/typedarray/valuesEqual<~lib/typedarray/Int8Array> local.get $0 local.get $1 @@ -41459,7 +41821,7 @@ i32.load offset=4 i32.const 2 i32.add - local.set $3 + local.set $4 i32.const 11188 i32.load local.set $6 @@ -41472,12 +41834,12 @@ i32.lt_s if local.get $1 - local.get $3 + local.get $4 i32.add - local.get $6 local.get $1 i32.const 3 i32.shl + local.get $6 i32.add f64.load local.tee $9 @@ -41512,7 +41874,7 @@ local.get $1 call $std/typedarray/valuesEqual<~lib/typedarray/Int8Array> local.get $0 - local.get $4 + local.get $2 call $~lib/typedarray/Int8Array#set<~lib/typedarray/Uint8Array> local.get $0 local.get $5 @@ -41527,12 +41889,12 @@ i32.const 15 i32.const 11488 call $~lib/rt/__newArray - local.set $0 + local.set $2 global.get $~lib/memory/__stack_pointer - local.get $0 + local.get $2 i32.store offset=16 - local.get $10 local.get $0 + local.get $2 call $std/typedarray/valuesEqual<~lib/typedarray/Int8Array> global.get $~lib/memory/__stack_pointer i32.const 20 @@ -41647,7 +42009,6 @@ (local $7 i32) (local $8 f32) (local $9 f64) - (local $10 i32) global.get $~lib/memory/__stack_pointer i32.const 20 i32.sub @@ -41693,21 +42054,21 @@ global.get $~lib/memory/__stack_pointer i32.const 4 call $~lib/typedarray/Uint8Array#constructor - local.tee $4 + local.tee $2 i32.store offset=4 - local.get $4 + local.get $2 i32.const 0 i32.const 100 call $~lib/typedarray/Uint8Array#__set - local.get $4 + local.get $2 i32.const 1 i32.const 101 call $~lib/typedarray/Uint8Array#__set - local.get $4 + local.get $2 i32.const 2 i32.const 102 call $~lib/typedarray/Uint8Array#__set - local.get $4 + local.get $2 i32.const 3 i32.const 103 call $~lib/typedarray/Uint8Array#__set @@ -41731,7 +42092,6 @@ global.get $~lib/memory/__stack_pointer i32.const 10 call $~lib/typedarray/Uint8Array#constructor - local.tee $10 local.tee $0 i32.store offset=12 global.get $~lib/memory/__stack_pointer @@ -41744,12 +42104,12 @@ i32.const 63 i32.const 11520 call $~lib/rt/__newArray - local.set $3 + local.set $4 global.get $~lib/memory/__stack_pointer - local.get $3 + local.get $4 i32.store offset=16 local.get $0 - local.get $3 + local.get $4 call $std/typedarray/valuesEqual<~lib/typedarray/Uint8Array> global.get $~lib/memory/__stack_pointer i32.const 11088 @@ -41773,19 +42133,19 @@ local.set $7 i32.const 11100 i32.load - local.set $3 + local.set $4 loop $for-loop|0 - local.get $2 local.get $3 + local.get $4 i32.lt_s if - local.get $2 + local.get $3 local.get $6 i32.add - local.get $7 - local.get $2 + local.get $3 i32.const 2 i32.shl + local.get $7 i32.add f32.load local.tee $8 @@ -41800,10 +42160,10 @@ i32.const 0 end i32.store8 - local.get $2 + local.get $3 i32.const 1 i32.add - local.set $2 + local.set $3 br $for-loop|0 end end @@ -41812,12 +42172,12 @@ i32.const 63 i32.const 11600 call $~lib/rt/__newArray - local.set $2 + local.set $3 global.get $~lib/memory/__stack_pointer - local.get $2 + local.get $3 i32.store offset=16 local.get $0 - local.get $2 + local.get $3 call $std/typedarray/valuesEqual<~lib/typedarray/Uint8Array> local.get $0 local.get $1 @@ -41851,7 +42211,7 @@ i32.load offset=4 i32.const 2 i32.add - local.set $3 + local.set $4 i32.const 11188 i32.load local.set $6 @@ -41864,12 +42224,12 @@ i32.lt_s if local.get $1 - local.get $3 + local.get $4 i32.add - local.get $6 local.get $1 i32.const 3 i32.shl + local.get $6 i32.add f64.load local.tee $9 @@ -41904,7 +42264,7 @@ local.get $1 call $std/typedarray/valuesEqual<~lib/typedarray/Uint8Array> local.get $0 - local.get $4 + local.get $2 call $~lib/typedarray/Int8Array#set<~lib/typedarray/Uint8Array> local.get $0 local.get $5 @@ -41919,12 +42279,12 @@ i32.const 63 i32.const 11696 call $~lib/rt/__newArray - local.set $0 + local.set $2 global.get $~lib/memory/__stack_pointer - local.get $0 + local.get $2 i32.store offset=16 - local.get $10 local.get $0 + local.get $2 call $std/typedarray/valuesEqual<~lib/typedarray/Uint8Array> global.get $~lib/memory/__stack_pointer i32.const 20 @@ -42040,7 +42400,6 @@ (local $8 i32) (local $9 f32) (local $10 f64) - (local $11 i32) global.get $~lib/memory/__stack_pointer i32.const 20 i32.sub @@ -42124,7 +42483,6 @@ global.get $~lib/memory/__stack_pointer i32.const 10 call $~lib/typedarray/Uint8ClampedArray#constructor - local.tee $11 local.tee $1 i32.store offset=12 global.get $~lib/memory/__stack_pointer @@ -42139,10 +42497,10 @@ br_if $folding-inner0 local.get $1 i32.load offset=4 - local.set $5 + local.set $6 i32.const 11012 i32.load - local.set $6 + local.set $7 i32.const 11020 i32.load local.set $8 @@ -42152,26 +42510,26 @@ i32.lt_s if local.get $0 - local.get $5 - i32.add local.get $6 + i32.add + i32.const 255 local.get $0 i32.const 2 i32.shl + local.get $7 i32.add i32.load - local.tee $7 - i32.const 31 - i32.shr_s - i32.const -1 - i32.xor - local.get $7 - i32.const 255 - local.get $7 + local.tee $5 i32.sub i32.const 31 i32.shr_s + local.get $5 i32.or + local.get $5 + i32.const 31 + i32.shr_s + i32.const -1 + i32.xor i32.and i32.store8 local.get $0 @@ -42210,10 +42568,10 @@ i32.load offset=4 i32.const 3 i32.add - local.set $5 + local.set $6 i32.const 11092 i32.load - local.set $6 + local.set $7 i32.const 11100 i32.load local.set $8 @@ -42223,12 +42581,12 @@ i32.lt_s if local.get $0 - local.get $5 - i32.add local.get $6 + i32.add local.get $0 i32.const 2 i32.shl + local.get $7 i32.add f32.load local.tee $9 @@ -42299,25 +42657,25 @@ i32.load offset=4 i32.const 2 i32.add - local.set $7 + local.set $5 i32.const 11188 i32.load - local.set $5 + local.set $6 i32.const 11196 i32.load - local.set $6 + local.set $7 loop $for-loop|08 local.get $0 - local.get $6 + local.get $7 i32.lt_s if local.get $0 - local.get $7 - i32.add local.get $5 + i32.add local.get $0 i32.const 3 i32.shl + local.get $6 i32.add f64.load local.tee $10 @@ -42379,37 +42737,37 @@ i32.load offset=4 i32.const 7 i32.add - local.set $2 + local.set $3 i32.const 11268 i32.load - local.set $3 + local.set $4 i32.const 11276 i32.load - local.set $4 + local.set $5 loop $for-loop|012 local.get $0 - local.get $4 + local.get $5 i32.lt_s if local.get $0 - local.get $2 + local.get $3 i32.add + i32.const 255 local.get $0 - local.get $3 + local.get $4 i32.add i32.load8_s - local.tee $1 - i32.const 31 - i32.shr_s - i32.const -1 - i32.xor - local.get $1 - i32.const 255 - local.get $1 + local.tee $2 i32.sub i32.const 31 i32.shr_s + local.get $2 i32.or + local.get $2 + i32.const 31 + i32.shr_s + i32.const -1 + i32.xor i32.and i32.store8 local.get $0 @@ -42424,12 +42782,12 @@ i32.const 63 i32.const 11920 call $~lib/rt/__newArray - local.set $1 + local.set $0 global.get $~lib/memory/__stack_pointer - local.get $1 + local.get $0 i32.store offset=16 - local.get $11 local.get $1 + local.get $0 call $std/typedarray/valuesEqual<~lib/typedarray/Uint8ClampedArray> global.get $~lib/memory/__stack_pointer i32.const 20 @@ -42497,9 +42855,9 @@ i32.add i32.load16_s local.tee $5 - local.get $3 local.get $1 i32.load offset=4 + local.get $3 i32.add i32.load16_s local.tee $3 @@ -42549,7 +42907,6 @@ (local $7 i32) (local $8 f32) (local $9 f64) - (local $10 i32) global.get $~lib/memory/__stack_pointer i32.const 20 i32.sub @@ -42595,21 +42952,21 @@ global.get $~lib/memory/__stack_pointer i32.const 4 call $~lib/typedarray/Uint8Array#constructor - local.tee $4 + local.tee $2 i32.store offset=4 - local.get $4 + local.get $2 i32.const 0 i32.const 100 call $~lib/typedarray/Uint8Array#__set - local.get $4 + local.get $2 i32.const 1 i32.const 101 call $~lib/typedarray/Uint8Array#__set - local.get $4 + local.get $2 i32.const 2 i32.const 102 call $~lib/typedarray/Uint8Array#__set - local.get $4 + local.get $2 i32.const 3 i32.const 103 call $~lib/typedarray/Uint8Array#__set @@ -42633,7 +42990,6 @@ global.get $~lib/memory/__stack_pointer i32.const 10 call $~lib/typedarray/Int16Array#constructor - local.tee $10 local.tee $0 i32.store offset=12 global.get $~lib/memory/__stack_pointer @@ -42646,12 +43002,12 @@ i32.const 64 i32.const 11952 call $~lib/rt/__newArray - local.set $3 + local.set $4 global.get $~lib/memory/__stack_pointer - local.get $3 + local.get $4 i32.store offset=16 local.get $0 - local.get $3 + local.get $4 call $std/typedarray/valuesEqual<~lib/typedarray/Int16Array> global.get $~lib/memory/__stack_pointer i32.const 11088 @@ -42677,21 +43033,21 @@ local.set $7 i32.const 11100 i32.load - local.set $3 + local.set $4 loop $for-loop|0 - local.get $2 local.get $3 + local.get $4 i32.lt_s if - local.get $6 - local.get $2 + local.get $3 i32.const 1 i32.shl + local.get $6 i32.add - local.get $7 - local.get $2 + local.get $3 i32.const 2 i32.shl + local.get $7 i32.add f32.load local.tee $8 @@ -42706,10 +43062,10 @@ i32.const 0 end i32.store16 - local.get $2 + local.get $3 i32.const 1 i32.add - local.set $2 + local.set $3 br $for-loop|0 end end @@ -42718,12 +43074,12 @@ i32.const 64 i32.const 12048 call $~lib/rt/__newArray - local.set $2 + local.set $3 global.get $~lib/memory/__stack_pointer - local.get $2 + local.get $3 i32.store offset=16 local.get $0 - local.get $2 + local.get $3 call $std/typedarray/valuesEqual<~lib/typedarray/Int16Array> local.get $0 local.get $1 @@ -42759,7 +43115,7 @@ i32.load offset=4 i32.const 4 i32.add - local.set $3 + local.set $4 i32.const 11188 i32.load local.set $6 @@ -42771,15 +43127,15 @@ local.get $7 i32.lt_s if - local.get $3 local.get $1 i32.const 1 i32.shl + local.get $4 i32.add - local.get $6 local.get $1 i32.const 3 i32.shl + local.get $6 i32.add f64.load local.tee $9 @@ -42814,7 +43170,7 @@ local.get $1 call $std/typedarray/valuesEqual<~lib/typedarray/Int16Array> local.get $0 - local.get $4 + local.get $2 call $~lib/typedarray/Int16Array#set<~lib/typedarray/Uint8Array> local.get $0 local.get $5 @@ -42829,12 +43185,12 @@ i32.const 64 i32.const 12192 call $~lib/rt/__newArray - local.set $0 + local.set $2 global.get $~lib/memory/__stack_pointer - local.get $0 + local.get $2 i32.store offset=16 - local.get $10 local.get $0 + local.get $2 call $std/typedarray/valuesEqual<~lib/typedarray/Int16Array> global.get $~lib/memory/__stack_pointer i32.const 20 @@ -42902,9 +43258,9 @@ i32.add i32.load16_u local.tee $5 - local.get $3 local.get $1 i32.load offset=4 + local.get $3 i32.add i32.load16_u local.tee $3 @@ -42954,7 +43310,6 @@ (local $7 i32) (local $8 f32) (local $9 f64) - (local $10 i32) global.get $~lib/memory/__stack_pointer i32.const 20 i32.sub @@ -43000,21 +43355,21 @@ global.get $~lib/memory/__stack_pointer i32.const 4 call $~lib/typedarray/Uint8Array#constructor - local.tee $4 + local.tee $2 i32.store offset=4 - local.get $4 + local.get $2 i32.const 0 i32.const 100 call $~lib/typedarray/Uint8Array#__set - local.get $4 + local.get $2 i32.const 1 i32.const 101 call $~lib/typedarray/Uint8Array#__set - local.get $4 + local.get $2 i32.const 2 i32.const 102 call $~lib/typedarray/Uint8Array#__set - local.get $4 + local.get $2 i32.const 3 i32.const 103 call $~lib/typedarray/Uint8Array#__set @@ -43038,7 +43393,6 @@ global.get $~lib/memory/__stack_pointer i32.const 10 call $~lib/typedarray/Uint16Array#constructor - local.tee $10 local.tee $0 i32.store offset=12 global.get $~lib/memory/__stack_pointer @@ -43051,12 +43405,12 @@ i32.const 65 i32.const 12240 call $~lib/rt/__newArray - local.set $3 + local.set $4 global.get $~lib/memory/__stack_pointer - local.get $3 + local.get $4 i32.store offset=16 local.get $0 - local.get $3 + local.get $4 call $std/typedarray/valuesEqual<~lib/typedarray/Uint16Array> global.get $~lib/memory/__stack_pointer i32.const 11088 @@ -43082,21 +43436,21 @@ local.set $7 i32.const 11100 i32.load - local.set $3 + local.set $4 loop $for-loop|0 - local.get $2 local.get $3 + local.get $4 i32.lt_s if - local.get $6 - local.get $2 + local.get $3 i32.const 1 i32.shl + local.get $6 i32.add - local.get $7 - local.get $2 + local.get $3 i32.const 2 i32.shl + local.get $7 i32.add f32.load local.tee $8 @@ -43111,10 +43465,10 @@ i32.const 0 end i32.store16 - local.get $2 + local.get $3 i32.const 1 i32.add - local.set $2 + local.set $3 br $for-loop|0 end end @@ -43123,12 +43477,12 @@ i32.const 65 i32.const 12336 call $~lib/rt/__newArray - local.set $2 + local.set $3 global.get $~lib/memory/__stack_pointer - local.get $2 + local.get $3 i32.store offset=16 local.get $0 - local.get $2 + local.get $3 call $std/typedarray/valuesEqual<~lib/typedarray/Uint16Array> local.get $0 local.get $1 @@ -43164,7 +43518,7 @@ i32.load offset=4 i32.const 4 i32.add - local.set $3 + local.set $4 i32.const 11188 i32.load local.set $6 @@ -43176,15 +43530,15 @@ local.get $7 i32.lt_s if - local.get $3 local.get $1 i32.const 1 i32.shl + local.get $4 i32.add - local.get $6 local.get $1 i32.const 3 i32.shl + local.get $6 i32.add f64.load local.tee $9 @@ -43219,7 +43573,7 @@ local.get $1 call $std/typedarray/valuesEqual<~lib/typedarray/Uint16Array> local.get $0 - local.get $4 + local.get $2 call $~lib/typedarray/Int16Array#set<~lib/typedarray/Uint8Array> local.get $0 local.get $5 @@ -43234,12 +43588,12 @@ i32.const 65 i32.const 12480 call $~lib/rt/__newArray - local.set $0 + local.set $2 global.get $~lib/memory/__stack_pointer - local.get $0 + local.get $2 i32.store offset=16 - local.get $10 local.get $0 + local.get $2 call $std/typedarray/valuesEqual<~lib/typedarray/Uint16Array> global.get $~lib/memory/__stack_pointer i32.const 20 @@ -43307,9 +43661,9 @@ i32.add i32.load local.tee $5 - local.get $3 local.get $1 i32.load offset=4 + local.get $3 i32.add i32.load local.tee $3 @@ -43360,7 +43714,6 @@ (local $8 f32) (local $9 f64) (local $10 i32) - (local $11 i32) global.get $~lib/memory/__stack_pointer i32.const 20 i32.sub @@ -43406,21 +43759,21 @@ global.get $~lib/memory/__stack_pointer i32.const 4 call $~lib/typedarray/Uint8Array#constructor - local.tee $4 + local.tee $2 i32.store offset=4 - local.get $4 + local.get $2 i32.const 0 i32.const 100 call $~lib/typedarray/Uint8Array#__set - local.get $4 + local.get $2 i32.const 1 i32.const 101 call $~lib/typedarray/Uint8Array#__set - local.get $4 + local.get $2 i32.const 2 i32.const 102 call $~lib/typedarray/Uint8Array#__set - local.get $4 + local.get $2 i32.const 3 i32.const 103 call $~lib/typedarray/Uint8Array#__set @@ -43444,7 +43797,6 @@ global.get $~lib/memory/__stack_pointer i32.const 10 call $~lib/typedarray/Int32Array#constructor - local.tee $10 local.tee $0 i32.store offset=12 global.get $~lib/memory/__stack_pointer @@ -43459,12 +43811,12 @@ i32.const 16 i32.const 12528 call $~lib/rt/__newArray - local.set $2 + local.set $3 global.get $~lib/memory/__stack_pointer - local.get $2 + local.get $3 i32.store offset=16 local.get $0 - local.get $2 + local.get $3 call $std/typedarray/valuesEqual<~lib/typedarray/Int32Array> global.get $~lib/memory/__stack_pointer i32.const 11088 @@ -43490,23 +43842,24 @@ local.set $7 i32.const 11100 i32.load - local.set $11 + local.set $10 loop $for-loop|0 - local.get $3 - local.get $11 + local.get $4 + local.get $10 i32.lt_s if - local.get $6 - local.get $3 + local.get $7 + local.get $4 i32.const 2 i32.shl - local.tee $2 - i32.add - local.get $2 - local.get $7 + local.tee $3 i32.add f32.load - local.tee $8 + local.set $8 + local.get $3 + local.get $6 + i32.add + local.get $8 local.get $8 f32.sub f32.const 0 @@ -43518,10 +43871,10 @@ i32.const 0 end i32.store - local.get $3 + local.get $4 i32.const 1 i32.add - local.set $3 + local.set $4 br $for-loop|0 end end @@ -43530,12 +43883,12 @@ i32.const 16 i32.const 12640 call $~lib/rt/__newArray - local.set $3 + local.set $4 global.get $~lib/memory/__stack_pointer - local.get $3 + local.get $4 i32.store offset=16 local.get $0 - local.get $3 + local.get $4 call $std/typedarray/valuesEqual<~lib/typedarray/Int32Array> local.get $0 local.get $1 @@ -43571,7 +43924,7 @@ i32.load offset=4 i32.const 8 i32.add - local.set $2 + local.set $3 i32.const 11188 i32.load local.set $6 @@ -43583,15 +43936,15 @@ local.get $7 i32.lt_s if - local.get $2 local.get $1 i32.const 2 i32.shl + local.get $3 i32.add - local.get $6 local.get $1 i32.const 3 i32.shl + local.get $6 i32.add f64.load local.tee $9 @@ -43626,7 +43979,7 @@ local.get $1 call $std/typedarray/valuesEqual<~lib/typedarray/Int32Array> local.get $0 - local.get $4 + local.get $2 call $~lib/typedarray/Int32Array#set<~lib/typedarray/Uint8Array> local.get $0 local.get $5 @@ -43641,12 +43994,12 @@ i32.const 16 i32.const 12832 call $~lib/rt/__newArray - local.set $0 + local.set $2 global.get $~lib/memory/__stack_pointer - local.get $0 + local.get $2 i32.store offset=16 - local.get $10 local.get $0 + local.get $2 call $std/typedarray/valuesEqual<~lib/typedarray/Int32Array> global.get $~lib/memory/__stack_pointer i32.const 20 @@ -43714,9 +44067,9 @@ i32.add i32.load local.tee $5 - local.get $3 local.get $1 i32.load offset=4 + local.get $3 i32.add i32.load local.tee $3 @@ -43767,7 +44120,6 @@ (local $8 f32) (local $9 f64) (local $10 i32) - (local $11 i32) global.get $~lib/memory/__stack_pointer i32.const 20 i32.sub @@ -43813,21 +44165,21 @@ global.get $~lib/memory/__stack_pointer i32.const 4 call $~lib/typedarray/Uint8Array#constructor - local.tee $4 + local.tee $2 i32.store offset=4 - local.get $4 + local.get $2 i32.const 0 i32.const 100 call $~lib/typedarray/Uint8Array#__set - local.get $4 + local.get $2 i32.const 1 i32.const 101 call $~lib/typedarray/Uint8Array#__set - local.get $4 + local.get $2 i32.const 2 i32.const 102 call $~lib/typedarray/Uint8Array#__set - local.get $4 + local.get $2 i32.const 3 i32.const 103 call $~lib/typedarray/Uint8Array#__set @@ -43851,7 +44203,6 @@ global.get $~lib/memory/__stack_pointer i32.const 10 call $~lib/typedarray/Uint32Array#constructor - local.tee $10 local.tee $0 i32.store offset=12 global.get $~lib/memory/__stack_pointer @@ -43866,12 +44217,12 @@ i32.const 66 i32.const 12896 call $~lib/rt/__newArray - local.set $2 + local.set $3 global.get $~lib/memory/__stack_pointer - local.get $2 + local.get $3 i32.store offset=16 local.get $0 - local.get $2 + local.get $3 call $std/typedarray/valuesEqual<~lib/typedarray/Uint32Array> global.get $~lib/memory/__stack_pointer i32.const 11088 @@ -43897,23 +44248,24 @@ local.set $7 i32.const 11100 i32.load - local.set $11 + local.set $10 loop $for-loop|0 - local.get $3 - local.get $11 + local.get $4 + local.get $10 i32.lt_s if - local.get $6 - local.get $3 + local.get $7 + local.get $4 i32.const 2 i32.shl - local.tee $2 - i32.add - local.get $2 - local.get $7 + local.tee $3 i32.add f32.load - local.tee $8 + local.set $8 + local.get $3 + local.get $6 + i32.add + local.get $8 local.get $8 f32.sub f32.const 0 @@ -43925,10 +44277,10 @@ i32.const 0 end i32.store - local.get $3 + local.get $4 i32.const 1 i32.add - local.set $3 + local.set $4 br $for-loop|0 end end @@ -43937,12 +44289,12 @@ i32.const 66 i32.const 13008 call $~lib/rt/__newArray - local.set $3 + local.set $4 global.get $~lib/memory/__stack_pointer - local.get $3 + local.get $4 i32.store offset=16 local.get $0 - local.get $3 + local.get $4 call $std/typedarray/valuesEqual<~lib/typedarray/Uint32Array> local.get $0 local.get $1 @@ -43978,7 +44330,7 @@ i32.load offset=4 i32.const 8 i32.add - local.set $2 + local.set $3 i32.const 11188 i32.load local.set $6 @@ -43990,15 +44342,15 @@ local.get $7 i32.lt_s if - local.get $2 local.get $1 i32.const 2 i32.shl + local.get $3 i32.add - local.get $6 local.get $1 i32.const 3 i32.shl + local.get $6 i32.add f64.load local.tee $9 @@ -44033,7 +44385,7 @@ local.get $1 call $std/typedarray/valuesEqual<~lib/typedarray/Uint32Array> local.get $0 - local.get $4 + local.get $2 call $~lib/typedarray/Int32Array#set<~lib/typedarray/Uint8Array> local.get $0 local.get $5 @@ -44048,12 +44400,12 @@ i32.const 66 i32.const 13200 call $~lib/rt/__newArray - local.set $0 + local.set $2 global.get $~lib/memory/__stack_pointer - local.get $0 + local.get $2 i32.store offset=16 - local.get $10 local.get $0 + local.get $2 call $std/typedarray/valuesEqual<~lib/typedarray/Uint32Array> global.get $~lib/memory/__stack_pointer i32.const 20 @@ -44122,9 +44474,9 @@ i32.add i64.load local.tee $5 - local.get $4 local.get $1 i32.load offset=4 + local.get $4 i32.add i64.load local.tee $6 @@ -44172,9 +44524,8 @@ (local $5 i32) (local $6 i32) (local $7 i32) - (local $8 f32) - (local $9 f64) - (local $10 i32) + (local $8 f64) + (local $9 f32) global.get $~lib/memory/__stack_pointer i32.const 20 i32.sub @@ -44220,21 +44571,21 @@ global.get $~lib/memory/__stack_pointer i32.const 4 call $~lib/typedarray/Uint8Array#constructor - local.tee $4 + local.tee $3 i32.store offset=4 - local.get $4 + local.get $3 i32.const 0 i32.const 100 call $~lib/typedarray/Uint8Array#__set - local.get $4 + local.get $3 i32.const 1 i32.const 101 call $~lib/typedarray/Uint8Array#__set - local.get $4 + local.get $3 i32.const 2 i32.const 102 call $~lib/typedarray/Uint8Array#__set - local.get $4 + local.get $3 i32.const 3 i32.const 103 call $~lib/typedarray/Uint8Array#__set @@ -44258,7 +44609,6 @@ global.get $~lib/memory/__stack_pointer i32.const 10 call $~lib/typedarray/Int64Array#constructor - local.tee $10 local.tee $0 i32.store offset=12 global.get $~lib/memory/__stack_pointer @@ -44271,12 +44621,12 @@ i32.const 67 i32.const 13264 call $~lib/rt/__newArray - local.set $3 + local.set $4 global.get $~lib/memory/__stack_pointer - local.get $3 + local.get $4 i32.store offset=16 local.get $0 - local.get $3 + local.get $4 call $std/typedarray/valuesEqual<~lib/typedarray/Int64Array> global.get $~lib/memory/__stack_pointer i32.const 11088 @@ -44296,7 +44646,7 @@ i32.load offset=4 i32.const 24 i32.add - local.set $3 + local.set $4 i32.const 11092 i32.load local.set $6 @@ -44308,24 +44658,24 @@ local.get $7 i32.lt_s if - local.get $3 local.get $2 i32.const 3 i32.shl + local.get $4 i32.add - local.get $6 local.get $2 i32.const 2 i32.shl + local.get $6 i32.add f32.load - local.tee $8 - local.get $8 + local.tee $9 + local.get $9 f32.sub f32.const 0 f32.eq if (result i64) - local.get $8 + local.get $9 i64.trunc_f32_s else i64.const 0 @@ -44387,7 +44737,7 @@ local.set $2 i32.const 11188 i32.load - local.set $3 + local.set $4 i32.const 11196 i32.load local.set $6 @@ -44396,23 +44746,24 @@ local.get $6 i32.lt_s if - local.get $2 + local.get $4 local.get $1 i32.const 3 i32.shl local.tee $7 i32.add - local.get $3 + f64.load + local.set $8 + local.get $2 local.get $7 i32.add - f64.load - local.tee $9 - local.get $9 + local.get $8 + local.get $8 f64.sub f64.const 0 f64.eq if (result i64) - local.get $9 + local.get $8 i64.trunc_f64_s else i64.const 0 @@ -44438,7 +44789,7 @@ local.get $1 call $std/typedarray/valuesEqual<~lib/typedarray/Int64Array> local.get $0 - local.get $4 + local.get $3 call $~lib/typedarray/Int64Array#set<~lib/typedarray/Uint8Array> local.get $0 local.get $5 @@ -44453,12 +44804,12 @@ i32.const 67 i32.const 13760 call $~lib/rt/__newArray - local.set $0 + local.set $3 global.get $~lib/memory/__stack_pointer - local.get $0 + local.get $3 i32.store offset=16 - local.get $10 local.get $0 + local.get $3 call $std/typedarray/valuesEqual<~lib/typedarray/Int64Array> global.get $~lib/memory/__stack_pointer i32.const 20 @@ -44527,9 +44878,9 @@ i32.add i64.load local.tee $5 - local.get $4 local.get $1 i32.load offset=4 + local.get $4 i32.add i64.load local.tee $6 @@ -44577,9 +44928,8 @@ (local $5 i32) (local $6 i32) (local $7 i32) - (local $8 f32) - (local $9 f64) - (local $10 i32) + (local $8 f64) + (local $9 f32) global.get $~lib/memory/__stack_pointer i32.const 20 i32.sub @@ -44625,21 +44975,21 @@ global.get $~lib/memory/__stack_pointer i32.const 4 call $~lib/typedarray/Uint8Array#constructor - local.tee $4 + local.tee $3 i32.store offset=4 - local.get $4 + local.get $3 i32.const 0 i32.const 100 call $~lib/typedarray/Uint8Array#__set - local.get $4 + local.get $3 i32.const 1 i32.const 101 call $~lib/typedarray/Uint8Array#__set - local.get $4 + local.get $3 i32.const 2 i32.const 102 call $~lib/typedarray/Uint8Array#__set - local.get $4 + local.get $3 i32.const 3 i32.const 103 call $~lib/typedarray/Uint8Array#__set @@ -44663,7 +45013,6 @@ global.get $~lib/memory/__stack_pointer i32.const 10 call $~lib/typedarray/Uint64Array#constructor - local.tee $10 local.tee $0 i32.store offset=12 global.get $~lib/memory/__stack_pointer @@ -44676,12 +45025,12 @@ i32.const 68 i32.const 13872 call $~lib/rt/__newArray - local.set $3 + local.set $4 global.get $~lib/memory/__stack_pointer - local.get $3 + local.get $4 i32.store offset=16 local.get $0 - local.get $3 + local.get $4 call $std/typedarray/valuesEqual<~lib/typedarray/Uint64Array> global.get $~lib/memory/__stack_pointer i32.const 11088 @@ -44701,7 +45050,7 @@ i32.load offset=4 i32.const 24 i32.add - local.set $3 + local.set $4 i32.const 11092 i32.load local.set $6 @@ -44713,24 +45062,24 @@ local.get $7 i32.lt_s if - local.get $3 local.get $2 i32.const 3 i32.shl + local.get $4 i32.add - local.get $6 local.get $2 i32.const 2 i32.shl + local.get $6 i32.add f32.load - local.tee $8 - local.get $8 + local.tee $9 + local.get $9 f32.sub f32.const 0 f32.eq if (result i64) - local.get $8 + local.get $9 i64.trunc_f32_u else i64.const 0 @@ -44792,7 +45141,7 @@ local.set $2 i32.const 11188 i32.load - local.set $3 + local.set $4 i32.const 11196 i32.load local.set $6 @@ -44801,23 +45150,24 @@ local.get $6 i32.lt_s if - local.get $2 + local.get $4 local.get $1 i32.const 3 i32.shl local.tee $7 i32.add - local.get $3 + f64.load + local.set $8 + local.get $2 local.get $7 i32.add - f64.load - local.tee $9 - local.get $9 + local.get $8 + local.get $8 f64.sub f64.const 0 f64.eq if (result i64) - local.get $9 + local.get $8 i64.trunc_f64_u else i64.const 0 @@ -44843,7 +45193,7 @@ local.get $1 call $std/typedarray/valuesEqual<~lib/typedarray/Uint64Array> local.get $0 - local.get $4 + local.get $3 call $~lib/typedarray/Int64Array#set<~lib/typedarray/Uint8Array> local.get $0 local.get $5 @@ -44858,12 +45208,12 @@ i32.const 68 i32.const 14368 call $~lib/rt/__newArray - local.set $0 + local.set $3 global.get $~lib/memory/__stack_pointer - local.get $0 + local.get $3 i32.store offset=16 - local.get $10 local.get $0 + local.get $3 call $std/typedarray/valuesEqual<~lib/typedarray/Uint64Array> global.get $~lib/memory/__stack_pointer i32.const 20 @@ -44932,9 +45282,9 @@ i32.add f32.load local.tee $5 - local.get $4 local.get $1 i32.load offset=4 + local.get $4 i32.add f32.load local.tee $6 @@ -44983,7 +45333,6 @@ (local $6 i32) (local $7 i32) (local $8 i32) - (local $9 i32) global.get $~lib/memory/__stack_pointer i32.const 20 i32.sub @@ -45000,16 +45349,16 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $0 + local.tee $2 i64.const 0 i64.store - local.get $0 + local.get $2 i64.const 0 i64.store offset=8 - local.get $0 + local.get $2 i32.const 0 i32.store offset=16 - local.get $0 + local.get $2 i32.const 3 call $~lib/typedarray/Int64Array#constructor local.tee $3 @@ -45029,21 +45378,21 @@ global.get $~lib/memory/__stack_pointer i32.const 4 call $~lib/typedarray/Uint8Array#constructor - local.tee $2 + local.tee $1 i32.store offset=4 - local.get $2 + local.get $1 i32.const 0 i32.const 100 call $~lib/typedarray/Uint8Array#__set - local.get $2 + local.get $1 i32.const 1 i32.const 101 call $~lib/typedarray/Uint8Array#__set - local.get $2 + local.get $1 i32.const 2 i32.const 102 call $~lib/typedarray/Uint8Array#__set - local.get $2 + local.get $1 i32.const 3 i32.const 103 call $~lib/typedarray/Uint8Array#__set @@ -45067,8 +45416,7 @@ global.get $~lib/memory/__stack_pointer i32.const 10 call $~lib/typedarray/Float32Array#constructor - local.tee $7 - local.tee $0 + local.tee $2 i32.store offset=12 global.get $~lib/memory/__stack_pointer i32.const 11008 @@ -45076,13 +45424,13 @@ block $folding-inner0 i32.const 11020 i32.load - local.get $0 + local.get $2 i32.load offset=8 i32.const 2 i32.shr_u i32.gt_s br_if $folding-inner0 - local.get $0 + local.get $2 i32.load offset=4 local.set $5 i32.const 11012 @@ -45090,28 +45438,28 @@ local.set $6 i32.const 11020 i32.load - local.set $8 + local.set $7 loop $for-loop|0 - local.get $1 - local.get $8 + local.get $0 + local.get $7 i32.lt_s if - local.get $1 + local.get $0 i32.const 2 i32.shl - local.tee $9 + local.tee $8 local.get $5 i32.add local.get $6 - local.get $9 + local.get $8 i32.add i32.load f32.convert_i32_s f32.store - local.get $1 + local.get $0 i32.const 1 i32.add - local.set $1 + local.set $0 br $for-loop|0 end end @@ -45120,17 +45468,17 @@ i32.const 61 i32.const 14480 call $~lib/rt/__newArray - local.set $1 + local.set $0 global.get $~lib/memory/__stack_pointer - local.get $1 + local.get $0 i32.store offset=16 + local.get $2 local.get $0 - local.get $1 call $std/typedarray/valuesEqual<~lib/typedarray/Float32Array> global.get $~lib/memory/__stack_pointer i32.const 11088 i32.store offset=16 - local.get $0 + local.get $2 i32.const 11088 i32.const 3 call $~lib/typedarray/Int32Array#set<~lib/array/Array> @@ -45139,28 +45487,28 @@ i32.const 61 i32.const 14592 call $~lib/rt/__newArray - local.set $1 + local.set $0 global.get $~lib/memory/__stack_pointer - local.get $1 + local.get $0 i32.store offset=16 + local.get $2 local.get $0 - local.get $1 call $std/typedarray/valuesEqual<~lib/typedarray/Float32Array> i32.const 0 - local.set $1 + local.set $0 local.get $3 i32.load offset=8 i32.const 3 i32.shr_u i32.const 6 i32.add - local.get $0 + local.get $2 i32.load offset=8 i32.const 2 i32.shr_u i32.gt_s br_if $folding-inner0 - local.get $0 + local.get $2 i32.load offset=4 i32.const 24 i32.add @@ -45174,27 +45522,27 @@ i32.shr_u local.set $3 loop $for-loop|01 - local.get $1 + local.get $0 local.get $3 i32.lt_s if - local.get $5 - local.get $1 + local.get $0 i32.const 2 i32.shl + local.get $5 i32.add - local.get $6 - local.get $1 + local.get $0 i32.const 3 i32.shl + local.get $6 i32.add i64.load f32.convert_i64_s f32.store - local.get $1 + local.get $0 i32.const 1 i32.add - local.set $1 + local.set $0 br $for-loop|01 end end @@ -45207,100 +45555,100 @@ global.get $~lib/memory/__stack_pointer local.get $3 i32.store offset=16 - local.get $0 + local.get $2 local.get $3 call $std/typedarray/valuesEqual<~lib/typedarray/Float32Array> i32.const 0 - local.set $1 - local.get $2 + local.set $0 + local.get $1 i32.load offset=8 - local.get $0 + local.get $2 i32.load offset=8 i32.const 2 i32.shr_u i32.gt_s br_if $folding-inner0 - local.get $0 + local.get $2 i32.load offset=4 local.set $3 - local.get $2 + local.get $1 i32.load offset=4 local.set $5 - local.get $2 + local.get $1 i32.load offset=8 - local.set $2 + local.set $1 loop $for-loop|03 + local.get $0 local.get $1 - local.get $2 i32.lt_s if - local.get $3 - local.get $1 + local.get $0 i32.const 2 i32.shl + local.get $3 i32.add - local.get $1 + local.get $0 local.get $5 i32.add i32.load8_u f32.convert_i32_u f32.store - local.get $1 + local.get $0 i32.const 1 i32.add - local.set $1 + local.set $0 br $for-loop|03 end end i32.const 0 - local.set $2 + local.set $1 local.get $4 i32.load offset=8 i32.const 1 i32.shr_u i32.const 4 i32.add - local.get $0 + local.get $2 i32.load offset=8 i32.const 2 i32.shr_u i32.gt_s br_if $folding-inner0 - local.get $0 + local.get $2 i32.load offset=4 i32.const 16 i32.add local.set $3 local.get $4 i32.load offset=4 - local.set $1 + local.set $0 local.get $4 i32.load offset=8 i32.const 1 i32.shr_u local.set $4 loop $for-loop|05 - local.get $2 + local.get $1 local.get $4 i32.lt_s if - local.get $3 - local.get $2 + local.get $1 i32.const 2 i32.shl + local.get $3 i32.add local.get $1 - local.get $2 i32.const 1 i32.shl + local.get $0 i32.add i32.load16_s f32.convert_i32_s f32.store - local.get $2 + local.get $1 i32.const 1 i32.add - local.set $2 + local.set $1 br $for-loop|05 end end @@ -45308,48 +45656,48 @@ i32.const 11264 i32.store offset=16 i32.const 0 - local.set $2 + local.set $1 i32.const 11276 i32.load i32.const 7 i32.add - local.get $0 + local.get $2 i32.load offset=8 i32.const 2 i32.shr_u i32.gt_s br_if $folding-inner0 - local.get $0 + local.get $2 i32.load offset=4 i32.const 28 i32.add - local.set $0 + local.set $3 i32.const 11268 i32.load - local.set $3 + local.set $4 i32.const 11276 i32.load - local.set $4 + local.set $0 loop $for-loop|09 - local.get $2 - local.get $4 - i32.lt_s + local.get $0 + local.get $1 + i32.gt_s if - local.get $0 - local.get $2 + local.get $1 i32.const 2 i32.shl - i32.add - local.get $2 local.get $3 i32.add + local.get $1 + local.get $4 + i32.add i32.load8_s f32.convert_i32_s f32.store - local.get $2 + local.get $1 i32.const 1 i32.add - local.set $2 + local.set $1 br $for-loop|09 end end @@ -45358,12 +45706,12 @@ i32.const 61 i32.const 14720 call $~lib/rt/__newArray - local.set $0 + local.set $1 global.get $~lib/memory/__stack_pointer - local.get $0 + local.get $1 i32.store offset=16 - local.get $7 - local.get $0 + local.get $2 + local.get $1 call $std/typedarray/valuesEqual<~lib/typedarray/Float32Array> global.get $~lib/memory/__stack_pointer i32.const 20 @@ -45432,9 +45780,9 @@ i32.add f64.load local.tee $5 - local.get $4 local.get $1 i32.load offset=4 + local.get $4 i32.add f64.load local.tee $6 @@ -45480,7 +45828,6 @@ (local $5 i32) (local $6 i32) (local $7 i32) - (local $8 i32) global.get $~lib/memory/__stack_pointer i32.const 20 i32.sub @@ -45497,16 +45844,16 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $1 + local.tee $2 i64.const 0 i64.store - local.get $1 + local.get $2 i64.const 0 i64.store offset=8 - local.get $1 + local.get $2 i32.const 0 i32.store offset=16 - local.get $1 + local.get $2 i32.const 3 call $~lib/typedarray/Int64Array#constructor local.tee $3 @@ -45526,21 +45873,21 @@ global.get $~lib/memory/__stack_pointer i32.const 4 call $~lib/typedarray/Uint8Array#constructor - local.tee $2 + local.tee $1 i32.store offset=4 - local.get $2 + local.get $1 i32.const 0 i32.const 100 call $~lib/typedarray/Uint8Array#__set - local.get $2 + local.get $1 i32.const 1 i32.const 101 call $~lib/typedarray/Uint8Array#__set - local.get $2 + local.get $1 i32.const 2 i32.const 102 call $~lib/typedarray/Uint8Array#__set - local.get $2 + local.get $1 i32.const 3 i32.const 103 call $~lib/typedarray/Uint8Array#__set @@ -45564,8 +45911,7 @@ global.get $~lib/memory/__stack_pointer i32.const 10 call $~lib/typedarray/Float64Array#constructor - local.tee $8 - local.tee $1 + local.tee $2 i32.store offset=12 global.get $~lib/memory/__stack_pointer i32.const 11008 @@ -45573,13 +45919,13 @@ block $folding-inner0 i32.const 11020 i32.load - local.get $1 + local.get $2 i32.load offset=8 i32.const 3 i32.shr_u i32.gt_s br_if $folding-inner0 - local.get $1 + local.get $2 i32.load offset=4 local.set $5 i32.const 11012 @@ -45593,15 +45939,15 @@ local.get $7 i32.lt_s if - local.get $5 local.get $0 i32.const 3 i32.shl + local.get $5 i32.add - local.get $6 local.get $0 i32.const 2 i32.shl + local.get $6 i32.add i32.load f64.convert_i32_s @@ -45622,7 +45968,7 @@ global.get $~lib/memory/__stack_pointer local.get $0 i32.store offset=16 - local.get $1 + local.get $2 local.get $0 call $std/typedarray/valuesEqual<~lib/typedarray/Float64Array> global.get $~lib/memory/__stack_pointer @@ -45634,13 +45980,13 @@ i32.load i32.const 3 i32.add - local.get $1 + local.get $2 i32.load offset=8 i32.const 3 i32.shr_u i32.gt_s br_if $folding-inner0 - local.get $1 + local.get $2 i32.load offset=4 i32.const 24 i32.add @@ -45656,15 +46002,15 @@ local.get $7 i32.lt_s if - local.get $5 local.get $0 i32.const 3 i32.shl + local.get $5 i32.add - local.get $6 local.get $0 i32.const 2 i32.shl + local.get $6 i32.add f32.load f64.promote_f32 @@ -45685,7 +46031,7 @@ global.get $~lib/memory/__stack_pointer local.get $0 i32.store offset=16 - local.get $1 + local.get $2 local.get $0 call $std/typedarray/valuesEqual<~lib/typedarray/Float64Array> i32.const 0 @@ -45696,13 +46042,13 @@ i32.shr_u i32.const 6 i32.add - local.get $1 + local.get $2 i32.load offset=8 i32.const 3 i32.shr_u i32.gt_s br_if $folding-inner0 - local.get $1 + local.get $2 i32.load offset=4 i32.const 48 i32.add @@ -45748,37 +46094,37 @@ global.get $~lib/memory/__stack_pointer local.get $3 i32.store offset=16 - local.get $1 + local.get $2 local.get $3 call $std/typedarray/valuesEqual<~lib/typedarray/Float64Array> i32.const 0 local.set $0 - local.get $2 - i32.load offset=8 local.get $1 i32.load offset=8 + local.get $2 + i32.load offset=8 i32.const 3 i32.shr_u i32.gt_s br_if $folding-inner0 - local.get $1 + local.get $2 i32.load offset=4 local.set $3 - local.get $2 + local.get $1 i32.load offset=4 local.set $5 - local.get $2 + local.get $1 i32.load offset=8 - local.set $2 + local.set $1 loop $for-loop|08 local.get $0 - local.get $2 + local.get $1 i32.lt_s if - local.get $3 local.get $0 i32.const 3 i32.shl + local.get $3 i32.add local.get $0 local.get $5 @@ -45794,20 +46140,20 @@ end end i32.const 0 - local.set $2 + local.set $1 local.get $4 i32.load offset=8 i32.const 1 i32.shr_u i32.const 4 i32.add - local.get $1 + local.get $2 i32.load offset=8 i32.const 3 i32.shr_u i32.gt_s br_if $folding-inner0 - local.get $1 + local.get $2 i32.load offset=4 i32.const 32 i32.add @@ -45821,27 +46167,27 @@ i32.shr_u local.set $4 loop $for-loop|010 - local.get $2 + local.get $1 local.get $4 i32.lt_s if - local.get $3 - local.get $2 + local.get $1 i32.const 3 i32.shl + local.get $3 i32.add - local.get $0 - local.get $2 + local.get $1 i32.const 1 i32.shl + local.get $0 i32.add i32.load16_s f64.convert_i32_s f64.store - local.get $2 + local.get $1 i32.const 1 i32.add - local.set $2 + local.set $1 br $for-loop|010 end end @@ -45849,48 +46195,48 @@ i32.const 11264 i32.store offset=16 i32.const 0 - local.set $2 + local.set $1 i32.const 11276 i32.load i32.const 7 i32.add - local.get $1 + local.get $2 i32.load offset=8 i32.const 3 i32.shr_u i32.gt_s br_if $folding-inner0 - local.get $1 + local.get $2 i32.load offset=4 i32.const 56 i32.add - local.set $1 + local.set $3 i32.const 11268 i32.load - local.set $3 + local.set $4 i32.const 11276 i32.load - local.set $4 + local.set $0 loop $for-loop|014 - local.get $2 - local.get $4 - i32.lt_s + local.get $0 + local.get $1 + i32.gt_s if local.get $1 - local.get $2 i32.const 3 i32.shl - i32.add - local.get $2 local.get $3 i32.add + local.get $1 + local.get $4 + i32.add i32.load8_s f64.convert_i32_s f64.store - local.get $2 + local.get $1 i32.const 1 i32.add - local.set $2 + local.set $1 br $for-loop|014 end end @@ -45903,7 +46249,7 @@ global.get $~lib/memory/__stack_pointer local.get $1 i32.store offset=16 - local.get $8 + local.get $2 local.get $1 call $std/typedarray/valuesEqual<~lib/typedarray/Float64Array> global.get $~lib/memory/__stack_pointer @@ -46622,65 +46968,65 @@ global.get $~lib/memory/__stack_pointer i32.const 5 call $~lib/typedarray/Int32Array#constructor - local.tee $5 + local.tee $4 i32.store offset=8 - local.get $5 + local.get $4 i32.const 0 i32.const 1 call $~lib/typedarray/Int32Array#__set - local.get $5 + local.get $4 i32.const 1 i32.const 2 call $~lib/typedarray/Int32Array#__set - local.get $5 + local.get $4 i32.const 2 i32.const 3 call $~lib/typedarray/Int32Array#__set - local.get $5 + local.get $4 i32.const 3 i32.const 4 call $~lib/typedarray/Int32Array#__set - local.get $5 + local.get $4 i32.const 4 i32.const 5 call $~lib/typedarray/Int32Array#__set - local.get $5 + local.get $4 i32.load offset=4 local.set $2 i32.const 1 - local.get $5 + local.get $4 i32.load offset=8 i32.const 2 i32.shr_u - local.tee $1 - local.get $1 + local.tee $0 + local.get $0 i32.const 1 - i32.gt_s + i32.gt_u select - local.set $0 + local.set $1 i32.const 3 - local.get $1 - local.get $1 + local.get $0 + local.get $0 i32.const 3 - i32.gt_s + i32.gt_u select - local.set $1 + local.set $0 loop $for-loop|0 local.get $0 local.get $1 - i32.lt_s + i32.gt_s if - local.get $2 - local.get $0 + local.get $1 i32.const 2 i32.shl + local.get $2 i32.add i32.const 1 i32.store - local.get $0 + local.get $1 i32.const 1 i32.add - local.set $0 + local.set $1 br $for-loop|0 end end @@ -46693,7 +47039,7 @@ global.get $~lib/memory/__stack_pointer local.get $0 i32.store offset=4 - local.get $5 + local.get $4 local.get $0 call $std/typedarray/isInt32ArrayEqual i32.eqz @@ -46705,18 +47051,16 @@ call $~lib/builtins/abort unreachable end - local.get $5 + local.get $4 i32.load offset=4 local.set $2 i32.const 0 - local.get $5 + local.get $4 i32.load offset=8 i32.const 2 i32.shr_u local.tee $1 local.get $1 - i32.const 0 - i32.gt_s select local.set $0 loop $for-loop|01 @@ -46724,10 +47068,10 @@ local.get $1 i32.lt_s if - local.get $2 local.get $0 i32.const 2 i32.shl + local.get $2 i32.add i32.const 0 i32.store @@ -46747,7 +47091,7 @@ global.get $~lib/memory/__stack_pointer local.get $0 i32.store offset=4 - local.get $5 + local.get $4 local.get $0 call $std/typedarray/isInt32ArrayEqual i32.eqz @@ -46759,46 +47103,44 @@ call $~lib/builtins/abort unreachable end - local.get $5 + local.get $4 i32.load offset=4 local.set $2 i32.const 0 - local.get $5 + local.get $4 i32.load offset=8 i32.const 2 i32.shr_u - local.tee $1 - local.get $1 - i32.const 0 - i32.gt_s + local.tee $0 + local.get $0 select - local.set $0 - local.get $1 + local.set $1 + local.get $0 i32.const 3 i32.sub - local.tee $1 + local.tee $0 i32.const 0 - local.get $1 + local.get $0 i32.const 0 i32.gt_s select - local.set $1 + local.set $0 loop $for-loop|03 local.get $0 local.get $1 - i32.lt_s + i32.gt_s if - local.get $2 - local.get $0 + local.get $1 i32.const 2 i32.shl + local.get $2 i32.add i32.const 1 i32.store - local.get $0 + local.get $1 i32.const 1 i32.add - local.set $0 + local.set $1 br $for-loop|03 end end @@ -46811,7 +47153,7 @@ global.get $~lib/memory/__stack_pointer local.get $0 i32.store offset=4 - local.get $5 + local.get $4 local.get $0 call $std/typedarray/isInt32ArrayEqual i32.eqz @@ -46823,10 +47165,10 @@ call $~lib/builtins/abort unreachable end - local.get $5 + local.get $4 i32.load offset=4 local.set $2 - local.get $5 + local.get $4 i32.load offset=8 i32.const 2 i32.shr_u @@ -46845,10 +47187,10 @@ local.get $1 i32.lt_s if - local.get $2 local.get $0 i32.const 2 i32.shl + local.get $2 i32.add i32.const 2 i32.store @@ -46868,7 +47210,7 @@ global.get $~lib/memory/__stack_pointer local.get $0 i32.store offset=4 - local.get $5 + local.get $4 local.get $0 call $std/typedarray/isInt32ArrayEqual i32.eqz @@ -46880,43 +47222,41 @@ call $~lib/builtins/abort unreachable end - local.get $5 + local.get $4 i32.load offset=4 local.set $2 i32.const 1 - local.get $5 + local.get $4 i32.load offset=8 i32.const 2 i32.shr_u - local.tee $1 - local.get $1 + local.tee $0 + local.get $0 i32.const 1 - i32.gt_s + i32.gt_u select - local.set $0 - i32.const 0 - local.get $1 - local.get $1 + local.set $1 i32.const 0 - i32.gt_s + local.get $0 + local.get $0 select - local.set $1 + local.set $0 loop $for-loop|07 local.get $0 local.get $1 - i32.lt_s + i32.gt_s if - local.get $2 - local.get $0 + local.get $1 i32.const 2 i32.shl + local.get $2 i32.add i32.const 0 i32.store - local.get $0 + local.get $1 i32.const 1 i32.add - local.set $0 + local.set $1 br $for-loop|07 end end @@ -46929,7 +47269,7 @@ global.get $~lib/memory/__stack_pointer local.get $0 i32.store offset=4 - local.get $5 + local.get $4 local.get $0 call $std/typedarray/isInt32ArrayEqual i32.eqz @@ -46942,7 +47282,7 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $5 + local.get $4 i32.const 1 i32.const 4 call $~lib/typedarray/Int32Array#subarray @@ -46958,8 +47298,6 @@ i32.shr_u local.tee $1 local.get $1 - i32.const 0 - i32.gt_s select local.set $0 loop $for-loop|09 @@ -46967,10 +47305,10 @@ local.get $1 i32.lt_s if - local.get $2 local.get $0 i32.const 2 i32.shl + local.get $2 i32.add i32.const 0 i32.store @@ -47052,7 +47390,7 @@ global.get $~lib/memory/__stack_pointer local.get $0 i32.store offset=4 - local.get $5 + local.get $4 local.get $0 call $std/typedarray/isInt32ArrayEqual i32.eqz @@ -48050,11 +48388,11 @@ local.set $1 loop $for-loop|011 local.get $1 - local.get $4 + local.get $5 i32.gt_s if local.get $2 - local.get $4 + local.get $5 i32.add i32.load8_s local.set $0 @@ -48062,16 +48400,16 @@ global.set $~argumentsLength local.get $6 local.get $0 - local.get $4 + local.get $5 local.get $3 i32.const 2896 i32.load call_indirect $0 (type $i32_i32_i32_i32_=>_i32) local.set $6 - local.get $4 + local.get $5 i32.const 1 i32.add - local.set $4 + local.set $5 br $for-loop|011 end end @@ -48118,7 +48456,7 @@ i32.const 2928 i32.store offset=4 i32.const 0 - local.set $4 + local.set $5 i32.const 0 local.set $6 local.get $3 @@ -48129,11 +48467,11 @@ local.set $1 loop $for-loop|010 local.get $1 - local.get $4 + local.get $5 i32.gt_s if local.get $2 - local.get $4 + local.get $5 i32.add i32.load8_u local.set $0 @@ -48141,16 +48479,16 @@ global.set $~argumentsLength local.get $6 local.get $0 - local.get $4 + local.get $5 local.get $3 i32.const 2928 i32.load call_indirect $0 (type $i32_i32_i32_i32_=>_i32) local.set $6 - local.get $4 + local.get $5 i32.const 1 i32.add - local.set $4 + local.set $5 br $for-loop|010 end end @@ -48197,7 +48535,7 @@ i32.const 2960 i32.store offset=4 i32.const 0 - local.set $4 + local.set $5 i32.const 0 local.set $6 local.get $3 @@ -48208,11 +48546,11 @@ local.set $1 loop $for-loop|013 local.get $1 - local.get $4 + local.get $5 i32.gt_s if local.get $2 - local.get $4 + local.get $5 i32.add i32.load8_u local.set $0 @@ -48220,16 +48558,16 @@ global.set $~argumentsLength local.get $6 local.get $0 - local.get $4 + local.get $5 local.get $3 i32.const 2960 i32.load call_indirect $0 (type $i32_i32_i32_i32_=>_i32) local.set $6 - local.get $4 + local.get $5 i32.const 1 i32.add - local.set $4 + local.set $5 br $for-loop|013 end end @@ -48276,7 +48614,7 @@ i32.const 2992 i32.store offset=4 i32.const 0 - local.set $4 + local.set $5 i32.const 0 local.set $6 local.get $3 @@ -48289,13 +48627,13 @@ local.set $1 loop $for-loop|014 local.get $1 - local.get $4 + local.get $5 i32.gt_s if - local.get $2 - local.get $4 + local.get $5 i32.const 1 i32.shl + local.get $2 i32.add i32.load16_s local.set $0 @@ -48303,16 +48641,16 @@ global.set $~argumentsLength local.get $6 local.get $0 - local.get $4 + local.get $5 local.get $3 i32.const 2992 i32.load call_indirect $0 (type $i32_i32_i32_i32_=>_i32) local.set $6 - local.get $4 + local.get $5 i32.const 1 i32.add - local.set $4 + local.set $5 br $for-loop|014 end end @@ -48359,7 +48697,7 @@ i32.const 3024 i32.store offset=4 i32.const 0 - local.set $4 + local.set $5 i32.const 0 local.set $6 local.get $3 @@ -48372,13 +48710,13 @@ local.set $1 loop $for-loop|016 local.get $1 - local.get $4 + local.get $5 i32.gt_s if - local.get $2 - local.get $4 + local.get $5 i32.const 1 i32.shl + local.get $2 i32.add i32.load16_u local.set $0 @@ -48386,16 +48724,16 @@ global.set $~argumentsLength local.get $6 local.get $0 - local.get $4 + local.get $5 local.get $3 i32.const 3024 i32.load call_indirect $0 (type $i32_i32_i32_i32_=>_i32) local.set $6 - local.get $4 + local.get $5 i32.const 1 i32.add - local.set $4 + local.set $5 br $for-loop|016 end end @@ -48442,7 +48780,7 @@ i32.const 3056 i32.store offset=4 i32.const 0 - local.set $4 + local.set $5 i32.const 0 local.set $6 local.get $3 @@ -48455,13 +48793,13 @@ local.set $1 loop $for-loop|018 local.get $1 - local.get $4 + local.get $5 i32.gt_s if - local.get $2 - local.get $4 + local.get $5 i32.const 2 i32.shl + local.get $2 i32.add i32.load local.set $0 @@ -48469,16 +48807,16 @@ global.set $~argumentsLength local.get $6 local.get $0 - local.get $4 + local.get $5 local.get $3 i32.const 3056 i32.load call_indirect $0 (type $i32_i32_i32_i32_=>_i32) local.set $6 - local.get $4 + local.get $5 i32.const 1 i32.add - local.set $4 + local.set $5 br $for-loop|018 end end @@ -48523,7 +48861,7 @@ i32.const 3088 i32.store offset=4 i32.const 0 - local.set $4 + local.set $5 i32.const 0 local.set $6 local.get $3 @@ -48536,13 +48874,13 @@ local.set $1 loop $for-loop|021 local.get $1 - local.get $4 + local.get $5 i32.gt_s if - local.get $2 - local.get $4 + local.get $5 i32.const 2 i32.shl + local.get $2 i32.add i32.load local.set $0 @@ -48550,16 +48888,16 @@ global.set $~argumentsLength local.get $6 local.get $0 - local.get $4 + local.get $5 local.get $3 i32.const 3088 i32.load call_indirect $0 (type $i32_i32_i32_i32_=>_i32) local.set $6 - local.get $4 + local.get $5 i32.const 1 i32.add - local.set $4 + local.set $5 br $for-loop|021 end end @@ -48604,7 +48942,7 @@ i32.const 3120 i32.store offset=4 i32.const 0 - local.set $4 + local.set $5 local.get $2 i32.load offset=4 local.set $1 @@ -48615,13 +48953,13 @@ local.set $0 loop $for-loop|023 local.get $0 - local.get $4 + local.get $5 i32.gt_s if - local.get $1 - local.get $4 + local.get $5 i32.const 3 i32.shl + local.get $1 i32.add i64.load local.set $9 @@ -48629,16 +48967,16 @@ global.set $~argumentsLength local.get $13 local.get $9 - local.get $4 + local.get $5 local.get $2 i32.const 3120 i32.load call_indirect $0 (type $i64_i64_i32_i32_=>_i64) local.set $13 - local.get $4 + local.get $5 i32.const 1 i32.add - local.set $4 + local.set $5 br $for-loop|023 end end @@ -48683,7 +49021,7 @@ i32.const 3152 i32.store offset=4 i32.const 0 - local.set $4 + local.set $5 i64.const 0 local.set $13 local.get $2 @@ -48696,13 +49034,13 @@ local.set $0 loop $for-loop|025 local.get $0 - local.get $4 + local.get $5 i32.gt_s if - local.get $1 - local.get $4 + local.get $5 i32.const 3 i32.shl + local.get $1 i32.add i64.load local.set $9 @@ -48710,16 +49048,16 @@ global.set $~argumentsLength local.get $13 local.get $9 - local.get $4 + local.get $5 local.get $2 i32.const 3152 i32.load call_indirect $0 (type $i64_i64_i32_i32_=>_i64) local.set $13 - local.get $4 + local.get $5 i32.const 1 i32.add - local.set $4 + local.set $5 br $for-loop|025 end end @@ -48764,7 +49102,7 @@ i32.const 3184 i32.store offset=4 i32.const 0 - local.set $4 + local.set $5 local.get $2 i32.load offset=4 local.set $1 @@ -48775,13 +49113,13 @@ local.set $0 loop $for-loop|027 local.get $0 - local.get $4 + local.get $5 i32.gt_s if - local.get $1 - local.get $4 + local.get $5 i32.const 2 i32.shl + local.get $1 i32.add f32.load local.set $11 @@ -48789,16 +49127,16 @@ global.set $~argumentsLength local.get $14 local.get $11 - local.get $4 + local.get $5 local.get $2 i32.const 3184 i32.load call_indirect $0 (type $f32_f32_i32_i32_=>_f32) local.set $14 - local.get $4 + local.get $5 i32.const 1 i32.add - local.set $4 + local.set $5 br $for-loop|027 end end @@ -48843,7 +49181,7 @@ i32.const 3216 i32.store offset=4 i32.const 0 - local.set $4 + local.set $5 local.get $2 i32.load offset=4 local.set $1 @@ -48854,13 +49192,13 @@ local.set $0 loop $for-loop|029 local.get $0 - local.get $4 + local.get $5 i32.gt_s if - local.get $1 - local.get $4 + local.get $5 i32.const 3 i32.shl + local.get $1 i32.add f64.load local.set $12 @@ -48868,16 +49206,16 @@ global.set $~argumentsLength local.get $15 local.get $12 - local.get $4 + local.get $5 local.get $2 i32.const 3216 i32.load call_indirect $0 (type $f64_f64_i32_i32_=>_f64) local.set $15 - local.get $4 + local.get $5 i32.const 1 i32.add - local.set $4 + local.set $5 br $for-loop|029 end end @@ -49483,7 +49821,7 @@ i32.const 3248 i32.store offset=4 i32.const 0 - local.set $4 + local.set $5 local.get $2 i32.load offset=4 local.set $1 @@ -49504,14 +49842,14 @@ local.set $0 i32.const 4 global.set $~argumentsLength - local.get $4 + local.get $5 local.get $0 local.get $3 local.get $2 i32.const 3248 i32.load call_indirect $0 (type $i32_i32_i32_i32_=>_i32) - local.set $4 + local.set $5 local.get $3 i32.const 1 i32.sub @@ -49519,7 +49857,7 @@ br $for-loop|031 end end - local.get $4 + local.get $5 i32.const 255 i32.and i32.const 6 @@ -49562,7 +49900,7 @@ i32.const 3280 i32.store offset=4 i32.const 0 - local.set $4 + local.set $5 local.get $2 i32.load offset=4 local.set $1 @@ -49583,14 +49921,14 @@ local.set $0 i32.const 4 global.set $~argumentsLength - local.get $4 + local.get $5 local.get $0 local.get $3 local.get $2 i32.const 3280 i32.load call_indirect $0 (type $i32_i32_i32_i32_=>_i32) - local.set $4 + local.set $5 local.get $3 i32.const 1 i32.sub @@ -49598,7 +49936,7 @@ br $for-loop|033 end end - local.get $4 + local.get $5 i32.const 255 i32.and i32.const 6 @@ -49641,7 +49979,7 @@ i32.const 3312 i32.store offset=4 i32.const 0 - local.set $4 + local.set $5 local.get $2 i32.load offset=4 local.set $1 @@ -49662,14 +50000,14 @@ local.set $0 i32.const 4 global.set $~argumentsLength - local.get $4 + local.get $5 local.get $0 local.get $3 local.get $2 i32.const 3312 i32.load call_indirect $0 (type $i32_i32_i32_i32_=>_i32) - local.set $4 + local.set $5 local.get $3 i32.const 1 i32.sub @@ -49677,7 +50015,7 @@ br $for-loop|036 end end - local.get $4 + local.get $5 i32.const 255 i32.and i32.const 6 @@ -49720,7 +50058,7 @@ i32.const 3344 i32.store offset=4 i32.const 0 - local.set $4 + local.set $5 local.get $2 i32.load offset=4 local.set $1 @@ -49736,23 +50074,23 @@ i32.const 0 i32.ge_s if - local.get $1 local.get $3 i32.const 1 i32.shl + local.get $1 i32.add i32.load16_s local.set $0 i32.const 4 global.set $~argumentsLength - local.get $4 + local.get $5 local.get $0 local.get $3 local.get $2 i32.const 3344 i32.load call_indirect $0 (type $i32_i32_i32_i32_=>_i32) - local.set $4 + local.set $5 local.get $3 i32.const 1 i32.sub @@ -49760,7 +50098,7 @@ br $for-loop|038 end end - local.get $4 + local.get $5 i32.const 65535 i32.and i32.const 6 @@ -49803,7 +50141,7 @@ i32.const 3376 i32.store offset=4 i32.const 0 - local.set $4 + local.set $5 local.get $2 i32.load offset=4 local.set $1 @@ -49819,23 +50157,23 @@ i32.const 0 i32.ge_s if - local.get $1 local.get $3 i32.const 1 i32.shl + local.get $1 i32.add i32.load16_u local.set $0 i32.const 4 global.set $~argumentsLength - local.get $4 + local.get $5 local.get $0 local.get $3 local.get $2 i32.const 3376 i32.load call_indirect $0 (type $i32_i32_i32_i32_=>_i32) - local.set $4 + local.set $5 local.get $3 i32.const 1 i32.sub @@ -49843,7 +50181,7 @@ br $for-loop|040 end end - local.get $4 + local.get $5 i32.const 65535 i32.and i32.const 6 @@ -49886,7 +50224,7 @@ i32.const 3408 i32.store offset=4 i32.const 0 - local.set $4 + local.set $5 local.get $2 i32.load offset=4 local.set $1 @@ -49902,23 +50240,23 @@ i32.const 0 i32.ge_s if - local.get $1 local.get $3 i32.const 2 i32.shl + local.get $1 i32.add i32.load local.set $0 i32.const 4 global.set $~argumentsLength - local.get $4 + local.get $5 local.get $0 local.get $3 local.get $2 i32.const 3408 i32.load call_indirect $0 (type $i32_i32_i32_i32_=>_i32) - local.set $4 + local.set $5 local.get $3 i32.const 1 i32.sub @@ -49926,7 +50264,7 @@ br $for-loop|042 end end - local.get $4 + local.get $5 i32.const 6 i32.ne br_if $folding-inner5 @@ -49967,7 +50305,7 @@ i32.const 3440 i32.store offset=4 i32.const 0 - local.set $4 + local.set $5 local.get $2 i32.load offset=4 local.set $1 @@ -49983,23 +50321,23 @@ i32.const 0 i32.ge_s if - local.get $1 local.get $3 i32.const 2 i32.shl + local.get $1 i32.add i32.load local.set $0 i32.const 4 global.set $~argumentsLength - local.get $4 + local.get $5 local.get $0 local.get $3 local.get $2 i32.const 3440 i32.load call_indirect $0 (type $i32_i32_i32_i32_=>_i32) - local.set $4 + local.set $5 local.get $3 i32.const 1 i32.sub @@ -50007,7 +50345,7 @@ br $for-loop|044 end end - local.get $4 + local.get $5 i32.const 6 i32.ne br_if $folding-inner5 @@ -50064,10 +50402,10 @@ i32.const 0 i32.ge_s if - local.get $0 local.get $3 i32.const 3 i32.shl + local.get $0 i32.add i64.load local.set $9 @@ -50145,10 +50483,10 @@ i32.const 0 i32.ge_s if - local.get $0 local.get $3 i32.const 3 i32.shl + local.get $0 i32.add i64.load local.set $9 @@ -50226,10 +50564,10 @@ i32.const 0 i32.ge_s if - local.get $0 local.get $3 i32.const 2 i32.shl + local.get $0 i32.add f32.load local.set $11 @@ -50307,10 +50645,10 @@ i32.const 0 i32.ge_s if - local.get $0 local.get $3 i32.const 3 i32.shl + local.get $0 i32.add f64.load local.set $12 @@ -50339,6 +50677,8 @@ i32.const 8 i32.add global.set $~lib/memory/__stack_pointer + i32.const 0 + local.set $5 global.get $~lib/memory/__stack_pointer i32.const 12 i32.sub @@ -50357,25 +50697,25 @@ local.get $0 i32.const 3 call $~lib/typedarray/Int8Array#constructor - local.tee $4 + local.tee $0 i32.store - local.get $4 + local.get $0 i32.const 0 i32.const 1 call $~lib/typedarray/Int8Array#__set - local.get $4 + local.get $0 i32.const 1 i32.const 2 call $~lib/typedarray/Int8Array#__set - local.get $4 + local.get $0 i32.const 2 i32.const 3 call $~lib/typedarray/Int8Array#__set global.get $~lib/memory/__stack_pointer - local.tee $3 i32.const 3600 i32.store offset=4 - local.get $3 + global.get $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer i32.const 8 i32.sub global.set $~lib/memory/__stack_pointer @@ -50384,88 +50724,87 @@ i32.lt_s br_if $folding-inner23 global.get $~lib/memory/__stack_pointer - local.tee $0 + local.tee $1 i64.const 0 i64.store - local.get $4 - i32.load offset=4 - local.set $2 - local.get $4 + local.get $0 i32.load offset=8 - local.set $5 + local.set $4 local.get $0 + i32.load offset=4 + local.set $2 + local.get $1 i32.const 12 i32.const 3 call $~lib/rt/itcms/__new - local.tee $0 + local.tee $7 i32.store global.get $~lib/memory/__stack_pointer - local.get $5 + local.get $4 i32.const 0 call $~lib/rt/itcms/__new local.tee $6 i32.store offset=4 loop $for-loop|02 + local.get $4 local.get $5 - local.get $7 i32.gt_s if local.get $2 - local.get $7 + local.get $5 i32.add i32.load8_s local.set $1 i32.const 3 global.set $~argumentsLength + local.get $5 local.get $6 - local.get $7 i32.add local.get $1 - local.get $7 - local.get $4 + local.get $5 + local.get $0 i32.const 3600 i32.load call_indirect $0 (type $i32_i32_i32_=>_i32) i32.store8 - local.get $7 + local.get $5 i32.const 1 i32.add - local.set $7 + local.set $5 br $for-loop|02 end end - local.get $0 + local.get $7 local.get $6 i32.store - local.get $0 + local.get $7 local.get $6 call $~lib/rt/itcms/__link - local.get $0 + local.get $7 local.get $6 i32.store offset=4 - local.get $0 - local.get $5 + local.get $7 + local.get $4 i32.store offset=8 global.get $~lib/memory/__stack_pointer i32.const 8 i32.add global.set $~lib/memory/__stack_pointer - local.get $3 - local.get $0 + local.get $7 i32.store offset=8 - local.get $0 + local.get $7 i32.const 0 call $~lib/typedarray/Int8Array#__get i32.const 1 i32.ne br_if $folding-inner20 - local.get $0 + local.get $7 i32.const 1 call $~lib/typedarray/Int8Array#__get i32.const 4 i32.ne br_if $folding-inner21 - local.get $0 + local.get $7 i32.const 2 call $~lib/typedarray/Int8Array#__get i32.const 9 @@ -50476,7 +50815,7 @@ i32.add global.set $~lib/memory/__stack_pointer i32.const 0 - local.set $7 + local.set $5 global.get $~lib/memory/__stack_pointer i32.const 12 i32.sub @@ -50495,25 +50834,25 @@ local.get $0 i32.const 3 call $~lib/typedarray/Uint8Array#constructor - local.tee $4 + local.tee $0 i32.store - local.get $4 + local.get $0 i32.const 0 i32.const 1 call $~lib/typedarray/Uint8Array#__set - local.get $4 + local.get $0 i32.const 1 i32.const 2 call $~lib/typedarray/Uint8Array#__set - local.get $4 + local.get $0 i32.const 2 i32.const 3 call $~lib/typedarray/Uint8Array#__set global.get $~lib/memory/__stack_pointer - local.tee $3 i32.const 3632 i32.store offset=4 - local.get $3 + global.get $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer i32.const 8 i32.sub global.set $~lib/memory/__stack_pointer @@ -50522,88 +50861,87 @@ i32.lt_s br_if $folding-inner23 global.get $~lib/memory/__stack_pointer - local.tee $0 + local.tee $1 i64.const 0 i64.store - local.get $4 - i32.load offset=4 - local.set $2 - local.get $4 + local.get $0 i32.load offset=8 - local.set $5 + local.set $4 local.get $0 + i32.load offset=4 + local.set $2 + local.get $1 i32.const 12 i32.const 4 call $~lib/rt/itcms/__new - local.tee $0 + local.tee $7 i32.store global.get $~lib/memory/__stack_pointer - local.get $5 + local.get $4 i32.const 0 call $~lib/rt/itcms/__new local.tee $6 i32.store offset=4 loop $for-loop|04 + local.get $4 local.get $5 - local.get $7 i32.gt_s if local.get $2 - local.get $7 + local.get $5 i32.add i32.load8_u local.set $1 i32.const 3 global.set $~argumentsLength + local.get $5 local.get $6 - local.get $7 i32.add local.get $1 - local.get $7 - local.get $4 + local.get $5 + local.get $0 i32.const 3632 i32.load call_indirect $0 (type $i32_i32_i32_=>_i32) i32.store8 - local.get $7 + local.get $5 i32.const 1 i32.add - local.set $7 + local.set $5 br $for-loop|04 end end - local.get $0 + local.get $7 local.get $6 i32.store - local.get $0 + local.get $7 local.get $6 call $~lib/rt/itcms/__link - local.get $0 + local.get $7 local.get $6 i32.store offset=4 - local.get $0 - local.get $5 + local.get $7 + local.get $4 i32.store offset=8 global.get $~lib/memory/__stack_pointer i32.const 8 i32.add global.set $~lib/memory/__stack_pointer - local.get $3 - local.get $0 + local.get $7 i32.store offset=8 - local.get $0 + local.get $7 i32.const 0 call $~lib/typedarray/Uint8Array#__get i32.const 1 i32.ne br_if $folding-inner20 - local.get $0 + local.get $7 i32.const 1 call $~lib/typedarray/Uint8Array#__get i32.const 4 i32.ne br_if $folding-inner21 - local.get $0 + local.get $7 i32.const 2 call $~lib/typedarray/Uint8Array#__get i32.const 9 @@ -50614,7 +50952,7 @@ i32.add global.set $~lib/memory/__stack_pointer i32.const 0 - local.set $7 + local.set $5 global.get $~lib/memory/__stack_pointer i32.const 12 i32.sub @@ -50633,25 +50971,25 @@ local.get $0 i32.const 3 call $~lib/typedarray/Uint8ClampedArray#constructor - local.tee $4 + local.tee $0 i32.store - local.get $4 + local.get $0 i32.const 0 i32.const 1 call $~lib/typedarray/Uint8ClampedArray#__set - local.get $4 + local.get $0 i32.const 1 i32.const 2 call $~lib/typedarray/Uint8ClampedArray#__set - local.get $4 + local.get $0 i32.const 2 i32.const 3 call $~lib/typedarray/Uint8ClampedArray#__set global.get $~lib/memory/__stack_pointer - local.tee $3 i32.const 3664 i32.store offset=4 - local.get $3 + global.get $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer i32.const 8 i32.sub global.set $~lib/memory/__stack_pointer @@ -50660,88 +50998,87 @@ i32.lt_s br_if $folding-inner23 global.get $~lib/memory/__stack_pointer - local.tee $0 + local.tee $1 i64.const 0 i64.store - local.get $4 - i32.load offset=4 - local.set $2 - local.get $4 + local.get $0 i32.load offset=8 - local.set $5 + local.set $4 local.get $0 + i32.load offset=4 + local.set $2 + local.get $1 i32.const 12 i32.const 5 call $~lib/rt/itcms/__new - local.tee $0 + local.tee $7 i32.store global.get $~lib/memory/__stack_pointer - local.get $5 + local.get $4 i32.const 0 call $~lib/rt/itcms/__new local.tee $6 i32.store offset=4 loop $for-loop|06 + local.get $4 local.get $5 - local.get $7 i32.gt_s if local.get $2 - local.get $7 + local.get $5 i32.add i32.load8_u local.set $1 i32.const 3 global.set $~argumentsLength + local.get $5 local.get $6 - local.get $7 i32.add local.get $1 - local.get $7 - local.get $4 + local.get $5 + local.get $0 i32.const 3664 i32.load call_indirect $0 (type $i32_i32_i32_=>_i32) i32.store8 - local.get $7 + local.get $5 i32.const 1 i32.add - local.set $7 + local.set $5 br $for-loop|06 end end - local.get $0 + local.get $7 local.get $6 i32.store - local.get $0 + local.get $7 local.get $6 call $~lib/rt/itcms/__link - local.get $0 + local.get $7 local.get $6 i32.store offset=4 - local.get $0 - local.get $5 + local.get $7 + local.get $4 i32.store offset=8 global.get $~lib/memory/__stack_pointer i32.const 8 i32.add global.set $~lib/memory/__stack_pointer - local.get $3 - local.get $0 + local.get $7 i32.store offset=8 - local.get $0 + local.get $7 i32.const 0 call $~lib/typedarray/Uint8ClampedArray#__get i32.const 1 i32.ne br_if $folding-inner20 - local.get $0 + local.get $7 i32.const 1 call $~lib/typedarray/Uint8ClampedArray#__get i32.const 4 i32.ne br_if $folding-inner21 - local.get $0 + local.get $7 i32.const 2 call $~lib/typedarray/Uint8ClampedArray#__get i32.const 9 @@ -50751,8 +51088,6 @@ i32.const 12 i32.add global.set $~lib/memory/__stack_pointer - i32.const 0 - local.set $7 global.get $~lib/memory/__stack_pointer i32.const 12 i32.sub @@ -50771,25 +51106,25 @@ local.get $0 i32.const 3 call $~lib/typedarray/Int16Array#constructor - local.tee $8 + local.tee $0 i32.store - local.get $8 + local.get $0 i32.const 0 i32.const 1 call $~lib/typedarray/Int16Array#__set - local.get $8 + local.get $0 i32.const 1 i32.const 2 call $~lib/typedarray/Int16Array#__set - local.get $8 + local.get $0 i32.const 2 i32.const 3 call $~lib/typedarray/Int16Array#__set global.get $~lib/memory/__stack_pointer - local.tee $6 i32.const 3696 i32.store offset=4 - local.get $6 + global.get $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer i32.const 8 i32.sub global.set $~lib/memory/__stack_pointer @@ -50798,18 +51133,18 @@ i32.lt_s br_if $folding-inner23 global.get $~lib/memory/__stack_pointer - local.tee $0 + local.tee $1 i64.const 0 i64.store - local.get $8 - i32.load offset=4 - local.set $3 - local.get $8 + local.get $0 i32.load offset=8 i32.const 1 i32.shr_u local.set $5 local.get $0 + i32.load offset=4 + local.set $4 + local.get $1 i32.const 12 i32.const 6 call $~lib/rt/itcms/__new @@ -50819,60 +51154,59 @@ local.get $5 i32.const 1 i32.shl - local.tee $2 + local.tee $3 i32.const 0 call $~lib/rt/itcms/__new - local.tee $4 + local.tee $7 i32.store offset=4 loop $for-loop|08 local.get $5 - local.get $7 + local.get $8 i32.gt_s if - local.get $3 - local.get $7 + local.get $4 + local.get $8 i32.const 1 i32.shl - local.tee $1 + local.tee $2 i32.add i32.load16_s - local.set $0 + local.set $1 i32.const 3 global.set $~argumentsLength - local.get $1 - local.get $4 - i32.add - local.get $0 + local.get $2 local.get $7 + i32.add + local.get $1 local.get $8 + local.get $0 i32.const 3696 i32.load call_indirect $0 (type $i32_i32_i32_=>_i32) i32.store16 - local.get $7 + local.get $8 i32.const 1 i32.add - local.set $7 + local.set $8 br $for-loop|08 end end local.get $10 - local.get $4 + local.get $7 i32.store local.get $10 - local.get $4 + local.get $7 call $~lib/rt/itcms/__link local.get $10 - local.get $4 + local.get $7 i32.store offset=4 local.get $10 - local.get $2 + local.get $3 i32.store offset=8 global.get $~lib/memory/__stack_pointer i32.const 8 i32.add global.set $~lib/memory/__stack_pointer - local.get $6 local.get $10 i32.store offset=8 local.get $10 @@ -50898,7 +51232,7 @@ i32.add global.set $~lib/memory/__stack_pointer i32.const 0 - local.set $7 + local.set $8 global.get $~lib/memory/__stack_pointer i32.const 12 i32.sub @@ -50917,25 +51251,25 @@ local.get $0 i32.const 3 call $~lib/typedarray/Uint16Array#constructor - local.tee $8 + local.tee $0 i32.store - local.get $8 + local.get $0 i32.const 0 i32.const 1 call $~lib/typedarray/Uint16Array#__set - local.get $8 + local.get $0 i32.const 1 i32.const 2 call $~lib/typedarray/Uint16Array#__set - local.get $8 + local.get $0 i32.const 2 i32.const 3 call $~lib/typedarray/Uint16Array#__set global.get $~lib/memory/__stack_pointer - local.tee $6 i32.const 3728 i32.store offset=4 - local.get $6 + global.get $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer i32.const 8 i32.sub global.set $~lib/memory/__stack_pointer @@ -50944,18 +51278,18 @@ i32.lt_s br_if $folding-inner23 global.get $~lib/memory/__stack_pointer - local.tee $0 + local.tee $1 i64.const 0 i64.store - local.get $8 - i32.load offset=4 - local.set $3 - local.get $8 + local.get $0 i32.load offset=8 i32.const 1 i32.shr_u local.set $5 local.get $0 + i32.load offset=4 + local.set $4 + local.get $1 i32.const 12 i32.const 7 call $~lib/rt/itcms/__new @@ -50965,60 +51299,59 @@ local.get $5 i32.const 1 i32.shl - local.tee $2 + local.tee $3 i32.const 0 call $~lib/rt/itcms/__new - local.tee $4 + local.tee $7 i32.store offset=4 loop $for-loop|012 local.get $5 - local.get $7 + local.get $8 i32.gt_s if - local.get $3 - local.get $7 + local.get $4 + local.get $8 i32.const 1 i32.shl - local.tee $1 + local.tee $2 i32.add i32.load16_u - local.set $0 + local.set $1 i32.const 3 global.set $~argumentsLength - local.get $1 - local.get $4 - i32.add - local.get $0 + local.get $2 local.get $7 + i32.add + local.get $1 local.get $8 + local.get $0 i32.const 3728 i32.load call_indirect $0 (type $i32_i32_i32_=>_i32) i32.store16 - local.get $7 + local.get $8 i32.const 1 i32.add - local.set $7 + local.set $8 br $for-loop|012 end end local.get $10 - local.get $4 + local.get $7 i32.store local.get $10 - local.get $4 + local.get $7 call $~lib/rt/itcms/__link local.get $10 - local.get $4 + local.get $7 i32.store offset=4 local.get $10 - local.get $2 + local.get $3 i32.store offset=8 global.get $~lib/memory/__stack_pointer i32.const 8 i32.add global.set $~lib/memory/__stack_pointer - local.get $6 local.get $10 i32.store offset=8 local.get $10 @@ -51044,7 +51377,7 @@ i32.add global.set $~lib/memory/__stack_pointer i32.const 0 - local.set $7 + local.set $8 global.get $~lib/memory/__stack_pointer i32.const 12 i32.sub @@ -51063,25 +51396,25 @@ local.get $0 i32.const 3 call $~lib/typedarray/Int32Array#constructor - local.tee $8 + local.tee $0 i32.store - local.get $8 + local.get $0 i32.const 0 i32.const 1 call $~lib/typedarray/Int32Array#__set - local.get $8 + local.get $0 i32.const 1 i32.const 2 call $~lib/typedarray/Int32Array#__set - local.get $8 + local.get $0 i32.const 2 i32.const 3 call $~lib/typedarray/Int32Array#__set global.get $~lib/memory/__stack_pointer - local.tee $6 i32.const 3760 i32.store offset=4 - local.get $6 + global.get $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer i32.const 8 i32.sub global.set $~lib/memory/__stack_pointer @@ -51090,18 +51423,18 @@ i32.lt_s br_if $folding-inner23 global.get $~lib/memory/__stack_pointer - local.tee $0 + local.tee $1 i64.const 0 i64.store - local.get $8 - i32.load offset=4 - local.set $3 - local.get $8 + local.get $0 i32.load offset=8 i32.const 2 i32.shr_u local.set $5 local.get $0 + i32.load offset=4 + local.set $4 + local.get $1 i32.const 12 i32.const 8 call $~lib/rt/itcms/__new @@ -51111,60 +51444,59 @@ local.get $5 i32.const 2 i32.shl - local.tee $2 + local.tee $3 i32.const 0 call $~lib/rt/itcms/__new - local.tee $4 + local.tee $7 i32.store offset=4 loop $for-loop|015 local.get $5 - local.get $7 + local.get $8 i32.gt_s if - local.get $3 - local.get $7 + local.get $4 + local.get $8 i32.const 2 i32.shl - local.tee $1 + local.tee $2 i32.add i32.load - local.set $0 + local.set $1 i32.const 3 global.set $~argumentsLength - local.get $1 - local.get $4 - i32.add - local.get $0 + local.get $2 local.get $7 + i32.add + local.get $1 local.get $8 + local.get $0 i32.const 3760 i32.load call_indirect $0 (type $i32_i32_i32_=>_i32) i32.store - local.get $7 + local.get $8 i32.const 1 i32.add - local.set $7 + local.set $8 br $for-loop|015 end end local.get $10 - local.get $4 + local.get $7 i32.store local.get $10 - local.get $4 + local.get $7 call $~lib/rt/itcms/__link local.get $10 - local.get $4 + local.get $7 i32.store offset=4 local.get $10 - local.get $2 + local.get $3 i32.store offset=8 global.get $~lib/memory/__stack_pointer i32.const 8 i32.add global.set $~lib/memory/__stack_pointer - local.get $6 local.get $10 i32.store offset=8 local.get $10 @@ -51190,7 +51522,7 @@ i32.add global.set $~lib/memory/__stack_pointer i32.const 0 - local.set $7 + local.set $8 global.get $~lib/memory/__stack_pointer i32.const 12 i32.sub @@ -51209,25 +51541,25 @@ local.get $0 i32.const 3 call $~lib/typedarray/Uint32Array#constructor - local.tee $8 + local.tee $0 i32.store - local.get $8 + local.get $0 i32.const 0 i32.const 1 call $~lib/typedarray/Uint32Array#__set - local.get $8 + local.get $0 i32.const 1 i32.const 2 call $~lib/typedarray/Uint32Array#__set - local.get $8 + local.get $0 i32.const 2 i32.const 3 call $~lib/typedarray/Uint32Array#__set global.get $~lib/memory/__stack_pointer - local.tee $6 i32.const 3792 i32.store offset=4 - local.get $6 + global.get $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer i32.const 8 i32.sub global.set $~lib/memory/__stack_pointer @@ -51236,18 +51568,18 @@ i32.lt_s br_if $folding-inner23 global.get $~lib/memory/__stack_pointer - local.tee $0 + local.tee $1 i64.const 0 i64.store - local.get $8 - i32.load offset=4 - local.set $3 - local.get $8 + local.get $0 i32.load offset=8 i32.const 2 i32.shr_u local.set $5 local.get $0 + i32.load offset=4 + local.set $4 + local.get $1 i32.const 12 i32.const 9 call $~lib/rt/itcms/__new @@ -51257,60 +51589,59 @@ local.get $5 i32.const 2 i32.shl - local.tee $2 + local.tee $3 i32.const 0 call $~lib/rt/itcms/__new - local.tee $4 + local.tee $7 i32.store offset=4 loop $for-loop|017 local.get $5 - local.get $7 + local.get $8 i32.gt_s if - local.get $3 - local.get $7 + local.get $4 + local.get $8 i32.const 2 i32.shl - local.tee $1 + local.tee $2 i32.add i32.load - local.set $0 + local.set $1 i32.const 3 global.set $~argumentsLength - local.get $1 - local.get $4 - i32.add - local.get $0 + local.get $2 local.get $7 + i32.add + local.get $1 local.get $8 + local.get $0 i32.const 3792 i32.load call_indirect $0 (type $i32_i32_i32_=>_i32) i32.store - local.get $7 + local.get $8 i32.const 1 i32.add - local.set $7 + local.set $8 br $for-loop|017 end end local.get $10 - local.get $4 + local.get $7 i32.store local.get $10 - local.get $4 + local.get $7 call $~lib/rt/itcms/__link local.get $10 - local.get $4 + local.get $7 i32.store offset=4 local.get $10 - local.get $2 + local.get $3 i32.store offset=8 global.get $~lib/memory/__stack_pointer i32.const 8 i32.add global.set $~lib/memory/__stack_pointer - local.get $6 local.get $10 i32.store offset=8 local.get $10 @@ -51336,7 +51667,7 @@ i32.add global.set $~lib/memory/__stack_pointer i32.const 0 - local.set $4 + local.set $7 global.get $~lib/memory/__stack_pointer i32.const 12 i32.sub @@ -51355,25 +51686,25 @@ local.get $0 i32.const 3 call $~lib/typedarray/Int64Array#constructor - local.tee $7 + local.tee $0 i32.store - local.get $7 + local.get $0 i32.const 0 i64.const 1 call $~lib/typedarray/Int64Array#__set - local.get $7 + local.get $0 i32.const 1 i64.const 2 call $~lib/typedarray/Int64Array#__set - local.get $7 + local.get $0 i32.const 2 i64.const 3 call $~lib/typedarray/Int64Array#__set global.get $~lib/memory/__stack_pointer - local.tee $5 i32.const 3824 i32.store offset=4 - local.get $5 + global.get $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer i32.const 8 i32.sub global.set $~lib/memory/__stack_pointer @@ -51382,81 +51713,80 @@ i32.lt_s br_if $folding-inner23 global.get $~lib/memory/__stack_pointer - local.tee $0 + local.tee $1 i64.const 0 i64.store - local.get $7 - i32.load offset=4 - local.set $2 - local.get $7 + local.get $0 i32.load offset=8 i32.const 3 i32.shr_u - local.set $3 + local.set $6 local.get $0 + i32.load offset=4 + local.set $3 + local.get $1 i32.const 12 i32.const 10 call $~lib/rt/itcms/__new local.tee $8 i32.store global.get $~lib/memory/__stack_pointer - local.get $3 + local.get $6 i32.const 3 i32.shl - local.tee $1 + local.tee $2 i32.const 0 call $~lib/rt/itcms/__new - local.tee $6 + local.tee $5 i32.store offset=4 loop $for-loop|019 - local.get $3 - local.get $4 + local.get $6 + local.get $7 i32.gt_s if - local.get $2 - local.get $4 + local.get $3 + local.get $7 i32.const 3 i32.shl - local.tee $0 + local.tee $1 i32.add i64.load local.set $9 i32.const 3 global.set $~argumentsLength - local.get $0 - local.get $6 + local.get $1 + local.get $5 i32.add local.get $9 - local.get $4 local.get $7 + local.get $0 i32.const 3824 i32.load call_indirect $0 (type $i64_i32_i32_=>_i64) i64.store - local.get $4 + local.get $7 i32.const 1 i32.add - local.set $4 + local.set $7 br $for-loop|019 end end local.get $8 - local.get $6 + local.get $5 i32.store local.get $8 - local.get $6 + local.get $5 call $~lib/rt/itcms/__link local.get $8 - local.get $6 + local.get $5 i32.store offset=4 local.get $8 - local.get $1 + local.get $2 i32.store offset=8 global.get $~lib/memory/__stack_pointer i32.const 8 i32.add global.set $~lib/memory/__stack_pointer - local.get $5 local.get $8 i32.store offset=8 local.get $8 @@ -51482,7 +51812,7 @@ i32.add global.set $~lib/memory/__stack_pointer i32.const 0 - local.set $4 + local.set $7 global.get $~lib/memory/__stack_pointer i32.const 12 i32.sub @@ -51501,25 +51831,25 @@ local.get $0 i32.const 3 call $~lib/typedarray/Uint64Array#constructor - local.tee $7 + local.tee $0 i32.store - local.get $7 + local.get $0 i32.const 0 i64.const 1 call $~lib/typedarray/Uint64Array#__set - local.get $7 + local.get $0 i32.const 1 i64.const 2 call $~lib/typedarray/Uint64Array#__set - local.get $7 + local.get $0 i32.const 2 i64.const 3 call $~lib/typedarray/Uint64Array#__set global.get $~lib/memory/__stack_pointer - local.tee $5 i32.const 3856 i32.store offset=4 - local.get $5 + global.get $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer i32.const 8 i32.sub global.set $~lib/memory/__stack_pointer @@ -51528,81 +51858,80 @@ i32.lt_s br_if $folding-inner23 global.get $~lib/memory/__stack_pointer - local.tee $0 + local.tee $1 i64.const 0 i64.store - local.get $7 - i32.load offset=4 - local.set $2 - local.get $7 + local.get $0 i32.load offset=8 i32.const 3 i32.shr_u - local.set $3 + local.set $6 local.get $0 + i32.load offset=4 + local.set $3 + local.get $1 i32.const 12 i32.const 11 call $~lib/rt/itcms/__new local.tee $8 i32.store global.get $~lib/memory/__stack_pointer - local.get $3 + local.get $6 i32.const 3 i32.shl - local.tee $1 + local.tee $2 i32.const 0 call $~lib/rt/itcms/__new - local.tee $6 + local.tee $5 i32.store offset=4 loop $for-loop|022 - local.get $3 - local.get $4 + local.get $6 + local.get $7 i32.gt_s if - local.get $2 - local.get $4 + local.get $3 + local.get $7 i32.const 3 i32.shl - local.tee $0 + local.tee $1 i32.add i64.load local.set $9 i32.const 3 global.set $~argumentsLength - local.get $0 - local.get $6 + local.get $1 + local.get $5 i32.add local.get $9 - local.get $4 local.get $7 + local.get $0 i32.const 3856 i32.load call_indirect $0 (type $i64_i32_i32_=>_i64) i64.store - local.get $4 + local.get $7 i32.const 1 i32.add - local.set $4 + local.set $7 br $for-loop|022 end end local.get $8 - local.get $6 + local.get $5 i32.store local.get $8 - local.get $6 + local.get $5 call $~lib/rt/itcms/__link local.get $8 - local.get $6 + local.get $5 i32.store offset=4 local.get $8 - local.get $1 + local.get $2 i32.store offset=8 global.get $~lib/memory/__stack_pointer i32.const 8 i32.add global.set $~lib/memory/__stack_pointer - local.get $5 local.get $8 i32.store offset=8 local.get $8 @@ -51628,7 +51957,7 @@ i32.add global.set $~lib/memory/__stack_pointer i32.const 0 - local.set $4 + local.set $7 global.get $~lib/memory/__stack_pointer i32.const 12 i32.sub @@ -51647,25 +51976,25 @@ local.get $0 i32.const 3 call $~lib/typedarray/Float32Array#constructor - local.tee $7 + local.tee $0 i32.store - local.get $7 + local.get $0 i32.const 0 f32.const 1 call $~lib/typedarray/Float32Array#__set - local.get $7 + local.get $0 i32.const 1 f32.const 2 call $~lib/typedarray/Float32Array#__set - local.get $7 + local.get $0 i32.const 2 f32.const 3 call $~lib/typedarray/Float32Array#__set global.get $~lib/memory/__stack_pointer - local.tee $5 i32.const 3888 i32.store offset=4 - local.get $5 + global.get $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer i32.const 8 i32.sub global.set $~lib/memory/__stack_pointer @@ -51674,81 +52003,80 @@ i32.lt_s br_if $folding-inner23 global.get $~lib/memory/__stack_pointer - local.tee $0 + local.tee $1 i64.const 0 i64.store - local.get $7 - i32.load offset=4 - local.set $2 - local.get $7 + local.get $0 i32.load offset=8 i32.const 2 i32.shr_u - local.set $3 + local.set $6 local.get $0 + i32.load offset=4 + local.set $3 + local.get $1 i32.const 12 i32.const 12 call $~lib/rt/itcms/__new local.tee $8 i32.store global.get $~lib/memory/__stack_pointer - local.get $3 + local.get $6 i32.const 2 i32.shl - local.tee $1 + local.tee $2 i32.const 0 call $~lib/rt/itcms/__new - local.tee $6 + local.tee $5 i32.store offset=4 loop $for-loop|024 - local.get $3 - local.get $4 + local.get $6 + local.get $7 i32.gt_s if - local.get $2 - local.get $4 + local.get $3 + local.get $7 i32.const 2 i32.shl - local.tee $0 + local.tee $1 i32.add f32.load local.set $11 i32.const 3 global.set $~argumentsLength - local.get $0 - local.get $6 + local.get $1 + local.get $5 i32.add local.get $11 - local.get $4 local.get $7 + local.get $0 i32.const 3888 i32.load call_indirect $0 (type $f32_i32_i32_=>_f32) f32.store - local.get $4 + local.get $7 i32.const 1 i32.add - local.set $4 + local.set $7 br $for-loop|024 end end local.get $8 - local.get $6 + local.get $5 i32.store local.get $8 - local.get $6 + local.get $5 call $~lib/rt/itcms/__link local.get $8 - local.get $6 + local.get $5 i32.store offset=4 local.get $8 - local.get $1 + local.get $2 i32.store offset=8 global.get $~lib/memory/__stack_pointer i32.const 8 i32.add global.set $~lib/memory/__stack_pointer - local.get $5 local.get $8 i32.store offset=8 local.get $8 @@ -51774,7 +52102,7 @@ i32.add global.set $~lib/memory/__stack_pointer i32.const 0 - local.set $4 + local.set $7 global.get $~lib/memory/__stack_pointer i32.const 12 i32.sub @@ -51793,25 +52121,25 @@ local.get $0 i32.const 3 call $~lib/typedarray/Float64Array#constructor - local.tee $7 + local.tee $0 i32.store - local.get $7 + local.get $0 i32.const 0 f64.const 1 call $~lib/typedarray/Float64Array#__set - local.get $7 + local.get $0 i32.const 1 f64.const 2 call $~lib/typedarray/Float64Array#__set - local.get $7 + local.get $0 i32.const 2 f64.const 3 call $~lib/typedarray/Float64Array#__set global.get $~lib/memory/__stack_pointer - local.tee $5 i32.const 3920 i32.store offset=4 - local.get $5 + global.get $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer i32.const 8 i32.sub global.set $~lib/memory/__stack_pointer @@ -51820,81 +52148,80 @@ i32.lt_s br_if $folding-inner23 global.get $~lib/memory/__stack_pointer - local.tee $0 + local.tee $1 i64.const 0 i64.store - local.get $7 - i32.load offset=4 - local.set $2 - local.get $7 + local.get $0 i32.load offset=8 i32.const 3 i32.shr_u - local.set $3 + local.set $6 local.get $0 + i32.load offset=4 + local.set $3 + local.get $1 i32.const 12 i32.const 13 call $~lib/rt/itcms/__new local.tee $8 i32.store global.get $~lib/memory/__stack_pointer - local.get $3 + local.get $6 i32.const 3 i32.shl - local.tee $1 + local.tee $2 i32.const 0 call $~lib/rt/itcms/__new - local.tee $6 + local.tee $5 i32.store offset=4 loop $for-loop|026 - local.get $3 - local.get $4 + local.get $6 + local.get $7 i32.gt_s if - local.get $2 - local.get $4 + local.get $3 + local.get $7 i32.const 3 i32.shl - local.tee $0 + local.tee $1 i32.add f64.load local.set $12 i32.const 3 global.set $~argumentsLength - local.get $0 - local.get $6 + local.get $1 + local.get $5 i32.add local.get $12 - local.get $4 local.get $7 + local.get $0 i32.const 3920 i32.load call_indirect $0 (type $f64_i32_i32_=>_f64) f64.store - local.get $4 + local.get $7 i32.const 1 i32.add - local.set $4 + local.set $7 br $for-loop|026 end end local.get $8 - local.get $6 + local.get $5 i32.store local.get $8 - local.get $6 + local.get $5 call $~lib/rt/itcms/__link local.get $8 - local.get $6 + local.get $5 i32.store offset=4 local.get $8 - local.get $1 + local.get $2 i32.store offset=8 global.get $~lib/memory/__stack_pointer i32.const 8 i32.add global.set $~lib/memory/__stack_pointer - local.get $5 local.get $8 i32.store offset=8 local.get $8 @@ -51945,17 +52272,17 @@ local.get $0 i32.const 3 call $~lib/typedarray/Int8Array#constructor - local.tee $5 + local.tee $4 i32.store - local.get $5 + local.get $4 i32.const 0 i32.const 2 call $~lib/typedarray/Int8Array#__set - local.get $5 + local.get $4 i32.const 1 i32.const 4 call $~lib/typedarray/Int8Array#__set - local.get $5 + local.get $4 i32.const 2 i32.const 6 call $~lib/typedarray/Int8Array#__set @@ -51963,21 +52290,21 @@ i32.const 4304 i32.store offset=4 i32.const 0 - local.set $4 + local.set $6 block $~lib/typedarray/SOME<~lib/typedarray/Int8Array,i8>|inlined.0 (result i32) - local.get $5 + local.get $4 i32.load offset=4 local.set $2 - local.get $5 + local.get $4 i32.load offset=8 local.set $1 loop $for-loop|045 local.get $1 - local.get $4 + local.get $6 i32.gt_s if local.get $2 - local.get $4 + local.get $6 i32.add i32.load8_s local.set $0 @@ -51985,17 +52312,17 @@ global.set $~argumentsLength i32.const 1 local.get $0 + local.get $6 local.get $4 - local.get $5 i32.const 4304 i32.load call_indirect $0 (type $i32_i32_i32_=>_i32) br_if $~lib/typedarray/SOME<~lib/typedarray/Int8Array,i8>|inlined.0 drop - local.get $4 + local.get $6 i32.const 1 i32.add - local.set $4 + local.set $6 br $for-loop|045 end end @@ -52007,21 +52334,21 @@ i32.const 4336 i32.store offset=4 i32.const 0 - local.set $4 + local.set $6 block $~lib/typedarray/SOME<~lib/typedarray/Int8Array,i8>|inlined.047 (result i32) - local.get $5 + local.get $4 i32.load offset=4 local.set $2 - local.get $5 + local.get $4 i32.load offset=8 local.set $1 loop $for-loop|049 local.get $1 - local.get $4 + local.get $6 i32.gt_s if local.get $2 - local.get $4 + local.get $6 i32.add i32.load8_s local.set $0 @@ -52029,17 +52356,17 @@ global.set $~argumentsLength i32.const 1 local.get $0 + local.get $6 local.get $4 - local.get $5 i32.const 4336 i32.load call_indirect $0 (type $i32_i32_i32_=>_i32) br_if $~lib/typedarray/SOME<~lib/typedarray/Int8Array,i8>|inlined.047 drop - local.get $4 + local.get $6 i32.const 1 i32.add - local.set $4 + local.set $6 br $for-loop|049 end end @@ -52065,17 +52392,17 @@ local.get $0 i32.const 3 call $~lib/typedarray/Uint8Array#constructor - local.tee $5 + local.tee $4 i32.store - local.get $5 + local.get $4 i32.const 0 i32.const 2 call $~lib/typedarray/Uint8Array#__set - local.get $5 + local.get $4 i32.const 1 i32.const 4 call $~lib/typedarray/Uint8Array#__set - local.get $5 + local.get $4 i32.const 2 i32.const 6 call $~lib/typedarray/Uint8Array#__set @@ -52083,21 +52410,21 @@ i32.const 4368 i32.store offset=4 i32.const 0 - local.set $4 + local.set $6 block $~lib/typedarray/SOME<~lib/typedarray/Uint8Array,u8>|inlined.0 (result i32) - local.get $5 + local.get $4 i32.load offset=4 local.set $2 - local.get $5 + local.get $4 i32.load offset=8 local.set $1 loop $for-loop|051 local.get $1 - local.get $4 + local.get $6 i32.gt_s if local.get $2 - local.get $4 + local.get $6 i32.add i32.load8_u local.set $0 @@ -52105,17 +52432,17 @@ global.set $~argumentsLength i32.const 1 local.get $0 + local.get $6 local.get $4 - local.get $5 i32.const 4368 i32.load call_indirect $0 (type $i32_i32_i32_=>_i32) br_if $~lib/typedarray/SOME<~lib/typedarray/Uint8Array,u8>|inlined.0 drop - local.get $4 + local.get $6 i32.const 1 i32.add - local.set $4 + local.set $6 br $for-loop|051 end end @@ -52127,21 +52454,21 @@ i32.const 4400 i32.store offset=4 i32.const 0 - local.set $4 + local.set $6 block $~lib/typedarray/SOME<~lib/typedarray/Uint8Array,u8>|inlined.053 (result i32) - local.get $5 + local.get $4 i32.load offset=4 local.set $2 - local.get $5 + local.get $4 i32.load offset=8 local.set $1 loop $for-loop|054 local.get $1 - local.get $4 + local.get $6 i32.gt_s if local.get $2 - local.get $4 + local.get $6 i32.add i32.load8_u local.set $0 @@ -52149,17 +52476,17 @@ global.set $~argumentsLength i32.const 1 local.get $0 + local.get $6 local.get $4 - local.get $5 i32.const 4400 i32.load call_indirect $0 (type $i32_i32_i32_=>_i32) br_if $~lib/typedarray/SOME<~lib/typedarray/Uint8Array,u8>|inlined.053 drop - local.get $4 + local.get $6 i32.const 1 i32.add - local.set $4 + local.set $6 br $for-loop|054 end end @@ -52185,17 +52512,17 @@ local.get $0 i32.const 3 call $~lib/typedarray/Uint8ClampedArray#constructor - local.tee $5 + local.tee $4 i32.store - local.get $5 + local.get $4 i32.const 0 i32.const 2 call $~lib/typedarray/Uint8ClampedArray#__set - local.get $5 + local.get $4 i32.const 1 i32.const 4 call $~lib/typedarray/Uint8ClampedArray#__set - local.get $5 + local.get $4 i32.const 2 i32.const 6 call $~lib/typedarray/Uint8ClampedArray#__set @@ -52203,21 +52530,21 @@ i32.const 4432 i32.store offset=4 i32.const 0 - local.set $4 + local.set $6 block $~lib/typedarray/SOME<~lib/typedarray/Uint8Array,u8>|inlined.057 (result i32) - local.get $5 + local.get $4 i32.load offset=4 local.set $2 - local.get $5 + local.get $4 i32.load offset=8 local.set $1 loop $for-loop|058 local.get $1 - local.get $4 + local.get $6 i32.gt_s if local.get $2 - local.get $4 + local.get $6 i32.add i32.load8_u local.set $0 @@ -52225,17 +52552,17 @@ global.set $~argumentsLength i32.const 1 local.get $0 + local.get $6 local.get $4 - local.get $5 i32.const 4432 i32.load call_indirect $0 (type $i32_i32_i32_=>_i32) br_if $~lib/typedarray/SOME<~lib/typedarray/Uint8Array,u8>|inlined.057 drop - local.get $4 + local.get $6 i32.const 1 i32.add - local.set $4 + local.set $6 br $for-loop|058 end end @@ -52247,21 +52574,21 @@ i32.const 4464 i32.store offset=4 i32.const 0 - local.set $4 + local.set $6 block $~lib/typedarray/SOME<~lib/typedarray/Uint8Array,u8>|inlined.060 (result i32) - local.get $5 + local.get $4 i32.load offset=4 local.set $2 - local.get $5 + local.get $4 i32.load offset=8 local.set $1 loop $for-loop|061 local.get $1 - local.get $4 + local.get $6 i32.gt_s if local.get $2 - local.get $4 + local.get $6 i32.add i32.load8_u local.set $0 @@ -52269,17 +52596,17 @@ global.set $~argumentsLength i32.const 1 local.get $0 + local.get $6 local.get $4 - local.get $5 i32.const 4464 i32.load call_indirect $0 (type $i32_i32_i32_=>_i32) br_if $~lib/typedarray/SOME<~lib/typedarray/Uint8Array,u8>|inlined.060 drop - local.get $4 + local.get $6 i32.const 1 i32.add - local.set $4 + local.set $6 br $for-loop|061 end end @@ -52305,17 +52632,17 @@ local.get $0 i32.const 3 call $~lib/typedarray/Int16Array#constructor - local.tee $5 + local.tee $4 i32.store - local.get $5 + local.get $4 i32.const 0 i32.const 2 call $~lib/typedarray/Int16Array#__set - local.get $5 + local.get $4 i32.const 1 i32.const 4 call $~lib/typedarray/Int16Array#__set - local.get $5 + local.get $4 i32.const 2 i32.const 6 call $~lib/typedarray/Int16Array#__set @@ -52323,25 +52650,25 @@ i32.const 4496 i32.store offset=4 i32.const 0 - local.set $4 + local.set $6 block $~lib/typedarray/SOME<~lib/typedarray/Int16Array,i16>|inlined.0 (result i32) - local.get $5 + local.get $4 i32.load offset=4 local.set $2 - local.get $5 + local.get $4 i32.load offset=8 i32.const 1 i32.shr_u local.set $1 loop $for-loop|063 local.get $1 - local.get $4 + local.get $6 i32.gt_s if - local.get $2 - local.get $4 + local.get $6 i32.const 1 i32.shl + local.get $2 i32.add i32.load16_s local.set $0 @@ -52349,17 +52676,17 @@ global.set $~argumentsLength i32.const 1 local.get $0 + local.get $6 local.get $4 - local.get $5 i32.const 4496 i32.load call_indirect $0 (type $i32_i32_i32_=>_i32) br_if $~lib/typedarray/SOME<~lib/typedarray/Int16Array,i16>|inlined.0 drop - local.get $4 + local.get $6 i32.const 1 i32.add - local.set $4 + local.set $6 br $for-loop|063 end end @@ -52371,25 +52698,25 @@ i32.const 4528 i32.store offset=4 i32.const 0 - local.set $4 + local.set $6 block $~lib/typedarray/SOME<~lib/typedarray/Int16Array,i16>|inlined.065 (result i32) - local.get $5 + local.get $4 i32.load offset=4 local.set $2 - local.get $5 + local.get $4 i32.load offset=8 i32.const 1 i32.shr_u local.set $1 loop $for-loop|066 local.get $1 - local.get $4 + local.get $6 i32.gt_s if - local.get $2 - local.get $4 + local.get $6 i32.const 1 i32.shl + local.get $2 i32.add i32.load16_s local.set $0 @@ -52397,17 +52724,17 @@ global.set $~argumentsLength i32.const 1 local.get $0 + local.get $6 local.get $4 - local.get $5 i32.const 4528 i32.load call_indirect $0 (type $i32_i32_i32_=>_i32) br_if $~lib/typedarray/SOME<~lib/typedarray/Int16Array,i16>|inlined.065 drop - local.get $4 + local.get $6 i32.const 1 i32.add - local.set $4 + local.set $6 br $for-loop|066 end end @@ -52433,17 +52760,17 @@ local.get $0 i32.const 3 call $~lib/typedarray/Uint16Array#constructor - local.tee $5 + local.tee $4 i32.store - local.get $5 + local.get $4 i32.const 0 i32.const 2 call $~lib/typedarray/Uint16Array#__set - local.get $5 + local.get $4 i32.const 1 i32.const 4 call $~lib/typedarray/Uint16Array#__set - local.get $5 + local.get $4 i32.const 2 i32.const 6 call $~lib/typedarray/Uint16Array#__set @@ -52451,25 +52778,25 @@ i32.const 4560 i32.store offset=4 i32.const 0 - local.set $4 + local.set $6 block $~lib/typedarray/SOME<~lib/typedarray/Uint16Array,u16>|inlined.0 (result i32) - local.get $5 + local.get $4 i32.load offset=4 local.set $2 - local.get $5 + local.get $4 i32.load offset=8 i32.const 1 i32.shr_u local.set $1 loop $for-loop|068 local.get $1 - local.get $4 + local.get $6 i32.gt_s if - local.get $2 - local.get $4 + local.get $6 i32.const 1 i32.shl + local.get $2 i32.add i32.load16_u local.set $0 @@ -52477,17 +52804,17 @@ global.set $~argumentsLength i32.const 1 local.get $0 + local.get $6 local.get $4 - local.get $5 i32.const 4560 i32.load call_indirect $0 (type $i32_i32_i32_=>_i32) br_if $~lib/typedarray/SOME<~lib/typedarray/Uint16Array,u16>|inlined.0 drop - local.get $4 + local.get $6 i32.const 1 i32.add - local.set $4 + local.set $6 br $for-loop|068 end end @@ -52499,25 +52826,25 @@ i32.const 4592 i32.store offset=4 i32.const 0 - local.set $4 + local.set $6 block $~lib/typedarray/SOME<~lib/typedarray/Uint16Array,u16>|inlined.070 (result i32) - local.get $5 + local.get $4 i32.load offset=4 local.set $2 - local.get $5 + local.get $4 i32.load offset=8 i32.const 1 i32.shr_u local.set $1 loop $for-loop|071 local.get $1 - local.get $4 + local.get $6 i32.gt_s if - local.get $2 - local.get $4 + local.get $6 i32.const 1 i32.shl + local.get $2 i32.add i32.load16_u local.set $0 @@ -52525,17 +52852,17 @@ global.set $~argumentsLength i32.const 1 local.get $0 + local.get $6 local.get $4 - local.get $5 i32.const 4592 i32.load call_indirect $0 (type $i32_i32_i32_=>_i32) br_if $~lib/typedarray/SOME<~lib/typedarray/Uint16Array,u16>|inlined.070 drop - local.get $4 + local.get $6 i32.const 1 i32.add - local.set $4 + local.set $6 br $for-loop|071 end end @@ -52561,17 +52888,17 @@ local.get $0 i32.const 3 call $~lib/typedarray/Int32Array#constructor - local.tee $5 + local.tee $4 i32.store - local.get $5 + local.get $4 i32.const 0 i32.const 2 call $~lib/typedarray/Int32Array#__set - local.get $5 + local.get $4 i32.const 1 i32.const 4 call $~lib/typedarray/Int32Array#__set - local.get $5 + local.get $4 i32.const 2 i32.const 6 call $~lib/typedarray/Int32Array#__set @@ -52579,25 +52906,25 @@ i32.const 4624 i32.store offset=4 i32.const 0 - local.set $4 + local.set $6 block $~lib/typedarray/SOME<~lib/typedarray/Int32Array,i32>|inlined.0 (result i32) - local.get $5 + local.get $4 i32.load offset=4 local.set $2 - local.get $5 + local.get $4 i32.load offset=8 i32.const 2 i32.shr_u local.set $1 loop $for-loop|073 local.get $1 - local.get $4 + local.get $6 i32.gt_s if - local.get $2 - local.get $4 + local.get $6 i32.const 2 i32.shl + local.get $2 i32.add i32.load local.set $0 @@ -52605,17 +52932,17 @@ global.set $~argumentsLength i32.const 1 local.get $0 + local.get $6 local.get $4 - local.get $5 i32.const 4624 i32.load call_indirect $0 (type $i32_i32_i32_=>_i32) br_if $~lib/typedarray/SOME<~lib/typedarray/Int32Array,i32>|inlined.0 drop - local.get $4 + local.get $6 i32.const 1 i32.add - local.set $4 + local.set $6 br $for-loop|073 end end @@ -52627,25 +52954,25 @@ i32.const 4656 i32.store offset=4 i32.const 0 - local.set $4 + local.set $6 block $~lib/typedarray/SOME<~lib/typedarray/Int32Array,i32>|inlined.075 (result i32) - local.get $5 + local.get $4 i32.load offset=4 local.set $2 - local.get $5 + local.get $4 i32.load offset=8 i32.const 2 i32.shr_u local.set $1 loop $for-loop|076 local.get $1 - local.get $4 + local.get $6 i32.gt_s if - local.get $2 - local.get $4 + local.get $6 i32.const 2 i32.shl + local.get $2 i32.add i32.load local.set $0 @@ -52653,17 +52980,17 @@ global.set $~argumentsLength i32.const 1 local.get $0 + local.get $6 local.get $4 - local.get $5 i32.const 4656 i32.load call_indirect $0 (type $i32_i32_i32_=>_i32) br_if $~lib/typedarray/SOME<~lib/typedarray/Int32Array,i32>|inlined.075 drop - local.get $4 + local.get $6 i32.const 1 i32.add - local.set $4 + local.set $6 br $for-loop|076 end end @@ -52689,17 +53016,17 @@ local.get $0 i32.const 3 call $~lib/typedarray/Uint32Array#constructor - local.tee $5 + local.tee $4 i32.store - local.get $5 + local.get $4 i32.const 0 i32.const 2 call $~lib/typedarray/Uint32Array#__set - local.get $5 + local.get $4 i32.const 1 i32.const 4 call $~lib/typedarray/Uint32Array#__set - local.get $5 + local.get $4 i32.const 2 i32.const 6 call $~lib/typedarray/Uint32Array#__set @@ -52707,25 +53034,25 @@ i32.const 4688 i32.store offset=4 i32.const 0 - local.set $4 + local.set $6 block $~lib/typedarray/SOME<~lib/typedarray/Uint32Array,u32>|inlined.0 (result i32) - local.get $5 + local.get $4 i32.load offset=4 local.set $2 - local.get $5 + local.get $4 i32.load offset=8 i32.const 2 i32.shr_u local.set $1 loop $for-loop|078 local.get $1 - local.get $4 + local.get $6 i32.gt_s if - local.get $2 - local.get $4 + local.get $6 i32.const 2 i32.shl + local.get $2 i32.add i32.load local.set $0 @@ -52733,17 +53060,17 @@ global.set $~argumentsLength i32.const 1 local.get $0 + local.get $6 local.get $4 - local.get $5 i32.const 4688 i32.load call_indirect $0 (type $i32_i32_i32_=>_i32) br_if $~lib/typedarray/SOME<~lib/typedarray/Uint32Array,u32>|inlined.0 drop - local.get $4 + local.get $6 i32.const 1 i32.add - local.set $4 + local.set $6 br $for-loop|078 end end @@ -52755,25 +53082,25 @@ i32.const 4720 i32.store offset=4 i32.const 0 - local.set $4 + local.set $6 block $~lib/typedarray/SOME<~lib/typedarray/Uint32Array,u32>|inlined.080 (result i32) - local.get $5 + local.get $4 i32.load offset=4 local.set $2 - local.get $5 + local.get $4 i32.load offset=8 i32.const 2 i32.shr_u local.set $1 loop $for-loop|081 local.get $1 - local.get $4 + local.get $6 i32.gt_s if - local.get $2 - local.get $4 + local.get $6 i32.const 2 i32.shl + local.get $2 i32.add i32.load local.set $0 @@ -52781,17 +53108,17 @@ global.set $~argumentsLength i32.const 1 local.get $0 + local.get $6 local.get $4 - local.get $5 i32.const 4720 i32.load call_indirect $0 (type $i32_i32_i32_=>_i32) br_if $~lib/typedarray/SOME<~lib/typedarray/Uint32Array,u32>|inlined.080 drop - local.get $4 + local.get $6 i32.const 1 i32.add - local.set $4 + local.set $6 br $for-loop|081 end end @@ -52835,7 +53162,7 @@ i32.const 4752 i32.store offset=4 i32.const 0 - local.set $4 + local.set $5 block $~lib/typedarray/SOME<~lib/typedarray/Int64Array,i64>|inlined.0 (result i32) local.get $3 i32.load offset=4 @@ -52847,13 +53174,13 @@ local.set $0 loop $for-loop|083 local.get $0 - local.get $4 + local.get $5 i32.gt_s if - local.get $1 - local.get $4 + local.get $5 i32.const 3 i32.shl + local.get $1 i32.add i64.load local.set $9 @@ -52861,17 +53188,17 @@ global.set $~argumentsLength i32.const 1 local.get $9 - local.get $4 + local.get $5 local.get $3 i32.const 4752 i32.load call_indirect $0 (type $i64_i32_i32_=>_i32) br_if $~lib/typedarray/SOME<~lib/typedarray/Int64Array,i64>|inlined.0 drop - local.get $4 + local.get $5 i32.const 1 i32.add - local.set $4 + local.set $5 br $for-loop|083 end end @@ -52883,7 +53210,7 @@ i32.const 4784 i32.store offset=4 i32.const 0 - local.set $4 + local.set $5 block $~lib/typedarray/SOME<~lib/typedarray/Int64Array,i64>|inlined.085 (result i32) local.get $3 i32.load offset=4 @@ -52895,13 +53222,13 @@ local.set $0 loop $for-loop|086 local.get $0 - local.get $4 + local.get $5 i32.gt_s if - local.get $1 - local.get $4 + local.get $5 i32.const 3 i32.shl + local.get $1 i32.add i64.load local.set $9 @@ -52909,17 +53236,17 @@ global.set $~argumentsLength i32.const 1 local.get $9 - local.get $4 + local.get $5 local.get $3 i32.const 4784 i32.load call_indirect $0 (type $i64_i32_i32_=>_i32) br_if $~lib/typedarray/SOME<~lib/typedarray/Int64Array,i64>|inlined.085 drop - local.get $4 + local.get $5 i32.const 1 i32.add - local.set $4 + local.set $5 br $for-loop|086 end end @@ -52963,7 +53290,7 @@ i32.const 4816 i32.store offset=4 i32.const 0 - local.set $4 + local.set $5 block $~lib/typedarray/SOME<~lib/typedarray/Uint64Array,u64>|inlined.0 (result i32) local.get $3 i32.load offset=4 @@ -52975,13 +53302,13 @@ local.set $0 loop $for-loop|088 local.get $0 - local.get $4 + local.get $5 i32.gt_s if - local.get $1 - local.get $4 + local.get $5 i32.const 3 i32.shl + local.get $1 i32.add i64.load local.set $9 @@ -52989,17 +53316,17 @@ global.set $~argumentsLength i32.const 1 local.get $9 - local.get $4 + local.get $5 local.get $3 i32.const 4816 i32.load call_indirect $0 (type $i64_i32_i32_=>_i32) br_if $~lib/typedarray/SOME<~lib/typedarray/Uint64Array,u64>|inlined.0 drop - local.get $4 + local.get $5 i32.const 1 i32.add - local.set $4 + local.set $5 br $for-loop|088 end end @@ -53011,7 +53338,7 @@ i32.const 4848 i32.store offset=4 i32.const 0 - local.set $4 + local.set $5 block $~lib/typedarray/SOME<~lib/typedarray/Uint64Array,u64>|inlined.090 (result i32) local.get $3 i32.load offset=4 @@ -53023,13 +53350,13 @@ local.set $0 loop $for-loop|091 local.get $0 - local.get $4 + local.get $5 i32.gt_s if - local.get $1 - local.get $4 + local.get $5 i32.const 3 i32.shl + local.get $1 i32.add i64.load local.set $9 @@ -53037,17 +53364,17 @@ global.set $~argumentsLength i32.const 1 local.get $9 - local.get $4 + local.get $5 local.get $3 i32.const 4848 i32.load call_indirect $0 (type $i64_i32_i32_=>_i32) br_if $~lib/typedarray/SOME<~lib/typedarray/Uint64Array,u64>|inlined.090 drop - local.get $4 + local.get $5 i32.const 1 i32.add - local.set $4 + local.set $5 br $for-loop|091 end end @@ -53091,7 +53418,7 @@ i32.const 4880 i32.store offset=4 i32.const 0 - local.set $4 + local.set $5 block $~lib/typedarray/SOME<~lib/typedarray/Float32Array,f32>|inlined.0 (result i32) local.get $3 i32.load offset=4 @@ -53103,13 +53430,13 @@ local.set $0 loop $for-loop|093 local.get $0 - local.get $4 + local.get $5 i32.gt_s if - local.get $1 - local.get $4 + local.get $5 i32.const 2 i32.shl + local.get $1 i32.add f32.load local.set $11 @@ -53117,17 +53444,17 @@ global.set $~argumentsLength i32.const 1 local.get $11 - local.get $4 + local.get $5 local.get $3 i32.const 4880 i32.load call_indirect $0 (type $f32_i32_i32_=>_i32) br_if $~lib/typedarray/SOME<~lib/typedarray/Float32Array,f32>|inlined.0 drop - local.get $4 + local.get $5 i32.const 1 i32.add - local.set $4 + local.set $5 br $for-loop|093 end end @@ -53139,7 +53466,7 @@ i32.const 4912 i32.store offset=4 i32.const 0 - local.set $4 + local.set $5 block $~lib/typedarray/SOME<~lib/typedarray/Float32Array,f32>|inlined.095 (result i32) local.get $3 i32.load offset=4 @@ -53151,13 +53478,13 @@ local.set $0 loop $for-loop|096 local.get $0 - local.get $4 + local.get $5 i32.gt_s if - local.get $1 - local.get $4 + local.get $5 i32.const 2 i32.shl + local.get $1 i32.add f32.load local.set $11 @@ -53165,17 +53492,17 @@ global.set $~argumentsLength i32.const 1 local.get $11 - local.get $4 + local.get $5 local.get $3 i32.const 4912 i32.load call_indirect $0 (type $f32_i32_i32_=>_i32) br_if $~lib/typedarray/SOME<~lib/typedarray/Float32Array,f32>|inlined.095 drop - local.get $4 + local.get $5 i32.const 1 i32.add - local.set $4 + local.set $5 br $for-loop|096 end end @@ -53219,7 +53546,7 @@ i32.const 4944 i32.store offset=4 i32.const 0 - local.set $4 + local.set $5 block $~lib/typedarray/SOME<~lib/typedarray/Float64Array,f64>|inlined.0 (result i32) local.get $3 i32.load offset=4 @@ -53231,13 +53558,13 @@ local.set $0 loop $for-loop|098 local.get $0 - local.get $4 + local.get $5 i32.gt_s if - local.get $1 - local.get $4 + local.get $5 i32.const 3 i32.shl + local.get $1 i32.add f64.load local.set $12 @@ -53245,17 +53572,17 @@ global.set $~argumentsLength i32.const 1 local.get $12 - local.get $4 + local.get $5 local.get $3 i32.const 4944 i32.load call_indirect $0 (type $f64_i32_i32_=>_i32) br_if $~lib/typedarray/SOME<~lib/typedarray/Float64Array,f64>|inlined.0 drop - local.get $4 + local.get $5 i32.const 1 i32.add - local.set $4 + local.set $5 br $for-loop|098 end end @@ -53267,7 +53594,7 @@ i32.const 4976 i32.store offset=4 i32.const 0 - local.set $4 + local.set $5 block $~lib/typedarray/SOME<~lib/typedarray/Float64Array,f64>|inlined.0100 (result i32) local.get $3 i32.load offset=4 @@ -53279,13 +53606,13 @@ local.set $0 loop $for-loop|0101 local.get $0 - local.get $4 + local.get $5 i32.gt_s if - local.get $1 - local.get $4 + local.get $5 i32.const 3 i32.shl + local.get $1 i32.add f64.load local.set $12 @@ -53293,17 +53620,17 @@ global.set $~argumentsLength i32.const 1 local.get $12 - local.get $4 + local.get $5 local.get $3 i32.const 4976 i32.load call_indirect $0 (type $f64_i32_i32_=>_i32) br_if $~lib/typedarray/SOME<~lib/typedarray/Float64Array,f64>|inlined.0100 drop - local.get $4 + local.get $5 i32.const 1 i32.add - local.set $4 + local.set $5 br $for-loop|0101 end end @@ -53329,17 +53656,17 @@ local.get $0 i32.const 3 call $~lib/typedarray/Int8Array#constructor - local.tee $5 + local.tee $4 i32.store - local.get $5 + local.get $4 i32.const 0 i32.const 1 call $~lib/typedarray/Int8Array#__set - local.get $5 + local.get $4 i32.const 1 i32.const 2 call $~lib/typedarray/Int8Array#__set - local.get $5 + local.get $4 i32.const 2 i32.const 3 call $~lib/typedarray/Int8Array#__set @@ -53348,10 +53675,10 @@ i32.store offset=4 i32.const 0 local.set $1 - local.get $5 + local.get $4 i32.load offset=4 local.set $3 - local.get $5 + local.get $4 i32.load offset=8 local.set $2 block $~lib/typedarray/FIND_INDEX<~lib/typedarray/Int8Array,i8>|inlined.0 @@ -53367,7 +53694,7 @@ i32.const 3 global.set $~argumentsLength local.get $1 - local.get $5 + local.get $4 i32.const 5008 i32.load call_indirect $0 (type $i32_i32_i32_=>_i32) @@ -53391,10 +53718,10 @@ i32.store offset=4 i32.const 0 local.set $1 - local.get $5 + local.get $4 i32.load offset=4 local.set $3 - local.get $5 + local.get $4 i32.load offset=8 local.set $2 block $~lib/typedarray/FIND_INDEX<~lib/typedarray/Int8Array,i8>|inlined.0105 @@ -53410,7 +53737,7 @@ i32.const 3 global.set $~argumentsLength local.get $1 - local.get $5 + local.get $4 i32.const 5040 i32.load call_indirect $0 (type $i32_i32_i32_=>_i32) @@ -53448,17 +53775,17 @@ local.get $0 i32.const 3 call $~lib/typedarray/Uint8Array#constructor - local.tee $5 + local.tee $4 i32.store - local.get $5 + local.get $4 i32.const 0 i32.const 1 call $~lib/typedarray/Uint8Array#__set - local.get $5 + local.get $4 i32.const 1 i32.const 2 call $~lib/typedarray/Uint8Array#__set - local.get $5 + local.get $4 i32.const 2 i32.const 3 call $~lib/typedarray/Uint8Array#__set @@ -53467,10 +53794,10 @@ i32.store offset=4 i32.const 0 local.set $1 - local.get $5 + local.get $4 i32.load offset=4 local.set $3 - local.get $5 + local.get $4 i32.load offset=8 local.set $2 block $~lib/typedarray/FIND_INDEX<~lib/typedarray/Uint8Array,u8>|inlined.0 @@ -53486,7 +53813,7 @@ i32.const 3 global.set $~argumentsLength local.get $1 - local.get $5 + local.get $4 i32.const 5072 i32.load call_indirect $0 (type $i32_i32_i32_=>_i32) @@ -53510,10 +53837,10 @@ i32.store offset=4 i32.const 0 local.set $1 - local.get $5 + local.get $4 i32.load offset=4 local.set $3 - local.get $5 + local.get $4 i32.load offset=8 local.set $2 block $~lib/typedarray/FIND_INDEX<~lib/typedarray/Uint8Array,u8>|inlined.0110 @@ -53529,7 +53856,7 @@ i32.const 3 global.set $~argumentsLength local.get $1 - local.get $5 + local.get $4 i32.const 5104 i32.load call_indirect $0 (type $i32_i32_i32_=>_i32) @@ -53567,17 +53894,17 @@ local.get $0 i32.const 3 call $~lib/typedarray/Uint8ClampedArray#constructor - local.tee $5 + local.tee $4 i32.store - local.get $5 + local.get $4 i32.const 0 i32.const 1 call $~lib/typedarray/Uint8ClampedArray#__set - local.get $5 + local.get $4 i32.const 1 i32.const 2 call $~lib/typedarray/Uint8ClampedArray#__set - local.get $5 + local.get $4 i32.const 2 i32.const 3 call $~lib/typedarray/Uint8ClampedArray#__set @@ -53586,10 +53913,10 @@ i32.store offset=4 i32.const 0 local.set $1 - local.get $5 + local.get $4 i32.load offset=4 local.set $3 - local.get $5 + local.get $4 i32.load offset=8 local.set $2 block $~lib/typedarray/FIND_INDEX<~lib/typedarray/Uint8Array,u8>|inlined.0114 @@ -53605,7 +53932,7 @@ i32.const 3 global.set $~argumentsLength local.get $1 - local.get $5 + local.get $4 i32.const 5136 i32.load call_indirect $0 (type $i32_i32_i32_=>_i32) @@ -53629,10 +53956,10 @@ i32.store offset=4 i32.const 0 local.set $1 - local.get $5 + local.get $4 i32.load offset=4 local.set $3 - local.get $5 + local.get $4 i32.load offset=8 local.set $2 block $~lib/typedarray/FIND_INDEX<~lib/typedarray/Uint8Array,u8>|inlined.0117 @@ -53648,7 +53975,7 @@ i32.const 3 global.set $~argumentsLength local.get $1 - local.get $5 + local.get $4 i32.const 5168 i32.load call_indirect $0 (type $i32_i32_i32_=>_i32) @@ -53686,17 +54013,17 @@ local.get $0 i32.const 3 call $~lib/typedarray/Int16Array#constructor - local.tee $5 + local.tee $4 i32.store - local.get $5 + local.get $4 i32.const 0 i32.const 1 call $~lib/typedarray/Int16Array#__set - local.get $5 + local.get $4 i32.const 1 i32.const 2 call $~lib/typedarray/Int16Array#__set - local.get $5 + local.get $4 i32.const 2 i32.const 3 call $~lib/typedarray/Int16Array#__set @@ -53705,10 +54032,10 @@ i32.store offset=4 i32.const 0 local.set $1 - local.get $5 + local.get $4 i32.load offset=4 local.set $3 - local.get $5 + local.get $4 i32.load offset=8 i32.const 1 i32.shr_u @@ -53719,16 +54046,16 @@ local.get $2 i32.lt_s if - local.get $3 local.get $1 i32.const 1 i32.shl + local.get $3 i32.add i32.load16_s i32.const 3 global.set $~argumentsLength local.get $1 - local.get $5 + local.get $4 i32.const 5200 i32.load call_indirect $0 (type $i32_i32_i32_=>_i32) @@ -53752,10 +54079,10 @@ i32.store offset=4 i32.const 0 local.set $1 - local.get $5 + local.get $4 i32.load offset=4 local.set $3 - local.get $5 + local.get $4 i32.load offset=8 i32.const 1 i32.shr_u @@ -53766,16 +54093,16 @@ local.get $2 i32.lt_s if - local.get $3 local.get $1 i32.const 1 i32.shl + local.get $3 i32.add i32.load16_s i32.const 3 global.set $~argumentsLength local.get $1 - local.get $5 + local.get $4 i32.const 5232 i32.load call_indirect $0 (type $i32_i32_i32_=>_i32) @@ -53813,17 +54140,17 @@ local.get $0 i32.const 3 call $~lib/typedarray/Uint16Array#constructor - local.tee $5 + local.tee $4 i32.store - local.get $5 + local.get $4 i32.const 0 i32.const 1 call $~lib/typedarray/Uint16Array#__set - local.get $5 + local.get $4 i32.const 1 i32.const 2 call $~lib/typedarray/Uint16Array#__set - local.get $5 + local.get $4 i32.const 2 i32.const 3 call $~lib/typedarray/Uint16Array#__set @@ -53832,10 +54159,10 @@ i32.store offset=4 i32.const 0 local.set $1 - local.get $5 + local.get $4 i32.load offset=4 local.set $3 - local.get $5 + local.get $4 i32.load offset=8 i32.const 1 i32.shr_u @@ -53846,16 +54173,16 @@ local.get $2 i32.lt_s if - local.get $3 local.get $1 i32.const 1 i32.shl + local.get $3 i32.add i32.load16_u i32.const 3 global.set $~argumentsLength local.get $1 - local.get $5 + local.get $4 i32.const 5264 i32.load call_indirect $0 (type $i32_i32_i32_=>_i32) @@ -53879,10 +54206,10 @@ i32.store offset=4 i32.const 0 local.set $1 - local.get $5 + local.get $4 i32.load offset=4 local.set $3 - local.get $5 + local.get $4 i32.load offset=8 i32.const 1 i32.shr_u @@ -53893,16 +54220,16 @@ local.get $2 i32.lt_s if - local.get $3 local.get $1 i32.const 1 i32.shl + local.get $3 i32.add i32.load16_u i32.const 3 global.set $~argumentsLength local.get $1 - local.get $5 + local.get $4 i32.const 5296 i32.load call_indirect $0 (type $i32_i32_i32_=>_i32) @@ -53940,17 +54267,17 @@ local.get $0 i32.const 3 call $~lib/typedarray/Int32Array#constructor - local.tee $5 + local.tee $4 i32.store - local.get $5 + local.get $4 i32.const 0 i32.const 1 call $~lib/typedarray/Int32Array#__set - local.get $5 + local.get $4 i32.const 1 i32.const 2 call $~lib/typedarray/Int32Array#__set - local.get $5 + local.get $4 i32.const 2 i32.const 3 call $~lib/typedarray/Int32Array#__set @@ -53959,10 +54286,10 @@ i32.store offset=4 i32.const 0 local.set $1 - local.get $5 + local.get $4 i32.load offset=4 local.set $3 - local.get $5 + local.get $4 i32.load offset=8 i32.const 2 i32.shr_u @@ -53973,16 +54300,16 @@ local.get $2 i32.lt_s if - local.get $3 local.get $1 i32.const 2 i32.shl + local.get $3 i32.add i32.load i32.const 3 global.set $~argumentsLength local.get $1 - local.get $5 + local.get $4 i32.const 5328 i32.load call_indirect $0 (type $i32_i32_i32_=>_i32) @@ -54006,10 +54333,10 @@ i32.store offset=4 i32.const 0 local.set $1 - local.get $5 + local.get $4 i32.load offset=4 local.set $3 - local.get $5 + local.get $4 i32.load offset=8 i32.const 2 i32.shr_u @@ -54020,16 +54347,16 @@ local.get $2 i32.lt_s if - local.get $3 local.get $1 i32.const 2 i32.shl + local.get $3 i32.add i32.load i32.const 3 global.set $~argumentsLength local.get $1 - local.get $5 + local.get $4 i32.const 5360 i32.load call_indirect $0 (type $i32_i32_i32_=>_i32) @@ -54067,17 +54394,17 @@ local.get $0 i32.const 3 call $~lib/typedarray/Uint32Array#constructor - local.tee $5 + local.tee $4 i32.store - local.get $5 + local.get $4 i32.const 0 i32.const 1 call $~lib/typedarray/Uint32Array#__set - local.get $5 + local.get $4 i32.const 1 i32.const 2 call $~lib/typedarray/Uint32Array#__set - local.get $5 + local.get $4 i32.const 2 i32.const 3 call $~lib/typedarray/Uint32Array#__set @@ -54086,10 +54413,10 @@ i32.store offset=4 i32.const 0 local.set $1 - local.get $5 + local.get $4 i32.load offset=4 local.set $3 - local.get $5 + local.get $4 i32.load offset=8 i32.const 2 i32.shr_u @@ -54100,16 +54427,16 @@ local.get $2 i32.lt_s if - local.get $3 local.get $1 i32.const 2 i32.shl + local.get $3 i32.add i32.load i32.const 3 global.set $~argumentsLength local.get $1 - local.get $5 + local.get $4 i32.const 5392 i32.load call_indirect $0 (type $i32_i32_i32_=>_i32) @@ -54133,10 +54460,10 @@ i32.store offset=4 i32.const 0 local.set $1 - local.get $5 + local.get $4 i32.load offset=4 local.set $3 - local.get $5 + local.get $4 i32.load offset=8 i32.const 2 i32.shr_u @@ -54147,16 +54474,16 @@ local.get $2 i32.lt_s if - local.get $3 local.get $1 i32.const 2 i32.shl + local.get $3 i32.add i32.load i32.const 3 global.set $~argumentsLength local.get $1 - local.get $5 + local.get $4 i32.const 5424 i32.load call_indirect $0 (type $i32_i32_i32_=>_i32) @@ -54227,10 +54554,10 @@ local.get $1 i32.gt_s if - local.get $2 local.get $1 i32.const 3 i32.shl + local.get $2 i32.add i64.load i32.const 3 @@ -54274,10 +54601,10 @@ local.get $1 i32.gt_s if - local.get $2 local.get $1 i32.const 3 i32.shl + local.get $2 i32.add i64.load i32.const 3 @@ -54354,10 +54681,10 @@ local.get $1 i32.gt_s if - local.get $2 local.get $1 i32.const 3 i32.shl + local.get $2 i32.add i64.load i32.const 3 @@ -54401,10 +54728,10 @@ local.get $1 i32.gt_s if - local.get $2 local.get $1 i32.const 3 i32.shl + local.get $2 i32.add i64.load i32.const 3 @@ -54481,10 +54808,10 @@ local.get $1 i32.gt_s if - local.get $2 local.get $1 i32.const 2 i32.shl + local.get $2 i32.add f32.load i32.const 3 @@ -54528,10 +54855,10 @@ local.get $1 i32.gt_s if - local.get $2 local.get $1 i32.const 2 i32.shl + local.get $2 i32.add f32.load i32.const 3 @@ -54608,10 +54935,10 @@ local.get $1 i32.gt_s if - local.get $2 local.get $1 i32.const 3 i32.shl + local.get $2 i32.add f64.load i32.const 3 @@ -54655,10 +54982,10 @@ local.get $1 i32.gt_s if - local.get $2 local.get $1 i32.const 3 i32.shl + local.get $2 i32.add f64.load i32.const 3 @@ -55092,10 +55419,10 @@ i32.const 0 i32.ge_s if - local.get $2 local.get $1 i32.const 1 i32.shl + local.get $2 i32.add i32.load16_s i32.const 3 @@ -55139,10 +55466,10 @@ i32.const 0 i32.ge_s if - local.get $2 local.get $1 i32.const 1 i32.shl + local.get $2 i32.add i32.load16_s i32.const 3 @@ -55219,10 +55546,10 @@ i32.const 0 i32.ge_s if - local.get $2 local.get $1 i32.const 1 i32.shl + local.get $2 i32.add i32.load16_u i32.const 3 @@ -55266,10 +55593,10 @@ i32.const 0 i32.ge_s if - local.get $2 local.get $1 i32.const 1 i32.shl + local.get $2 i32.add i32.load16_u i32.const 3 @@ -55346,10 +55673,10 @@ i32.const 0 i32.ge_s if - local.get $2 local.get $1 i32.const 2 i32.shl + local.get $2 i32.add i32.load i32.const 3 @@ -55393,10 +55720,10 @@ i32.const 0 i32.ge_s if - local.get $2 local.get $1 i32.const 2 i32.shl + local.get $2 i32.add i32.load i32.const 3 @@ -55473,10 +55800,10 @@ i32.const 0 i32.ge_s if - local.get $2 local.get $1 i32.const 2 i32.shl + local.get $2 i32.add i32.load i32.const 3 @@ -55520,10 +55847,10 @@ i32.const 0 i32.ge_s if - local.get $2 local.get $1 i32.const 2 i32.shl + local.get $2 i32.add i32.load i32.const 3 @@ -55600,10 +55927,10 @@ i32.const 0 i32.ge_s if - local.get $0 local.get $1 i32.const 3 i32.shl + local.get $0 i32.add i64.load i32.const 3 @@ -55647,10 +55974,10 @@ i32.const 0 i32.ge_s if - local.get $0 local.get $1 i32.const 3 i32.shl + local.get $0 i32.add i64.load i32.const 3 @@ -55727,10 +56054,10 @@ i32.const 0 i32.ge_s if - local.get $0 local.get $1 i32.const 3 i32.shl + local.get $0 i32.add i64.load i32.const 3 @@ -55774,10 +56101,10 @@ i32.const 0 i32.ge_s if - local.get $0 local.get $1 i32.const 3 i32.shl + local.get $0 i32.add i64.load i32.const 3 @@ -55854,10 +56181,10 @@ i32.const 0 i32.ge_s if - local.get $0 local.get $1 i32.const 2 i32.shl + local.get $0 i32.add f32.load i32.const 3 @@ -55901,10 +56228,10 @@ i32.const 0 i32.ge_s if - local.get $0 local.get $1 i32.const 2 i32.shl + local.get $0 i32.add f32.load i32.const 3 @@ -55981,10 +56308,10 @@ i32.const 0 i32.ge_s if - local.get $0 local.get $1 i32.const 3 i32.shl + local.get $0 i32.add f64.load i32.const 3 @@ -56028,10 +56355,10 @@ i32.const 0 i32.ge_s if - local.get $0 local.get $1 i32.const 3 i32.shl + local.get $0 i32.add f64.load i32.const 3 @@ -56075,17 +56402,17 @@ local.get $0 i32.const 3 call $~lib/typedarray/Int8Array#constructor - local.tee $5 + local.tee $4 i32.store - local.get $5 + local.get $4 i32.const 0 i32.const 2 call $~lib/typedarray/Int8Array#__set - local.get $5 + local.get $4 i32.const 1 i32.const 4 call $~lib/typedarray/Int8Array#__set - local.get $5 + local.get $4 i32.const 2 i32.const 6 call $~lib/typedarray/Int8Array#__set @@ -56093,21 +56420,21 @@ i32.const 6416 i32.store offset=4 i32.const 0 - local.set $4 + local.set $6 block $~lib/typedarray/EVERY<~lib/typedarray/Int8Array,i8>|inlined.0 (result i32) - local.get $5 + local.get $4 i32.load offset=4 local.set $2 - local.get $5 + local.get $4 i32.load offset=8 local.set $1 loop $for-loop|0217 local.get $1 - local.get $4 + local.get $6 i32.gt_s if local.get $2 - local.get $4 + local.get $6 i32.add i32.load8_s local.set $0 @@ -56115,18 +56442,18 @@ global.set $~argumentsLength i32.const 0 local.get $0 + local.get $6 local.get $4 - local.get $5 i32.const 6416 i32.load call_indirect $0 (type $i32_i32_i32_=>_i32) i32.eqz br_if $~lib/typedarray/EVERY<~lib/typedarray/Int8Array,i8>|inlined.0 drop - local.get $4 + local.get $6 i32.const 1 i32.add - local.set $4 + local.set $6 br $for-loop|0217 end end @@ -56138,21 +56465,21 @@ i32.const 6448 i32.store offset=4 i32.const 0 - local.set $4 + local.set $6 block $~lib/typedarray/EVERY<~lib/typedarray/Int8Array,i8>|inlined.0219 (result i32) - local.get $5 + local.get $4 i32.load offset=4 local.set $2 - local.get $5 + local.get $4 i32.load offset=8 local.set $1 loop $for-loop|0220 local.get $1 - local.get $4 + local.get $6 i32.gt_s if local.get $2 - local.get $4 + local.get $6 i32.add i32.load8_s local.set $0 @@ -56160,18 +56487,18 @@ global.set $~argumentsLength i32.const 0 local.get $0 + local.get $6 local.get $4 - local.get $5 i32.const 6448 i32.load call_indirect $0 (type $i32_i32_i32_=>_i32) i32.eqz br_if $~lib/typedarray/EVERY<~lib/typedarray/Int8Array,i8>|inlined.0219 drop - local.get $4 + local.get $6 i32.const 1 i32.add - local.set $4 + local.set $6 br $for-loop|0220 end end @@ -56197,17 +56524,17 @@ local.get $0 i32.const 3 call $~lib/typedarray/Uint8Array#constructor - local.tee $5 + local.tee $4 i32.store - local.get $5 + local.get $4 i32.const 0 i32.const 2 call $~lib/typedarray/Uint8Array#__set - local.get $5 + local.get $4 i32.const 1 i32.const 4 call $~lib/typedarray/Uint8Array#__set - local.get $5 + local.get $4 i32.const 2 i32.const 6 call $~lib/typedarray/Uint8Array#__set @@ -56215,21 +56542,21 @@ i32.const 6480 i32.store offset=4 i32.const 0 - local.set $4 + local.set $6 block $~lib/typedarray/EVERY<~lib/typedarray/Uint8Array,u8>|inlined.0 (result i32) - local.get $5 + local.get $4 i32.load offset=4 local.set $2 - local.get $5 + local.get $4 i32.load offset=8 local.set $1 loop $for-loop|0222 local.get $1 - local.get $4 + local.get $6 i32.gt_s if local.get $2 - local.get $4 + local.get $6 i32.add i32.load8_u local.set $0 @@ -56237,18 +56564,18 @@ global.set $~argumentsLength i32.const 0 local.get $0 + local.get $6 local.get $4 - local.get $5 i32.const 6480 i32.load call_indirect $0 (type $i32_i32_i32_=>_i32) i32.eqz br_if $~lib/typedarray/EVERY<~lib/typedarray/Uint8Array,u8>|inlined.0 drop - local.get $4 + local.get $6 i32.const 1 i32.add - local.set $4 + local.set $6 br $for-loop|0222 end end @@ -56260,21 +56587,21 @@ i32.const 6512 i32.store offset=4 i32.const 0 - local.set $4 + local.set $6 block $~lib/typedarray/EVERY<~lib/typedarray/Uint8Array,u8>|inlined.0224 (result i32) - local.get $5 + local.get $4 i32.load offset=4 local.set $2 - local.get $5 + local.get $4 i32.load offset=8 local.set $1 loop $for-loop|0225 local.get $1 - local.get $4 + local.get $6 i32.gt_s if local.get $2 - local.get $4 + local.get $6 i32.add i32.load8_u local.set $0 @@ -56282,18 +56609,18 @@ global.set $~argumentsLength i32.const 0 local.get $0 + local.get $6 local.get $4 - local.get $5 i32.const 6512 i32.load call_indirect $0 (type $i32_i32_i32_=>_i32) i32.eqz br_if $~lib/typedarray/EVERY<~lib/typedarray/Uint8Array,u8>|inlined.0224 drop - local.get $4 + local.get $6 i32.const 1 i32.add - local.set $4 + local.set $6 br $for-loop|0225 end end @@ -56319,17 +56646,17 @@ local.get $0 i32.const 3 call $~lib/typedarray/Uint8ClampedArray#constructor - local.tee $5 + local.tee $4 i32.store - local.get $5 + local.get $4 i32.const 0 i32.const 2 call $~lib/typedarray/Uint8ClampedArray#__set - local.get $5 + local.get $4 i32.const 1 i32.const 4 call $~lib/typedarray/Uint8ClampedArray#__set - local.get $5 + local.get $4 i32.const 2 i32.const 6 call $~lib/typedarray/Uint8ClampedArray#__set @@ -56337,21 +56664,21 @@ i32.const 6544 i32.store offset=4 i32.const 0 - local.set $4 + local.set $6 block $~lib/typedarray/EVERY<~lib/typedarray/Uint8Array,u8>|inlined.0228 (result i32) - local.get $5 + local.get $4 i32.load offset=4 local.set $2 - local.get $5 + local.get $4 i32.load offset=8 local.set $1 loop $for-loop|0229 local.get $1 - local.get $4 + local.get $6 i32.gt_s if local.get $2 - local.get $4 + local.get $6 i32.add i32.load8_u local.set $0 @@ -56359,18 +56686,18 @@ global.set $~argumentsLength i32.const 0 local.get $0 + local.get $6 local.get $4 - local.get $5 i32.const 6544 i32.load call_indirect $0 (type $i32_i32_i32_=>_i32) i32.eqz br_if $~lib/typedarray/EVERY<~lib/typedarray/Uint8Array,u8>|inlined.0228 drop - local.get $4 + local.get $6 i32.const 1 i32.add - local.set $4 + local.set $6 br $for-loop|0229 end end @@ -56382,21 +56709,21 @@ i32.const 6576 i32.store offset=4 i32.const 0 - local.set $4 + local.set $6 block $~lib/typedarray/EVERY<~lib/typedarray/Uint8Array,u8>|inlined.0231 (result i32) - local.get $5 + local.get $4 i32.load offset=4 local.set $2 - local.get $5 + local.get $4 i32.load offset=8 local.set $1 loop $for-loop|0232 local.get $1 - local.get $4 + local.get $6 i32.gt_s if local.get $2 - local.get $4 + local.get $6 i32.add i32.load8_u local.set $0 @@ -56404,18 +56731,18 @@ global.set $~argumentsLength i32.const 0 local.get $0 + local.get $6 local.get $4 - local.get $5 i32.const 6576 i32.load call_indirect $0 (type $i32_i32_i32_=>_i32) i32.eqz br_if $~lib/typedarray/EVERY<~lib/typedarray/Uint8Array,u8>|inlined.0231 drop - local.get $4 + local.get $6 i32.const 1 i32.add - local.set $4 + local.set $6 br $for-loop|0232 end end @@ -56441,17 +56768,17 @@ local.get $0 i32.const 3 call $~lib/typedarray/Int16Array#constructor - local.tee $5 + local.tee $4 i32.store - local.get $5 + local.get $4 i32.const 0 i32.const 2 call $~lib/typedarray/Int16Array#__set - local.get $5 + local.get $4 i32.const 1 i32.const 4 call $~lib/typedarray/Int16Array#__set - local.get $5 + local.get $4 i32.const 2 i32.const 6 call $~lib/typedarray/Int16Array#__set @@ -56459,25 +56786,25 @@ i32.const 6608 i32.store offset=4 i32.const 0 - local.set $4 + local.set $6 block $~lib/typedarray/EVERY<~lib/typedarray/Int16Array,i16>|inlined.0 (result i32) - local.get $5 + local.get $4 i32.load offset=4 local.set $2 - local.get $5 + local.get $4 i32.load offset=8 i32.const 1 i32.shr_u local.set $1 loop $for-loop|0234 local.get $1 - local.get $4 + local.get $6 i32.gt_s if - local.get $2 - local.get $4 + local.get $6 i32.const 1 i32.shl + local.get $2 i32.add i32.load16_s local.set $0 @@ -56485,18 +56812,18 @@ global.set $~argumentsLength i32.const 0 local.get $0 + local.get $6 local.get $4 - local.get $5 i32.const 6608 i32.load call_indirect $0 (type $i32_i32_i32_=>_i32) i32.eqz br_if $~lib/typedarray/EVERY<~lib/typedarray/Int16Array,i16>|inlined.0 drop - local.get $4 + local.get $6 i32.const 1 i32.add - local.set $4 + local.set $6 br $for-loop|0234 end end @@ -56508,25 +56835,25 @@ i32.const 6640 i32.store offset=4 i32.const 0 - local.set $4 + local.set $6 block $~lib/typedarray/EVERY<~lib/typedarray/Int16Array,i16>|inlined.0236 (result i32) - local.get $5 + local.get $4 i32.load offset=4 local.set $2 - local.get $5 + local.get $4 i32.load offset=8 i32.const 1 i32.shr_u local.set $1 loop $for-loop|0237 local.get $1 - local.get $4 + local.get $6 i32.gt_s if - local.get $2 - local.get $4 + local.get $6 i32.const 1 i32.shl + local.get $2 i32.add i32.load16_s local.set $0 @@ -56534,18 +56861,18 @@ global.set $~argumentsLength i32.const 0 local.get $0 + local.get $6 local.get $4 - local.get $5 i32.const 6640 i32.load call_indirect $0 (type $i32_i32_i32_=>_i32) i32.eqz br_if $~lib/typedarray/EVERY<~lib/typedarray/Int16Array,i16>|inlined.0236 drop - local.get $4 + local.get $6 i32.const 1 i32.add - local.set $4 + local.set $6 br $for-loop|0237 end end @@ -56571,17 +56898,17 @@ local.get $0 i32.const 3 call $~lib/typedarray/Uint16Array#constructor - local.tee $5 + local.tee $4 i32.store - local.get $5 + local.get $4 i32.const 0 i32.const 2 call $~lib/typedarray/Uint16Array#__set - local.get $5 + local.get $4 i32.const 1 i32.const 4 call $~lib/typedarray/Uint16Array#__set - local.get $5 + local.get $4 i32.const 2 i32.const 6 call $~lib/typedarray/Uint16Array#__set @@ -56589,25 +56916,25 @@ i32.const 6672 i32.store offset=4 i32.const 0 - local.set $4 + local.set $6 block $~lib/typedarray/EVERY<~lib/typedarray/Uint16Array,u16>|inlined.0 (result i32) - local.get $5 + local.get $4 i32.load offset=4 local.set $2 - local.get $5 + local.get $4 i32.load offset=8 i32.const 1 i32.shr_u local.set $1 loop $for-loop|0239 local.get $1 - local.get $4 + local.get $6 i32.gt_s if - local.get $2 - local.get $4 + local.get $6 i32.const 1 i32.shl + local.get $2 i32.add i32.load16_u local.set $0 @@ -56615,18 +56942,18 @@ global.set $~argumentsLength i32.const 0 local.get $0 + local.get $6 local.get $4 - local.get $5 i32.const 6672 i32.load call_indirect $0 (type $i32_i32_i32_=>_i32) i32.eqz br_if $~lib/typedarray/EVERY<~lib/typedarray/Uint16Array,u16>|inlined.0 drop - local.get $4 + local.get $6 i32.const 1 i32.add - local.set $4 + local.set $6 br $for-loop|0239 end end @@ -56638,25 +56965,25 @@ i32.const 6704 i32.store offset=4 i32.const 0 - local.set $4 + local.set $6 block $~lib/typedarray/EVERY<~lib/typedarray/Uint16Array,u16>|inlined.0241 (result i32) - local.get $5 + local.get $4 i32.load offset=4 local.set $2 - local.get $5 + local.get $4 i32.load offset=8 i32.const 1 i32.shr_u local.set $1 loop $for-loop|0242 local.get $1 - local.get $4 + local.get $6 i32.gt_s if - local.get $2 - local.get $4 + local.get $6 i32.const 1 i32.shl + local.get $2 i32.add i32.load16_u local.set $0 @@ -56664,18 +56991,18 @@ global.set $~argumentsLength i32.const 0 local.get $0 + local.get $6 local.get $4 - local.get $5 i32.const 6704 i32.load call_indirect $0 (type $i32_i32_i32_=>_i32) i32.eqz br_if $~lib/typedarray/EVERY<~lib/typedarray/Uint16Array,u16>|inlined.0241 drop - local.get $4 + local.get $6 i32.const 1 i32.add - local.set $4 + local.set $6 br $for-loop|0242 end end @@ -56701,17 +57028,17 @@ local.get $0 i32.const 3 call $~lib/typedarray/Int32Array#constructor - local.tee $5 + local.tee $4 i32.store - local.get $5 + local.get $4 i32.const 0 i32.const 2 call $~lib/typedarray/Int32Array#__set - local.get $5 + local.get $4 i32.const 1 i32.const 4 call $~lib/typedarray/Int32Array#__set - local.get $5 + local.get $4 i32.const 2 i32.const 6 call $~lib/typedarray/Int32Array#__set @@ -56719,25 +57046,25 @@ i32.const 6736 i32.store offset=4 i32.const 0 - local.set $4 + local.set $6 block $~lib/typedarray/EVERY<~lib/typedarray/Int32Array,i32>|inlined.0 (result i32) - local.get $5 + local.get $4 i32.load offset=4 local.set $2 - local.get $5 + local.get $4 i32.load offset=8 i32.const 2 i32.shr_u local.set $1 loop $for-loop|0244 local.get $1 - local.get $4 + local.get $6 i32.gt_s if - local.get $2 - local.get $4 + local.get $6 i32.const 2 i32.shl + local.get $2 i32.add i32.load local.set $0 @@ -56745,18 +57072,18 @@ global.set $~argumentsLength i32.const 0 local.get $0 + local.get $6 local.get $4 - local.get $5 i32.const 6736 i32.load call_indirect $0 (type $i32_i32_i32_=>_i32) i32.eqz br_if $~lib/typedarray/EVERY<~lib/typedarray/Int32Array,i32>|inlined.0 drop - local.get $4 + local.get $6 i32.const 1 i32.add - local.set $4 + local.set $6 br $for-loop|0244 end end @@ -56768,25 +57095,25 @@ i32.const 6768 i32.store offset=4 i32.const 0 - local.set $4 + local.set $6 block $~lib/typedarray/EVERY<~lib/typedarray/Int32Array,i32>|inlined.0246 (result i32) - local.get $5 + local.get $4 i32.load offset=4 local.set $2 - local.get $5 + local.get $4 i32.load offset=8 i32.const 2 i32.shr_u local.set $1 loop $for-loop|0247 local.get $1 - local.get $4 + local.get $6 i32.gt_s if - local.get $2 - local.get $4 + local.get $6 i32.const 2 i32.shl + local.get $2 i32.add i32.load local.set $0 @@ -56794,18 +57121,18 @@ global.set $~argumentsLength i32.const 0 local.get $0 + local.get $6 local.get $4 - local.get $5 i32.const 6768 i32.load call_indirect $0 (type $i32_i32_i32_=>_i32) i32.eqz br_if $~lib/typedarray/EVERY<~lib/typedarray/Int32Array,i32>|inlined.0246 drop - local.get $4 + local.get $6 i32.const 1 i32.add - local.set $4 + local.set $6 br $for-loop|0247 end end @@ -56831,17 +57158,17 @@ local.get $0 i32.const 3 call $~lib/typedarray/Uint32Array#constructor - local.tee $5 + local.tee $4 i32.store - local.get $5 + local.get $4 i32.const 0 i32.const 2 call $~lib/typedarray/Uint32Array#__set - local.get $5 + local.get $4 i32.const 1 i32.const 4 call $~lib/typedarray/Uint32Array#__set - local.get $5 + local.get $4 i32.const 2 i32.const 6 call $~lib/typedarray/Uint32Array#__set @@ -56849,25 +57176,25 @@ i32.const 6800 i32.store offset=4 i32.const 0 - local.set $4 + local.set $6 block $~lib/typedarray/EVERY<~lib/typedarray/Uint32Array,u32>|inlined.0 (result i32) - local.get $5 + local.get $4 i32.load offset=4 local.set $2 - local.get $5 + local.get $4 i32.load offset=8 i32.const 2 i32.shr_u local.set $1 loop $for-loop|0249 local.get $1 - local.get $4 + local.get $6 i32.gt_s if - local.get $2 - local.get $4 + local.get $6 i32.const 2 i32.shl + local.get $2 i32.add i32.load local.set $0 @@ -56875,18 +57202,18 @@ global.set $~argumentsLength i32.const 0 local.get $0 + local.get $6 local.get $4 - local.get $5 i32.const 6800 i32.load call_indirect $0 (type $i32_i32_i32_=>_i32) i32.eqz br_if $~lib/typedarray/EVERY<~lib/typedarray/Uint32Array,u32>|inlined.0 drop - local.get $4 + local.get $6 i32.const 1 i32.add - local.set $4 + local.set $6 br $for-loop|0249 end end @@ -56898,25 +57225,25 @@ i32.const 6832 i32.store offset=4 i32.const 0 - local.set $4 + local.set $6 block $~lib/typedarray/EVERY<~lib/typedarray/Uint32Array,u32>|inlined.0251 (result i32) - local.get $5 + local.get $4 i32.load offset=4 local.set $2 - local.get $5 + local.get $4 i32.load offset=8 i32.const 2 i32.shr_u local.set $1 loop $for-loop|0252 local.get $1 - local.get $4 + local.get $6 i32.gt_s if - local.get $2 - local.get $4 + local.get $6 i32.const 2 i32.shl + local.get $2 i32.add i32.load local.set $0 @@ -56924,18 +57251,18 @@ global.set $~argumentsLength i32.const 0 local.get $0 + local.get $6 local.get $4 - local.get $5 i32.const 6832 i32.load call_indirect $0 (type $i32_i32_i32_=>_i32) i32.eqz br_if $~lib/typedarray/EVERY<~lib/typedarray/Uint32Array,u32>|inlined.0251 drop - local.get $4 + local.get $6 i32.const 1 i32.add - local.set $4 + local.set $6 br $for-loop|0252 end end @@ -56979,7 +57306,7 @@ i32.const 6864 i32.store offset=4 i32.const 0 - local.set $4 + local.set $5 block $~lib/typedarray/EVERY<~lib/typedarray/Int64Array,i64>|inlined.0 (result i32) local.get $3 i32.load offset=4 @@ -56991,13 +57318,13 @@ local.set $0 loop $for-loop|0254 local.get $0 - local.get $4 + local.get $5 i32.gt_s if - local.get $1 - local.get $4 + local.get $5 i32.const 3 i32.shl + local.get $1 i32.add i64.load local.set $9 @@ -57005,7 +57332,7 @@ global.set $~argumentsLength i32.const 0 local.get $9 - local.get $4 + local.get $5 local.get $3 i32.const 6864 i32.load @@ -57013,10 +57340,10 @@ i32.eqz br_if $~lib/typedarray/EVERY<~lib/typedarray/Int64Array,i64>|inlined.0 drop - local.get $4 + local.get $5 i32.const 1 i32.add - local.set $4 + local.set $5 br $for-loop|0254 end end @@ -57028,7 +57355,7 @@ i32.const 6896 i32.store offset=4 i32.const 0 - local.set $4 + local.set $5 block $~lib/typedarray/EVERY<~lib/typedarray/Int64Array,i64>|inlined.0256 (result i32) local.get $3 i32.load offset=4 @@ -57040,13 +57367,13 @@ local.set $0 loop $for-loop|0257 local.get $0 - local.get $4 + local.get $5 i32.gt_s if - local.get $1 - local.get $4 + local.get $5 i32.const 3 i32.shl + local.get $1 i32.add i64.load local.set $9 @@ -57054,7 +57381,7 @@ global.set $~argumentsLength i32.const 0 local.get $9 - local.get $4 + local.get $5 local.get $3 i32.const 6896 i32.load @@ -57062,10 +57389,10 @@ i32.eqz br_if $~lib/typedarray/EVERY<~lib/typedarray/Int64Array,i64>|inlined.0256 drop - local.get $4 + local.get $5 i32.const 1 i32.add - local.set $4 + local.set $5 br $for-loop|0257 end end @@ -57109,7 +57436,7 @@ i32.const 6928 i32.store offset=4 i32.const 0 - local.set $4 + local.set $5 block $~lib/typedarray/EVERY<~lib/typedarray/Uint64Array,u64>|inlined.0 (result i32) local.get $3 i32.load offset=4 @@ -57121,13 +57448,13 @@ local.set $0 loop $for-loop|0259 local.get $0 - local.get $4 + local.get $5 i32.gt_s if - local.get $1 - local.get $4 + local.get $5 i32.const 3 i32.shl + local.get $1 i32.add i64.load local.set $9 @@ -57135,7 +57462,7 @@ global.set $~argumentsLength i32.const 0 local.get $9 - local.get $4 + local.get $5 local.get $3 i32.const 6928 i32.load @@ -57143,10 +57470,10 @@ i32.eqz br_if $~lib/typedarray/EVERY<~lib/typedarray/Uint64Array,u64>|inlined.0 drop - local.get $4 + local.get $5 i32.const 1 i32.add - local.set $4 + local.set $5 br $for-loop|0259 end end @@ -57158,7 +57485,7 @@ i32.const 6960 i32.store offset=4 i32.const 0 - local.set $4 + local.set $5 block $~lib/typedarray/EVERY<~lib/typedarray/Uint64Array,u64>|inlined.0261 (result i32) local.get $3 i32.load offset=4 @@ -57170,13 +57497,13 @@ local.set $0 loop $for-loop|0262 local.get $0 - local.get $4 + local.get $5 i32.gt_s if - local.get $1 - local.get $4 + local.get $5 i32.const 3 i32.shl + local.get $1 i32.add i64.load local.set $9 @@ -57184,7 +57511,7 @@ global.set $~argumentsLength i32.const 0 local.get $9 - local.get $4 + local.get $5 local.get $3 i32.const 6960 i32.load @@ -57192,10 +57519,10 @@ i32.eqz br_if $~lib/typedarray/EVERY<~lib/typedarray/Uint64Array,u64>|inlined.0261 drop - local.get $4 + local.get $5 i32.const 1 i32.add - local.set $4 + local.set $5 br $for-loop|0262 end end @@ -57239,7 +57566,7 @@ i32.const 6992 i32.store offset=4 i32.const 0 - local.set $4 + local.set $5 block $~lib/typedarray/EVERY<~lib/typedarray/Float32Array,f32>|inlined.0 (result i32) local.get $3 i32.load offset=4 @@ -57251,13 +57578,13 @@ local.set $0 loop $for-loop|0264 local.get $0 - local.get $4 + local.get $5 i32.gt_s if - local.get $1 - local.get $4 + local.get $5 i32.const 2 i32.shl + local.get $1 i32.add f32.load local.set $11 @@ -57265,7 +57592,7 @@ global.set $~argumentsLength i32.const 0 local.get $11 - local.get $4 + local.get $5 local.get $3 i32.const 6992 i32.load @@ -57273,10 +57600,10 @@ i32.eqz br_if $~lib/typedarray/EVERY<~lib/typedarray/Float32Array,f32>|inlined.0 drop - local.get $4 + local.get $5 i32.const 1 i32.add - local.set $4 + local.set $5 br $for-loop|0264 end end @@ -57288,7 +57615,7 @@ i32.const 7024 i32.store offset=4 i32.const 0 - local.set $4 + local.set $5 block $~lib/typedarray/EVERY<~lib/typedarray/Float32Array,f32>|inlined.0266 (result i32) local.get $3 i32.load offset=4 @@ -57300,13 +57627,13 @@ local.set $0 loop $for-loop|0267 local.get $0 - local.get $4 + local.get $5 i32.gt_s if - local.get $1 - local.get $4 + local.get $5 i32.const 2 i32.shl + local.get $1 i32.add f32.load local.set $11 @@ -57314,7 +57641,7 @@ global.set $~argumentsLength i32.const 0 local.get $11 - local.get $4 + local.get $5 local.get $3 i32.const 7024 i32.load @@ -57322,10 +57649,10 @@ i32.eqz br_if $~lib/typedarray/EVERY<~lib/typedarray/Float32Array,f32>|inlined.0266 drop - local.get $4 + local.get $5 i32.const 1 i32.add - local.set $4 + local.set $5 br $for-loop|0267 end end @@ -57369,7 +57696,7 @@ i32.const 7056 i32.store offset=4 i32.const 0 - local.set $4 + local.set $5 block $~lib/typedarray/EVERY<~lib/typedarray/Float64Array,f64>|inlined.0 (result i32) local.get $3 i32.load offset=4 @@ -57381,13 +57708,13 @@ local.set $0 loop $for-loop|0269 local.get $0 - local.get $4 + local.get $5 i32.gt_s if - local.get $1 - local.get $4 + local.get $5 i32.const 3 i32.shl + local.get $1 i32.add f64.load local.set $12 @@ -57395,7 +57722,7 @@ global.set $~argumentsLength i32.const 0 local.get $12 - local.get $4 + local.get $5 local.get $3 i32.const 7056 i32.load @@ -57403,10 +57730,10 @@ i32.eqz br_if $~lib/typedarray/EVERY<~lib/typedarray/Float64Array,f64>|inlined.0 drop - local.get $4 + local.get $5 i32.const 1 i32.add - local.set $4 + local.set $5 br $for-loop|0269 end end @@ -57418,7 +57745,7 @@ i32.const 7088 i32.store offset=4 i32.const 0 - local.set $4 + local.set $5 block $~lib/typedarray/EVERY<~lib/typedarray/Float64Array,f64>|inlined.0271 (result i32) local.get $3 i32.load offset=4 @@ -57430,13 +57757,13 @@ local.set $0 loop $for-loop|0272 local.get $0 - local.get $4 + local.get $5 i32.gt_s if - local.get $1 - local.get $4 + local.get $5 i32.const 3 i32.shl + local.get $1 i32.add f64.load local.set $12 @@ -57444,7 +57771,7 @@ global.set $~argumentsLength i32.const 0 local.get $12 - local.get $4 + local.get $5 local.get $3 i32.const 7088 i32.load @@ -57452,10 +57779,10 @@ i32.eqz br_if $~lib/typedarray/EVERY<~lib/typedarray/Float64Array,f64>|inlined.0271 drop - local.get $4 + local.get $5 i32.const 1 i32.add - local.set $4 + local.set $5 br $for-loop|0272 end end @@ -57524,7 +57851,7 @@ i32.const 7200 i32.store offset=8 i32.const 0 - local.set $4 + local.set $5 local.get $3 i32.load offset=4 local.set $2 @@ -57533,24 +57860,24 @@ local.set $1 loop $for-loop|054274 local.get $1 - local.get $4 + local.get $5 i32.gt_s if local.get $2 - local.get $4 + local.get $5 i32.add i32.load8_s i32.const 3 global.set $~argumentsLength - local.get $4 + local.get $5 local.get $3 i32.const 7200 i32.load call_indirect $0 (type $i32_i32_i32_=>_none) - local.get $4 + local.get $5 i32.const 1 i32.add - local.set $4 + local.set $5 br $for-loop|054274 end end @@ -57623,7 +57950,7 @@ i32.const 7232 i32.store offset=8 i32.const 0 - local.set $4 + local.set $5 local.get $3 i32.load offset=4 local.set $2 @@ -57632,24 +57959,24 @@ local.set $1 loop $for-loop|056 local.get $1 - local.get $4 + local.get $5 i32.gt_s if local.get $2 - local.get $4 + local.get $5 i32.add i32.load8_u i32.const 3 global.set $~argumentsLength - local.get $4 + local.get $5 local.get $3 i32.const 7232 i32.load call_indirect $0 (type $i32_i32_i32_=>_none) - local.get $4 + local.get $5 i32.const 1 i32.add - local.set $4 + local.set $5 br $for-loop|056 end end @@ -57722,7 +58049,7 @@ i32.const 7264 i32.store offset=8 i32.const 0 - local.set $4 + local.set $5 local.get $3 i32.load offset=4 local.set $2 @@ -57731,24 +58058,24 @@ local.set $1 loop $for-loop|059 local.get $1 - local.get $4 + local.get $5 i32.gt_s if local.get $2 - local.get $4 + local.get $5 i32.add i32.load8_u i32.const 3 global.set $~argumentsLength - local.get $4 + local.get $5 local.get $3 i32.const 7264 i32.load call_indirect $0 (type $i32_i32_i32_=>_none) - local.get $4 + local.get $5 i32.const 1 i32.add - local.set $4 + local.set $5 br $for-loop|059 end end @@ -57818,7 +58145,7 @@ i32.const 7296 i32.store offset=8 i32.const 0 - local.set $4 + local.set $5 local.get $3 i32.load offset=4 local.set $2 @@ -57829,26 +58156,26 @@ local.set $1 loop $for-loop|061278 local.get $1 - local.get $4 + local.get $5 i32.gt_s if - local.get $2 - local.get $4 + local.get $5 i32.const 1 i32.shl + local.get $2 i32.add i32.load16_s i32.const 3 global.set $~argumentsLength - local.get $4 + local.get $5 local.get $3 i32.const 7296 i32.load call_indirect $0 (type $i32_i32_i32_=>_none) - local.get $4 + local.get $5 i32.const 1 i32.add - local.set $4 + local.set $5 br $for-loop|061278 end end @@ -57921,7 +58248,7 @@ i32.const 7328 i32.store offset=8 i32.const 0 - local.set $4 + local.set $5 local.get $3 i32.load offset=4 local.set $2 @@ -57932,26 +58259,26 @@ local.set $1 loop $for-loop|063280 local.get $1 - local.get $4 + local.get $5 i32.gt_s if - local.get $2 - local.get $4 + local.get $5 i32.const 1 i32.shl + local.get $2 i32.add i32.load16_u i32.const 3 global.set $~argumentsLength - local.get $4 + local.get $5 local.get $3 i32.const 7328 i32.load call_indirect $0 (type $i32_i32_i32_=>_none) - local.get $4 + local.get $5 i32.const 1 i32.add - local.set $4 + local.set $5 br $for-loop|063280 end end @@ -58018,7 +58345,7 @@ i32.const 7360 i32.store offset=8 i32.const 0 - local.set $4 + local.set $5 local.get $3 i32.load offset=4 local.set $2 @@ -58029,26 +58356,26 @@ local.set $1 loop $for-loop|065 local.get $1 - local.get $4 + local.get $5 i32.gt_s if - local.get $2 - local.get $4 + local.get $5 i32.const 2 i32.shl + local.get $2 i32.add i32.load i32.const 3 global.set $~argumentsLength - local.get $4 + local.get $5 local.get $3 i32.const 7360 i32.load call_indirect $0 (type $i32_i32_i32_=>_none) - local.get $4 + local.get $5 i32.const 1 i32.add - local.set $4 + local.set $5 br $for-loop|065 end end @@ -58115,7 +58442,7 @@ i32.const 7392 i32.store offset=8 i32.const 0 - local.set $4 + local.set $5 local.get $3 i32.load offset=4 local.set $2 @@ -58126,26 +58453,26 @@ local.set $1 loop $for-loop|067 local.get $1 - local.get $4 + local.get $5 i32.gt_s if - local.get $2 - local.get $4 + local.get $5 i32.const 2 i32.shl + local.get $2 i32.add i32.load i32.const 3 global.set $~argumentsLength - local.get $4 + local.get $5 local.get $3 i32.const 7392 i32.load call_indirect $0 (type $i32_i32_i32_=>_none) - local.get $4 + local.get $5 i32.const 1 i32.add - local.set $4 + local.set $5 br $for-loop|067 end end @@ -58215,7 +58542,7 @@ i32.const 7424 i32.store offset=8 i32.const 0 - local.set $4 + local.set $5 local.get $2 i32.load offset=4 local.set $1 @@ -58226,26 +58553,26 @@ local.set $0 loop $for-loop|069 local.get $0 - local.get $4 + local.get $5 i32.gt_s if - local.get $1 - local.get $4 + local.get $5 i32.const 3 i32.shl + local.get $1 i32.add i64.load i32.const 3 global.set $~argumentsLength - local.get $4 + local.get $5 local.get $2 i32.const 7424 i32.load call_indirect $0 (type $i64_i32_i32_=>_none) - local.get $4 + local.get $5 i32.const 1 i32.add - local.set $4 + local.set $5 br $for-loop|069 end end @@ -58315,7 +58642,7 @@ i32.const 7456 i32.store offset=8 i32.const 0 - local.set $4 + local.set $5 local.get $2 i32.load offset=4 local.set $1 @@ -58326,26 +58653,26 @@ local.set $0 loop $for-loop|071285 local.get $0 - local.get $4 + local.get $5 i32.gt_s if - local.get $1 - local.get $4 + local.get $5 i32.const 3 i32.shl + local.get $1 i32.add i64.load i32.const 3 global.set $~argumentsLength - local.get $4 + local.get $5 local.get $2 i32.const 7456 i32.load call_indirect $0 (type $i64_i32_i32_=>_none) - local.get $4 + local.get $5 i32.const 1 i32.add - local.set $4 + local.set $5 br $for-loop|071285 end end @@ -58415,7 +58742,7 @@ i32.const 7488 i32.store offset=8 i32.const 0 - local.set $4 + local.set $5 local.get $2 i32.load offset=4 local.set $1 @@ -58426,26 +58753,26 @@ local.set $0 loop $for-loop|073287 local.get $0 - local.get $4 + local.get $5 i32.gt_s if - local.get $1 - local.get $4 + local.get $5 i32.const 2 i32.shl + local.get $1 i32.add f32.load i32.const 3 global.set $~argumentsLength - local.get $4 + local.get $5 local.get $2 i32.const 7488 i32.load call_indirect $0 (type $f32_i32_i32_=>_none) - local.get $4 + local.get $5 i32.const 1 i32.add - local.set $4 + local.set $5 br $for-loop|073287 end end @@ -58515,7 +58842,7 @@ i32.const 7520 i32.store offset=8 i32.const 0 - local.set $4 + local.set $5 local.get $2 i32.load offset=4 local.set $1 @@ -58526,26 +58853,26 @@ local.set $0 loop $for-loop|075 local.get $0 - local.get $4 + local.get $5 i32.gt_s if - local.get $1 - local.get $4 + local.get $5 i32.const 3 i32.shl + local.get $1 i32.add f64.load i32.const 3 global.set $~argumentsLength - local.get $4 + local.get $5 local.get $2 i32.const 7520 i32.load call_indirect $0 (type $f64_i32_i32_=>_none) - local.get $4 + local.get $5 i32.const 1 i32.add - local.set $4 + local.set $5 br $for-loop|075 end end @@ -59242,9 +59569,9 @@ global.get $~lib/memory/__stack_pointer i32.const 1 call $~lib/typedarray/Float64Array#constructor - local.tee $5 + local.tee $4 i32.store offset=12 - local.get $5 + local.get $4 i32.const 0 f64.const nan:0x8000000000000 call $~lib/typedarray/Float64Array#__set @@ -59253,7 +59580,7 @@ i32.const -1 local.set $1 block $~lib/typedarray/INDEX_OF<~lib/typedarray/Float64Array,f64>|inlined.0 - local.get $5 + local.get $4 i32.load offset=8 i32.const 3 i32.shr_u @@ -59263,7 +59590,7 @@ select i32.eqz br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Float64Array,f64>|inlined.0 - local.get $5 + local.get $4 i32.load offset=4 local.set $2 loop $while-continue|0 @@ -59271,11 +59598,11 @@ local.get $3 i32.lt_s if - local.get $2 local.get $0 local.tee $1 i32.const 3 i32.shl + local.get $2 i32.add f64.load f64.const nan:0x8000000000000 @@ -59303,10 +59630,10 @@ unreachable end i32.const 0 - local.set $4 + local.set $5 block $~lib/typedarray/INCLUDES<~lib/typedarray/Float64Array,f64>|inlined.0 (result i32) i32.const 0 - local.get $5 + local.get $4 i32.load offset=8 i32.const 3 i32.shr_u @@ -59317,20 +59644,20 @@ i32.eqz br_if $~lib/typedarray/INCLUDES<~lib/typedarray/Float64Array,f64>|inlined.0 drop - local.get $5 + local.get $4 i32.load offset=4 local.set $0 loop $while-continue|0289 local.get $1 - local.get $4 + local.get $5 i32.gt_s if i32.const 1 i32.const 1 - local.get $0 - local.get $4 + local.get $5 i32.const 3 i32.shl + local.get $0 i32.add f64.load local.tee $12 @@ -59342,10 +59669,10 @@ select br_if $~lib/typedarray/INCLUDES<~lib/typedarray/Float64Array,f64>|inlined.0 drop - local.get $4 + local.get $5 i32.const 1 i32.add - local.set $4 + local.set $5 br $while-continue|0289 end end @@ -59363,9 +59690,9 @@ global.get $~lib/memory/__stack_pointer i32.const 1 call $~lib/typedarray/Float32Array#constructor - local.tee $5 + local.tee $4 i32.store offset=24 - local.get $5 + local.get $4 i32.const 0 f32.const nan:0x400000 call $~lib/typedarray/Float32Array#__set @@ -59374,7 +59701,7 @@ i32.const -1 local.set $1 block $~lib/typedarray/INDEX_OF<~lib/typedarray/Float32Array,f32>|inlined.0 - local.get $5 + local.get $4 i32.load offset=8 i32.const 2 i32.shr_u @@ -59384,7 +59711,7 @@ select i32.eqz br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Float32Array,f32>|inlined.0 - local.get $5 + local.get $4 i32.load offset=4 local.set $2 loop $while-continue|0290 @@ -59392,11 +59719,11 @@ local.get $3 i32.lt_s if - local.get $2 local.get $0 local.tee $1 i32.const 2 i32.shl + local.get $2 i32.add f32.load f32.const nan:0x400000 @@ -59424,10 +59751,10 @@ unreachable end i32.const 0 - local.set $4 + local.set $5 block $~lib/typedarray/INCLUDES<~lib/typedarray/Float32Array,f32>|inlined.0 (result i32) i32.const 0 - local.get $5 + local.get $4 i32.load offset=8 i32.const 2 i32.shr_u @@ -59438,20 +59765,20 @@ i32.eqz br_if $~lib/typedarray/INCLUDES<~lib/typedarray/Float32Array,f32>|inlined.0 drop - local.get $5 + local.get $4 i32.load offset=4 local.set $0 loop $while-continue|078 local.get $1 - local.get $4 + local.get $5 i32.gt_s if i32.const 1 i32.const 1 - local.get $0 - local.get $4 + local.get $5 i32.const 2 i32.shl + local.get $0 i32.add f32.load local.tee $11 @@ -59463,10 +59790,10 @@ select br_if $~lib/typedarray/INCLUDES<~lib/typedarray/Float32Array,f32>|inlined.0 drop - local.get $4 + local.get $5 i32.const 1 i32.add - local.set $4 + local.set $5 br $while-continue|078 end end @@ -59499,42 +59826,41 @@ local.get $0 i32.const 5 call $~lib/typedarray/Int8Array#constructor - local.tee $2 + local.tee $1 i32.store - local.get $2 + local.get $1 i32.const 0 i32.const 1 call $~lib/typedarray/Int8Array#__set - local.get $2 + local.get $1 i32.const 1 i32.const 2 call $~lib/typedarray/Int8Array#__set - local.get $2 + local.get $1 i32.const 2 i32.const 3 call $~lib/typedarray/Int8Array#__set - local.get $2 + local.get $1 i32.const 3 i32.const 4 call $~lib/typedarray/Int8Array#__set - local.get $2 + local.get $1 i32.const 4 i32.const 5 call $~lib/typedarray/Int8Array#__set global.get $~lib/memory/__stack_pointer i32.const 9584 i32.store offset=12 - local.get $2 + local.get $1 call $~lib/typedarray/Int8Array#join - local.set $1 + local.set $0 global.get $~lib/memory/__stack_pointer - local.tee $0 - local.get $1 - i32.store offset=4 local.get $0 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer i32.const 9616 i32.store offset=8 - local.get $1 + local.get $0 i32.const 9616 call $~lib/string/String.__eq i32.eqz @@ -59554,7 +59880,7 @@ local.get $0 i32.const 9584 i32.store - local.get $2 + local.get $1 call $~lib/typedarray/Int8Array#join local.set $1 global.get $~lib/memory/__stack_pointer @@ -59595,47 +59921,46 @@ local.get $0 i32.const 5 call $~lib/typedarray/Uint8Array#constructor - local.tee $2 + local.tee $1 i32.store - local.get $2 + local.get $1 i32.const 0 i32.const 1 call $~lib/typedarray/Uint8Array#__set - local.get $2 + local.get $1 i32.const 1 i32.const 2 call $~lib/typedarray/Uint8Array#__set - local.get $2 + local.get $1 i32.const 2 i32.const 3 call $~lib/typedarray/Uint8Array#__set - local.get $2 + local.get $1 i32.const 3 i32.const 4 call $~lib/typedarray/Uint8Array#__set - local.get $2 + local.get $1 i32.const 4 i32.const 5 call $~lib/typedarray/Uint8Array#__set global.get $~lib/memory/__stack_pointer i32.const 9584 i32.store offset=12 - local.get $2 + local.get $1 call $~lib/typedarray/Uint8Array#join - local.set $1 + local.set $0 global.get $~lib/memory/__stack_pointer - local.tee $0 - local.get $1 - i32.store offset=4 local.get $0 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer i32.const 9616 i32.store offset=8 - local.get $1 + local.get $0 i32.const 9616 call $~lib/string/String.__eq i32.eqz br_if $folding-inner15 - local.get $2 + local.get $1 call $~lib/typedarray/Uint8Array#toString local.set $1 global.get $~lib/memory/__stack_pointer @@ -59672,47 +59997,46 @@ local.get $0 i32.const 5 call $~lib/typedarray/Uint8ClampedArray#constructor - local.tee $2 + local.tee $1 i32.store - local.get $2 + local.get $1 i32.const 0 i32.const 1 call $~lib/typedarray/Uint8ClampedArray#__set - local.get $2 + local.get $1 i32.const 1 i32.const 2 call $~lib/typedarray/Uint8ClampedArray#__set - local.get $2 + local.get $1 i32.const 2 i32.const 3 call $~lib/typedarray/Uint8ClampedArray#__set - local.get $2 + local.get $1 i32.const 3 i32.const 4 call $~lib/typedarray/Uint8ClampedArray#__set - local.get $2 + local.get $1 i32.const 4 i32.const 5 call $~lib/typedarray/Uint8ClampedArray#__set global.get $~lib/memory/__stack_pointer i32.const 9584 i32.store offset=12 - local.get $2 + local.get $1 call $~lib/typedarray/Uint8Array#join - local.set $1 + local.set $0 global.get $~lib/memory/__stack_pointer - local.tee $0 - local.get $1 - i32.store offset=4 local.get $0 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer i32.const 9616 i32.store offset=8 - local.get $1 + local.get $0 i32.const 9616 call $~lib/string/String.__eq i32.eqz br_if $folding-inner15 - local.get $2 + local.get $1 call $~lib/typedarray/Uint8Array#toString local.set $1 global.get $~lib/memory/__stack_pointer @@ -59749,42 +60073,41 @@ local.get $0 i32.const 5 call $~lib/typedarray/Int16Array#constructor - local.tee $2 + local.tee $1 i32.store - local.get $2 + local.get $1 i32.const 0 i32.const 1 call $~lib/typedarray/Int16Array#__set - local.get $2 + local.get $1 i32.const 1 i32.const 2 call $~lib/typedarray/Int16Array#__set - local.get $2 + local.get $1 i32.const 2 i32.const 3 call $~lib/typedarray/Int16Array#__set - local.get $2 + local.get $1 i32.const 3 i32.const 4 call $~lib/typedarray/Int16Array#__set - local.get $2 + local.get $1 i32.const 4 i32.const 5 call $~lib/typedarray/Int16Array#__set global.get $~lib/memory/__stack_pointer i32.const 9584 i32.store offset=12 - local.get $2 + local.get $1 call $~lib/typedarray/Int16Array#join - local.set $1 + local.set $0 global.get $~lib/memory/__stack_pointer - local.tee $0 - local.get $1 - i32.store offset=4 local.get $0 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer i32.const 9616 i32.store offset=8 - local.get $1 + local.get $0 i32.const 9616 call $~lib/string/String.__eq i32.eqz @@ -59804,7 +60127,7 @@ local.get $0 i32.const 9584 i32.store - local.get $2 + local.get $1 call $~lib/typedarray/Int16Array#join local.set $1 global.get $~lib/memory/__stack_pointer @@ -59845,42 +60168,41 @@ local.get $0 i32.const 5 call $~lib/typedarray/Uint16Array#constructor - local.tee $2 + local.tee $1 i32.store - local.get $2 + local.get $1 i32.const 0 i32.const 1 call $~lib/typedarray/Uint16Array#__set - local.get $2 + local.get $1 i32.const 1 i32.const 2 call $~lib/typedarray/Uint16Array#__set - local.get $2 + local.get $1 i32.const 2 i32.const 3 call $~lib/typedarray/Uint16Array#__set - local.get $2 + local.get $1 i32.const 3 i32.const 4 call $~lib/typedarray/Uint16Array#__set - local.get $2 + local.get $1 i32.const 4 i32.const 5 call $~lib/typedarray/Uint16Array#__set global.get $~lib/memory/__stack_pointer i32.const 9584 i32.store offset=12 - local.get $2 + local.get $1 call $~lib/typedarray/Uint16Array#join - local.set $1 + local.set $0 global.get $~lib/memory/__stack_pointer - local.tee $0 - local.get $1 - i32.store offset=4 local.get $0 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer i32.const 9616 i32.store offset=8 - local.get $1 + local.get $0 i32.const 9616 call $~lib/string/String.__eq i32.eqz @@ -59900,7 +60222,7 @@ local.get $0 i32.const 9584 i32.store - local.get $2 + local.get $1 call $~lib/typedarray/Uint16Array#join local.set $1 global.get $~lib/memory/__stack_pointer @@ -59941,42 +60263,41 @@ local.get $0 i32.const 5 call $~lib/typedarray/Int32Array#constructor - local.tee $2 + local.tee $1 i32.store - local.get $2 + local.get $1 i32.const 0 i32.const 1 call $~lib/typedarray/Int32Array#__set - local.get $2 + local.get $1 i32.const 1 i32.const 2 call $~lib/typedarray/Int32Array#__set - local.get $2 + local.get $1 i32.const 2 i32.const 3 call $~lib/typedarray/Int32Array#__set - local.get $2 + local.get $1 i32.const 3 i32.const 4 call $~lib/typedarray/Int32Array#__set - local.get $2 + local.get $1 i32.const 4 i32.const 5 call $~lib/typedarray/Int32Array#__set global.get $~lib/memory/__stack_pointer i32.const 9584 i32.store offset=12 - local.get $2 + local.get $1 call $~lib/typedarray/Int32Array#join - local.set $1 + local.set $0 global.get $~lib/memory/__stack_pointer - local.tee $0 - local.get $1 - i32.store offset=4 local.get $0 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer i32.const 9616 i32.store offset=8 - local.get $1 + local.get $0 i32.const 9616 call $~lib/string/String.__eq i32.eqz @@ -59996,7 +60317,7 @@ local.get $0 i32.const 9584 i32.store - local.get $2 + local.get $1 call $~lib/typedarray/Int32Array#join local.set $1 global.get $~lib/memory/__stack_pointer @@ -60037,42 +60358,41 @@ local.get $0 i32.const 5 call $~lib/typedarray/Uint32Array#constructor - local.tee $2 + local.tee $1 i32.store - local.get $2 + local.get $1 i32.const 0 i32.const 1 call $~lib/typedarray/Uint32Array#__set - local.get $2 + local.get $1 i32.const 1 i32.const 2 call $~lib/typedarray/Uint32Array#__set - local.get $2 + local.get $1 i32.const 2 i32.const 3 call $~lib/typedarray/Uint32Array#__set - local.get $2 + local.get $1 i32.const 3 i32.const 4 call $~lib/typedarray/Uint32Array#__set - local.get $2 + local.get $1 i32.const 4 i32.const 5 call $~lib/typedarray/Uint32Array#__set global.get $~lib/memory/__stack_pointer i32.const 9584 i32.store offset=12 - local.get $2 + local.get $1 call $~lib/typedarray/Uint32Array#join - local.set $1 + local.set $0 global.get $~lib/memory/__stack_pointer - local.tee $0 - local.get $1 - i32.store offset=4 local.get $0 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer i32.const 9616 i32.store offset=8 - local.get $1 + local.get $0 i32.const 9616 call $~lib/string/String.__eq i32.eqz @@ -60092,7 +60412,7 @@ local.get $0 i32.const 9584 i32.store - local.get $2 + local.get $1 call $~lib/typedarray/Uint32Array#join local.set $1 global.get $~lib/memory/__stack_pointer @@ -60133,47 +60453,41 @@ local.get $0 i32.const 5 call $~lib/typedarray/Int64Array#constructor - local.tee $2 + local.tee $1 i32.store - local.get $2 + local.get $1 i32.const 0 i64.const 1 call $~lib/typedarray/Int64Array#__set - local.get $2 + local.get $1 i32.const 1 i64.const 2 call $~lib/typedarray/Int64Array#__set - local.get $2 + local.get $1 i32.const 2 i64.const 3 call $~lib/typedarray/Int64Array#__set - local.get $2 + local.get $1 i32.const 3 i64.const 4 call $~lib/typedarray/Int64Array#__set - local.get $2 + local.get $1 i32.const 4 i64.const 5 call $~lib/typedarray/Int64Array#__set global.get $~lib/memory/__stack_pointer i32.const 9584 i32.store offset=12 - local.get $2 - i32.load offset=4 - local.get $2 - i32.load offset=8 - i32.const 3 - i32.shr_u - call $~lib/util/string/joinIntegerArray - local.set $1 - global.get $~lib/memory/__stack_pointer - local.tee $0 local.get $1 - i32.store offset=4 + call $~lib/typedarray/Int64Array#join + local.set $0 + global.get $~lib/memory/__stack_pointer local.get $0 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer i32.const 9616 i32.store offset=8 - local.get $1 + local.get $0 i32.const 9616 call $~lib/string/String.__eq i32.eqz @@ -60193,13 +60507,8 @@ local.get $0 i32.const 9584 i32.store - local.get $2 - i32.load offset=4 - local.get $2 - i32.load offset=8 - i32.const 3 - i32.shr_u - call $~lib/util/string/joinIntegerArray + local.get $1 + call $~lib/typedarray/Int64Array#join local.set $1 global.get $~lib/memory/__stack_pointer i32.const 4 @@ -60239,42 +60548,41 @@ local.get $0 i32.const 5 call $~lib/typedarray/Uint64Array#constructor - local.tee $2 + local.tee $1 i32.store - local.get $2 + local.get $1 i32.const 0 i64.const 1 call $~lib/typedarray/Uint64Array#__set - local.get $2 + local.get $1 i32.const 1 i64.const 2 call $~lib/typedarray/Uint64Array#__set - local.get $2 + local.get $1 i32.const 2 i64.const 3 call $~lib/typedarray/Uint64Array#__set - local.get $2 + local.get $1 i32.const 3 i64.const 4 call $~lib/typedarray/Uint64Array#__set - local.get $2 + local.get $1 i32.const 4 i64.const 5 call $~lib/typedarray/Uint64Array#__set global.get $~lib/memory/__stack_pointer i32.const 9584 i32.store offset=12 - local.get $2 + local.get $1 call $~lib/typedarray/Uint64Array#join - local.set $1 + local.set $0 global.get $~lib/memory/__stack_pointer - local.tee $0 - local.get $1 - i32.store offset=4 local.get $0 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer i32.const 9616 i32.store offset=8 - local.get $1 + local.get $0 i32.const 9616 call $~lib/string/String.__eq i32.eqz @@ -60294,7 +60602,7 @@ local.get $0 i32.const 9584 i32.store - local.get $2 + local.get $1 call $~lib/typedarray/Uint64Array#join local.set $1 global.get $~lib/memory/__stack_pointer @@ -60335,42 +60643,41 @@ local.get $0 i32.const 5 call $~lib/typedarray/Float32Array#constructor - local.tee $2 + local.tee $1 i32.store - local.get $2 + local.get $1 i32.const 0 f32.const 1 call $~lib/typedarray/Float32Array#__set - local.get $2 + local.get $1 i32.const 1 f32.const 2 call $~lib/typedarray/Float32Array#__set - local.get $2 + local.get $1 i32.const 2 f32.const 3 call $~lib/typedarray/Float32Array#__set - local.get $2 + local.get $1 i32.const 3 f32.const 4 call $~lib/typedarray/Float32Array#__set - local.get $2 + local.get $1 i32.const 4 f32.const 5 call $~lib/typedarray/Float32Array#__set global.get $~lib/memory/__stack_pointer i32.const 9584 i32.store offset=12 - local.get $2 + local.get $1 call $~lib/typedarray/Float32Array#join - local.set $1 + local.set $0 global.get $~lib/memory/__stack_pointer - local.tee $0 - local.get $1 - i32.store offset=4 local.get $0 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer i32.const 10800 i32.store offset=8 - local.get $1 + local.get $0 i32.const 10800 call $~lib/string/String.__eq i32.eqz @@ -60390,7 +60697,7 @@ local.get $0 i32.const 9584 i32.store - local.get $2 + local.get $1 call $~lib/typedarray/Float32Array#join local.set $1 global.get $~lib/memory/__stack_pointer @@ -60431,42 +60738,41 @@ local.get $0 i32.const 5 call $~lib/typedarray/Float64Array#constructor - local.tee $2 + local.tee $1 i32.store - local.get $2 + local.get $1 i32.const 0 f64.const 1 call $~lib/typedarray/Float64Array#__set - local.get $2 + local.get $1 i32.const 1 f64.const 2 call $~lib/typedarray/Float64Array#__set - local.get $2 + local.get $1 i32.const 2 f64.const 3 call $~lib/typedarray/Float64Array#__set - local.get $2 + local.get $1 i32.const 3 f64.const 4 call $~lib/typedarray/Float64Array#__set - local.get $2 + local.get $1 i32.const 4 f64.const 5 call $~lib/typedarray/Float64Array#__set global.get $~lib/memory/__stack_pointer i32.const 9584 i32.store offset=12 - local.get $2 + local.get $1 call $~lib/typedarray/Float64Array#join - local.set $1 + local.set $0 global.get $~lib/memory/__stack_pointer - local.tee $0 - local.get $1 - i32.store offset=4 local.get $0 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer i32.const 10800 i32.store offset=8 - local.get $1 + local.get $0 i32.const 10800 call $~lib/string/String.__eq i32.eqz @@ -60486,7 +60792,7 @@ local.get $0 i32.const 9584 i32.store - local.get $2 + local.get $1 call $~lib/typedarray/Float64Array#join local.set $1 global.get $~lib/memory/__stack_pointer @@ -60617,21 +60923,18 @@ local.get $6 i32.load i32.sub + local.tee $0 local.get $6 i32.load offset=8 - local.get $6 - i32.load offset=4 - local.get $6 - i32.load - i32.sub + local.get $0 i32.add call $~lib/arraybuffer/ArrayBuffer#slice - local.tee $5 + local.tee $4 i32.store offset=12 i32.const 1 global.set $~argumentsLength global.get $~lib/memory/__stack_pointer - local.tee $2 + global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub global.set $~lib/memory/__stack_pointer @@ -60643,7 +60946,7 @@ local.tee $1 i32.const 0 i32.store - local.get $5 + local.get $4 i32.const 20 i32.sub i32.load offset=16 @@ -60655,22 +60958,21 @@ local.tee $1 i32.store local.get $1 - local.get $5 + local.get $4 i32.store local.get $1 - local.get $5 + local.get $4 call $~lib/rt/itcms/__link local.get $1 local.get $0 i32.store offset=8 local.get $1 - local.get $5 + local.get $4 i32.store offset=4 global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $2 local.get $1 i32.store offset=16 i32.const 0 @@ -60762,13 +61064,10 @@ local.get $3 i32.load i32.sub + local.tee $0 + local.get $0 local.get $3 i32.load offset=8 - local.get $3 - i32.load offset=4 - local.get $3 - i32.load - i32.sub i32.add call $~lib/arraybuffer/ArrayBuffer#slice local.tee $0 @@ -60870,21 +61169,18 @@ local.get $6 i32.load i32.sub + local.tee $0 local.get $6 i32.load offset=8 - local.get $6 - i32.load offset=4 - local.get $6 - i32.load - i32.sub + local.get $0 i32.add call $~lib/arraybuffer/ArrayBuffer#slice - local.tee $5 + local.tee $4 i32.store offset=12 i32.const 1 global.set $~argumentsLength global.get $~lib/memory/__stack_pointer - local.tee $2 + global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub global.set $~lib/memory/__stack_pointer @@ -60896,7 +61192,7 @@ local.tee $1 i32.const 0 i32.store - local.get $5 + local.get $4 i32.const 20 i32.sub i32.load offset=16 @@ -60908,22 +61204,21 @@ local.tee $1 i32.store local.get $1 - local.get $5 + local.get $4 i32.store local.get $1 - local.get $5 + local.get $4 call $~lib/rt/itcms/__link local.get $1 local.get $0 i32.store offset=8 local.get $1 - local.get $5 + local.get $4 i32.store offset=4 global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $2 local.get $1 i32.store offset=16 i32.const 0 @@ -61014,13 +61309,10 @@ local.get $6 i32.load i32.sub + local.tee $0 local.get $6 i32.load offset=8 - local.get $6 - i32.load offset=4 - local.get $6 - i32.load - i32.sub + local.get $0 i32.add call $~lib/arraybuffer/ArrayBuffer#slice local.tee $3 @@ -61028,7 +61320,7 @@ i32.const 1 global.set $~argumentsLength global.get $~lib/memory/__stack_pointer - local.tee $1 + global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub global.set $~lib/memory/__stack_pointer @@ -61051,26 +61343,25 @@ i32.const 12 i32.const 6 call $~lib/rt/itcms/__new - local.tee $5 + local.tee $4 i32.store - local.get $5 + local.get $4 local.get $3 i32.store - local.get $5 + local.get $4 local.get $3 call $~lib/rt/itcms/__link - local.get $5 + local.get $4 local.get $0 i32.store offset=8 - local.get $5 + local.get $4 local.get $3 i32.store offset=4 global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $1 - local.get $5 + local.get $4 i32.store offset=16 i32.const 0 local.set $1 @@ -61082,7 +61373,7 @@ local.get $6 local.get $1 call $~lib/typedarray/Int16Array#__get - local.get $5 + local.get $4 local.get $1 call $~lib/typedarray/Int16Array#__get i32.ne @@ -61161,13 +61452,10 @@ local.get $6 i32.load i32.sub + local.tee $0 local.get $6 i32.load offset=8 - local.get $6 - i32.load offset=4 - local.get $6 - i32.load - i32.sub + local.get $0 i32.add call $~lib/arraybuffer/ArrayBuffer#slice local.tee $3 @@ -61175,7 +61463,7 @@ i32.const 1 global.set $~argumentsLength global.get $~lib/memory/__stack_pointer - local.tee $1 + global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub global.set $~lib/memory/__stack_pointer @@ -61198,26 +61486,25 @@ i32.const 12 i32.const 7 call $~lib/rt/itcms/__new - local.tee $5 + local.tee $4 i32.store - local.get $5 + local.get $4 local.get $3 i32.store - local.get $5 + local.get $4 local.get $3 call $~lib/rt/itcms/__link - local.get $5 + local.get $4 local.get $0 i32.store offset=8 - local.get $5 + local.get $4 local.get $3 i32.store offset=4 global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $1 - local.get $5 + local.get $4 i32.store offset=16 i32.const 0 local.set $1 @@ -61229,7 +61516,7 @@ local.get $6 local.get $1 call $~lib/typedarray/Uint16Array#__get - local.get $5 + local.get $4 local.get $1 call $~lib/typedarray/Uint16Array#__get i32.ne @@ -61306,13 +61593,10 @@ local.get $6 i32.load i32.sub + local.tee $0 local.get $6 i32.load offset=8 - local.get $6 - i32.load offset=4 - local.get $6 - i32.load - i32.sub + local.get $0 i32.add call $~lib/arraybuffer/ArrayBuffer#slice local.tee $3 @@ -61320,7 +61604,7 @@ i32.const 1 global.set $~argumentsLength global.get $~lib/memory/__stack_pointer - local.tee $1 + global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub global.set $~lib/memory/__stack_pointer @@ -61343,26 +61627,25 @@ i32.const 12 i32.const 8 call $~lib/rt/itcms/__new - local.tee $5 + local.tee $4 i32.store - local.get $5 + local.get $4 local.get $3 i32.store - local.get $5 + local.get $4 local.get $3 call $~lib/rt/itcms/__link - local.get $5 + local.get $4 local.get $0 i32.store offset=8 - local.get $5 + local.get $4 local.get $3 i32.store offset=4 global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $1 - local.get $5 + local.get $4 i32.store offset=16 i32.const 0 local.set $1 @@ -61374,7 +61657,7 @@ local.get $6 local.get $1 call $~lib/typedarray/Int32Array#__get - local.get $5 + local.get $4 local.get $1 call $~lib/typedarray/Int32Array#__get i32.ne @@ -61451,13 +61734,10 @@ local.get $6 i32.load i32.sub + local.tee $0 local.get $6 i32.load offset=8 - local.get $6 - i32.load offset=4 - local.get $6 - i32.load - i32.sub + local.get $0 i32.add call $~lib/arraybuffer/ArrayBuffer#slice local.tee $3 @@ -61465,7 +61745,7 @@ i32.const 1 global.set $~argumentsLength global.get $~lib/memory/__stack_pointer - local.tee $1 + global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub global.set $~lib/memory/__stack_pointer @@ -61488,26 +61768,25 @@ i32.const 12 i32.const 9 call $~lib/rt/itcms/__new - local.tee $5 + local.tee $4 i32.store - local.get $5 + local.get $4 local.get $3 i32.store - local.get $5 + local.get $4 local.get $3 call $~lib/rt/itcms/__link - local.get $5 + local.get $4 local.get $0 i32.store offset=8 - local.get $5 + local.get $4 local.get $3 i32.store offset=4 global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $1 - local.get $5 + local.get $4 i32.store offset=16 i32.const 0 local.set $1 @@ -61519,7 +61798,7 @@ local.get $6 local.get $1 call $~lib/typedarray/Uint32Array#__get - local.get $5 + local.get $4 local.get $1 call $~lib/typedarray/Uint32Array#__get i32.ne @@ -61597,13 +61876,10 @@ local.get $6 i32.load i32.sub + local.tee $0 local.get $6 i32.load offset=8 - local.get $6 - i32.load offset=4 - local.get $6 - i32.load - i32.sub + local.get $0 i32.add call $~lib/arraybuffer/ArrayBuffer#slice local.tee $3 @@ -61611,7 +61887,7 @@ i32.const 1 global.set $~argumentsLength global.get $~lib/memory/__stack_pointer - local.tee $1 + global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub global.set $~lib/memory/__stack_pointer @@ -61634,26 +61910,25 @@ i32.const 12 i32.const 10 call $~lib/rt/itcms/__new - local.tee $5 + local.tee $4 i32.store - local.get $5 + local.get $4 local.get $3 i32.store - local.get $5 + local.get $4 local.get $3 call $~lib/rt/itcms/__link - local.get $5 + local.get $4 local.get $0 i32.store offset=8 - local.get $5 + local.get $4 local.get $3 i32.store offset=4 global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $1 - local.get $5 + local.get $4 i32.store offset=16 i32.const 0 local.set $1 @@ -61665,7 +61940,7 @@ local.get $6 local.get $1 call $~lib/typedarray/Int64Array#__get - local.get $5 + local.get $4 local.get $1 call $~lib/typedarray/Int64Array#__get i64.ne @@ -61743,13 +62018,10 @@ local.get $6 i32.load i32.sub + local.tee $0 local.get $6 i32.load offset=8 - local.get $6 - i32.load offset=4 - local.get $6 - i32.load - i32.sub + local.get $0 i32.add call $~lib/arraybuffer/ArrayBuffer#slice local.tee $3 @@ -61757,7 +62029,7 @@ i32.const 1 global.set $~argumentsLength global.get $~lib/memory/__stack_pointer - local.tee $1 + global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub global.set $~lib/memory/__stack_pointer @@ -61780,26 +62052,25 @@ i32.const 12 i32.const 11 call $~lib/rt/itcms/__new - local.tee $5 + local.tee $4 i32.store - local.get $5 + local.get $4 local.get $3 i32.store - local.get $5 + local.get $4 local.get $3 call $~lib/rt/itcms/__link - local.get $5 + local.get $4 local.get $0 i32.store offset=8 - local.get $5 + local.get $4 local.get $3 i32.store offset=4 global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $1 - local.get $5 + local.get $4 i32.store offset=16 i32.const 0 local.set $1 @@ -61811,7 +62082,7 @@ local.get $6 local.get $1 call $~lib/typedarray/Uint64Array#__get - local.get $5 + local.get $4 local.get $1 call $~lib/typedarray/Uint64Array#__get i64.ne @@ -61889,13 +62160,10 @@ local.get $6 i32.load i32.sub + local.tee $0 local.get $6 i32.load offset=8 - local.get $6 - i32.load offset=4 - local.get $6 - i32.load - i32.sub + local.get $0 i32.add call $~lib/arraybuffer/ArrayBuffer#slice local.tee $3 @@ -61903,7 +62171,7 @@ i32.const 1 global.set $~argumentsLength global.get $~lib/memory/__stack_pointer - local.tee $1 + global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub global.set $~lib/memory/__stack_pointer @@ -61926,26 +62194,25 @@ i32.const 12 i32.const 12 call $~lib/rt/itcms/__new - local.tee $5 + local.tee $4 i32.store - local.get $5 + local.get $4 local.get $3 i32.store - local.get $5 + local.get $4 local.get $3 call $~lib/rt/itcms/__link - local.get $5 + local.get $4 local.get $0 i32.store offset=8 - local.get $5 + local.get $4 local.get $3 i32.store offset=4 global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $1 - local.get $5 + local.get $4 i32.store offset=16 i32.const 0 local.set $1 @@ -61957,7 +62224,7 @@ local.get $6 local.get $1 call $~lib/typedarray/Float32Array#__get - local.get $5 + local.get $4 local.get $1 call $~lib/typedarray/Float32Array#__get f32.ne @@ -62035,13 +62302,10 @@ local.get $6 i32.load i32.sub + local.tee $0 local.get $6 i32.load offset=8 - local.get $6 - i32.load offset=4 - local.get $6 - i32.load - i32.sub + local.get $0 i32.add call $~lib/arraybuffer/ArrayBuffer#slice local.tee $3 @@ -62049,7 +62313,7 @@ i32.const 1 global.set $~argumentsLength global.get $~lib/memory/__stack_pointer - local.tee $1 + global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub global.set $~lib/memory/__stack_pointer @@ -62072,26 +62336,25 @@ i32.const 12 i32.const 13 call $~lib/rt/itcms/__new - local.tee $5 + local.tee $4 i32.store - local.get $5 + local.get $4 local.get $3 i32.store - local.get $5 + local.get $4 local.get $3 call $~lib/rt/itcms/__link - local.get $5 + local.get $4 local.get $0 i32.store offset=8 - local.get $5 + local.get $4 local.get $3 i32.store offset=4 global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $1 - local.get $5 + local.get $4 i32.store offset=16 i32.const 0 local.set $1 @@ -62103,7 +62366,7 @@ local.get $6 local.get $1 call $~lib/typedarray/Float64Array#__get - local.get $5 + local.get $4 local.get $1 call $~lib/typedarray/Float64Array#__get f64.ne @@ -62133,8 +62396,7 @@ global.get $~lib/memory/__stack_pointer i32.const 10 call $~lib/typedarray/Uint8ClampedArray#constructor - local.tee $6 - local.tee $8 + local.tee $7 i32.store offset=24 global.get $~lib/memory/__stack_pointer i32.const 3 @@ -62156,21 +62418,21 @@ global.get $~lib/memory/__stack_pointer i32.const 4 call $~lib/typedarray/Int64Array#constructor - local.tee $7 + local.tee $5 i32.store offset=8 - local.get $7 + local.get $5 i32.const 0 i64.const -10 call $~lib/typedarray/Int64Array#__set - local.get $7 + local.get $5 i32.const 1 i64.const 100 call $~lib/typedarray/Int64Array#__set - local.get $7 + local.get $5 i32.const 2 i64.const 10 call $~lib/typedarray/Int64Array#__set - local.get $7 + local.get $5 i32.const 3 i64.const 300 call $~lib/typedarray/Int64Array#__set @@ -62187,7 +62449,7 @@ i32.const 1 i32.const -1 call $~lib/typedarray/Int32Array#__set - local.get $8 + local.get $7 i32.load offset=8 local.get $1 i32.load offset=8 @@ -62197,11 +62459,11 @@ i32.add i32.lt_s br_if $folding-inner19 - local.get $8 + local.get $7 i32.load offset=4 i32.const 1 i32.add - local.set $5 + local.set $4 local.get $1 i32.load offset=4 local.set $3 @@ -62215,13 +62477,13 @@ local.get $16 i32.gt_s if - local.get $5 + local.get $4 local.get $16 i32.add - local.get $3 local.get $16 i32.const 2 i32.shl + local.get $3 i32.add f32.load local.tee $11 @@ -62247,13 +62509,13 @@ br $for-loop|082 end end - local.get $8 local.get $7 + local.get $5 i32.const 4 call $~lib/typedarray/Uint8ClampedArray#set<~lib/typedarray/Int64Array> i32.const 0 - local.set $4 - local.get $8 + local.set $6 + local.get $7 i32.load offset=8 local.get $0 i32.load offset=8 @@ -62263,7 +62525,7 @@ i32.add i32.lt_s br_if $folding-inner19 - local.get $8 + local.get $7 i32.load offset=4 i32.const 8 i32.add @@ -62276,39 +62538,39 @@ i32.const 2 i32.shr_u local.set $0 - loop $for-loop|086312 + loop $for-loop|086311 local.get $0 - local.get $4 + local.get $6 i32.gt_s if local.get $2 - local.get $4 + local.get $6 i32.add - local.get $1 - local.get $4 + local.get $6 i32.const 2 i32.shl + local.get $1 i32.add i32.load local.tee $3 - i32.const 31 - i32.shr_s - i32.const -1 - i32.xor - local.get $3 i32.const 255 local.get $3 i32.sub i32.const 31 i32.shr_s i32.or + local.get $3 + i32.const 31 + i32.shr_s + i32.const -1 + i32.xor i32.and i32.store8 - local.get $4 + local.get $6 i32.const 1 i32.add - local.set $4 - br $for-loop|086312 + local.set $6 + br $for-loop|086311 end end i32.const 10 @@ -62320,7 +62582,7 @@ global.get $~lib/memory/__stack_pointer local.get $0 i32.store offset=4 - local.get $8 + local.get $7 local.get $0 call $std/typedarray/valuesEqual<~lib/typedarray/Uint8ClampedArray> global.get $~lib/memory/__stack_pointer @@ -62347,27 +62609,27 @@ global.get $~lib/memory/__stack_pointer i32.const 4 call $~lib/typedarray/Int16Array#constructor - local.tee $5 + local.tee $4 i32.store - local.get $5 + local.get $4 i32.const 0 i32.const -10 call $~lib/typedarray/Int16Array#__set - local.get $5 + local.get $4 i32.const 1 i32.const 100 call $~lib/typedarray/Int16Array#__set - local.get $5 + local.get $4 i32.const 2 i32.const 10 call $~lib/typedarray/Int16Array#__set - local.get $5 + local.get $4 i32.const 3 i32.const 300 call $~lib/typedarray/Int16Array#__set i32.const 0 - local.set $4 - local.get $8 + local.set $6 + local.get $7 i32.load offset=8 local.get $0 i32.load offset=8 @@ -62375,7 +62637,7 @@ i32.shr_u i32.lt_s br_if $folding-inner19 - local.get $8 + local.get $7 i32.load offset=4 local.set $3 local.get $0 @@ -62388,17 +62650,17 @@ local.set $1 loop $for-loop|090 local.get $1 - local.get $4 + local.get $6 i32.gt_s if local.get $3 - local.get $4 + local.get $6 i32.add i32.const 255 - local.get $2 - local.get $4 + local.get $6 i32.const 2 i32.shl + local.get $2 i32.add i32.load local.tee $0 @@ -62407,15 +62669,15 @@ i32.gt_u select i32.store8 - local.get $4 + local.get $6 i32.const 1 i32.add - local.set $4 + local.set $6 br $for-loop|090 end end - local.get $8 - local.get $5 + local.get $7 + local.get $4 i32.const 5 call $~lib/typedarray/Uint8ClampedArray#set<~lib/typedarray/Int16Array> i32.const 10 @@ -62427,7 +62689,7 @@ global.get $~lib/memory/__stack_pointer local.get $0 i32.store offset=4 - local.get $6 + local.get $7 local.get $0 call $std/typedarray/valuesEqual<~lib/typedarray/Uint8ClampedArray> i32.const 0 @@ -62467,7 +62729,7 @@ i32.const 0 global.set $~argumentsLength global.get $~lib/memory/__stack_pointer - local.tee $0 + global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub global.set $~lib/memory/__stack_pointer @@ -62502,7 +62764,6 @@ i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $0 local.get $2 i32.store offset=4 local.get $2 @@ -62591,7 +62852,7 @@ i32.const 0 global.set $~argumentsLength global.get $~lib/memory/__stack_pointer - local.tee $0 + global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub global.set $~lib/memory/__stack_pointer @@ -62626,7 +62887,6 @@ i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $0 local.get $2 i32.store offset=4 local.get $2 @@ -62715,7 +62975,7 @@ i32.const 0 global.set $~argumentsLength global.get $~lib/memory/__stack_pointer - local.tee $0 + global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub global.set $~lib/memory/__stack_pointer @@ -62750,7 +63010,6 @@ i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $0 local.get $2 i32.store offset=4 local.get $2 @@ -62839,7 +63098,7 @@ i32.const 0 global.set $~argumentsLength global.get $~lib/memory/__stack_pointer - local.tee $0 + global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub global.set $~lib/memory/__stack_pointer @@ -62876,7 +63135,6 @@ i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $0 local.get $2 i32.store offset=4 local.get $2 @@ -62967,7 +63225,7 @@ i32.const 0 global.set $~argumentsLength global.get $~lib/memory/__stack_pointer - local.tee $0 + global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub global.set $~lib/memory/__stack_pointer @@ -63004,7 +63262,6 @@ i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $0 local.get $2 i32.store offset=4 local.get $2 @@ -63095,7 +63352,7 @@ i32.const 0 global.set $~argumentsLength global.get $~lib/memory/__stack_pointer - local.tee $0 + global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub global.set $~lib/memory/__stack_pointer @@ -63132,7 +63389,6 @@ i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $0 local.get $2 i32.store offset=4 local.get $2 @@ -63223,7 +63479,7 @@ i32.const 0 global.set $~argumentsLength global.get $~lib/memory/__stack_pointer - local.tee $0 + global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub global.set $~lib/memory/__stack_pointer @@ -63260,7 +63516,6 @@ i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $0 local.get $2 i32.store offset=4 local.get $2 @@ -63351,7 +63606,7 @@ i32.const 0 global.set $~argumentsLength global.get $~lib/memory/__stack_pointer - local.tee $0 + global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub global.set $~lib/memory/__stack_pointer @@ -63388,7 +63643,6 @@ i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $0 local.get $2 i32.store offset=4 local.get $2 @@ -63479,7 +63733,7 @@ i32.const 0 global.set $~argumentsLength global.get $~lib/memory/__stack_pointer - local.tee $0 + global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub global.set $~lib/memory/__stack_pointer @@ -63516,7 +63770,6 @@ i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $0 local.get $2 i32.store offset=4 local.get $2 @@ -63607,7 +63860,7 @@ i32.const 0 global.set $~argumentsLength global.get $~lib/memory/__stack_pointer - local.tee $0 + global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub global.set $~lib/memory/__stack_pointer @@ -63644,7 +63897,6 @@ i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $0 local.get $2 i32.store offset=4 local.get $2 @@ -64122,11 +64374,11 @@ local.get $0 i32.const 0 i32.store offset=8 - local.get $1 i32.const 1073741820 local.get $2 i32.shr_u - i32.gt_u + local.get $1 + i32.lt_u if i32.const 1056 i32.const 1104 @@ -64626,6 +64878,7 @@ unreachable end global.get $~lib/memory/__stack_pointer + local.tee $5 i32.const 0 i32.store local.get $0 @@ -64634,6 +64887,23 @@ i32.const 2 i32.shr_u local.set $4 + local.get $5 + i32.const 12 + i32.const 8 + call $~lib/rt/itcms/__new + local.tee $0 + i32.store + local.get $0 + local.get $3 + i32.load + local.tee $5 + i32.store + local.get $0 + local.get $5 + call $~lib/rt/itcms/__link + local.get $0 + local.get $3 + i32.load offset=4 local.get $1 i32.const 0 i32.lt_s @@ -64641,9 +64911,9 @@ local.get $1 local.get $4 i32.add - local.tee $0 + local.tee $1 i32.const 0 - local.get $0 + local.get $1 i32.const 0 i32.gt_s select @@ -64655,25 +64925,7 @@ i32.lt_s select end - local.set $1 - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.const 8 - call $~lib/rt/itcms/__new - local.tee $0 - i32.store - local.get $0 - local.get $3 - i32.load - local.tee $5 - i32.store - local.get $0 - local.get $5 - call $~lib/rt/itcms/__link - local.get $0 - local.get $3 - i32.load offset=4 - local.get $1 + local.tee $1 i32.const 2 i32.shl i32.add @@ -64737,6 +64989,7 @@ unreachable end global.get $~lib/memory/__stack_pointer + local.tee $5 i32.const 0 i32.store local.get $0 @@ -64745,6 +64998,23 @@ i32.const 3 i32.shr_u local.set $4 + local.get $5 + i32.const 12 + i32.const 13 + call $~lib/rt/itcms/__new + local.tee $0 + i32.store + local.get $0 + local.get $3 + i32.load + local.tee $5 + i32.store + local.get $0 + local.get $5 + call $~lib/rt/itcms/__link + local.get $0 + local.get $3 + i32.load offset=4 local.get $1 i32.const 0 i32.lt_s @@ -64752,9 +65022,9 @@ local.get $1 local.get $4 i32.add - local.tee $0 + local.tee $1 i32.const 0 - local.get $0 + local.get $1 i32.const 0 i32.gt_s select @@ -64766,25 +65036,7 @@ i32.lt_s select end - local.set $1 - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.const 13 - call $~lib/rt/itcms/__new - local.tee $0 - i32.store - local.get $0 - local.get $3 - i32.load - local.tee $5 - i32.store - local.get $0 - local.get $5 - call $~lib/rt/itcms/__link - local.get $0 - local.get $3 - i32.load offset=4 - local.get $1 + local.tee $1 i32.const 3 i32.shl i32.add @@ -64962,12 +65214,28 @@ unreachable end global.get $~lib/memory/__stack_pointer + local.tee $5 i32.const 0 i32.store local.get $0 local.tee $3 i32.load offset=8 local.set $4 + local.get $5 + i32.const 12 + i32.const 3 + call $~lib/rt/itcms/__new + local.tee $0 + i32.store + local.get $0 + local.get $3 + i32.load + local.tee $5 + i32.store + local.get $0 + local.get $5 + call $~lib/rt/itcms/__link + local.get $0 local.get $1 i32.const 0 i32.lt_s @@ -64975,9 +65243,9 @@ local.get $1 local.get $4 i32.add - local.tee $0 + local.tee $1 i32.const 0 - local.get $0 + local.get $1 i32.const 0 i32.gt_s select @@ -64989,23 +65257,7 @@ i32.lt_s select end - local.set $1 - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.const 3 - call $~lib/rt/itcms/__new - local.tee $0 - i32.store - local.get $0 - local.get $3 - i32.load - local.tee $5 - i32.store - local.get $0 - local.get $5 - call $~lib/rt/itcms/__link - local.get $0 - local.get $1 + local.tee $1 local.get $3 i32.load offset=4 i32.add @@ -65166,74 +65418,75 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $2 + local.tee $3 i32.const 0 i32.store local.get $0 + local.tee $2 i32.load offset=8 - local.set $3 - local.get $2 + local.set $4 + local.get $3 i32.const 12 i32.const 4 call $~lib/rt/itcms/__new - local.tee $2 + local.tee $0 i32.store - local.get $2 local.get $0 + local.get $2 i32.load - local.tee $4 + local.tee $3 i32.store - local.get $2 - local.get $4 + local.get $0 + local.get $3 call $~lib/rt/itcms/__link - local.get $2 + local.get $0 i32.const 4 - local.get $3 - local.get $3 + local.get $4 + local.get $4 i32.const 4 i32.gt_s select - local.tee $4 - local.get $0 + local.tee $3 + local.get $2 i32.load offset=4 i32.add i32.store offset=4 - local.get $2 + local.get $0 local.get $1 i32.const 0 i32.lt_s if (result i32) local.get $1 - local.get $3 + local.get $4 i32.add - local.tee $0 + local.tee $1 i32.const 0 - local.get $0 + local.get $1 i32.const 0 i32.gt_s select else local.get $1 - local.get $3 + local.get $4 local.get $1 - local.get $3 + local.get $4 i32.lt_s select end - local.tee $0 - local.get $4 - local.get $0 - local.get $4 + local.tee $1 + local.get $3 + local.get $1 + local.get $3 i32.gt_s select - local.get $4 + local.get $3 i32.sub i32.store offset=8 global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $2 + local.get $0 ) (func $~lib/typedarray/Uint8ClampedArray#subarray (param $0 i32) (param $1 i32) (result i32) (local $2 i32) @@ -65255,74 +65508,75 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $2 + local.tee $3 i32.const 0 i32.store local.get $0 + local.tee $2 i32.load offset=8 - local.set $3 - local.get $2 + local.set $4 + local.get $3 i32.const 12 i32.const 5 call $~lib/rt/itcms/__new - local.tee $2 + local.tee $0 i32.store - local.get $2 local.get $0 + local.get $2 i32.load - local.tee $4 + local.tee $3 i32.store - local.get $2 - local.get $4 + local.get $0 + local.get $3 call $~lib/rt/itcms/__link - local.get $2 + local.get $0 i32.const 4 - local.get $3 - local.get $3 + local.get $4 + local.get $4 i32.const 4 i32.gt_s select - local.tee $4 - local.get $0 + local.tee $3 + local.get $2 i32.load offset=4 i32.add i32.store offset=4 - local.get $2 + local.get $0 local.get $1 i32.const 0 i32.lt_s if (result i32) local.get $1 - local.get $3 + local.get $4 i32.add - local.tee $0 + local.tee $1 i32.const 0 - local.get $0 + local.get $1 i32.const 0 i32.gt_s select else local.get $1 - local.get $3 + local.get $4 local.get $1 - local.get $3 + local.get $4 i32.lt_s select end - local.tee $0 - local.get $4 - local.get $0 - local.get $4 + local.tee $1 + local.get $3 + local.get $1 + local.get $3 i32.gt_s select - local.get $4 + local.get $3 i32.sub i32.store offset=8 global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $2 + local.get $0 ) (func $~lib/typedarray/Int16Array#subarray (param $0 i32) (param $1 i32) (result i32) (local $2 i32) @@ -65344,30 +65598,31 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $2 + local.tee $4 i32.const 0 i32.store local.get $0 + local.tee $2 i32.load offset=8 i32.const 1 i32.shr_u local.set $3 - local.get $2 + local.get $4 i32.const 12 i32.const 6 call $~lib/rt/itcms/__new - local.tee $2 + local.tee $0 i32.store - local.get $2 local.get $0 + local.get $2 i32.load local.tee $4 i32.store - local.get $2 + local.get $0 local.get $4 call $~lib/rt/itcms/__link - local.get $2 local.get $0 + local.get $2 i32.load offset=4 i32.const 4 local.get $3 @@ -65375,12 +65630,12 @@ i32.const 4 i32.gt_u select - local.tee $0 + local.tee $2 i32.const 1 i32.shl i32.add i32.store offset=4 - local.get $2 + local.get $0 local.get $1 i32.const 0 i32.lt_s @@ -65403,12 +65658,12 @@ select end local.tee $1 - local.get $0 - local.get $0 + local.get $2 local.get $1 - i32.lt_s + local.get $2 + i32.gt_s select - local.get $0 + local.get $2 i32.sub i32.const 1 i32.shl @@ -65417,7 +65672,7 @@ i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $2 + local.get $0 ) (func $~lib/typedarray/Uint16Array#subarray (param $0 i32) (param $1 i32) (result i32) (local $2 i32) @@ -65439,30 +65694,31 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $2 + local.tee $4 i32.const 0 i32.store local.get $0 + local.tee $2 i32.load offset=8 i32.const 1 i32.shr_u local.set $3 - local.get $2 + local.get $4 i32.const 12 i32.const 7 call $~lib/rt/itcms/__new - local.tee $2 + local.tee $0 i32.store - local.get $2 local.get $0 + local.get $2 i32.load local.tee $4 i32.store - local.get $2 + local.get $0 local.get $4 call $~lib/rt/itcms/__link - local.get $2 local.get $0 + local.get $2 i32.load offset=4 i32.const 4 local.get $3 @@ -65470,12 +65726,12 @@ i32.const 4 i32.gt_u select - local.tee $0 + local.tee $2 i32.const 1 i32.shl i32.add i32.store offset=4 - local.get $2 + local.get $0 local.get $1 i32.const 0 i32.lt_s @@ -65498,12 +65754,12 @@ select end local.tee $1 - local.get $0 - local.get $0 + local.get $2 local.get $1 - i32.lt_s + local.get $2 + i32.gt_s select - local.get $0 + local.get $2 i32.sub i32.const 1 i32.shl @@ -65512,7 +65768,7 @@ i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $2 + local.get $0 ) (func $~lib/typedarray/Uint32Array#subarray (param $0 i32) (param $1 i32) (result i32) (local $2 i32) @@ -65534,30 +65790,31 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $2 + local.tee $4 i32.const 0 i32.store local.get $0 + local.tee $2 i32.load offset=8 i32.const 2 i32.shr_u local.set $3 - local.get $2 + local.get $4 i32.const 12 i32.const 9 call $~lib/rt/itcms/__new - local.tee $2 + local.tee $0 i32.store - local.get $2 local.get $0 + local.get $2 i32.load local.tee $4 i32.store - local.get $2 + local.get $0 local.get $4 call $~lib/rt/itcms/__link - local.get $2 local.get $0 + local.get $2 i32.load offset=4 i32.const 4 local.get $3 @@ -65565,12 +65822,12 @@ i32.const 4 i32.gt_u select - local.tee $0 + local.tee $2 i32.const 2 i32.shl i32.add i32.store offset=4 - local.get $2 + local.get $0 local.get $1 i32.const 0 i32.lt_s @@ -65593,12 +65850,12 @@ select end local.tee $1 - local.get $0 - local.get $0 + local.get $2 local.get $1 - i32.lt_s + local.get $2 + i32.gt_s select - local.get $0 + local.get $2 i32.sub i32.const 2 i32.shl @@ -65607,7 +65864,7 @@ i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $2 + local.get $0 ) (func $~lib/typedarray/Int64Array#subarray (param $0 i32) (param $1 i32) (result i32) (local $2 i32) @@ -65629,30 +65886,31 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $2 + local.tee $4 i32.const 0 i32.store local.get $0 + local.tee $2 i32.load offset=8 i32.const 3 i32.shr_u local.set $3 - local.get $2 + local.get $4 i32.const 12 i32.const 10 call $~lib/rt/itcms/__new - local.tee $2 + local.tee $0 i32.store - local.get $2 local.get $0 + local.get $2 i32.load local.tee $4 i32.store - local.get $2 + local.get $0 local.get $4 call $~lib/rt/itcms/__link - local.get $2 local.get $0 + local.get $2 i32.load offset=4 i32.const 4 local.get $3 @@ -65660,12 +65918,12 @@ i32.const 4 i32.gt_u select - local.tee $0 + local.tee $2 i32.const 3 i32.shl i32.add i32.store offset=4 - local.get $2 + local.get $0 local.get $1 i32.const 0 i32.lt_s @@ -65688,12 +65946,12 @@ select end local.tee $1 - local.get $0 - local.get $0 + local.get $2 local.get $1 - i32.lt_s + local.get $2 + i32.gt_s select - local.get $0 + local.get $2 i32.sub i32.const 3 i32.shl @@ -65702,7 +65960,7 @@ i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $2 + local.get $0 ) (func $~lib/typedarray/Uint64Array#subarray (param $0 i32) (param $1 i32) (result i32) (local $2 i32) @@ -65724,30 +65982,31 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $2 + local.tee $4 i32.const 0 i32.store local.get $0 + local.tee $2 i32.load offset=8 i32.const 3 i32.shr_u local.set $3 - local.get $2 + local.get $4 i32.const 12 i32.const 11 call $~lib/rt/itcms/__new - local.tee $2 + local.tee $0 i32.store - local.get $2 local.get $0 + local.get $2 i32.load local.tee $4 i32.store - local.get $2 + local.get $0 local.get $4 call $~lib/rt/itcms/__link - local.get $2 local.get $0 + local.get $2 i32.load offset=4 i32.const 4 local.get $3 @@ -65755,12 +66014,12 @@ i32.const 4 i32.gt_u select - local.tee $0 + local.tee $2 i32.const 3 i32.shl i32.add i32.store offset=4 - local.get $2 + local.get $0 local.get $1 i32.const 0 i32.lt_s @@ -65783,12 +66042,12 @@ select end local.tee $1 - local.get $0 - local.get $0 + local.get $2 local.get $1 - i32.lt_s + local.get $2 + i32.gt_s select - local.get $0 + local.get $2 i32.sub i32.const 3 i32.shl @@ -65797,7 +66056,7 @@ i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $2 + local.get $0 ) (func $~lib/typedarray/Float32Array#subarray (param $0 i32) (param $1 i32) (result i32) (local $2 i32) @@ -65819,30 +66078,31 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $2 + local.tee $4 i32.const 0 i32.store local.get $0 + local.tee $2 i32.load offset=8 i32.const 2 i32.shr_u local.set $3 - local.get $2 + local.get $4 i32.const 12 i32.const 12 call $~lib/rt/itcms/__new - local.tee $2 + local.tee $0 i32.store - local.get $2 local.get $0 + local.get $2 i32.load local.tee $4 i32.store - local.get $2 + local.get $0 local.get $4 call $~lib/rt/itcms/__link - local.get $2 local.get $0 + local.get $2 i32.load offset=4 i32.const 4 local.get $3 @@ -65850,12 +66110,12 @@ i32.const 4 i32.gt_u select - local.tee $0 + local.tee $2 i32.const 2 i32.shl i32.add i32.store offset=4 - local.get $2 + local.get $0 local.get $1 i32.const 0 i32.lt_s @@ -65878,12 +66138,12 @@ select end local.tee $1 - local.get $0 - local.get $0 + local.get $2 local.get $1 - i32.lt_s + local.get $2 + i32.gt_s select - local.get $0 + local.get $2 i32.sub i32.const 2 i32.shl @@ -65892,7 +66152,7 @@ i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $2 + local.get $0 ) (func $~lib/util/number/itoa32 (param $0 i32) (result i32) (local $1 i32) @@ -66039,8 +66299,6 @@ i32.shr_u local.tee $2 local.get $2 - i32.const 0 - i32.gt_s select local.tee $3 local.get $1 @@ -66058,22 +66316,23 @@ local.tee $1 local.get $1 local.get $3 - i32.lt_s + i32.gt_s select i32.const 1 i32.shl - local.tee $4 + local.set $4 local.get $3 local.get $1 local.get $1 local.get $3 - i32.gt_s + i32.lt_s select i32.const 1 i32.shl - local.tee $1 - i32.sub local.tee $3 + local.get $4 + i32.sub + local.tee $1 i32.eqz if global.get $~lib/memory/__stack_pointer @@ -66084,12 +66343,12 @@ return end i32.const 0 - local.get $4 local.get $2 i32.const 1 i32.shl + local.get $3 i32.eq - local.get $1 + local.get $4 select if global.get $~lib/memory/__stack_pointer @@ -66100,16 +66359,16 @@ return end global.get $~lib/memory/__stack_pointer - local.get $3 + local.get $1 i32.const 1 call $~lib/rt/itcms/__new local.tee $2 i32.store local.get $2 local.get $0 - local.get $1 + local.get $4 i32.add - local.get $3 + local.get $1 call $~lib/memory/memory.copy global.get $~lib/memory/__stack_pointer i32.const 4 @@ -66213,334 +66472,6 @@ global.set $~lib/memory/__stack_pointer local.get $2 ) - (func $~lib/util/string/joinIntegerArray (param $0 i32) (param $1 i32) (result i32) - (local $2 i32) - (local $3 i64) - (local $4 i32) - (local $5 i32) - (local $6 i32) - (local $7 i32) - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.sub - global.set $~lib/memory/__stack_pointer - block $folding-inner0 - global.get $~lib/memory/__stack_pointer - i32.const 16628 - i32.lt_s - br_if $folding-inner0 - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store - local.get $1 - i32.const 1 - i32.sub - local.tee $7 - i32.const 0 - i32.lt_s - if - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - i32.const 7776 - return - end - local.get $7 - i32.eqz - if - local.get $0 - i64.load - i64.extend32_s - local.set $3 - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.sub - global.set $~lib/memory/__stack_pointer - global.get $~lib/memory/__stack_pointer - i32.const 16628 - i32.lt_s - br_if $folding-inner0 - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store - block $__inlined_func$~lib/util/number/itoa64 - local.get $3 - i64.eqz - if - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - i32.const 8000 - local.set $1 - br $__inlined_func$~lib/util/number/itoa64 - end - i64.const 0 - local.get $3 - i64.sub - local.get $3 - local.get $3 - i64.const 63 - i64.shr_u - i32.wrap_i64 - local.tee $4 - select - local.tee $3 - i64.const 4294967295 - i64.le_u - if - global.get $~lib/memory/__stack_pointer - local.get $3 - i32.wrap_i64 - local.tee $5 - local.tee $0 - i32.const 100000 - i32.lt_u - if (result i32) - local.get $0 - i32.const 100 - i32.lt_u - if (result i32) - local.get $0 - i32.const 10 - i32.ge_u - i32.const 1 - i32.add - else - local.get $0 - i32.const 10000 - i32.ge_u - i32.const 3 - i32.add - local.get $0 - i32.const 1000 - i32.ge_u - i32.add - end - else - local.get $0 - i32.const 10000000 - i32.lt_u - if (result i32) - local.get $0 - i32.const 1000000 - i32.ge_u - i32.const 6 - i32.add - else - local.get $0 - i32.const 1000000000 - i32.ge_u - i32.const 8 - i32.add - local.get $0 - i32.const 100000000 - i32.ge_u - i32.add - end - end - local.get $4 - i32.add - local.tee $0 - i32.const 1 - i32.shl - i32.const 1 - call $~lib/rt/itcms/__new - local.tee $1 - i32.store - local.get $1 - local.get $5 - local.get $0 - call $~lib/util/number/utoa32_dec_lut - else - global.get $~lib/memory/__stack_pointer - local.get $3 - i64.const 1000000000000000 - i64.lt_u - if (result i32) - local.get $3 - i64.const 1000000000000 - i64.lt_u - if (result i32) - local.get $3 - i64.const 100000000000 - i64.ge_u - i32.const 10 - i32.add - local.get $3 - i64.const 10000000000 - i64.ge_u - i32.add - else - local.get $3 - i64.const 100000000000000 - i64.ge_u - i32.const 13 - i32.add - local.get $3 - i64.const 10000000000000 - i64.ge_u - i32.add - end - else - local.get $3 - i64.const 100000000000000000 - i64.lt_u - if (result i32) - local.get $3 - i64.const 10000000000000000 - i64.ge_u - i32.const 16 - i32.add - else - local.get $3 - i64.const -8446744073709551616 - i64.ge_u - i32.const 18 - i32.add - local.get $3 - i64.const 1000000000000000000 - i64.ge_u - i32.add - end - end - local.get $4 - i32.add - local.tee $0 - i32.const 1 - i32.shl - i32.const 1 - call $~lib/rt/itcms/__new - local.tee $1 - i32.store - local.get $1 - local.get $3 - local.get $0 - call $~lib/util/number/utoa64_dec_lut - end - local.get $4 - if - local.get $1 - i32.const 45 - i32.store16 - end - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - end - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $1 - return - end - global.get $~lib/memory/__stack_pointer - local.get $7 - i32.const 9580 - i32.load - i32.const 1 - i32.shr_u - local.tee $4 - i32.const 21 - i32.add - i32.mul - i32.const 21 - i32.add - local.tee $1 - i32.const 1 - i32.shl - i32.const 1 - call $~lib/rt/itcms/__new - local.tee $6 - i32.store - loop $for-loop|0 - local.get $5 - local.get $7 - i32.lt_s - if - local.get $6 - local.get $2 - i32.const 1 - i32.shl - i32.add - local.get $0 - local.get $5 - i32.const 3 - i32.shl - i32.add - i64.load - call $~lib/util/number/itoa_buffered - local.get $2 - i32.add - local.set $2 - local.get $4 - if - local.get $6 - local.get $2 - i32.const 1 - i32.shl - i32.add - i32.const 9584 - local.get $4 - i32.const 1 - i32.shl - call $~lib/memory/memory.copy - local.get $2 - local.get $4 - i32.add - local.set $2 - end - local.get $5 - i32.const 1 - i32.add - local.set $5 - br $for-loop|0 - end - end - local.get $1 - local.get $6 - local.get $2 - i32.const 1 - i32.shl - i32.add - local.get $0 - local.get $7 - i32.const 3 - i32.shl - i32.add - i64.load - call $~lib/util/number/itoa_buffered - local.get $2 - i32.add - local.tee $0 - i32.gt_s - if - local.get $6 - local.get $0 - call $~lib/string/String#substring - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - return - end - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $6 - return - end - i32.const 33040 - i32.const 33088 - i32.const 1 - i32.const 1 - call $~lib/builtins/abort - unreachable - ) (func $~lib/util/number/dtoa (param $0 f64) (result i32) (local $1 i32) (local $2 i32) diff --git a/tests/compiler/std/uri.optimized.wat b/tests/compiler/std/uri.optimized.wat index a9fae139e6..9dfea1e60b 100644 --- a/tests/compiler/std/uri.optimized.wat +++ b/tests/compiler/std/uri.optimized.wat @@ -218,8 +218,8 @@ i32.and i32.eq if - local.get $0 global.get $~lib/rt/itcms/iter + local.get $0 i32.eq if local.get $0 @@ -279,11 +279,11 @@ local.get $1 i32.store offset=8 local.get $1 - local.get $2 local.get $1 i32.load offset=4 i32.const 3 i32.and + local.get $2 i32.or i32.store offset=4 end @@ -297,10 +297,10 @@ if (result i32) i32.const 1 else - local.get $1 i32.const 4336 i32.load - i32.gt_u + local.get $1 + i32.lt_u if i32.const 1376 i32.const 1440 @@ -337,11 +337,11 @@ local.get $1 i32.store offset=8 local.get $1 - local.get $0 local.get $1 i32.load offset=4 i32.const 3 i32.and + local.get $0 i32.or i32.store offset=4 local.get $2 @@ -480,22 +480,22 @@ local.get $4 i32.eqz if - local.get $0 local.get $3 i32.const 2 i32.shl + local.get $0 i32.add - local.tee $1 + local.tee $4 i32.load offset=4 i32.const -2 local.get $2 i32.rotl i32.and - local.set $2 + local.set $1 + local.get $4 local.get $1 - local.get $2 i32.store offset=4 - local.get $2 + local.get $1 i32.eqz if local.get $0 @@ -743,10 +743,10 @@ i32.shl i32.or i32.store - local.get $0 local.get $5 i32.const 2 i32.shl + local.get $0 i32.add local.tee $0 local.get $0 @@ -786,11 +786,11 @@ i32.load offset=1568 local.tee $2 if + local.get $1 local.get $2 i32.const 4 i32.add - local.get $1 - i32.gt_u + i32.lt_u if i32.const 0 i32.const 1520 @@ -814,11 +814,11 @@ local.set $1 end else + local.get $1 local.get $0 i32.const 1572 i32.add - local.get $1 - i32.gt_u + i32.lt_u if i32.const 0 i32.const 1520 @@ -1105,13 +1105,13 @@ if local.get $0 i32.load offset=4 + local.tee $1 i32.const -4 i32.and global.set $~lib/rt/itcms/iter global.get $~lib/rt/itcms/white i32.eqz - local.get $0 - i32.load offset=4 + local.get $1 i32.const 3 i32.and i32.ne @@ -1198,10 +1198,10 @@ end global.get $~lib/rt/itcms/toSpace local.tee $0 - local.get $0 + local.tee $1 + local.get $1 i32.store offset=4 - global.get $~lib/rt/itcms/toSpace - local.tee $0 + local.get $0 local.get $0 i32.store offset=8 i32.const 0 @@ -1450,7 +1450,6 @@ i32.const 536870910 i32.lt_u if (result i32) - local.get $3 i32.const 1 i32.const 27 local.get $3 @@ -1459,6 +1458,7 @@ i32.shl i32.const 1 i32.sub + local.get $3 i32.add else local.get $3 @@ -1519,12 +1519,12 @@ unreachable end end - local.get $3 local.get $2 i32.load i32.const -4 i32.and - i32.gt_u + local.get $3 + i32.lt_u if i32.const 0 i32.const 1520 @@ -1562,10 +1562,10 @@ i32.ge_u if local.get $2 - local.get $3 local.get $5 i32.const 2 i32.and + local.get $3 i32.or i32.store local.get $3 @@ -1592,18 +1592,13 @@ local.get $2 i32.const 4 i32.add - local.tee $3 local.get $2 i32.load i32.const -4 i32.and i32.add + local.tee $3 local.get $3 - local.get $2 - i32.load - i32.const -4 - i32.and - i32.add i32.load i32.const -3 i32.and @@ -1620,19 +1615,19 @@ i32.load offset=8 local.set $3 local.get $2 - local.get $1 global.get $~lib/rt/itcms/white + local.get $1 i32.or i32.store offset=4 local.get $2 local.get $3 i32.store offset=8 local.get $3 - local.get $2 local.get $3 i32.load offset=4 i32.const 3 i32.and + local.get $2 i32.or i32.store offset=4 local.get $1 @@ -1840,17 +1835,17 @@ select if local.get $0 - local.tee $3 + local.tee $4 i32.const 1 i32.add local.set $0 local.get $1 - local.tee $4 + local.tee $3 i32.const 1 i32.add local.set $1 - local.get $3 local.get $4 + local.get $3 i32.load8_u i32.store8 local.get $2 @@ -1996,19 +1991,19 @@ local.get $0 i32.const 2 i32.add - local.tee $3 + local.tee $4 i32.const 1 i32.add local.set $0 local.get $1 i32.const 2 i32.add - local.tee $4 + local.tee $3 i32.const 1 i32.add local.set $1 - local.get $3 local.get $4 + local.get $3 i32.load8_u i32.store8 local.get $2 @@ -2023,7 +2018,7 @@ local.get $0 local.get $1 i32.load offset=1 - local.tee $3 + local.tee $4 i32.const 8 i32.shl local.get $5 @@ -2034,10 +2029,10 @@ local.get $0 local.get $1 i32.load offset=5 - local.tee $4 + local.tee $3 i32.const 8 i32.shl - local.get $3 + local.get $4 i32.const 24 i32.shr_u i32.or @@ -2045,10 +2040,10 @@ local.get $0 local.get $1 i32.load offset=9 - local.tee $3 + local.tee $4 i32.const 8 i32.shl - local.get $4 + local.get $3 i32.const 24 i32.shr_u i32.or @@ -2059,7 +2054,7 @@ local.tee $5 i32.const 8 i32.shl - local.get $3 + local.get $4 i32.const 24 i32.shr_u i32.or @@ -2114,7 +2109,7 @@ local.get $0 local.get $1 i32.load offset=2 - local.tee $3 + local.tee $4 i32.const 16 i32.shl local.get $5 @@ -2125,10 +2120,10 @@ local.get $0 local.get $1 i32.load offset=6 - local.tee $4 + local.tee $3 i32.const 16 i32.shl - local.get $3 + local.get $4 i32.const 16 i32.shr_u i32.or @@ -2136,10 +2131,10 @@ local.get $0 local.get $1 i32.load offset=10 - local.tee $3 + local.tee $4 i32.const 16 i32.shl - local.get $4 + local.get $3 i32.const 16 i32.shr_u i32.or @@ -2150,7 +2145,7 @@ local.tee $5 i32.const 16 i32.shl - local.get $3 + local.get $4 i32.const 16 i32.shr_u i32.or @@ -2176,17 +2171,17 @@ i32.load local.set $5 local.get $0 - local.tee $3 + local.tee $4 i32.const 1 i32.add local.set $0 local.get $1 - local.tee $4 + local.tee $3 i32.const 1 i32.add local.set $1 - local.get $3 local.get $4 + local.get $3 i32.load8_u i32.store8 local.get $2 @@ -2201,7 +2196,7 @@ local.get $0 local.get $1 i32.load offset=3 - local.tee $3 + local.tee $4 i32.const 24 i32.shl local.get $5 @@ -2212,10 +2207,10 @@ local.get $0 local.get $1 i32.load offset=7 - local.tee $4 + local.tee $3 i32.const 24 i32.shl - local.get $3 + local.get $4 i32.const 8 i32.shr_u i32.or @@ -2223,10 +2218,10 @@ local.get $0 local.get $1 i32.load offset=11 - local.tee $3 + local.tee $4 i32.const 24 i32.shl - local.get $4 + local.get $3 i32.const 8 i32.shr_u i32.or @@ -2237,7 +2232,7 @@ local.tee $5 i32.const 24 i32.shl - local.get $3 + local.get $4 i32.const 8 i32.shr_u i32.or @@ -2268,145 +2263,137 @@ i32.load8_u i32.store8 local.get $0 - local.tee $4 - i32.const 2 - i32.add - local.set $0 local.get $1 - local.tee $3 - i32.const 2 - i32.add - local.set $1 - local.get $4 - local.get $3 i32.load8_u offset=1 i32.store8 offset=1 local.get $0 - local.get $1 - i32.load8_u - i32.store8 - local.get $0 - local.tee $4 i32.const 2 i32.add - local.set $0 + local.tee $4 local.get $1 + i32.const 2 + i32.add local.tee $3 + i32.load8_u + i32.store8 + local.get $3 + local.tee $0 i32.const 2 i32.add - local.set $1 + local.set $3 local.get $4 - local.get $3 + local.get $0 i32.load8_u offset=1 i32.store8 offset=1 - local.get $0 - local.get $1 + local.get $4 + i32.const 2 + i32.add + local.tee $1 + local.get $3 i32.load8_u i32.store8 - local.get $0 + local.get $1 local.tee $4 i32.const 2 i32.add - local.set $0 - local.get $1 - local.tee $3 + local.set $1 + local.get $3 + local.tee $0 i32.const 2 i32.add - local.set $1 + local.set $3 local.get $4 - local.get $3 + local.get $0 i32.load8_u offset=1 i32.store8 offset=1 - local.get $0 local.get $1 + local.get $3 i32.load8_u i32.store8 - local.get $0 + local.get $1 local.tee $4 i32.const 2 i32.add - local.set $0 - local.get $1 - local.tee $3 + local.set $1 + local.get $3 + local.tee $0 i32.const 2 i32.add - local.set $1 + local.set $3 local.get $4 - local.get $3 + local.get $0 i32.load8_u offset=1 i32.store8 offset=1 - local.get $0 local.get $1 + local.get $3 i32.load8_u i32.store8 - local.get $0 + local.get $1 local.tee $4 i32.const 2 i32.add - local.set $0 - local.get $1 - local.tee $3 + local.set $1 + local.get $3 + local.tee $0 i32.const 2 i32.add - local.set $1 + local.set $3 local.get $4 - local.get $3 + local.get $0 i32.load8_u offset=1 i32.store8 offset=1 - local.get $0 local.get $1 + local.get $3 i32.load8_u i32.store8 - local.get $0 + local.get $1 local.tee $4 i32.const 2 i32.add - local.set $0 - local.get $1 - local.tee $3 + local.set $1 + local.get $3 + local.tee $0 i32.const 2 i32.add - local.set $1 + local.set $3 local.get $4 - local.get $3 + local.get $0 i32.load8_u offset=1 i32.store8 offset=1 - local.get $0 local.get $1 + local.get $3 i32.load8_u i32.store8 - local.get $0 + local.get $1 local.tee $4 i32.const 2 i32.add - local.set $0 - local.get $1 - local.tee $3 + local.set $1 + local.get $3 + local.tee $0 i32.const 2 i32.add - local.set $1 + local.set $3 local.get $4 - local.get $3 + local.get $0 i32.load8_u offset=1 i32.store8 offset=1 - local.get $0 local.get $1 + local.get $3 i32.load8_u i32.store8 - local.get $0 - local.tee $4 + local.get $1 i32.const 2 i32.add local.set $0 local.get $1 - local.tee $3 - i32.const 2 - i32.add - local.set $1 - local.get $4 local.get $3 i32.load8_u offset=1 i32.store8 offset=1 + local.get $3 + i32.const 2 + i32.add + local.set $1 end local.get $2 i32.const 8 @@ -2417,73 +2404,65 @@ i32.load8_u i32.store8 local.get $0 - local.tee $4 - i32.const 2 - i32.add - local.set $0 local.get $1 - local.tee $3 - i32.const 2 - i32.add - local.set $1 - local.get $4 - local.get $3 i32.load8_u offset=1 i32.store8 offset=1 local.get $0 - local.get $1 - i32.load8_u - i32.store8 - local.get $0 - local.tee $4 i32.const 2 i32.add - local.set $0 + local.tee $4 local.get $1 + i32.const 2 + i32.add local.tee $3 + i32.load8_u + i32.store8 + local.get $3 + local.tee $0 i32.const 2 i32.add - local.set $1 + local.set $3 local.get $4 - local.get $3 + local.get $0 i32.load8_u offset=1 i32.store8 offset=1 - local.get $0 - local.get $1 + local.get $4 + i32.const 2 + i32.add + local.tee $1 + local.get $3 i32.load8_u i32.store8 - local.get $0 + local.get $1 local.tee $4 i32.const 2 i32.add - local.set $0 - local.get $1 - local.tee $3 + local.set $1 + local.get $3 + local.tee $0 i32.const 2 i32.add - local.set $1 + local.set $3 local.get $4 - local.get $3 + local.get $0 i32.load8_u offset=1 i32.store8 offset=1 - local.get $0 local.get $1 + local.get $3 i32.load8_u i32.store8 - local.get $0 - local.tee $4 + local.get $1 i32.const 2 i32.add local.set $0 local.get $1 - local.tee $3 - i32.const 2 - i32.add - local.set $1 - local.get $4 local.get $3 i32.load8_u offset=1 i32.store8 offset=1 + local.get $3 + i32.const 2 + i32.add + local.set $1 end local.get $2 i32.const 4 @@ -2494,30 +2473,20 @@ i32.load8_u i32.store8 local.get $0 - local.tee $4 - i32.const 2 - i32.add - local.set $0 local.get $1 - local.tee $3 - i32.const 2 - i32.add - local.set $1 - local.get $4 - local.get $3 i32.load8_u offset=1 i32.store8 offset=1 local.get $0 - local.get $1 - i32.load8_u - i32.store8 - local.get $0 - local.tee $4 i32.const 2 i32.add - local.set $0 + local.tee $4 local.get $1 + i32.const 2 + i32.add local.tee $3 + i32.load8_u + i32.store8 + local.get $3 i32.const 2 i32.add local.set $1 @@ -2525,6 +2494,10 @@ local.get $3 i32.load8_u offset=1 i32.store8 offset=1 + local.get $4 + i32.const 2 + i32.add + local.set $0 end local.get $2 i32.const 2 @@ -3400,10 +3373,10 @@ local.get $3 i32.gt_u if (result i32) - local.get $0 local.get $3 i32.const 1 i32.shl + local.get $0 i32.add i32.load16_u local.tee $5 @@ -3427,10 +3400,10 @@ local.get $6 local.get $8 i32.add - local.get $0 local.get $4 i32.const 1 i32.shl + local.get $0 i32.add local.get $3 local.get $4 @@ -3461,24 +3434,25 @@ if (result i32) i32.const 1 else - local.get $0 local.get $3 i32.const 1 i32.add i32.const 1 i32.shl + local.get $0 i32.add local.tee $4 - i32.load16_u offset=2 + i32.load16_u local.set $5 local.get $4 - i32.load16_u - local.tee $4 + i32.load16_u offset=2 + local.set $4 + local.get $5 i32.const 48 i32.sub i32.const 10 i32.lt_u - local.get $4 + local.get $5 i32.const 32 i32.or i32.const 97 @@ -3487,12 +3461,12 @@ i32.lt_u i32.or if (result i32) - local.get $5 + local.get $4 i32.const 48 i32.sub i32.const 10 i32.lt_u - local.get $5 + local.get $4 i32.const 32 i32.or i32.const 97 @@ -3504,14 +3478,14 @@ i32.const 0 end if (result i32) - local.get $5 + local.get $4 i32.const 32 i32.or i32.const 39 i32.rem_u i32.const 9 i32.sub - local.get $4 + local.get $5 i32.const 32 i32.or i32.const 39 @@ -3594,7 +3568,6 @@ i32.sub i32.shl local.set $10 - local.get $5 i32.const 128 local.get $9 i32.shr_u @@ -3603,6 +3576,7 @@ i32.const 0 local.get $9 select + local.get $5 i32.and local.set $5 loop $while-continue|2 @@ -3620,10 +3594,10 @@ if (result i32) i32.const 1 else - local.get $0 local.get $3 i32.const 1 i32.shl + local.get $0 i32.add i32.load16_u i32.const 37 @@ -3632,24 +3606,25 @@ if (result i32) i32.const 1 else - local.get $0 local.get $3 i32.const 1 i32.add i32.const 1 i32.shl + local.get $0 i32.add local.tee $7 - i32.load16_u offset=2 + i32.load16_u local.set $4 local.get $7 - i32.load16_u - local.tee $7 + i32.load16_u offset=2 + local.set $7 + local.get $4 i32.const 48 i32.sub i32.const 10 i32.lt_u - local.get $7 + local.get $4 i32.const 32 i32.or i32.const 97 @@ -3658,12 +3633,12 @@ i32.lt_u i32.or if (result i32) - local.get $4 + local.get $7 i32.const 48 i32.sub i32.const 10 i32.lt_u - local.get $4 + local.get $7 i32.const 32 i32.or i32.const 97 @@ -3675,14 +3650,14 @@ i32.const 0 end if (result i32) - local.get $4 + local.get $7 i32.const 32 i32.or i32.const 39 i32.rem_u i32.const 9 i32.sub - local.get $7 + local.get $4 i32.const 32 i32.or i32.const 39 diff --git a/tests/compiler/super-inline.optimized.wat b/tests/compiler/super-inline.optimized.wat index 4d8966db47..5f28c3de51 100644 --- a/tests/compiler/super-inline.optimized.wat +++ b/tests/compiler/super-inline.optimized.wat @@ -111,8 +111,8 @@ i32.and i32.eq if - local.get $0 global.get $~lib/rt/itcms/iter + local.get $0 i32.eq if local.get $0 @@ -172,11 +172,11 @@ local.get $1 i32.store offset=8 local.get $1 - local.get $2 local.get $1 i32.load offset=4 i32.const 3 i32.and + local.get $2 i32.or i32.store offset=4 end @@ -190,10 +190,10 @@ if (result i32) i32.const 1 else - local.get $1 i32.const 1440 i32.load - i32.gt_u + local.get $1 + i32.lt_u if i32.const 1248 i32.const 1312 @@ -230,11 +230,11 @@ local.get $1 i32.store offset=8 local.get $1 - local.get $0 local.get $1 i32.load offset=4 i32.const 3 i32.and + local.get $0 i32.or i32.store offset=4 local.get $2 @@ -373,22 +373,22 @@ local.get $4 i32.eqz if - local.get $0 local.get $3 i32.const 2 i32.shl + local.get $0 i32.add - local.tee $1 + local.tee $4 i32.load offset=4 i32.const -2 local.get $2 i32.rotl i32.and - local.set $2 + local.set $1 + local.get $4 local.get $1 - local.get $2 i32.store offset=4 - local.get $2 + local.get $1 i32.eqz if local.get $0 @@ -636,10 +636,10 @@ i32.shl i32.or i32.store - local.get $0 local.get $5 i32.const 2 i32.shl + local.get $0 i32.add local.tee $0 local.get $0 @@ -679,11 +679,11 @@ i32.load offset=1568 local.tee $2 if + local.get $1 local.get $2 i32.const 4 i32.add - local.get $1 - i32.gt_u + i32.lt_u if i32.const 0 i32.const 1392 @@ -707,11 +707,11 @@ local.set $1 end else + local.get $1 local.get $0 i32.const 1572 i32.add - local.get $1 - i32.gt_u + i32.lt_u if i32.const 0 i32.const 1392 @@ -998,13 +998,13 @@ if local.get $0 i32.load offset=4 + local.tee $1 i32.const -4 i32.and global.set $~lib/rt/itcms/iter global.get $~lib/rt/itcms/white i32.eqz - local.get $0 - i32.load offset=4 + local.get $1 i32.const 3 i32.and i32.ne @@ -1091,10 +1091,10 @@ end global.get $~lib/rt/itcms/toSpace local.tee $0 - local.get $0 + local.tee $1 + local.get $1 i32.store offset=4 - global.get $~lib/rt/itcms/toSpace - local.tee $0 + local.get $0 local.get $0 i32.store offset=8 i32.const 0 @@ -1114,11 +1114,11 @@ i32.and local.tee $2 if (result i32) - local.get $0 local.get $2 i32.ctz i32.const 2 i32.shl + local.get $0 i32.add i32.load offset=96 else @@ -1128,12 +1128,12 @@ i32.and local.tee $1 if (result i32) - local.get $0 local.get $1 i32.ctz local.tee $1 i32.const 2 i32.shl + local.get $0 i32.add i32.load offset=4 local.tee $2 @@ -1146,7 +1146,6 @@ call $~lib/builtins/abort unreachable end - local.get $0 local.get $2 i32.ctz local.get $1 @@ -1155,6 +1154,7 @@ i32.add i32.const 2 i32.shl + local.get $0 i32.add i32.load offset=96 else @@ -1336,18 +1336,13 @@ local.get $1 i32.const 4 i32.add - local.tee $2 local.get $1 i32.load i32.const -4 i32.and i32.add + local.tee $2 local.get $2 - local.get $1 - i32.load - i32.const -4 - i32.and - i32.add i32.load i32.const -3 i32.and @@ -1364,19 +1359,19 @@ i32.load offset=8 local.set $2 local.get $1 - local.get $0 global.get $~lib/rt/itcms/white + local.get $0 i32.or i32.store offset=4 local.get $1 local.get $2 i32.store offset=8 local.get $2 - local.get $1 local.get $2 i32.load offset=4 i32.const 3 i32.and + local.get $1 i32.or i32.store offset=4 local.get $0 diff --git a/tests/compiler/templateliteral.optimized.wat b/tests/compiler/templateliteral.optimized.wat index 50264db820..fb837cd23e 100644 --- a/tests/compiler/templateliteral.optimized.wat +++ b/tests/compiler/templateliteral.optimized.wat @@ -1,7 +1,7 @@ (module - (type $none_=>_none (func)) (type $i32_i32_i32_=>_none (func (param i32 i32 i32))) (type $i32_i32_=>_i32 (func (param i32 i32) (result i32))) + (type $none_=>_none (func)) (type $i32_=>_i32 (func (param i32) (result i32))) (type $i32_=>_none (func (param i32))) (type $i32_i32_=>_none (func (param i32 i32))) @@ -297,8 +297,8 @@ (local $1 i32) (local $2 i32) (local $3 i32) - local.get $0 global.get $~lib/rt/itcms/iter + local.get $0 i32.eq if local.get $0 @@ -358,11 +358,11 @@ local.get $1 i32.store offset=8 local.get $1 - local.get $2 local.get $1 i32.load offset=4 i32.const 3 i32.and + local.get $2 i32.or i32.store offset=4 end @@ -376,10 +376,10 @@ if (result i32) i32.const 1 else - local.get $1 i32.const 5536 i32.load - i32.gt_u + local.get $1 + i32.lt_u if i32.const 1408 i32.const 1472 @@ -416,11 +416,11 @@ local.get $1 i32.store offset=8 local.get $1 - local.get $0 local.get $1 i32.load offset=4 i32.const 3 i32.and + local.get $0 i32.or i32.store offset=4 local.get $2 @@ -578,22 +578,22 @@ local.get $4 i32.eqz if - local.get $0 local.get $3 i32.const 2 i32.shl + local.get $0 i32.add - local.tee $1 + local.tee $4 i32.load offset=4 i32.const -2 local.get $2 i32.rotl i32.and - local.set $2 + local.set $1 + local.get $4 local.get $1 - local.get $2 i32.store offset=4 - local.get $2 + local.get $1 i32.eqz if local.get $0 @@ -841,10 +841,10 @@ i32.shl i32.or i32.store - local.get $0 local.get $5 i32.const 2 i32.shl + local.get $0 i32.add local.tee $0 local.get $0 @@ -884,11 +884,11 @@ i32.load offset=1568 local.tee $2 if + local.get $1 local.get $2 i32.const 4 i32.add - local.get $1 - i32.gt_u + i32.lt_u if i32.const 0 i32.const 1552 @@ -912,11 +912,11 @@ local.set $1 end else + local.get $1 local.get $0 i32.const 1572 i32.add - local.get $1 - i32.gt_u + i32.lt_u if i32.const 0 i32.const 1552 @@ -1203,13 +1203,13 @@ if local.get $0 i32.load offset=4 + local.tee $1 i32.const -4 i32.and global.set $~lib/rt/itcms/iter global.get $~lib/rt/itcms/white i32.eqz - local.get $0 - i32.load offset=4 + local.get $1 i32.const 3 i32.and i32.ne @@ -1296,10 +1296,10 @@ end global.get $~lib/rt/itcms/toSpace local.tee $0 - local.get $0 + local.tee $1 + local.get $1 i32.store offset=4 - global.get $~lib/rt/itcms/toSpace - local.tee $0 + local.get $0 local.get $0 i32.store offset=8 i32.const 0 @@ -1548,7 +1548,6 @@ i32.const 536870910 i32.lt_u if (result i32) - local.get $3 i32.const 1 i32.const 27 local.get $3 @@ -1557,6 +1556,7 @@ i32.shl i32.const 1 i32.sub + local.get $3 i32.add else local.get $3 @@ -1617,12 +1617,12 @@ unreachable end end - local.get $3 local.get $2 i32.load i32.const -4 i32.and - i32.gt_u + local.get $3 + i32.lt_u if i32.const 0 i32.const 1552 @@ -1660,10 +1660,10 @@ i32.ge_u if local.get $2 - local.get $3 local.get $5 i32.const 2 i32.and + local.get $3 i32.or i32.store local.get $3 @@ -1690,18 +1690,13 @@ local.get $2 i32.const 4 i32.add - local.tee $3 local.get $2 i32.load i32.const -4 i32.and i32.add + local.tee $3 local.get $3 - local.get $2 - i32.load - i32.const -4 - i32.and - i32.add i32.load i32.const -3 i32.and @@ -1718,19 +1713,19 @@ i32.load offset=8 local.set $3 local.get $2 - local.get $1 global.get $~lib/rt/itcms/white + local.get $1 i32.or i32.store offset=4 local.get $2 local.get $3 i32.store offset=8 local.get $3 - local.get $2 local.get $3 i32.load offset=4 i32.const 3 i32.and + local.get $2 i32.or i32.store offset=4 local.get $1 @@ -1938,17 +1933,17 @@ select if local.get $0 - local.tee $3 + local.tee $4 i32.const 1 i32.add local.set $0 local.get $1 - local.tee $4 + local.tee $3 i32.const 1 i32.add local.set $1 - local.get $3 local.get $4 + local.get $3 i32.load8_u i32.store8 local.get $2 @@ -2094,19 +2089,19 @@ local.get $0 i32.const 2 i32.add - local.tee $3 + local.tee $4 i32.const 1 i32.add local.set $0 local.get $1 i32.const 2 i32.add - local.tee $4 + local.tee $3 i32.const 1 i32.add local.set $1 - local.get $3 local.get $4 + local.get $3 i32.load8_u i32.store8 local.get $2 @@ -2121,7 +2116,7 @@ local.get $0 local.get $1 i32.load offset=1 - local.tee $3 + local.tee $4 i32.const 8 i32.shl local.get $5 @@ -2132,10 +2127,10 @@ local.get $0 local.get $1 i32.load offset=5 - local.tee $4 + local.tee $3 i32.const 8 i32.shl - local.get $3 + local.get $4 i32.const 24 i32.shr_u i32.or @@ -2143,10 +2138,10 @@ local.get $0 local.get $1 i32.load offset=9 - local.tee $3 + local.tee $4 i32.const 8 i32.shl - local.get $4 + local.get $3 i32.const 24 i32.shr_u i32.or @@ -2157,7 +2152,7 @@ local.tee $5 i32.const 8 i32.shl - local.get $3 + local.get $4 i32.const 24 i32.shr_u i32.or @@ -2212,7 +2207,7 @@ local.get $0 local.get $1 i32.load offset=2 - local.tee $3 + local.tee $4 i32.const 16 i32.shl local.get $5 @@ -2223,10 +2218,10 @@ local.get $0 local.get $1 i32.load offset=6 - local.tee $4 + local.tee $3 i32.const 16 i32.shl - local.get $3 + local.get $4 i32.const 16 i32.shr_u i32.or @@ -2234,10 +2229,10 @@ local.get $0 local.get $1 i32.load offset=10 - local.tee $3 + local.tee $4 i32.const 16 i32.shl - local.get $4 + local.get $3 i32.const 16 i32.shr_u i32.or @@ -2248,7 +2243,7 @@ local.tee $5 i32.const 16 i32.shl - local.get $3 + local.get $4 i32.const 16 i32.shr_u i32.or @@ -2274,17 +2269,17 @@ i32.load local.set $5 local.get $0 - local.tee $3 + local.tee $4 i32.const 1 i32.add local.set $0 local.get $1 - local.tee $4 + local.tee $3 i32.const 1 i32.add local.set $1 - local.get $3 local.get $4 + local.get $3 i32.load8_u i32.store8 local.get $2 @@ -2299,7 +2294,7 @@ local.get $0 local.get $1 i32.load offset=3 - local.tee $3 + local.tee $4 i32.const 24 i32.shl local.get $5 @@ -2310,10 +2305,10 @@ local.get $0 local.get $1 i32.load offset=7 - local.tee $4 + local.tee $3 i32.const 24 i32.shl - local.get $3 + local.get $4 i32.const 8 i32.shr_u i32.or @@ -2321,10 +2316,10 @@ local.get $0 local.get $1 i32.load offset=11 - local.tee $3 + local.tee $4 i32.const 24 i32.shl - local.get $4 + local.get $3 i32.const 8 i32.shr_u i32.or @@ -2335,7 +2330,7 @@ local.tee $5 i32.const 24 i32.shl - local.get $3 + local.get $4 i32.const 8 i32.shr_u i32.or @@ -2366,145 +2361,137 @@ i32.load8_u i32.store8 local.get $0 - local.tee $4 - i32.const 2 - i32.add - local.set $0 local.get $1 - local.tee $3 - i32.const 2 - i32.add - local.set $1 - local.get $4 - local.get $3 i32.load8_u offset=1 i32.store8 offset=1 local.get $0 - local.get $1 - i32.load8_u - i32.store8 - local.get $0 - local.tee $4 i32.const 2 i32.add - local.set $0 + local.tee $4 local.get $1 + i32.const 2 + i32.add local.tee $3 + i32.load8_u + i32.store8 + local.get $3 + local.tee $0 i32.const 2 i32.add - local.set $1 + local.set $3 local.get $4 - local.get $3 + local.get $0 i32.load8_u offset=1 i32.store8 offset=1 - local.get $0 - local.get $1 + local.get $4 + i32.const 2 + i32.add + local.tee $1 + local.get $3 i32.load8_u i32.store8 - local.get $0 + local.get $1 local.tee $4 i32.const 2 i32.add - local.set $0 - local.get $1 - local.tee $3 + local.set $1 + local.get $3 + local.tee $0 i32.const 2 i32.add - local.set $1 + local.set $3 local.get $4 - local.get $3 + local.get $0 i32.load8_u offset=1 i32.store8 offset=1 - local.get $0 local.get $1 + local.get $3 i32.load8_u i32.store8 - local.get $0 + local.get $1 local.tee $4 i32.const 2 i32.add - local.set $0 - local.get $1 - local.tee $3 + local.set $1 + local.get $3 + local.tee $0 i32.const 2 i32.add - local.set $1 + local.set $3 local.get $4 - local.get $3 + local.get $0 i32.load8_u offset=1 i32.store8 offset=1 - local.get $0 local.get $1 + local.get $3 i32.load8_u i32.store8 - local.get $0 + local.get $1 local.tee $4 i32.const 2 i32.add - local.set $0 - local.get $1 - local.tee $3 + local.set $1 + local.get $3 + local.tee $0 i32.const 2 i32.add - local.set $1 + local.set $3 local.get $4 - local.get $3 + local.get $0 i32.load8_u offset=1 i32.store8 offset=1 - local.get $0 local.get $1 + local.get $3 i32.load8_u i32.store8 - local.get $0 + local.get $1 local.tee $4 i32.const 2 i32.add - local.set $0 - local.get $1 - local.tee $3 + local.set $1 + local.get $3 + local.tee $0 i32.const 2 i32.add - local.set $1 + local.set $3 local.get $4 - local.get $3 + local.get $0 i32.load8_u offset=1 i32.store8 offset=1 - local.get $0 local.get $1 + local.get $3 i32.load8_u i32.store8 - local.get $0 + local.get $1 local.tee $4 i32.const 2 i32.add - local.set $0 - local.get $1 - local.tee $3 + local.set $1 + local.get $3 + local.tee $0 i32.const 2 i32.add - local.set $1 + local.set $3 local.get $4 - local.get $3 + local.get $0 i32.load8_u offset=1 i32.store8 offset=1 - local.get $0 local.get $1 + local.get $3 i32.load8_u i32.store8 - local.get $0 - local.tee $4 + local.get $1 i32.const 2 i32.add local.set $0 local.get $1 - local.tee $3 - i32.const 2 - i32.add - local.set $1 - local.get $4 local.get $3 i32.load8_u offset=1 i32.store8 offset=1 + local.get $3 + i32.const 2 + i32.add + local.set $1 end local.get $2 i32.const 8 @@ -2515,73 +2502,65 @@ i32.load8_u i32.store8 local.get $0 - local.tee $4 + local.get $1 + i32.load8_u offset=1 + i32.store8 offset=1 + local.get $0 i32.const 2 i32.add - local.set $0 + local.tee $4 local.get $1 + i32.const 2 + i32.add local.tee $3 + i32.load8_u + i32.store8 + local.get $3 + local.tee $0 i32.const 2 i32.add - local.set $1 + local.set $3 local.get $4 - local.get $3 + local.get $0 i32.load8_u offset=1 i32.store8 offset=1 - local.get $0 - local.get $1 + local.get $4 + i32.const 2 + i32.add + local.tee $1 + local.get $3 i32.load8_u i32.store8 - local.get $0 + local.get $1 local.tee $4 i32.const 2 i32.add - local.set $0 - local.get $1 - local.tee $3 + local.set $1 + local.get $3 + local.tee $0 i32.const 2 i32.add - local.set $1 + local.set $3 local.get $4 - local.get $3 + local.get $0 i32.load8_u offset=1 i32.store8 offset=1 - local.get $0 local.get $1 + local.get $3 i32.load8_u i32.store8 - local.get $0 - local.tee $4 + local.get $1 i32.const 2 i32.add local.set $0 local.get $1 - local.tee $3 - i32.const 2 - i32.add - local.set $1 - local.get $4 local.get $3 i32.load8_u offset=1 i32.store8 offset=1 - local.get $0 - local.get $1 - i32.load8_u - i32.store8 - local.get $0 - local.tee $4 - i32.const 2 - i32.add - local.set $0 - local.get $1 - local.tee $3 + local.get $3 i32.const 2 i32.add local.set $1 - local.get $4 - local.get $3 - i32.load8_u offset=1 - i32.store8 offset=1 end local.get $2 i32.const 4 @@ -2592,30 +2571,20 @@ i32.load8_u i32.store8 local.get $0 - local.tee $4 - i32.const 2 - i32.add - local.set $0 local.get $1 - local.tee $3 - i32.const 2 - i32.add - local.set $1 - local.get $4 - local.get $3 i32.load8_u offset=1 i32.store8 offset=1 local.get $0 - local.get $1 - i32.load8_u - i32.store8 - local.get $0 - local.tee $4 i32.const 2 i32.add - local.set $0 + local.tee $4 local.get $1 + i32.const 2 + i32.add local.tee $3 + i32.load8_u + i32.store8 + local.get $3 i32.const 2 i32.add local.set $1 @@ -2623,6 +2592,10 @@ local.get $3 i32.load8_u offset=1 i32.store8 offset=1 + local.get $4 + i32.const 2 + i32.add + local.set $0 end local.get $2 i32.const 2 @@ -2881,23 +2854,23 @@ local.get $0 i32.const 20 i32.sub - local.tee $0 + local.tee $1 i32.load offset=4 i32.const 3 i32.and - local.tee $1 + local.tee $0 global.get $~lib/rt/itcms/white i32.eqz i32.eq if - local.get $0 + local.get $1 call $~lib/rt/itcms/Object#makeGray else global.get $~lib/rt/itcms/state i32.const 1 i32.eq i32.const 0 - local.get $1 + local.get $0 i32.const 3 i32.eq select @@ -2922,7 +2895,7 @@ i32.load offset=16 i32.const 2 i32.shr_u - local.set $5 + local.set $3 global.get $~lib/memory/__stack_pointer i32.const 12 i32.sub @@ -2939,17 +2912,17 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $6 + local.tee $5 i64.const 0 i64.store - local.get $6 + local.get $5 i32.const 0 i32.store offset=8 block $__inlined_func$~lib/util/string/joinStringArray - local.get $5 + local.get $3 i32.const 1 i32.sub - local.tee $6 + local.tee $5 i32.const 0 i32.lt_s if @@ -2958,19 +2931,19 @@ i32.add global.set $~lib/memory/__stack_pointer i32.const 1184 - local.set $2 + local.set $3 br $__inlined_func$~lib/util/string/joinStringArray end - local.get $6 + local.get $5 i32.eqz if global.get $~lib/memory/__stack_pointer - local.tee $2 + local.tee $3 local.get $0 i32.load local.tee $0 i32.store - local.get $2 + local.get $3 i32.const 12 i32.add global.set $~lib/memory/__stack_pointer @@ -2978,136 +2951,136 @@ i32.const 1184 local.get $0 select - local.set $2 + local.set $3 br $__inlined_func$~lib/util/string/joinStringArray end loop $for-loop|0 local.get $3 - local.get $5 - i32.lt_s + local.get $4 + i32.gt_s if global.get $~lib/memory/__stack_pointer - local.get $0 - local.get $3 + local.get $4 i32.const 2 i32.shl + local.get $0 i32.add i32.load - local.tee $4 + local.tee $6 i32.store offset=4 - local.get $4 + local.get $6 if - local.get $2 - local.get $4 + local.get $6 i32.const 20 i32.sub i32.load offset=16 i32.const 1 i32.shr_u + local.get $2 i32.add local.set $2 end - local.get $3 + local.get $4 i32.const 1 i32.add - local.set $3 + local.set $4 br $for-loop|0 end end global.get $~lib/memory/__stack_pointer - local.get $2 - local.get $6 + local.get $5 i32.const 1180 i32.load i32.const 1 i32.shr_u - local.tee $5 + local.tee $6 i32.mul + local.get $2 i32.add i32.const 1 i32.shl i32.const 1 call $~lib/rt/itcms/__new - local.tee $2 + local.tee $3 i32.store offset=8 i32.const 0 - local.set $3 + local.set $4 loop $for-loop|1 - local.get $3 - local.get $6 + local.get $4 + local.get $5 i32.lt_s if global.get $~lib/memory/__stack_pointer - local.get $0 - local.get $3 + local.get $4 i32.const 2 i32.shl + local.get $0 i32.add i32.load - local.tee $4 + local.tee $2 i32.store offset=4 - local.get $4 + local.get $2 if - local.get $2 local.get $1 i32.const 1 i32.shl + local.get $3 i32.add - local.get $4 - local.get $4 + local.get $2 + local.get $2 i32.const 20 i32.sub i32.load offset=16 i32.const 1 i32.shr_u - local.tee $4 + local.tee $2 i32.const 1 i32.shl call $~lib/memory/memory.copy local.get $1 - local.get $4 + local.get $2 i32.add local.set $1 end - local.get $5 + local.get $6 if - local.get $2 local.get $1 i32.const 1 i32.shl + local.get $3 i32.add i32.const 1184 - local.get $5 + local.get $6 i32.const 1 i32.shl call $~lib/memory/memory.copy local.get $1 - local.get $5 + local.get $6 i32.add local.set $1 end - local.get $3 + local.get $4 i32.const 1 i32.add - local.set $3 + local.set $4 br $for-loop|1 end end global.get $~lib/memory/__stack_pointer - local.get $0 - local.get $6 + local.get $5 i32.const 2 i32.shl + local.get $0 i32.add i32.load local.tee $0 i32.store offset=4 local.get $0 if - local.get $2 local.get $1 i32.const 1 i32.shl + local.get $3 i32.add local.get $0 local.get $0 @@ -3125,7 +3098,7 @@ i32.add global.set $~lib/memory/__stack_pointer end - local.get $2 + local.get $3 ) (func $~lib/util/number/utoa32_dec_lut (param $0 i32) (param $1 i32) (param $2 i32) (local $3 i32) @@ -3659,9 +3632,6 @@ br $while-continue|0 end end - local.get $10 - i64.extend_i32_s - local.set $0 loop $while-continue|4 local.get $3 i64.const 10 @@ -3670,10 +3640,11 @@ local.get $6 i64.const 10 i64.mul - local.tee $1 - local.get $0 + local.tee $0 + local.get $10 + i64.extend_i32_s i64.shr_u - local.tee $6 + local.tee $1 local.get $4 i64.extend_i32_s i64.or @@ -3690,7 +3661,7 @@ i32.shl i32.const 3920 i32.add - local.get $6 + local.get $1 i32.wrap_i64 i32.const 65535 i32.and @@ -3703,7 +3674,7 @@ i32.sub local.set $8 local.get $3 - local.get $1 + local.get $0 local.get $12 i64.and local.tee $6 @@ -3716,7 +3687,6 @@ global.set $~lib/util/number/_K local.get $6 local.set $0 - local.get $9 i32.const 0 local.get $8 i32.sub @@ -3725,6 +3695,7 @@ i32.const 4848 i32.add i64.load32_u + local.get $9 i64.mul local.set $1 local.get $4 @@ -3790,10 +3761,10 @@ local.get $2 i32.eqz if - local.get $0 local.get $1 i32.const 1 i32.shl + local.get $0 i32.add i32.const 3145774 i32.store @@ -3819,10 +3790,10 @@ local.get $4 i32.lt_s if - local.get $0 local.get $1 i32.const 1 i32.shl + local.get $0 i32.add i32.const 48 i32.store16 @@ -3833,10 +3804,10 @@ br $for-loop|0 end end - local.get $0 local.get $4 i32.const 1 i32.shl + local.get $0 i32.add i32.const 3145774 i32.store @@ -3853,10 +3824,10 @@ i32.gt_s select if (result i32) - local.get $0 local.get $4 i32.const 1 i32.shl + local.get $0 i32.add local.tee $0 i32.const 2 @@ -3884,13 +3855,13 @@ i32.gt_s select if (result i32) - local.get $0 i32.const 2 local.get $4 i32.sub local.tee $5 i32.const 1 i32.shl + local.get $0 i32.add local.get $0 local.get $1 @@ -3907,10 +3878,10 @@ local.get $5 i32.lt_s if - local.get $0 local.get $2 i32.const 1 i32.shl + local.get $0 i32.add i32.const 48 i32.store16 @@ -4124,18 +4095,24 @@ ) (func $~lib/util/number/dtoa_core (param $0 f64) (result i32) (local $1 i64) - (local $2 i64) + (local $2 i32) (local $3 i64) (local $4 i32) (local $5 i32) (local $6 i64) (local $7 i64) - (local $8 i32) + (local $8 i64) (local $9 i32) + (local $10 i64) + (local $11 i64) + (local $12 i64) + (local $13 i64) + (local $14 i64) + (local $15 i64) local.get $0 f64.const 0 f64.lt - local.tee $8 + local.tee $5 if (result f64) i32.const 3920 i32.const 45 @@ -4152,66 +4129,66 @@ i64.const 52 i64.shr_u i32.wrap_i64 - local.tee $4 + local.tee $2 + i32.const 1 + local.get $2 + select + i32.const 1075 + i32.sub + local.tee $9 + i32.const 1 + i32.sub + local.get $1 + i64.const 4503599627370495 + i64.and + local.get $2 i32.const 0 i32.ne i64.extend_i32_u i64.const 52 i64.shl - local.get $1 - i64.const 4503599627370495 - i64.and i64.add - local.tee $2 + local.tee $1 i64.const 1 i64.shl i64.const 1 i64.add - local.tee $1 - local.get $1 + local.tee $3 i64.clz i32.wrap_i64 - local.tee $5 + local.tee $4 + i32.sub + local.set $2 + local.get $3 + local.get $4 i64.extend_i32_s i64.shl global.set $~lib/util/number/_frc_plus - local.get $4 - i32.const 1 - local.get $4 - select - i32.const 1075 - i32.sub - local.tee $9 - i32.const 1 - i32.sub - local.get $5 - i32.sub - local.set $4 - local.get $2 - local.get $2 + local.get $1 + local.get $1 i64.const 4503599627370496 i64.eq i32.const 1 i32.add - local.tee $5 + local.tee $4 i64.extend_i32_s i64.shl i64.const 1 i64.sub local.get $9 - local.get $5 - i32.sub local.get $4 i32.sub + local.get $2 + i32.sub i64.extend_i32_s i64.shl global.set $~lib/util/number/_frc_minus - local.get $4 + local.get $2 global.set $~lib/util/number/_exp i32.const 348 i32.const -61 global.get $~lib/util/number/_exp - local.tee $4 + local.tee $9 i32.sub f64.convert_i32_s f64.const 0.30102999566398114 @@ -4220,9 +4197,9 @@ f64.add local.tee $0 i32.trunc_f64_s - local.tee $5 + local.tee $2 local.get $0 - local.get $5 + local.get $2 f64.convert_i32_s f64.ne i32.add @@ -4230,103 +4207,123 @@ i32.shr_s i32.const 1 i32.add - local.tee $5 + local.tee $2 i32.const 3 i32.shl - local.tee $9 + local.tee $4 i32.sub global.set $~lib/util/number/_K - local.get $9 + local.get $4 i32.const 3976 i32.add i64.load global.set $~lib/util/number/_frc_pow - local.get $5 + local.get $2 i32.const 1 i32.shl i32.const 4672 i32.add i32.load16_s global.set $~lib/util/number/_exp_pow - global.get $~lib/util/number/_frc_pow - local.tee $6 - i64.const 4294967295 - i64.and - local.set $1 - local.get $6 + local.get $1 + local.get $1 + i64.clz + i64.shl + local.tee $1 + i64.const 4294967295 + i64.and + local.set $3 + local.get $1 i64.const 32 i64.shr_u + local.tee $10 + global.get $~lib/util/number/_frc_pow + local.tee $13 + i64.const 4294967295 + i64.and + local.tee $1 local.tee $6 - global.get $~lib/util/number/_frc_plus - local.tee $3 + i64.mul + local.get $3 + local.get $6 + i64.mul i64.const 32 i64.shr_u + i64.add + local.set $6 + global.get $~lib/util/number/_frc_plus local.tee $7 - i64.mul - local.get $1 + i64.const 4294967295 + i64.and + local.set $11 local.get $7 + i64.const 32 + i64.shr_u + local.tee $14 + local.get $1 i64.mul local.get $1 - local.get $3 - i64.const 4294967295 - i64.and - local.tee $3 + local.get $11 i64.mul i64.const 32 i64.shr_u i64.add - local.tee $7 + local.set $7 + global.get $~lib/util/number/_frc_minus + local.tee $8 + i64.const 4294967295 + i64.and + local.set $12 + local.get $8 i64.const 32 i64.shr_u - i64.add - local.get $3 - local.get $6 + local.tee $15 + local.get $1 + i64.mul + local.get $1 + local.get $12 i64.mul - local.get $7 - i64.const 4294967295 - i64.and - i64.add - i64.const 2147483647 - i64.add i64.const 32 i64.shr_u i64.add - i64.const 1 - i64.sub - local.set $3 - local.get $8 + local.set $8 + local.get $5 i32.const 1 i32.shl i32.const 3920 i32.add - local.get $6 - local.get $2 - local.get $2 - i64.clz - i64.shl - local.tee $2 + local.get $10 + local.get $13 i64.const 32 i64.shr_u - local.tee $7 + local.tee $1 + local.tee $10 i64.mul - local.get $1 - local.get $7 + local.get $6 + i64.const 32 + i64.shr_u + i64.add + local.get $3 + local.get $10 i64.mul - local.get $1 - local.get $2 + local.get $6 i64.const 4294967295 i64.and - local.tee $2 - i64.mul + i64.add + i64.const 2147483647 + i64.add i64.const 32 i64.shr_u i64.add - local.tee $7 + local.get $1 + local.get $14 + i64.mul + local.get $7 i64.const 32 i64.shr_u i64.add - local.get $2 - local.get $6 + local.get $1 + local.get $11 i64.mul local.get $7 i64.const 4294967295 @@ -4337,40 +4334,26 @@ i64.const 32 i64.shr_u i64.add - local.get $3 - local.get $4 + i64.const 1 + i64.sub + local.tee $3 global.get $~lib/util/number/_exp_pow + local.get $9 i32.add i32.const -64 i32.sub local.get $3 - local.get $6 - global.get $~lib/util/number/_frc_minus - local.tee $2 - i64.const 32 - i64.shr_u - local.tee $3 - i64.mul - local.get $1 - local.get $3 - i64.mul local.get $1 - local.get $2 - i64.const 4294967295 - i64.and - local.tee $1 + local.get $15 i64.mul - i64.const 32 - i64.shr_u - i64.add - local.tee $2 + local.get $8 i64.const 32 i64.shr_u i64.add local.get $1 - local.get $6 + local.get $12 i64.mul - local.get $2 + local.get $8 i64.const 4294967295 i64.and i64.add @@ -4382,13 +4365,13 @@ i64.const 1 i64.add i64.sub - local.get $8 + local.get $5 call $~lib/util/number/genDigits - local.get $8 + local.get $5 i32.sub global.get $~lib/util/number/_K call $~lib/util/number/prettify - local.get $8 + local.get $5 i32.add ) (func $~lib/number/F64#toString (param $0 f64) (result i32) @@ -4593,20 +4576,18 @@ i32.const 1088 call $~lib/staticarray/StaticArray<~lib/string/String>#__uset global.get $~lib/memory/__stack_pointer - local.tee $0 i32.const 1744 i32.store offset=16 - local.get $0 + global.get $~lib/memory/__stack_pointer i32.const 1184 i32.store offset=20 i32.const 1744 call $~lib/staticarray/StaticArray<~lib/string/String>#join local.set $0 global.get $~lib/memory/__stack_pointer - local.tee $1 local.get $0 i32.store offset=12 - local.get $1 + global.get $~lib/memory/__stack_pointer i32.const 1792 i32.store offset=8 local.get $0 @@ -4647,10 +4628,9 @@ call $~lib/number/I32#toString local.set $0 global.get $~lib/memory/__stack_pointer - local.tee $1 local.get $0 i32.store - local.get $1 + global.get $~lib/memory/__stack_pointer i32.const 3616 i32.store offset=4 local.get $0 @@ -4682,10 +4662,9 @@ call $~lib/string/String#concat local.set $0 global.get $~lib/memory/__stack_pointer - local.tee $1 local.get $0 i32.store - local.get $1 + global.get $~lib/memory/__stack_pointer i32.const 3648 i32.store offset=4 local.get $0 @@ -4727,20 +4706,18 @@ local.get $0 call $~lib/staticarray/StaticArray<~lib/string/String>#__uset global.get $~lib/memory/__stack_pointer - local.tee $0 i32.const 3680 i32.store offset=8 - local.get $0 + global.get $~lib/memory/__stack_pointer i32.const 1184 i32.store offset=12 i32.const 3680 call $~lib/staticarray/StaticArray<~lib/string/String>#join local.set $0 global.get $~lib/memory/__stack_pointer - local.tee $1 local.get $0 i32.store - local.get $1 + global.get $~lib/memory/__stack_pointer i32.const 3728 i32.store offset=4 local.get $0 @@ -4781,10 +4758,9 @@ call $~lib/number/F64#toString local.set $0 global.get $~lib/memory/__stack_pointer - local.tee $1 local.get $0 i32.store - local.get $1 + global.get $~lib/memory/__stack_pointer i32.const 4912 i32.store offset=4 local.get $0 @@ -4816,10 +4792,9 @@ call $~lib/string/String#concat local.set $0 global.get $~lib/memory/__stack_pointer - local.tee $1 local.get $0 i32.store - local.get $1 + global.get $~lib/memory/__stack_pointer i32.const 4944 i32.store offset=4 local.get $0 @@ -4861,20 +4836,18 @@ local.get $0 call $~lib/staticarray/StaticArray<~lib/string/String>#__uset global.get $~lib/memory/__stack_pointer - local.tee $0 i32.const 4976 i32.store offset=8 - local.get $0 + global.get $~lib/memory/__stack_pointer i32.const 1184 i32.store offset=12 i32.const 4976 call $~lib/staticarray/StaticArray<~lib/string/String>#join local.set $0 global.get $~lib/memory/__stack_pointer - local.tee $1 local.get $0 i32.store - local.get $1 + global.get $~lib/memory/__stack_pointer i32.const 5024 i32.store offset=4 local.get $0 @@ -4893,9 +4866,8 @@ i32.const 20 i32.add global.set $~lib/memory/__stack_pointer - call $templateliteral/test_fast_paths_string global.get $~lib/memory/__stack_pointer - i32.const 28 + i32.const 20 i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer @@ -4910,129 +4882,327 @@ i64.const 0 i64.store offset=8 local.get $0 - i64.const 0 - i64.store offset=16 - local.get $0 i32.const 0 - i32.store offset=24 + i32.store offset=16 local.get $0 - i32.const 1 - call $templateliteral/Ref#constructor - local.tee $0 + i32.const 1088 i32.store - global.get $~lib/memory/__stack_pointer i32.const 2 - call $templateliteral/Ref#constructor - local.tee $1 - i32.store offset=4 + call $~lib/number/I32#toString + local.set $0 + global.get $~lib/memory/__stack_pointer local.get $0 - call $templateliteral/Ref#toString - local.set $2 + i32.store offset=4 global.get $~lib/memory/__stack_pointer - local.tee $3 - local.get $2 + i32.const 5072 i32.store offset=8 - local.get $3 - i32.const 5360 - i32.store offset=12 - local.get $2 - i32.const 5360 + local.get $0 + i32.const 5072 call $~lib/string/String.__eq i32.eqz if i32.const 0 i32.const 1120 - i32.const 51 + i32.const 31 i32.const 3 call $~lib/builtins/abort unreachable end - local.get $0 - call $templateliteral/Ref#toString - local.set $2 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store offset=16 - local.get $1 - call $templateliteral/Ref#toString - local.set $3 - global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store offset=20 - local.get $2 - local.get $3 - call $~lib/string/String#concat - local.set $2 global.get $~lib/memory/__stack_pointer - local.tee $3 - local.get $2 + i32.const 1088 i32.store offset=8 - local.get $3 - i32.const 5392 - i32.store offset=12 - local.get $2 - i32.const 5392 + i32.const 1088 + i32.const 1088 call $~lib/string/String.__eq i32.eqz if i32.const 0 i32.const 1120 - i32.const 52 + i32.const 32 i32.const 3 call $~lib/builtins/abort unreachable end global.get $~lib/memory/__stack_pointer - i32.const 5440 - i32.store offset=16 - local.get $0 - call $templateliteral/Ref#toString - local.set $0 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=24 - i32.const 5440 - i32.const 1 - local.get $0 - call $~lib/staticarray/StaticArray<~lib/string/String>#__uset - global.get $~lib/memory/__stack_pointer - i32.const 5440 - i32.store offset=16 - local.get $1 - call $templateliteral/Ref#toString + i32.const 5104 + i32.store offset=12 + i32.const 2 + call $~lib/number/I32#toString local.set $0 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store offset=24 - i32.const 5440 - i32.const 3 - local.get $0 - call $~lib/staticarray/StaticArray<~lib/string/String>#__uset - global.get $~lib/memory/__stack_pointer - local.tee $0 - i32.const 5440 i32.store offset=16 + i32.const 5104 local.get $0 - i32.const 1184 - i32.store offset=20 - i32.const 5440 - call $~lib/staticarray/StaticArray<~lib/string/String>#join + call $~lib/string/String#concat local.set $0 global.get $~lib/memory/__stack_pointer - local.tee $1 local.get $0 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer + i32.const 5136 i32.store offset=8 - local.get $1 - i32.const 5488 - i32.store offset=12 local.get $0 - i32.const 5488 + i32.const 5136 call $~lib/string/String.__eq i32.eqz if i32.const 0 i32.const 1120 - i32.const 53 + i32.const 33 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + i32.const 5104 + i32.store offset=12 + i32.const 5104 + i32.const 1088 + call $~lib/string/String#concat + local.set $0 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer + i32.const 5168 + i32.store offset=8 + local.get $0 + i32.const 5168 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 1120 + i32.const 34 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + i32.const 2 + call $~lib/number/I32#toString + local.set $0 + global.get $~lib/memory/__stack_pointer + local.tee $1 + local.get $0 + i32.store offset=12 + local.get $1 + i32.const 5200 + i32.store offset=16 + local.get $0 + i32.const 5200 + call $~lib/string/String#concat + local.set $0 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer + i32.const 5232 + i32.store offset=8 + local.get $0 + i32.const 5232 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 1120 + i32.const 35 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + i32.const 5200 + i32.store offset=16 + i32.const 1088 + i32.const 5200 + call $~lib/string/String#concat + local.set $0 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer + i32.const 5264 + i32.store offset=8 + local.get $0 + i32.const 5264 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 1120 + i32.const 36 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + i32.const 2 + call $~lib/number/I32#toString + local.set $0 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store offset=12 + local.get $0 + i32.const 1088 + call $~lib/string/String#concat + local.set $0 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer + i32.const 5296 + i32.store offset=8 + local.get $0 + i32.const 5296 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 1120 + i32.const 37 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + i32.const 20 + i32.add + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 28 + i32.sub + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 5580 + i32.lt_s + br_if $folding-inner0 + global.get $~lib/memory/__stack_pointer + local.tee $0 + i64.const 0 + i64.store + local.get $0 + i64.const 0 + i64.store offset=8 + local.get $0 + i64.const 0 + i64.store offset=16 + local.get $0 + i32.const 0 + i32.store offset=24 + local.get $0 + i32.const 1 + call $templateliteral/Ref#constructor + local.tee $0 + i32.store + global.get $~lib/memory/__stack_pointer + i32.const 2 + call $templateliteral/Ref#constructor + local.tee $1 + i32.store offset=4 + local.get $0 + call $templateliteral/Ref#toString + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store offset=8 + global.get $~lib/memory/__stack_pointer + i32.const 5360 + i32.store offset=12 + local.get $2 + i32.const 5360 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 1120 + i32.const 51 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $0 + call $templateliteral/Ref#toString + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store offset=16 + local.get $1 + call $templateliteral/Ref#toString + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store offset=20 + local.get $2 + local.get $3 + call $~lib/string/String#concat + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store offset=8 + global.get $~lib/memory/__stack_pointer + i32.const 5392 + i32.store offset=12 + local.get $2 + i32.const 5392 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 1120 + i32.const 52 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + i32.const 5440 + i32.store offset=16 + local.get $0 + call $templateliteral/Ref#toString + local.set $0 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store offset=24 + i32.const 5440 + i32.const 1 + local.get $0 + call $~lib/staticarray/StaticArray<~lib/string/String>#__uset + global.get $~lib/memory/__stack_pointer + i32.const 5440 + i32.store offset=16 + local.get $1 + call $templateliteral/Ref#toString + local.set $0 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store offset=24 + i32.const 5440 + i32.const 3 + local.get $0 + call $~lib/staticarray/StaticArray<~lib/string/String>#__uset + global.get $~lib/memory/__stack_pointer + i32.const 5440 + i32.store offset=16 + global.get $~lib/memory/__stack_pointer + i32.const 1184 + i32.store offset=20 + i32.const 5440 + call $~lib/staticarray/StaticArray<~lib/string/String>#join + local.set $0 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store offset=8 + global.get $~lib/memory/__stack_pointer + i32.const 5488 + i32.store offset=12 + local.get $0 + i32.const 5488 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 1120 + i32.const 53 i32.const 3 call $~lib/builtins/abort unreachable @@ -5079,10 +5249,10 @@ return end local.get $0 - local.get $0 i32.const 20 i32.sub i32.load offset=16 + local.get $0 i32.add local.set $1 loop $while-continue|0 @@ -5119,225 +5289,6 @@ global.set $~started call $start:templateliteral ) - (func $templateliteral/test_fast_paths_string - (local $0 i32) - (local $1 i32) - global.get $~lib/memory/__stack_pointer - i32.const 20 - i32.sub - global.set $~lib/memory/__stack_pointer - global.get $~lib/memory/__stack_pointer - i32.const 5580 - i32.lt_s - if - i32.const 21984 - i32.const 22032 - i32.const 1 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - local.tee $0 - i64.const 0 - i64.store - local.get $0 - i64.const 0 - i64.store offset=8 - local.get $0 - i32.const 0 - i32.store offset=16 - local.get $0 - i32.const 1088 - i32.store - i32.const 2 - call $~lib/number/I32#toString - local.set $0 - global.get $~lib/memory/__stack_pointer - local.tee $1 - local.get $0 - i32.store offset=4 - local.get $1 - i32.const 5072 - i32.store offset=8 - local.get $0 - i32.const 5072 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 1120 - i32.const 31 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - i32.const 1088 - i32.store offset=8 - i32.const 1088 - i32.const 1088 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 1120 - i32.const 32 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - i32.const 5104 - i32.store offset=12 - i32.const 2 - call $~lib/number/I32#toString - local.set $0 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=16 - i32.const 5104 - local.get $0 - call $~lib/string/String#concat - local.set $0 - global.get $~lib/memory/__stack_pointer - local.tee $1 - local.get $0 - i32.store offset=4 - local.get $1 - i32.const 5136 - i32.store offset=8 - local.get $0 - i32.const 5136 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 1120 - i32.const 33 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - i32.const 5104 - i32.store offset=12 - i32.const 5104 - i32.const 1088 - call $~lib/string/String#concat - local.set $0 - global.get $~lib/memory/__stack_pointer - local.tee $1 - local.get $0 - i32.store offset=4 - local.get $1 - i32.const 5168 - i32.store offset=8 - local.get $0 - i32.const 5168 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 1120 - i32.const 34 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - i32.const 2 - call $~lib/number/I32#toString - local.set $0 - global.get $~lib/memory/__stack_pointer - local.tee $1 - local.get $0 - i32.store offset=12 - local.get $1 - i32.const 5200 - i32.store offset=16 - local.get $0 - i32.const 5200 - call $~lib/string/String#concat - local.set $0 - global.get $~lib/memory/__stack_pointer - local.tee $1 - local.get $0 - i32.store offset=4 - local.get $1 - i32.const 5232 - i32.store offset=8 - local.get $0 - i32.const 5232 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 1120 - i32.const 35 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - i32.const 5200 - i32.store offset=16 - i32.const 1088 - i32.const 5200 - call $~lib/string/String#concat - local.set $0 - global.get $~lib/memory/__stack_pointer - local.tee $1 - local.get $0 - i32.store offset=4 - local.get $1 - i32.const 5264 - i32.store offset=8 - local.get $0 - i32.const 5264 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 1120 - i32.const 36 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - i32.const 2 - call $~lib/number/I32#toString - local.set $0 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=12 - local.get $0 - i32.const 1088 - call $~lib/string/String#concat - local.set $0 - global.get $~lib/memory/__stack_pointer - local.tee $1 - local.get $0 - i32.store offset=4 - local.get $1 - i32.const 5296 - i32.store offset=8 - local.get $0 - i32.const 5296 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 1120 - i32.const 37 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - i32.const 20 - i32.add - global.set $~lib/memory/__stack_pointer - ) (func $templateliteral/Ref#toString (param $0 i32) (result i32) (local $1 i32) global.get $~lib/memory/__stack_pointer diff --git a/tests/compiler/throw.optimized.wat b/tests/compiler/throw.optimized.wat index f7dd8b1fac..4d5708a9b9 100644 --- a/tests/compiler/throw.optimized.wat +++ b/tests/compiler/throw.optimized.wat @@ -372,22 +372,22 @@ local.get $4 i32.eqz if - local.get $0 local.get $3 i32.const 2 i32.shl + local.get $0 i32.add - local.tee $1 + local.tee $4 i32.load offset=4 i32.const -2 local.get $2 i32.rotl i32.and - local.set $2 + local.set $1 + local.get $4 local.get $1 - local.get $2 i32.store offset=4 - local.get $2 + local.get $1 i32.eqz if local.get $0 @@ -635,10 +635,10 @@ i32.shl i32.or i32.store - local.get $0 local.get $5 i32.const 2 i32.shl + local.get $0 i32.add local.tee $0 local.get $0 @@ -679,17 +679,17 @@ i32.and local.set $0 loop $while-continue|1 - local.get $0 global.get $~lib/rt/itcms/toSpace + local.get $0 i32.ne if local.get $0 global.set $~lib/rt/itcms/iter - local.get $1 local.get $0 i32.load offset=4 i32.const 3 i32.and + local.get $1 i32.ne if local.get $0 @@ -749,15 +749,15 @@ i32.and local.set $0 loop $while-continue|2 - local.get $0 global.get $~lib/rt/itcms/toSpace + local.get $0 i32.ne if - local.get $1 local.get $0 i32.load offset=4 i32.const 3 i32.and + local.get $1 i32.ne if local.get $0 @@ -806,13 +806,13 @@ if local.get $0 i32.load offset=4 + local.tee $1 i32.const -4 i32.and global.set $~lib/rt/itcms/iter global.get $~lib/rt/itcms/white i32.eqz - local.get $0 - i32.load offset=4 + local.get $1 i32.const 3 i32.and i32.ne @@ -1150,6 +1150,8 @@ i32.const 12 i32.add global.set $~lib/memory/__stack_pointer + i32.const 0 + local.set $0 global.get $~lib/memory/__stack_pointer i32.const 16 i32.sub @@ -1159,27 +1161,27 @@ i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer - local.tee $0 + local.tee $1 i64.const 0 i64.store - local.get $0 + local.get $1 i64.const 0 i64.store offset=8 - local.get $0 + local.get $1 i32.const 1056 i32.store loop $while-continue|0 - local.get $1 + local.get $0 i32.const 1 i32.add - local.tee $1 + local.tee $0 i32.const 10 i32.lt_s if global.get $~lib/memory/__stack_pointer i32.const 1088 i32.store offset=4 - local.get $1 + local.get $0 i32.const 10 i32.gt_s if diff --git a/tests/compiler/typeof.optimized.wat b/tests/compiler/typeof.optimized.wat index fa5a1ce0a0..51d427ca80 100644 --- a/tests/compiler/typeof.optimized.wat +++ b/tests/compiler/typeof.optimized.wat @@ -242,8 +242,8 @@ i32.and i32.eq if - local.get $0 global.get $~lib/rt/itcms/iter + local.get $0 i32.eq if local.get $0 @@ -303,11 +303,11 @@ local.get $1 i32.store offset=8 local.get $1 - local.get $2 local.get $1 i32.load offset=4 i32.const 3 i32.and + local.get $2 i32.or i32.store offset=4 end @@ -321,10 +321,10 @@ if (result i32) i32.const 1 else - local.get $1 i32.const 1792 i32.load - i32.gt_u + local.get $1 + i32.lt_u if i32.const 1552 i32.const 1616 @@ -361,11 +361,11 @@ local.get $1 i32.store offset=8 local.get $1 - local.get $0 local.get $1 i32.load offset=4 i32.const 3 i32.and + local.get $0 i32.or i32.store offset=4 local.get $2 @@ -504,22 +504,22 @@ local.get $4 i32.eqz if - local.get $0 local.get $3 i32.const 2 i32.shl + local.get $0 i32.add - local.tee $1 + local.tee $4 i32.load offset=4 i32.const -2 local.get $2 i32.rotl i32.and - local.set $2 + local.set $1 + local.get $4 local.get $1 - local.get $2 i32.store offset=4 - local.get $2 + local.get $1 i32.eqz if local.get $0 @@ -767,10 +767,10 @@ i32.shl i32.or i32.store - local.get $0 local.get $5 i32.const 2 i32.shl + local.get $0 i32.add local.tee $0 local.get $0 @@ -810,11 +810,11 @@ i32.load offset=1568 local.tee $2 if + local.get $1 local.get $2 i32.const 4 i32.add - local.get $1 - i32.gt_u + i32.lt_u if i32.const 0 i32.const 1696 @@ -838,11 +838,11 @@ local.set $1 end else + local.get $1 local.get $0 i32.const 1572 i32.add - local.get $1 - i32.gt_u + i32.lt_u if i32.const 0 i32.const 1696 @@ -1129,13 +1129,13 @@ if local.get $0 i32.load offset=4 + local.tee $1 i32.const -4 i32.and global.set $~lib/rt/itcms/iter global.get $~lib/rt/itcms/white i32.eqz - local.get $0 - i32.load offset=4 + local.get $1 i32.const 3 i32.and i32.ne @@ -1222,10 +1222,10 @@ end global.get $~lib/rt/itcms/toSpace local.tee $0 - local.get $0 + local.tee $1 + local.get $1 i32.store offset=4 - global.get $~lib/rt/itcms/toSpace - local.tee $0 + local.get $0 local.get $0 i32.store offset=8 i32.const 0 @@ -1245,11 +1245,11 @@ i32.and local.tee $2 if (result i32) - local.get $0 local.get $2 i32.ctz i32.const 2 i32.shl + local.get $0 i32.add i32.load offset=96 else @@ -1259,12 +1259,12 @@ i32.and local.tee $1 if (result i32) - local.get $0 local.get $1 i32.ctz local.tee $1 i32.const 2 i32.shl + local.get $0 i32.add i32.load offset=4 local.tee $2 @@ -1277,7 +1277,6 @@ call $~lib/builtins/abort unreachable end - local.get $0 local.get $2 i32.ctz local.get $1 @@ -1286,6 +1285,7 @@ i32.add i32.const 2 i32.shl + local.get $0 i32.add i32.load offset=96 else @@ -1910,18 +1910,13 @@ local.get $1 i32.const 4 i32.add - local.tee $2 local.get $1 i32.load i32.const -4 i32.and i32.add + local.tee $2 local.get $2 - local.get $1 - i32.load - i32.const -4 - i32.and - i32.add i32.load i32.const -3 i32.and @@ -1938,19 +1933,19 @@ i32.load offset=8 local.set $4 local.get $1 - local.get $2 global.get $~lib/rt/itcms/white + local.get $2 i32.or i32.store offset=4 local.get $1 local.get $4 i32.store offset=8 local.get $4 - local.get $1 local.get $4 i32.load offset=4 i32.const 3 i32.and + local.get $1 i32.or i32.store offset=4 local.get $2 diff --git a/tests/compiler/unary.optimized.wat b/tests/compiler/unary.optimized.wat index 9e10066ced..e2fda4418a 100644 --- a/tests/compiler/unary.optimized.wat +++ b/tests/compiler/unary.optimized.wat @@ -7,11 +7,9 @@ (memory $0 0) (export "memory" (memory $0)) (start $~start) - (func $start:unary + (func $~start (local $0 i32) (local $1 i64) - (local $2 f32) - (local $3 f64) global.get $unary/i i32.const 1 i32.add @@ -46,14 +44,11 @@ global.set $unary/i i32.const -1 global.set $unary/i - i32.const -1 - local.tee $0 - i32.const 1 - i32.add + i32.const 0 global.set $unary/i - local.get $0 + i32.const -1 global.set $unary/i - global.get $unary/i + i32.const -1 local.tee $0 i32.const 1 i32.sub @@ -94,14 +89,11 @@ global.set $unary/I i64.const -1 global.set $unary/I - i64.const -1 - local.tee $1 - i64.const 1 - i64.add + i64.const 0 global.set $unary/I - local.get $1 + i64.const -1 global.set $unary/I - global.get $unary/I + i64.const -1 local.tee $1 i64.const 1 i64.sub @@ -140,19 +132,13 @@ global.set $unary/f f32.const 1.25 global.set $unary/f - f32.const 1.25 - local.tee $2 - f32.const 1 - f32.add + f32.const 2.25 global.set $unary/f - local.get $2 + f32.const 1.25 global.set $unary/f - global.get $unary/f - local.tee $2 - f32.const 1 - f32.sub + f32.const 0.25 global.set $unary/f - local.get $2 + f32.const 1.25 global.set $unary/f global.get $unary/F f64.const 1 @@ -186,22 +172,13 @@ global.set $unary/F f64.const 1.25 global.set $unary/F - f64.const 1.25 - local.tee $3 - f64.const 1 - f64.add + f64.const 2.25 global.set $unary/F - local.get $3 + f64.const 1.25 global.set $unary/F - global.get $unary/F - local.tee $3 - f64.const 1 - f64.sub + f64.const 0.25 global.set $unary/F - local.get $3 + f64.const 1.25 global.set $unary/F ) - (func $~start - call $start:unary - ) ) diff --git a/tests/compiler/wasi/abort.optimized.wat b/tests/compiler/wasi/abort.optimized.wat index 1aeb19a782..e3ff15056e 100644 --- a/tests/compiler/wasi/abort.optimized.wat +++ b/tests/compiler/wasi/abort.optimized.wat @@ -31,10 +31,10 @@ end unreachable end - local.get $0 local.get $1 i32.const 1 i32.shl + local.get $0 i32.add local.set $4 local.get $2 @@ -242,14 +242,14 @@ local.set $3 i32.const 3 global.set $~argumentsLength + i32.const 1216 + local.get $3 local.get $0 i32.const 4 i32.add local.tee $0 - i32.const 1216 - local.get $3 - local.get $0 call $~lib/string/String.UTF8.encodeUnsafe@varargs + local.get $0 i32.add local.tee $0 i32.const 40 diff --git a/tests/compiler/wasi/seed.optimized.wat b/tests/compiler/wasi/seed.optimized.wat index 4308b4ba23..b7970b80d6 100644 --- a/tests/compiler/wasi/seed.optimized.wat +++ b/tests/compiler/wasi/seed.optimized.wat @@ -317,9 +317,9 @@ i32.const 1 global.set $~lib/math/random_seeded local.get $2 - local.get $2 i64.const 33 i64.shr_u + local.get $2 i64.xor i64.const -49064778989728563 i64.mul @@ -368,9 +368,9 @@ i32.const 1 i32.or local.get $0 - local.get $0 i32.const 15 i32.shr_u + local.get $0 i32.xor i32.mul local.tee $0 @@ -379,9 +379,9 @@ i32.const 61 i32.or local.get $0 - local.get $0 i32.const 7 i32.shr_u + local.get $0 i32.xor i32.mul i32.add @@ -400,9 +400,9 @@ i32.const 1 i32.or local.get $0 - local.get $0 i32.const 15 i32.shr_u + local.get $0 i32.xor i32.mul local.tee $0 @@ -411,9 +411,9 @@ i32.const 61 i32.or local.get $0 - local.get $0 i32.const 7 i32.shr_u + local.get $0 i32.xor i32.mul i32.add @@ -453,9 +453,9 @@ global.set $~lib/math/random_state0_64 local.get $2 local.get $1 - local.get $1 i64.const 23 i64.shl + local.get $1 i64.xor local.tee $1 local.get $1 diff --git a/tests/compiler/wasi/trace.optimized.wat b/tests/compiler/wasi/trace.optimized.wat index 1d6a9d3568..883d189a7b 100644 --- a/tests/compiler/wasi/trace.optimized.wat +++ b/tests/compiler/wasi/trace.optimized.wat @@ -52,10 +52,10 @@ end unreachable end - local.get $0 local.get $1 i32.const 1 i32.shl + local.get $0 i32.add local.set $4 local.get $2 @@ -573,22 +573,22 @@ local.get $4 i32.eqz if - local.get $0 local.get $3 i32.const 2 i32.shl + local.get $0 i32.add - local.tee $1 + local.tee $4 i32.load offset=4 i32.const -2 local.get $2 i32.rotl i32.and - local.set $2 + local.set $1 + local.get $4 local.get $1 - local.get $2 i32.store offset=4 - local.get $2 + local.get $1 i32.eqz if local.get $0 @@ -836,10 +836,10 @@ i32.shl i32.or i32.store - local.get $0 local.get $5 i32.const 2 i32.shl + local.get $0 i32.add local.tee $0 local.get $0 @@ -879,11 +879,11 @@ i32.load offset=1568 local.tee $2 if + local.get $1 local.get $2 i32.const 4 i32.add - local.get $1 - i32.gt_u + i32.lt_u if i32.const 0 i32.const 1216 @@ -907,11 +907,11 @@ local.set $1 end else + local.get $1 local.get $0 i32.const 1572 i32.add - local.get $1 - i32.gt_u + i32.lt_u if i32.const 0 i32.const 1216 @@ -1381,10 +1381,10 @@ i32.const 1 i32.add local.set $5 - local.get $0 local.get $8 i32.const 1 i32.shl + local.get $0 i32.add local.get $3 i32.const 65535 @@ -1422,12 +1422,12 @@ i64.extend_i32_s i64.shl local.set $2 - local.get $0 local.get $5 i32.const 1 i32.sub i32.const 1 i32.shl + local.get $0 i32.add local.tee $6 i32.load16_u @@ -1483,9 +1483,6 @@ br $while-continue|0 end end - local.get $11 - i64.extend_i32_s - local.set $1 loop $while-continue|4 local.get $4 i64.const 10 @@ -1494,10 +1491,11 @@ local.get $7 i64.const 10 i64.mul - local.tee $2 - local.get $1 + local.tee $1 + local.get $11 + i64.extend_i32_s i64.shr_u - local.tee $7 + local.tee $2 local.get $5 i64.extend_i32_s i64.or @@ -1509,12 +1507,12 @@ i32.const 1 i32.add local.set $5 - local.get $0 local.get $3 i32.const 1 i32.shl + local.get $0 i32.add - local.get $7 + local.get $2 i32.wrap_i64 i32.const 65535 i32.and @@ -1527,7 +1525,7 @@ i32.sub local.set $9 local.get $4 - local.get $2 + local.get $1 local.get $13 i64.and local.tee $7 @@ -1540,7 +1538,6 @@ global.set $~lib/util/number/_K local.get $7 local.set $1 - local.get $10 i32.const 0 local.get $9 i32.sub @@ -1549,14 +1546,15 @@ i32.const 2200 i32.add i64.load32_u + local.get $10 i64.mul local.set $2 - local.get $0 local.get $5 i32.const 1 i32.sub i32.const 1 i32.shl + local.get $0 i32.add local.tee $6 i32.load16_u @@ -1621,17 +1619,17 @@ select if local.get $0 - local.tee $3 + local.tee $4 i32.const 1 i32.add local.set $0 local.get $1 - local.tee $4 + local.tee $3 i32.const 1 i32.add local.set $1 - local.get $3 local.get $4 + local.get $3 i32.load8_u i32.store8 local.get $2 @@ -1777,19 +1775,19 @@ local.get $0 i32.const 2 i32.add - local.tee $3 + local.tee $4 i32.const 1 i32.add local.set $0 local.get $1 i32.const 2 i32.add - local.tee $4 + local.tee $3 i32.const 1 i32.add local.set $1 - local.get $3 local.get $4 + local.get $3 i32.load8_u i32.store8 local.get $2 @@ -1804,7 +1802,7 @@ local.get $0 local.get $1 i32.load offset=1 - local.tee $3 + local.tee $4 i32.const 8 i32.shl local.get $5 @@ -1815,10 +1813,10 @@ local.get $0 local.get $1 i32.load offset=5 - local.tee $4 + local.tee $3 i32.const 8 i32.shl - local.get $3 + local.get $4 i32.const 24 i32.shr_u i32.or @@ -1826,10 +1824,10 @@ local.get $0 local.get $1 i32.load offset=9 - local.tee $3 + local.tee $4 i32.const 8 i32.shl - local.get $4 + local.get $3 i32.const 24 i32.shr_u i32.or @@ -1840,7 +1838,7 @@ local.tee $5 i32.const 8 i32.shl - local.get $3 + local.get $4 i32.const 24 i32.shr_u i32.or @@ -1895,7 +1893,7 @@ local.get $0 local.get $1 i32.load offset=2 - local.tee $3 + local.tee $4 i32.const 16 i32.shl local.get $5 @@ -1906,10 +1904,10 @@ local.get $0 local.get $1 i32.load offset=6 - local.tee $4 + local.tee $3 i32.const 16 i32.shl - local.get $3 + local.get $4 i32.const 16 i32.shr_u i32.or @@ -1917,10 +1915,10 @@ local.get $0 local.get $1 i32.load offset=10 - local.tee $3 + local.tee $4 i32.const 16 i32.shl - local.get $4 + local.get $3 i32.const 16 i32.shr_u i32.or @@ -1931,7 +1929,7 @@ local.tee $5 i32.const 16 i32.shl - local.get $3 + local.get $4 i32.const 16 i32.shr_u i32.or @@ -1957,17 +1955,17 @@ i32.load local.set $5 local.get $0 - local.tee $3 + local.tee $4 i32.const 1 i32.add local.set $0 local.get $1 - local.tee $4 + local.tee $3 i32.const 1 i32.add local.set $1 - local.get $3 local.get $4 + local.get $3 i32.load8_u i32.store8 local.get $2 @@ -1982,7 +1980,7 @@ local.get $0 local.get $1 i32.load offset=3 - local.tee $3 + local.tee $4 i32.const 24 i32.shl local.get $5 @@ -1993,10 +1991,10 @@ local.get $0 local.get $1 i32.load offset=7 - local.tee $4 + local.tee $3 i32.const 24 i32.shl - local.get $3 + local.get $4 i32.const 8 i32.shr_u i32.or @@ -2004,10 +2002,10 @@ local.get $0 local.get $1 i32.load offset=11 - local.tee $3 + local.tee $4 i32.const 24 i32.shl - local.get $4 + local.get $3 i32.const 8 i32.shr_u i32.or @@ -2018,7 +2016,7 @@ local.tee $5 i32.const 24 i32.shl - local.get $3 + local.get $4 i32.const 8 i32.shr_u i32.or @@ -2049,145 +2047,137 @@ i32.load8_u i32.store8 local.get $0 - local.tee $4 - i32.const 2 - i32.add - local.set $0 local.get $1 - local.tee $3 - i32.const 2 - i32.add - local.set $1 - local.get $4 - local.get $3 i32.load8_u offset=1 i32.store8 offset=1 local.get $0 - local.get $1 - i32.load8_u - i32.store8 - local.get $0 - local.tee $4 i32.const 2 i32.add - local.set $0 + local.tee $4 local.get $1 + i32.const 2 + i32.add local.tee $3 + i32.load8_u + i32.store8 + local.get $3 + local.tee $0 i32.const 2 i32.add - local.set $1 + local.set $3 local.get $4 - local.get $3 + local.get $0 i32.load8_u offset=1 i32.store8 offset=1 - local.get $0 - local.get $1 + local.get $4 + i32.const 2 + i32.add + local.tee $1 + local.get $3 i32.load8_u i32.store8 - local.get $0 + local.get $1 local.tee $4 i32.const 2 i32.add - local.set $0 - local.get $1 - local.tee $3 + local.set $1 + local.get $3 + local.tee $0 i32.const 2 i32.add - local.set $1 + local.set $3 local.get $4 - local.get $3 + local.get $0 i32.load8_u offset=1 i32.store8 offset=1 - local.get $0 local.get $1 + local.get $3 i32.load8_u i32.store8 - local.get $0 + local.get $1 local.tee $4 i32.const 2 i32.add - local.set $0 - local.get $1 - local.tee $3 + local.set $1 + local.get $3 + local.tee $0 i32.const 2 i32.add - local.set $1 + local.set $3 local.get $4 - local.get $3 + local.get $0 i32.load8_u offset=1 i32.store8 offset=1 - local.get $0 local.get $1 + local.get $3 i32.load8_u i32.store8 - local.get $0 + local.get $1 local.tee $4 i32.const 2 i32.add - local.set $0 - local.get $1 - local.tee $3 + local.set $1 + local.get $3 + local.tee $0 i32.const 2 i32.add - local.set $1 + local.set $3 local.get $4 - local.get $3 + local.get $0 i32.load8_u offset=1 i32.store8 offset=1 - local.get $0 local.get $1 + local.get $3 i32.load8_u i32.store8 - local.get $0 + local.get $1 local.tee $4 i32.const 2 i32.add - local.set $0 - local.get $1 - local.tee $3 + local.set $1 + local.get $3 + local.tee $0 i32.const 2 i32.add - local.set $1 + local.set $3 local.get $4 - local.get $3 + local.get $0 i32.load8_u offset=1 i32.store8 offset=1 - local.get $0 local.get $1 + local.get $3 i32.load8_u i32.store8 - local.get $0 + local.get $1 local.tee $4 i32.const 2 i32.add - local.set $0 - local.get $1 - local.tee $3 + local.set $1 + local.get $3 + local.tee $0 i32.const 2 i32.add - local.set $1 + local.set $3 local.get $4 - local.get $3 + local.get $0 i32.load8_u offset=1 i32.store8 offset=1 - local.get $0 local.get $1 + local.get $3 i32.load8_u i32.store8 - local.get $0 - local.tee $4 + local.get $1 i32.const 2 i32.add local.set $0 local.get $1 - local.tee $3 - i32.const 2 - i32.add - local.set $1 - local.get $4 local.get $3 i32.load8_u offset=1 i32.store8 offset=1 + local.get $3 + i32.const 2 + i32.add + local.set $1 end local.get $2 i32.const 8 @@ -2198,73 +2188,65 @@ i32.load8_u i32.store8 local.get $0 - local.tee $4 - i32.const 2 - i32.add - local.set $0 local.get $1 - local.tee $3 - i32.const 2 - i32.add - local.set $1 - local.get $4 - local.get $3 i32.load8_u offset=1 i32.store8 offset=1 local.get $0 - local.get $1 - i32.load8_u - i32.store8 - local.get $0 - local.tee $4 i32.const 2 i32.add - local.set $0 + local.tee $4 local.get $1 + i32.const 2 + i32.add local.tee $3 + i32.load8_u + i32.store8 + local.get $3 + local.tee $0 i32.const 2 i32.add - local.set $1 + local.set $3 local.get $4 - local.get $3 + local.get $0 i32.load8_u offset=1 i32.store8 offset=1 - local.get $0 - local.get $1 + local.get $4 + i32.const 2 + i32.add + local.tee $1 + local.get $3 i32.load8_u i32.store8 - local.get $0 + local.get $1 local.tee $4 i32.const 2 i32.add - local.set $0 - local.get $1 - local.tee $3 + local.set $1 + local.get $3 + local.tee $0 i32.const 2 i32.add - local.set $1 + local.set $3 local.get $4 - local.get $3 + local.get $0 i32.load8_u offset=1 i32.store8 offset=1 - local.get $0 local.get $1 + local.get $3 i32.load8_u i32.store8 - local.get $0 - local.tee $4 + local.get $1 i32.const 2 i32.add local.set $0 local.get $1 - local.tee $3 - i32.const 2 - i32.add - local.set $1 - local.get $4 local.get $3 i32.load8_u offset=1 i32.store8 offset=1 + local.get $3 + i32.const 2 + i32.add + local.set $1 end local.get $2 i32.const 4 @@ -2275,30 +2257,20 @@ i32.load8_u i32.store8 local.get $0 - local.tee $4 - i32.const 2 - i32.add - local.set $0 local.get $1 - local.tee $3 - i32.const 2 - i32.add - local.set $1 - local.get $4 - local.get $3 i32.load8_u offset=1 i32.store8 offset=1 local.get $0 - local.get $1 - i32.load8_u - i32.store8 - local.get $0 - local.tee $4 i32.const 2 i32.add - local.set $0 + local.tee $4 local.get $1 + i32.const 2 + i32.add local.tee $3 + i32.load8_u + i32.store8 + local.get $3 i32.const 2 i32.add local.set $1 @@ -2306,6 +2278,10 @@ local.get $3 i32.load8_u offset=1 i32.store8 offset=1 + local.get $4 + i32.const 2 + i32.add + local.set $0 end local.get $2 i32.const 2 @@ -2643,10 +2619,10 @@ local.get $2 i32.eqz if - local.get $0 local.get $1 i32.const 1 i32.shl + local.get $0 i32.add i32.const 3145774 i32.store @@ -2672,10 +2648,10 @@ local.get $4 i32.lt_s if - local.get $0 local.get $1 i32.const 1 i32.shl + local.get $0 i32.add i32.const 48 i32.store16 @@ -2686,10 +2662,10 @@ br $for-loop|0 end end - local.get $0 local.get $4 i32.const 1 i32.shl + local.get $0 i32.add i32.const 3145774 i32.store @@ -2706,10 +2682,10 @@ i32.gt_s select if (result i32) - local.get $0 local.get $4 i32.const 1 i32.shl + local.get $0 i32.add local.tee $0 i32.const 2 @@ -2737,13 +2713,13 @@ i32.gt_s select if (result i32) - local.get $0 i32.const 2 local.get $4 i32.sub local.tee $5 i32.const 1 i32.shl + local.get $0 i32.add local.get $0 local.get $1 @@ -2760,10 +2736,10 @@ local.get $5 i32.lt_s if - local.get $0 local.get $2 i32.const 1 i32.shl + local.get $0 i32.add i32.const 48 i32.store16 @@ -2977,21 +2953,22 @@ ) (func $~lib/util/number/dtoa_core (param $0 i32) (param $1 f64) (result i32) (local $2 i64) - (local $3 i64) - (local $4 i32) - (local $5 i32) + (local $3 i32) + (local $4 i64) + (local $5 i64) (local $6 i64) - (local $7 i64) - (local $8 i64) + (local $7 i32) + (local $8 i32) (local $9 i32) - (local $10 i32) + (local $10 i64) (local $11 i64) (local $12 i64) (local $13 i64) + (local $14 i64) local.get $1 f64.const 0 f64.lt - local.tee $9 + local.tee $8 if (result f64) local.get $0 i32.const 45 @@ -3008,11 +2985,11 @@ i64.const 52 i64.shr_u i32.wrap_i64 - local.set $5 + local.set $3 local.get $2 i64.const 4503599627370495 i64.and - local.get $5 + local.get $3 i32.const 0 i32.ne i64.extend_i32_u @@ -3020,13 +2997,13 @@ i64.shl i64.add local.set $2 - local.get $5 + local.get $3 i32.const 1 - local.get $5 + local.get $3 select i32.const 1075 i32.sub - local.tee $5 + local.tee $3 i32.const 1 i32.sub local.get $2 @@ -3034,14 +3011,14 @@ i64.shl i64.const 1 i64.add - local.tee $3 + local.tee $5 i64.clz i32.wrap_i64 - local.tee $4 + local.tee $7 i32.sub - local.set $10 - local.get $3 - local.get $4 + local.set $9 + local.get $5 + local.get $7 i64.extend_i32_s i64.shl global.set $~lib/util/number/_frc_plus @@ -3051,25 +3028,25 @@ i64.eq i32.const 1 i32.add - local.tee $4 + local.tee $7 i64.extend_i32_s i64.shl i64.const 1 i64.sub - local.get $5 - local.get $4 + local.get $3 + local.get $7 i32.sub - local.get $10 + local.get $9 i32.sub i64.extend_i32_s i64.shl global.set $~lib/util/number/_frc_minus - local.get $10 + local.get $9 global.set $~lib/util/number/_exp i32.const 348 i32.const -61 global.get $~lib/util/number/_exp - local.tee $5 + local.tee $9 i32.sub f64.convert_i32_s f64.const 0.30102999566398114 @@ -3078,9 +3055,9 @@ f64.add local.tee $1 i32.trunc_f64_s - local.tee $4 + local.tee $3 local.get $1 - local.get $4 + local.get $3 f64.convert_i32_s f64.ne i32.add @@ -3088,18 +3065,18 @@ i32.shr_s i32.const 1 i32.add - local.tee $4 + local.tee $3 i32.const 3 i32.shl - local.tee $10 + local.tee $7 i32.sub global.set $~lib/util/number/_K - local.get $10 + local.get $7 i32.const 1328 i32.add i64.load global.set $~lib/util/number/_frc_pow - local.get $4 + local.get $3 i32.const 1 i32.shl i32.const 2024 @@ -3110,62 +3087,62 @@ local.get $2 i64.clz i64.shl - local.tee $3 + local.tee $2 i64.const 4294967295 i64.and - local.set $12 + local.set $11 + local.get $2 + i64.const 32 + i64.shr_u + local.tee $14 global.get $~lib/util/number/_frc_pow - local.tee $11 + local.tee $5 i64.const 4294967295 i64.and - local.set $2 - local.get $3 - i64.const 32 - i64.shr_u - local.set $13 - local.get $11 - i64.const 32 - i64.shr_u - local.set $3 - local.get $2 - local.get $13 + local.tee $2 + local.tee $4 i64.mul - local.get $2 - local.get $12 + local.get $4 + local.get $11 i64.mul i64.const 32 i64.shr_u i64.add - local.set $11 + local.set $12 + local.get $5 + i64.const 32 + i64.shr_u + local.tee $5 + local.set $13 global.get $~lib/util/number/_frc_plus - local.tee $6 + local.tee $4 i64.const 4294967295 i64.and - local.set $7 - local.get $2 - local.get $6 + local.set $6 + local.get $4 i64.const 32 i64.shr_u - local.tee $6 + local.tee $10 + local.get $2 i64.mul local.get $2 - local.get $7 + local.get $6 i64.mul i64.const 32 i64.shr_u i64.add - local.set $8 - local.get $3 - local.get $6 + local.set $4 + local.get $5 + local.get $10 i64.mul - local.get $8 + local.get $4 i64.const 32 i64.shr_u i64.add - local.get $3 - local.get $7 + local.get $5 + local.get $6 i64.mul - local.get $8 + local.get $4 i64.const 4294967295 i64.and i64.add @@ -3176,42 +3153,42 @@ i64.add i64.const 1 i64.sub - local.set $6 + local.set $4 global.get $~lib/util/number/_frc_minus - local.tee $7 + local.tee $6 i64.const 4294967295 i64.and - local.set $8 - local.get $2 - local.get $7 + local.set $10 + local.get $6 i64.const 32 i64.shr_u - local.tee $7 + local.tee $6 + local.get $2 i64.mul local.get $2 - local.get $8 + local.get $10 i64.mul i64.const 32 i64.shr_u i64.add local.set $2 - local.get $9 + local.get $8 i32.const 1 i32.shl local.get $0 i32.add local.get $0 - local.get $3 local.get $13 + local.get $14 i64.mul - local.get $11 + local.get $12 i64.const 32 i64.shr_u i64.add - local.get $3 - local.get $12 - i64.mul local.get $11 + local.get $13 + i64.mul + local.get $12 i64.const 4294967295 i64.and i64.add @@ -3220,22 +3197,22 @@ i64.const 32 i64.shr_u i64.add - local.get $6 - local.get $5 + local.get $4 global.get $~lib/util/number/_exp_pow + local.get $9 i32.add i32.const -64 i32.sub + local.get $4 + local.get $5 local.get $6 - local.get $3 - local.get $7 i64.mul local.get $2 i64.const 32 i64.shr_u i64.add - local.get $3 - local.get $8 + local.get $5 + local.get $10 i64.mul local.get $2 i64.const 4294967295 @@ -3249,13 +3226,13 @@ i64.const 1 i64.add i64.sub - local.get $9 + local.get $8 call $~lib/util/number/genDigits - local.get $9 + local.get $8 i32.sub global.get $~lib/util/number/_K call $~lib/util/number/prettify - local.get $9 + local.get $8 i32.add ) (func $~lib/util/number/dtoa_buffered (param $0 i32) (param $1 f64) (result i32) @@ -3335,96 +3312,96 @@ (local $9 i32) (local $10 i32) i32.const 1056 - local.set $9 + local.set $6 i32.const 1052 i32.load i32.const 1056 i32.add - local.set $10 + local.set $8 loop $while-continue|0 - local.get $9 - local.get $10 + local.get $6 + local.get $8 i32.lt_u if - local.get $9 + local.get $6 i32.load16_u - local.tee $7 + local.tee $9 i32.const 128 i32.lt_u if (result i32) - local.get $6 + local.get $7 i32.const 1 i32.add else - local.get $7 + local.get $9 i32.const 2048 i32.lt_u if (result i32) - local.get $6 + local.get $7 i32.const 2 i32.add else - local.get $10 - local.get $9 + local.get $8 + local.get $6 i32.const 2 i32.add i32.gt_u i32.const 0 - local.get $7 + local.get $9 i32.const 64512 i32.and i32.const 55296 i32.eq select if - local.get $9 + local.get $6 i32.load16_u offset=2 i32.const 64512 i32.and i32.const 56320 i32.eq if - local.get $6 + local.get $7 i32.const 4 i32.add - local.set $6 - local.get $9 + local.set $7 + local.get $6 i32.const 4 i32.add - local.set $9 + local.set $6 br $while-continue|0 end end - local.get $6 + local.get $7 i32.const 3 i32.add end end - local.set $6 - local.get $9 + local.set $7 + local.get $6 i32.const 2 i32.add - local.set $9 + local.set $6 br $while-continue|0 end end - local.get $6 + local.get $7 i32.const 56 - local.get $6 + local.get $7 i32.const 56 i32.gt_s select i32.const 13 i32.add - local.set $6 + local.set $7 global.get $~lib/rt/tlsf/ROOT i32.eqz if call $~lib/rt/tlsf/initialize end global.get $~lib/rt/tlsf/ROOT - local.tee $8 - local.get $6 + local.tee $9 + local.get $7 i32.const 1073741820 i32.gt_u if @@ -3435,13 +3412,13 @@ call $~lib/wasi/index/abort unreachable end - local.get $6 + local.get $7 i32.const 12 i32.le_u if (result i32) i32.const 12 else - local.get $6 + local.get $7 i32.const 19 i32.add i32.const -16 @@ -3449,34 +3426,34 @@ i32.const 4 i32.sub end - local.tee $6 - call $~lib/rt/tlsf/searchBlock local.tee $7 + call $~lib/rt/tlsf/searchBlock + local.tee $6 i32.eqz if memory.size - local.tee $9 - local.get $6 + local.tee $8 + local.get $7 i32.const 536870910 i32.lt_u if (result i32) - local.get $6 i32.const 1 i32.const 27 - local.get $6 + local.get $7 i32.clz i32.sub i32.shl i32.const 1 i32.sub + local.get $7 i32.add else - local.get $6 + local.get $7 end i32.const 4 - local.get $8 - i32.load offset=1568 local.get $9 + i32.load offset=1568 + local.get $8 i32.const 16 i32.shl i32.const 4 @@ -3490,16 +3467,16 @@ i32.and i32.const 16 i32.shr_u - local.tee $7 - local.get $7 - local.get $9 + local.tee $6 + local.get $6 + local.get $8 i32.lt_s select memory.grow i32.const 0 i32.lt_s if - local.get $7 + local.get $6 memory.grow i32.const 0 i32.lt_s @@ -3507,18 +3484,18 @@ unreachable end end - local.get $8 local.get $9 + local.get $8 i32.const 16 i32.shl memory.size i32.const 16 i32.shl call $~lib/rt/tlsf/addMemory - local.get $8 - local.get $6 + local.get $9 + local.get $7 call $~lib/rt/tlsf/searchBlock - local.tee $7 + local.tee $6 i32.eqz if i32.const 0 @@ -3530,11 +3507,11 @@ end end local.get $6 - local.get $7 i32.load i32.const -4 i32.and - i32.gt_u + local.get $7 + i32.lt_u if i32.const 0 i32.const 1216 @@ -3543,13 +3520,16 @@ call $~lib/wasi/index/abort unreachable end - local.get $8 - local.get $7 + local.get $9 + local.get $6 call $~lib/rt/tlsf/removeBlock local.get $7 - i32.load - local.set $9 + local.set $8 local.get $6 + local.tee $7 + i32.load + local.set $6 + local.get $8 i32.const 4 i32.add i32.const 15 @@ -3562,10 +3542,10 @@ call $~lib/wasi/index/abort unreachable end - local.get $9 + local.get $6 i32.const -4 i32.and - local.get $6 + local.get $8 i32.sub local.tee $10 i32.const 16 @@ -3573,12 +3553,12 @@ if local.get $7 local.get $6 - local.get $9 i32.const 2 i32.and + local.get $8 i32.or i32.store - local.get $6 + local.get $8 local.get $7 i32.const 4 i32.add @@ -3590,30 +3570,25 @@ i32.const 1 i32.or i32.store - local.get $8 + local.get $9 local.get $6 call $~lib/rt/tlsf/insertBlock else local.get $7 - local.get $9 + local.get $6 i32.const -2 i32.and i32.store local.get $7 i32.const 4 i32.add - local.tee $6 local.get $7 i32.load i32.const -4 i32.and i32.add + local.tee $6 local.get $6 - local.get $7 - i32.load - i32.const -4 - i32.and - i32.add i32.load i32.const -3 i32.and @@ -3622,193 +3597,193 @@ local.get $7 i32.const 4 i32.add - local.tee $8 + local.tee $7 i32.const 8 i32.add - local.tee $7 + local.tee $8 i32.const 4 i32.add - local.set $9 - local.get $8 - local.get $9 + local.set $6 + local.get $7 + local.get $6 i32.store - local.get $9 + local.get $6 i64.const 9071406388179572 i64.store - local.get $8 + local.get $7 i32.const 7 i32.store offset=4 i32.const 2 - local.get $8 - i32.const 1 local.get $7 + i32.const 1 + local.get $8 call $~lib/bindings/wasi_snapshot_preview1/fd_write drop i32.const 1052 i32.load i32.const 1 i32.shr_u - local.set $6 + local.set $9 i32.const 3 global.set $~argumentsLength - local.get $8 + local.get $7 i32.const 1056 - local.get $6 local.get $9 + local.get $6 call $~lib/string/String.UTF8.encodeUnsafe@varargs i32.store offset=4 i32.const 2 - local.get $8 - i32.const 1 local.get $7 + i32.const 1 + local.get $8 call $~lib/bindings/wasi_snapshot_preview1/fd_write drop local.get $0 if (result i32) - local.get $9 + local.get $6 i32.const 32 i32.store8 - local.get $9 + local.get $6 i32.const 1 i32.add - local.tee $10 + local.tee $6 local.get $1 call $~lib/util/number/dtoa_buffered - local.set $6 + local.set $9 i32.const 3 global.set $~argumentsLength - local.get $8 - local.get $10 + local.get $7 + local.get $6 + local.get $9 local.get $6 - local.get $10 call $~lib/string/String.UTF8.encodeUnsafe@varargs i32.const 1 i32.add i32.store offset=4 i32.const 2 - local.get $8 - i32.const 1 local.get $7 + i32.const 1 + local.get $8 call $~lib/bindings/wasi_snapshot_preview1/fd_write drop local.get $0 i32.const 1 i32.gt_s if - local.get $10 + local.get $6 local.get $2 call $~lib/util/number/dtoa_buffered - local.set $6 + local.set $9 i32.const 3 global.set $~argumentsLength - local.get $8 - local.get $10 + local.get $7 + local.get $6 + local.get $9 local.get $6 - local.get $10 call $~lib/string/String.UTF8.encodeUnsafe@varargs i32.const 1 i32.add i32.store offset=4 i32.const 2 - local.get $8 - i32.const 1 local.get $7 + i32.const 1 + local.get $8 call $~lib/bindings/wasi_snapshot_preview1/fd_write drop local.get $0 i32.const 2 i32.gt_s if - local.get $10 + local.get $6 local.get $3 call $~lib/util/number/dtoa_buffered - local.set $6 + local.set $9 i32.const 3 global.set $~argumentsLength - local.get $8 - local.get $10 + local.get $7 + local.get $6 + local.get $9 local.get $6 - local.get $10 call $~lib/string/String.UTF8.encodeUnsafe@varargs i32.const 1 i32.add i32.store offset=4 i32.const 2 - local.get $8 - i32.const 1 local.get $7 + i32.const 1 + local.get $8 call $~lib/bindings/wasi_snapshot_preview1/fd_write drop local.get $0 i32.const 3 i32.gt_s if - local.get $10 + local.get $6 local.get $4 call $~lib/util/number/dtoa_buffered - local.set $6 + local.set $9 i32.const 3 global.set $~argumentsLength - local.get $8 - local.get $10 + local.get $7 + local.get $6 + local.get $9 local.get $6 - local.get $10 call $~lib/string/String.UTF8.encodeUnsafe@varargs i32.const 1 i32.add i32.store offset=4 i32.const 2 - local.get $8 - i32.const 1 local.get $7 + i32.const 1 + local.get $8 call $~lib/bindings/wasi_snapshot_preview1/fd_write drop local.get $0 i32.const 4 i32.gt_s if - local.get $10 + local.get $6 local.get $5 call $~lib/util/number/dtoa_buffered local.set $0 i32.const 3 global.set $~argumentsLength - local.get $8 - local.get $10 + local.get $7 + local.get $6 local.get $0 - local.get $10 + local.get $6 call $~lib/string/String.UTF8.encodeUnsafe@varargs i32.const 1 i32.add i32.store offset=4 i32.const 2 - local.get $8 - i32.const 1 local.get $7 + i32.const 1 + local.get $8 call $~lib/bindings/wasi_snapshot_preview1/fd_write drop end end end end - local.get $10 + local.get $6 i32.const 1 i32.sub else - local.get $9 + local.get $6 end i32.const 10 i32.store8 - local.get $8 + local.get $7 i32.const 1 i32.store offset=4 i32.const 2 - local.get $8 - i32.const 1 local.get $7 + i32.const 1 + local.get $8 call $~lib/bindings/wasi_snapshot_preview1/fd_write drop - local.get $8 + local.get $7 i32.const 19024 i32.ge_u if @@ -3818,20 +3793,20 @@ call $~lib/rt/tlsf/initialize end global.get $~lib/rt/tlsf/ROOT - local.get $8 + local.get $7 i32.const 4 i32.sub - local.set $7 - local.get $8 + local.set $0 + local.get $7 i32.const 15 i32.and i32.const 1 - local.get $8 + local.get $7 select if (result i32) i32.const 1 else - local.get $7 + local.get $0 i32.load i32.const 1 i32.and @@ -3844,13 +3819,13 @@ call $~lib/wasi/index/abort unreachable end - local.get $7 - local.get $7 + local.get $0 + local.get $0 i32.load i32.const 1 i32.or i32.store - local.get $7 + local.get $0 call $~lib/rt/tlsf/insertBlock end ) diff --git a/tests/compiler/while.optimized.wat b/tests/compiler/while.optimized.wat index cd79f2650a..995f0147ed 100644 --- a/tests/compiler/while.optimized.wat +++ b/tests/compiler/while.optimized.wat @@ -99,8 +99,8 @@ i32.and i32.eq if - local.get $0 global.get $~lib/rt/itcms/iter + local.get $0 i32.eq if local.get $0 @@ -160,11 +160,11 @@ local.get $1 i32.store offset=8 local.get $1 - local.get $2 local.get $1 i32.load offset=4 i32.const 3 i32.and + local.get $2 i32.or i32.store offset=4 end @@ -178,10 +178,10 @@ if (result i32) i32.const 1 else - local.get $1 i32.const 1488 i32.load - i32.gt_u + local.get $1 + i32.lt_u if i32.const 1296 i32.const 1360 @@ -218,11 +218,11 @@ local.get $1 i32.store offset=8 local.get $1 - local.get $0 local.get $1 i32.load offset=4 i32.const 3 i32.and + local.get $0 i32.or i32.store offset=4 local.get $2 @@ -361,22 +361,22 @@ local.get $4 i32.eqz if - local.get $0 local.get $3 i32.const 2 i32.shl + local.get $0 i32.add - local.tee $1 + local.tee $4 i32.load offset=4 i32.const -2 local.get $2 i32.rotl i32.and - local.set $2 + local.set $1 + local.get $4 local.get $1 - local.get $2 i32.store offset=4 - local.get $2 + local.get $1 i32.eqz if local.get $0 @@ -624,10 +624,10 @@ i32.shl i32.or i32.store - local.get $0 local.get $5 i32.const 2 i32.shl + local.get $0 i32.add local.tee $0 local.get $0 @@ -667,11 +667,11 @@ i32.load offset=1568 local.tee $2 if + local.get $1 local.get $2 i32.const 4 i32.add - local.get $1 - i32.gt_u + i32.lt_u if i32.const 0 i32.const 1440 @@ -695,11 +695,11 @@ local.set $1 end else + local.get $1 local.get $0 i32.const 1572 i32.add - local.get $1 - i32.gt_u + i32.lt_u if i32.const 0 i32.const 1440 @@ -986,13 +986,13 @@ if local.get $0 i32.load offset=4 + local.tee $1 i32.const -4 i32.and global.set $~lib/rt/itcms/iter global.get $~lib/rt/itcms/white i32.eqz - local.get $0 - i32.load offset=4 + local.get $1 i32.const 3 i32.and i32.ne @@ -1079,10 +1079,10 @@ end global.get $~lib/rt/itcms/toSpace local.tee $0 - local.get $0 + local.tee $1 + local.get $1 i32.store offset=4 - global.get $~lib/rt/itcms/toSpace - local.tee $0 + local.get $0 local.get $0 i32.store offset=8 i32.const 0 @@ -1102,11 +1102,11 @@ i32.and local.tee $2 if (result i32) - local.get $0 local.get $2 i32.ctz i32.const 2 i32.shl + local.get $0 i32.add i32.load offset=96 else @@ -1116,12 +1116,12 @@ i32.and local.tee $1 if (result i32) - local.get $0 local.get $1 i32.ctz local.tee $1 i32.const 2 i32.shl + local.get $0 i32.add i32.load offset=4 local.tee $2 @@ -1134,7 +1134,6 @@ call $~lib/builtins/abort unreachable end - local.get $0 local.get $2 i32.ctz local.get $1 @@ -1143,6 +1142,7 @@ i32.add i32.const 2 i32.shl + local.get $0 i32.add i32.load offset=96 else @@ -1345,13 +1345,11 @@ i32.const 1 i32.add local.tee $0 - local.set $1 - local.get $0 i32.const 10 i32.ne br_if $while-continue|03 end - local.get $1 + local.get $0 i32.const 10 i32.ne if @@ -1872,18 +1870,13 @@ local.get $0 i32.const 4 i32.add - local.tee $1 local.get $0 i32.load i32.const -4 i32.and i32.add + local.tee $1 local.get $1 - local.get $0 - i32.load - i32.const -4 - i32.and - i32.add i32.load i32.const -3 i32.and @@ -1900,19 +1893,19 @@ i32.load offset=8 local.set $3 local.get $0 - local.get $1 global.get $~lib/rt/itcms/white + local.get $1 i32.or i32.store offset=4 local.get $0 local.get $3 i32.store offset=8 local.get $3 - local.get $0 local.get $3 i32.load offset=4 i32.const 3 i32.and + local.get $0 i32.or i32.store offset=4 local.get $1