diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index aee2de710e..1d1de8c02a 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -122,7 +122,7 @@ jobs: - uses: dcodeIO/setup-node-nvm@master with: node-mirror: https://nodejs.org/download/v8-canary/ - node-version: 17.0.0-v8-canary2021082701777958f9 + node-version: 18.0.0-v8-canary20211115037fd7ae8d - name: Install dependencies run: npm ci --no-audit - name: Clean distribution files diff --git a/lib/loader/index.js b/lib/loader/index.js index b76d8a89c3..1185890644 100644 --- a/lib/loader/index.js +++ b/lib/loader/index.js @@ -29,7 +29,7 @@ const VAL_MANAGED = 1 << 14; // Array(BufferView) layout const ARRAYBUFFERVIEW_BUFFER_OFFSET = 0; const ARRAYBUFFERVIEW_DATASTART_OFFSET = 4; -const ARRAYBUFFERVIEW_DATALENGTH_OFFSET = 8; +const ARRAYBUFFERVIEW_BYTELENGTH_OFFSET = 8; const ARRAYBUFFERVIEW_SIZE = 12; const ARRAY_LENGTH_OFFSET = 12; const ARRAY_SIZE = 16; @@ -212,7 +212,7 @@ function postInstantiate(extendedExports, instance) { const U32 = new Uint32Array(memory.buffer); U32[arr + ARRAYBUFFERVIEW_BUFFER_OFFSET >>> 2] = buf; U32[arr + ARRAYBUFFERVIEW_DATASTART_OFFSET >>> 2] = buf; - U32[arr + ARRAYBUFFERVIEW_DATALENGTH_OFFSET >>> 2] = length << align; + U32[arr + ARRAYBUFFERVIEW_BYTELENGTH_OFFSET >>> 2] = length << align; if (info & ARRAY) U32[arr + ARRAY_LENGTH_OFFSET >>> 2] = length; result = arr; } @@ -287,8 +287,11 @@ function postInstantiate(extendedExports, instance) { function getTypedArrayView(Type, alignLog2, ptr) { const buffer = memory.buffer; const U32 = new Uint32Array(buffer); - const bufPtr = U32[ptr + ARRAYBUFFERVIEW_DATASTART_OFFSET >>> 2]; - return new Type(buffer, bufPtr, U32[bufPtr + SIZE_OFFSET >>> 2] >>> alignLog2); + return new Type( + buffer, + U32[ptr + ARRAYBUFFERVIEW_DATASTART_OFFSET >>> 2], + U32[ptr + ARRAYBUFFERVIEW_BYTELENGTH_OFFSET >>> 2] >>> alignLog2 + ); } /** Attach a set of get TypedArray and View functions to the exports. */ diff --git a/lib/loader/umd/index.js b/lib/loader/umd/index.js index 44a6fe11a0..950abb749e 100644 --- a/lib/loader/umd/index.js +++ b/lib/loader/umd/index.js @@ -38,10 +38,17 @@ var loader = (function(exports) { const ARRAYBUFFERVIEW_BUFFER_OFFSET = 0; const ARRAYBUFFERVIEW_DATASTART_OFFSET = 4; - const ARRAYBUFFERVIEW_DATALENGTH_OFFSET = 8; + const ARRAYBUFFERVIEW_BYTELENGTH_OFFSET = 8; const ARRAYBUFFERVIEW_SIZE = 12; const ARRAY_LENGTH_OFFSET = 12; const ARRAY_SIZE = 16; + const E_NO_EXPORT_TABLE = "Operation requires compiling with --exportTable"; + const E_NO_EXPORT_RUNTIME = "Operation requires compiling with --exportRuntime"; + + const F_NO_EXPORT_RUNTIME = () => { + throw Error(E_NO_EXPORT_RUNTIME); + }; + const BIGINT = typeof BigUint64Array !== "undefined"; const THIS = Symbol(); const STRING_SMALLSIZE = 192; // break-even point in V8 @@ -52,8 +59,14 @@ var loader = (function(exports) { fatal: true }); // != wtf16 + /** polyfill for Object.hasOwn */ + + Object.hasOwn = Object.hasOwn || function (obj, prop) { + return Object.prototype.hasOwnProperty.call(obj, prop); + }; /** Gets a string from memory. */ + function getStringImpl(buffer, ptr) { let len = new Uint32Array(buffer)[ptr + SIZE_OFFSET >>> 2] >>> 1; const wtf16 = new Uint16Array(buffer, ptr, len); @@ -102,12 +115,6 @@ var loader = (function(exports) { imports.Date = imports.Date || Date; return extendedExports; } - - const E_NOEXPORTRUNTIME = "Operation requires compiling with --exportRuntime"; - - const F_NOEXPORTRUNTIME = function () { - throw Error(E_NOEXPORTRUNTIME); - }; /** Prepares the final module once instantiation is complete. */ @@ -116,47 +123,43 @@ var loader = (function(exports) { const memory = exports.memory; const table = exports.table; - const __new = exports.__new || F_NOEXPORTRUNTIME; + const __new = exports.__new || F_NO_EXPORT_RUNTIME; - const __pin = exports.__pin || F_NOEXPORTRUNTIME; + const __pin = exports.__pin || F_NO_EXPORT_RUNTIME; - const __unpin = exports.__unpin || F_NOEXPORTRUNTIME; + const __unpin = exports.__unpin || F_NO_EXPORT_RUNTIME; - const __collect = exports.__collect || F_NOEXPORTRUNTIME; + const __collect = exports.__collect || F_NO_EXPORT_RUNTIME; const __rtti_base = exports.__rtti_base; - const getRttiCount = __rtti_base ? function (arr) { - return arr[__rtti_base >>> 2]; - } : F_NOEXPORTRUNTIME; + const getRttiCount = __rtti_base ? arr => arr[__rtti_base >>> 2] : F_NO_EXPORT_RUNTIME; extendedExports.__new = __new; extendedExports.__pin = __pin; extendedExports.__unpin = __unpin; extendedExports.__collect = __collect; /** Gets the runtime type info for the given id. */ - function getInfo(id) { + function getRttInfo(id) { + const U32 = new Uint32Array(memory.buffer); + if ((id >>>= 0) >= getRttiCount(U32)) throw Error(`invalid id: ${id}`); + return U32[(__rtti_base + 4 >>> 2) + (id << 1)]; + } + /** Gets the runtime base id for the given id. */ + + + function getRttBase(id) { const U32 = new Uint32Array(memory.buffer); - const count = getRttiCount(U32); - if ((id >>>= 0) >= count) throw Error(`invalid id: ${id}`); - return U32[(__rtti_base + 4 >>> 2) + id * 2]; + if ((id >>>= 0) >= getRttiCount(U32)) throw Error(`invalid id: ${id}`); + return U32[(__rtti_base + 4 >>> 2) + (id << 1) + 1]; } /** Gets and validate runtime type info for the given id for array like objects */ function getArrayInfo(id) { - const info = getInfo(id); + const info = getRttInfo(id); if (!(info & (ARRAYBUFFERVIEW | ARRAY | STATICARRAY))) throw Error(`not an array: ${id}, flags=${info}`); return info; } - /** Gets the runtime base id for the given id. */ - - - function getBase(id) { - const U32 = new Uint32Array(memory.buffer); - const count = getRttiCount(U32); - if ((id >>>= 0) >= count) throw Error(`invalid id: ${id}`); - return U32[(__rtti_base + 4 >>> 2) + id * 2 + 1]; - } /** Gets the runtime alignment of a collection's values. */ @@ -185,6 +188,20 @@ var loader = (function(exports) { } extendedExports.__newString = __newString; + /** Allocates a new ArrayBuffer in the module's memory and returns its pointer. */ + + function __newArrayBuffer(buf) { + if (buf == null) return 0; + const bufview = new Uint8Array(buf); + + const ptr = __new(bufview.length, ARRAYBUFFER_ID); + + const U8 = new Uint8Array(memory.buffer); + U8.set(bufview, ptr); + return ptr; + } + + extendedExports.__newArrayBuffer = __newArrayBuffer; /** Reads a string from the module's memory by its pointer. */ function __getString(ptr) { @@ -230,10 +247,12 @@ var loader = (function(exports) { /** Allocates a new array in the module's memory and returns its pointer. */ - function __newArray(id, values) { + function __newArray(id, valuesOrCapacity = 0) { + const input = valuesOrCapacity; const info = getArrayInfo(id); const align = getValueAlign(info); - const length = values.length; + const isArrayLike = typeof input !== "number"; + const length = isArrayLike ? input.length : input; const buf = __new(length << align, info & STATICARRAY ? id : ARRAYBUFFER_ID); @@ -251,20 +270,22 @@ var loader = (function(exports) { const U32 = new Uint32Array(memory.buffer); U32[arr + ARRAYBUFFERVIEW_BUFFER_OFFSET >>> 2] = buf; U32[arr + ARRAYBUFFERVIEW_DATASTART_OFFSET >>> 2] = buf; - U32[arr + ARRAYBUFFERVIEW_DATALENGTH_OFFSET >>> 2] = length << align; + U32[arr + ARRAYBUFFERVIEW_BYTELENGTH_OFFSET >>> 2] = length << align; if (info & ARRAY) U32[arr + ARRAY_LENGTH_OFFSET >>> 2] = length; result = arr; } - const view = getView(align, info & VAL_SIGNED, info & VAL_FLOAT); + if (isArrayLike) { + const view = getView(align, info & VAL_SIGNED, info & VAL_FLOAT); + const start = buf >>> align; - if (info & VAL_MANAGED) { - for (let i = 0; i < length; ++i) { - const value = values[i]; - view[(buf >>> align) + i] = value; + if (info & VAL_MANAGED) { + for (let i = 0; i < length; ++i) { + view[start + i] = input[i]; + } + } else { + view.set(input, start); } - } else { - view.set(values, buf >>> align); } return result; @@ -307,6 +328,15 @@ var loader = (function(exports) { } extendedExports.__getArrayBuffer = __getArrayBuffer; + /** Gets a function from poiner which contain table's index. */ + + function __getFunction(ptr) { + if (!table) throw Error(E_NO_EXPORT_TABLE); + const index = new Uint32Array(memory.buffer)[ptr >>> 2]; + return table.get(index); + } + + extendedExports.__getFunction = __getFunction; /** Copies a typed array's values from the module's memory. */ function getTypedArray(Type, alignLog2, ptr) { @@ -318,8 +348,7 @@ var loader = (function(exports) { function getTypedArrayView(Type, alignLog2, ptr) { const buffer = memory.buffer; const U32 = new Uint32Array(buffer); - const bufPtr = U32[ptr + ARRAYBUFFERVIEW_DATASTART_OFFSET >>> 2]; - return new Type(buffer, bufPtr, U32[bufPtr + SIZE_OFFSET >>> 2] >>> alignLog2); + return new Type(buffer, U32[ptr + ARRAYBUFFERVIEW_DATASTART_OFFSET >>> 2], U32[ptr + ARRAYBUFFERVIEW_BYTELENGTH_OFFSET >>> 2] >>> alignLog2); } /** Attach a set of get TypedArray and View functions to the exports. */ @@ -348,7 +377,7 @@ var loader = (function(exports) { if (id <= getRttiCount(U32)) { do { if (id == baseId) return true; - id = getBase(id); + id = getRttBase(id); } while (id); } @@ -424,15 +453,14 @@ var loader = (function(exports) { /* nop */ }); - for (let internalName in exports) { - if (!Object.prototype.hasOwnProperty.call(exports, internalName)) continue; + for (let internalName of Object.keys(exports)) { const elem = exports[internalName]; let parts = internalName.split("."); let curr = extendedExports; while (parts.length > 1) { let part = parts.shift(); - if (!Object.prototype.hasOwnProperty.call(curr, part)) curr[part] = {}; + if (!Object.hasOwn(curr, part)) curr[part] = {}; curr = curr[part]; } @@ -472,7 +500,7 @@ var loader = (function(exports) { curr = curr[className].prototype; if (/^(get|set):/.test(name)) { - if (!Object.prototype.hasOwnProperty.call(curr, name = name.substring(4))) { + if (!Object.hasOwn(curr, name = name.substring(4))) { let getter = exports[internalName.replace("set:", "get:")]; let setter = exports[internalName.replace("get:", "set:")]; Object.defineProperty(curr, name, { @@ -489,7 +517,7 @@ var loader = (function(exports) { } } else { if (name === 'constructor') { - (curr[name] = (...args) => { + (curr[name] = function (...args) { setArgumentsLength(args.length); return elem(...args); }).original = elem; @@ -504,7 +532,7 @@ var loader = (function(exports) { } } else { if (/^(get|set):/.test(name)) { - if (!Object.prototype.hasOwnProperty.call(curr, name = name.substring(4))) { + if (!Object.hasOwn(curr, name = name.substring(4))) { Object.defineProperty(curr, name, { get: exports[internalName.replace("set:", "get:")], set: exports[internalName.replace("get:", "set:")], diff --git a/package-lock.json b/package-lock.json index 5b72ca0360..31d47ea1d5 100644 --- a/package-lock.json +++ b/package-lock.json @@ -5,11 +5,12 @@ "requires": true, "packages": { "": { + "name": "assemblyscript", "version": "0.0.0", "license": "Apache-2.0", "dependencies": { "binaryen": "102.0.0-nightly.20211028", - "long": "^5.1.0", + "long": "^5.2.0", "source-map-support": "^0.5.20", "ts-node": "^10.4.0" }, @@ -19,8 +20,8 @@ }, "devDependencies": { "@types/node": "^16.11.6", - "@typescript-eslint/eslint-plugin": "^5.3.1", - "@typescript-eslint/parser": "^5.3.1", + "@typescript-eslint/eslint-plugin": "^5.4.0", + "@typescript-eslint/parser": "^5.4.0", "diff": "^5.0.0", "eslint": "^8.2.0", "glob": "^7.2.0", @@ -28,8 +29,8 @@ "physical-cpu-count": "^2.0.0", "ts-loader": "^9.2.6", "ts-node": "^10.4.0", - "typescript": "~4.4.4", - "webpack": "^5.61.0", + "typescript": "~4.5.2", + "webpack": "^5.64.1", "webpack-cli": "^4.9.1" }, "funding": { @@ -41,6 +42,7 @@ "version": "0.8.0", "resolved": "https://registry.npmjs.org/@cspotcode/source-map-consumer/-/source-map-consumer-0.8.0.tgz", "integrity": "sha512-41qniHzTU8yAGbCp04ohlmSrZf8bkf/iJsl3V0dRGsQN/5GFfx+LbCSsCpp2gqrqjTVg/K6O8ycoV35JIwAzAg==", + "dev": true, "engines": { "node": ">= 12" } @@ -49,6 +51,7 @@ "version": "0.7.0", "resolved": "https://registry.npmjs.org/@cspotcode/source-map-support/-/source-map-support-0.7.0.tgz", "integrity": "sha512-X4xqRHqN8ACt2aHVe51OxeA2HjbcL4MqFqXkrmQszJ1NOUuUu5u6Vqx/0lZSVNku7velL5FC/s5uEAj1lsBMhA==", + "dev": true, "dependencies": { "@cspotcode/source-map-consumer": "0.8.0" }, @@ -152,22 +155,26 @@ "node_modules/@tsconfig/node10": { "version": "1.0.8", "resolved": "https://registry.npmjs.org/@tsconfig/node10/-/node10-1.0.8.tgz", - "integrity": "sha512-6XFfSQmMgq0CFLY1MslA/CPUfhIL919M1rMsa5lP2P097N2Wd1sSX0tx1u4olM16fLNhtHZpRhedZJphNJqmZg==" + "integrity": "sha512-6XFfSQmMgq0CFLY1MslA/CPUfhIL919M1rMsa5lP2P097N2Wd1sSX0tx1u4olM16fLNhtHZpRhedZJphNJqmZg==", + "dev": true }, "node_modules/@tsconfig/node12": { "version": "1.0.9", "resolved": "https://registry.npmjs.org/@tsconfig/node12/-/node12-1.0.9.tgz", - "integrity": "sha512-/yBMcem+fbvhSREH+s14YJi18sp7J9jpuhYByADT2rypfajMZZN4WQ6zBGgBKp53NKmqI36wFYDb3yaMPurITw==" + "integrity": "sha512-/yBMcem+fbvhSREH+s14YJi18sp7J9jpuhYByADT2rypfajMZZN4WQ6zBGgBKp53NKmqI36wFYDb3yaMPurITw==", + "dev": true }, "node_modules/@tsconfig/node14": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/@tsconfig/node14/-/node14-1.0.1.tgz", - "integrity": "sha512-509r2+yARFfHHE7T6Puu2jjkoycftovhXRqW328PDXTVGKihlb1P8Z9mMZH04ebyajfRY7dedfGynlrFHJUQCg==" + "integrity": "sha512-509r2+yARFfHHE7T6Puu2jjkoycftovhXRqW328PDXTVGKihlb1P8Z9mMZH04ebyajfRY7dedfGynlrFHJUQCg==", + "dev": true }, "node_modules/@tsconfig/node16": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/@tsconfig/node16/-/node16-1.0.2.tgz", - "integrity": "sha512-eZxlbI8GZscaGS7kkc/trHTT5xgrjH3/1n2JDwusC9iahPKWMRvRjJSAN5mCXviuTGQ/lHnhvv8Q1YTpnfz9gA==" + "integrity": "sha512-eZxlbI8GZscaGS7kkc/trHTT5xgrjH3/1n2JDwusC9iahPKWMRvRjJSAN5mCXviuTGQ/lHnhvv8Q1YTpnfz9gA==", + "dev": true }, "node_modules/@types/eslint": { "version": "7.28.2", @@ -204,16 +211,17 @@ "node_modules/@types/node": { "version": "16.11.7", "resolved": "https://registry.npmjs.org/@types/node/-/node-16.11.7.tgz", - "integrity": "sha512-QB5D2sqfSjCmTuWcBWyJ+/44bcjO7VbjSbOE0ucoVbAsSNQc4Lt6QkgkVXkTDwkL4z/beecZNDvVX15D4P8Jbw==" + "integrity": "sha512-QB5D2sqfSjCmTuWcBWyJ+/44bcjO7VbjSbOE0ucoVbAsSNQc4Lt6QkgkVXkTDwkL4z/beecZNDvVX15D4P8Jbw==", + "dev": true }, "node_modules/@typescript-eslint/eslint-plugin": { - "version": "5.3.1", - "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.3.1.tgz", - "integrity": "sha512-cFImaoIr5Ojj358xI/SDhjog57OK2NqlpxwdcgyxDA3bJlZcJq5CPzUXtpD7CxI2Hm6ATU7w5fQnnkVnmwpHqw==", + "version": "5.4.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.4.0.tgz", + "integrity": "sha512-9/yPSBlwzsetCsGEn9j24D8vGQgJkOTr4oMLas/w886ZtzKIs1iyoqFrwsX2fqYEeUwsdBpC21gcjRGo57u0eg==", "dev": true, "dependencies": { - "@typescript-eslint/experimental-utils": "5.3.1", - "@typescript-eslint/scope-manager": "5.3.1", + "@typescript-eslint/experimental-utils": "5.4.0", + "@typescript-eslint/scope-manager": "5.4.0", "debug": "^4.3.2", "functional-red-black-tree": "^1.0.1", "ignore": "^5.1.8", @@ -239,15 +247,15 @@ } }, "node_modules/@typescript-eslint/experimental-utils": { - "version": "5.3.1", - "resolved": "https://registry.npmjs.org/@typescript-eslint/experimental-utils/-/experimental-utils-5.3.1.tgz", - "integrity": "sha512-RgFn5asjZ5daUhbK5Sp0peq0SSMytqcrkNfU4pnDma2D8P3ElZ6JbYjY8IMSFfZAJ0f3x3tnO3vXHweYg0g59w==", + "version": "5.4.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/experimental-utils/-/experimental-utils-5.4.0.tgz", + "integrity": "sha512-Nz2JDIQUdmIGd6p33A+naQmwfkU5KVTLb/5lTk+tLVTDacZKoGQisj8UCxk7onJcrgjIvr8xWqkYI+DbI3TfXg==", "dev": true, "dependencies": { "@types/json-schema": "^7.0.9", - "@typescript-eslint/scope-manager": "5.3.1", - "@typescript-eslint/types": "5.3.1", - "@typescript-eslint/typescript-estree": "5.3.1", + "@typescript-eslint/scope-manager": "5.4.0", + "@typescript-eslint/types": "5.4.0", + "@typescript-eslint/typescript-estree": "5.4.0", "eslint-scope": "^5.1.1", "eslint-utils": "^3.0.0" }, @@ -263,14 +271,14 @@ } }, "node_modules/@typescript-eslint/parser": { - "version": "5.3.1", - "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-5.3.1.tgz", - "integrity": "sha512-TD+ONlx5c+Qhk21x9gsJAMRohWAUMavSOmJgv3JGy9dgPhuBd5Wok0lmMClZDyJNLLZK1JRKiATzCKZNUmoyfw==", + "version": "5.4.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-5.4.0.tgz", + "integrity": "sha512-JoB41EmxiYpaEsRwpZEYAJ9XQURPFer8hpkIW9GiaspVLX8oqbqNM8P4EP8HOZg96yaALiLEVWllA2E8vwsIKw==", "dev": true, "dependencies": { - "@typescript-eslint/scope-manager": "5.3.1", - "@typescript-eslint/types": "5.3.1", - "@typescript-eslint/typescript-estree": "5.3.1", + "@typescript-eslint/scope-manager": "5.4.0", + "@typescript-eslint/types": "5.4.0", + "@typescript-eslint/typescript-estree": "5.4.0", "debug": "^4.3.2" }, "engines": { @@ -290,13 +298,13 @@ } }, "node_modules/@typescript-eslint/scope-manager": { - "version": "5.3.1", - "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-5.3.1.tgz", - "integrity": "sha512-XksFVBgAq0Y9H40BDbuPOTUIp7dn4u8oOuhcgGq7EoDP50eqcafkMVGrypyVGvDYHzjhdUCUwuwVUK4JhkMAMg==", + "version": "5.4.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-5.4.0.tgz", + "integrity": "sha512-pRxFjYwoi8R+n+sibjgF9iUiAELU9ihPBtHzocyW8v8D8G8KeQvXTsW7+CBYIyTYsmhtNk50QPGLE3vrvhM5KA==", "dev": true, "dependencies": { - "@typescript-eslint/types": "5.3.1", - "@typescript-eslint/visitor-keys": "5.3.1" + "@typescript-eslint/types": "5.4.0", + "@typescript-eslint/visitor-keys": "5.4.0" }, "engines": { "node": "^12.22.0 || ^14.17.0 || >=16.0.0" @@ -307,9 +315,9 @@ } }, "node_modules/@typescript-eslint/types": { - "version": "5.3.1", - "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-5.3.1.tgz", - "integrity": "sha512-bG7HeBLolxKHtdHG54Uac750eXuQQPpdJfCYuw4ZI3bZ7+GgKClMWM8jExBtp7NSP4m8PmLRM8+lhzkYnSmSxQ==", + "version": "5.4.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-5.4.0.tgz", + "integrity": "sha512-GjXNpmn+n1LvnttarX+sPD6+S7giO+9LxDIGlRl4wK3a7qMWALOHYuVSZpPTfEIklYjaWuMtfKdeByx0AcaThA==", "dev": true, "engines": { "node": "^12.22.0 || ^14.17.0 || >=16.0.0" @@ -320,13 +328,13 @@ } }, "node_modules/@typescript-eslint/typescript-estree": { - "version": "5.3.1", - "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-5.3.1.tgz", - "integrity": "sha512-PwFbh/PKDVo/Wct6N3w+E4rLZxUDgsoII/GrWM2A62ETOzJd4M6s0Mu7w4CWsZraTbaC5UQI+dLeyOIFF1PquQ==", + "version": "5.4.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-5.4.0.tgz", + "integrity": "sha512-nhlNoBdhKuwiLMx6GrybPT3SFILm5Gij2YBdPEPFlYNFAXUJWX6QRgvi/lwVoadaQEFsizohs6aFRMqsXI2ewA==", "dev": true, "dependencies": { - "@typescript-eslint/types": "5.3.1", - "@typescript-eslint/visitor-keys": "5.3.1", + "@typescript-eslint/types": "5.4.0", + "@typescript-eslint/visitor-keys": "5.4.0", "debug": "^4.3.2", "globby": "^11.0.4", "is-glob": "^4.0.3", @@ -347,12 +355,12 @@ } }, "node_modules/@typescript-eslint/visitor-keys": { - "version": "5.3.1", - "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-5.3.1.tgz", - "integrity": "sha512-3cHUzUuVTuNHx0Gjjt5pEHa87+lzyqOiHXy/Gz+SJOCW1mpw9xQHIIEwnKn+Thph1mgWyZ90nboOcSuZr/jTTQ==", + "version": "5.4.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-5.4.0.tgz", + "integrity": "sha512-PVbax7MeE7tdLfW5SA0fs8NGVVr+buMPrcj+CWYWPXsZCH8qZ1THufDzbXm1xrZ2b2PA1iENJ0sRq5fuUtvsJg==", "dev": true, "dependencies": { - "@typescript-eslint/types": "5.3.1", + "@typescript-eslint/types": "5.4.0", "eslint-visitor-keys": "^3.0.0" }, "engines": { @@ -561,6 +569,7 @@ "version": "8.5.0", "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.5.0.tgz", "integrity": "sha512-yXbYeFy+jUuYd3/CDcg2NkIYE991XYX/bje7LmjJigUciaeO1JR4XxXgCIV1/Zc/dRuFEyw1L0pbA+qynJkW5Q==", + "dev": true, "bin": { "acorn": "bin/acorn" }, @@ -590,6 +599,7 @@ "version": "8.2.0", "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-8.2.0.tgz", "integrity": "sha512-k+iyHEuPgSw6SbuDpGQM+06HQUa04DZ3o+F6CSzXMvvI5KMvnaEqXe+YVe555R9nn6GPt404fos4wcgpw12SDA==", + "dev": true, "engines": { "node": ">=0.4.0" } @@ -655,7 +665,8 @@ "node_modules/arg": { "version": "4.1.3", "resolved": "https://registry.npmjs.org/arg/-/arg-4.1.3.tgz", - "integrity": "sha512-58S9QDqG0Xx27YwPSt9fJxivjYl432YCwfDMfZ+71RAqUrZef7LrKQZ3LHLOwCS4FLNBplP533Zx895SeOCHvA==" + "integrity": "sha512-58S9QDqG0Xx27YwPSt9fJxivjYl432YCwfDMfZ+71RAqUrZef7LrKQZ3LHLOwCS4FLNBplP533Zx895SeOCHvA==", + "dev": true }, "node_modules/argparse": { "version": "2.0.1", @@ -833,7 +844,8 @@ "node_modules/create-require": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/create-require/-/create-require-1.1.1.tgz", - "integrity": "sha512-dcKFX3jn0MpIaXjisoRvexIJVEKzaq7z2rZKxf+MSr9TkdmHmsU4m2lcLojrj/FHl8mk5VxMmYA+ftRkP/3oKQ==" + "integrity": "sha512-dcKFX3jn0MpIaXjisoRvexIJVEKzaq7z2rZKxf+MSr9TkdmHmsU4m2lcLojrj/FHl8mk5VxMmYA+ftRkP/3oKQ==", + "dev": true }, "node_modules/cross-spawn": { "version": "7.0.3", @@ -1737,9 +1749,9 @@ "dev": true }, "node_modules/long": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/long/-/long-5.1.0.tgz", - "integrity": "sha512-eNc10JP6ezXp/qxXZlKS4OHAKNae3je9LUkjmXPDEa+Iidlz0n4nFi/9LT+GOgcayMWhykLoISN+v0THeOiWQQ==" + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/long/-/long-5.2.0.tgz", + "integrity": "sha512-9RTUNjK60eJbx3uz+TEGF7fUr29ZDxR5QzXcyDpeSfeH28S9ycINflOgOlppit5U+4kNTe83KQnMEerw7GmE8w==" }, "node_modules/lru-cache": { "version": "6.0.0", @@ -1756,7 +1768,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", @@ -2496,6 +2509,7 @@ "version": "10.4.0", "resolved": "https://registry.npmjs.org/ts-node/-/ts-node-10.4.0.tgz", "integrity": "sha512-g0FlPvvCXSIO1JDF6S232P5jPYqBkRL9qly81ZgAOSU7rwI0stphCgd2kLiCrU9DjQCrJMWEqcNSjQL02s6d8A==", + "dev": true, "dependencies": { "@cspotcode/source-map-support": "0.7.0", "@tsconfig/node10": "^1.0.7", @@ -2536,6 +2550,7 @@ "version": "4.0.2", "resolved": "https://registry.npmjs.org/diff/-/diff-4.0.2.tgz", "integrity": "sha512-58lmxKSA4BNyLz+HHMUzlOEpg09FV+ev6ZMe3vJihgdxzgcwZ8VoEEPmALCZG9LmqfVoNMMKpttIYTVG6uDY7A==", + "dev": true, "engines": { "node": ">=0.3.1" } @@ -2586,9 +2601,10 @@ } }, "node_modules/typescript": { - "version": "4.4.4", - "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.4.4.tgz", - "integrity": "sha512-DqGhF5IKoBl8WNf8C1gu8q0xZSInh9j1kJJMqT3a94w1JzVaBU4EXOSMrz9yDqMT0xt3selp83fuFMQ0uzv6qA==", + "version": "4.5.2", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.5.2.tgz", + "integrity": "sha512-5BlMof9H1yGt0P8/WF+wPNw6GfctgGjXp5hkblpyT+8rkASSmkUKMXrxR0Xg8ThVCi/JnHQiKXeBaEwCeQwMFw==", + "dev": true, "bin": { "tsc": "bin/tsc", "tsserver": "bin/tsserver" @@ -2626,9 +2642,9 @@ } }, "node_modules/webpack": { - "version": "5.62.1", - "resolved": "https://registry.npmjs.org/webpack/-/webpack-5.62.1.tgz", - "integrity": "sha512-jNLtnWChS2CMZ7vqWtztv0G6fYB5hz11Zsadp5tE7e4/66zVDj7/KUeQZOsOl8Hz5KrLJH1h2eIDl6AnlyE12Q==", + "version": "5.64.1", + "resolved": "https://registry.npmjs.org/webpack/-/webpack-5.64.1.tgz", + "integrity": "sha512-b4FHmRgaaAjP+aVOVz41a9Qa5SmkUPQ+u8FntTQ1roPHahSComB6rXnLwc976VhUY4CqTaLu5mCswuHiNhOfVw==", "dev": true, "dependencies": { "@types/eslint-scope": "^3.7.0", @@ -2654,7 +2670,7 @@ "tapable": "^2.1.1", "terser-webpack-plugin": "^5.1.3", "watchpack": "^2.2.0", - "webpack-sources": "^3.2.0" + "webpack-sources": "^3.2.2" }, "bin": { "webpack": "bin/webpack.js" @@ -2738,9 +2754,9 @@ } }, "node_modules/webpack-sources": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/webpack-sources/-/webpack-sources-3.2.1.tgz", - "integrity": "sha512-t6BMVLQ0AkjBOoRTZgqrWm7xbXMBzD+XDq2EZ96+vMfn3qKgsvdXZhbPZ4ElUOpdv4u+iiGe+w3+J75iy/bYGA==", + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/webpack-sources/-/webpack-sources-3.2.2.tgz", + "integrity": "sha512-cp5qdmHnu5T8wRg2G3vZZHoJPN14aqQ89SyQ11NpGH5zEMDCclt49rzo+MaRazk7/UeILhAI+/sEtcM+7Fr0nw==", "dev": true, "engines": { "node": ">=10.13.0" @@ -2792,6 +2808,7 @@ "version": "3.1.1", "resolved": "https://registry.npmjs.org/yn/-/yn-3.1.1.tgz", "integrity": "sha512-Ux4ygGWsu2c7isFWe8Yu1YluJmqVhxqK2cLXNQA5AcC3QfbGNpM7fu0Y8b/z16pXLnFxZYvWhd3fhBY9DLmC6Q==", + "dev": true, "engines": { "node": ">=6" } @@ -2801,12 +2818,14 @@ "@cspotcode/source-map-consumer": { "version": "0.8.0", "resolved": "https://registry.npmjs.org/@cspotcode/source-map-consumer/-/source-map-consumer-0.8.0.tgz", - "integrity": "sha512-41qniHzTU8yAGbCp04ohlmSrZf8bkf/iJsl3V0dRGsQN/5GFfx+LbCSsCpp2gqrqjTVg/K6O8ycoV35JIwAzAg==" + "integrity": "sha512-41qniHzTU8yAGbCp04ohlmSrZf8bkf/iJsl3V0dRGsQN/5GFfx+LbCSsCpp2gqrqjTVg/K6O8ycoV35JIwAzAg==", + "dev": true }, "@cspotcode/source-map-support": { "version": "0.7.0", "resolved": "https://registry.npmjs.org/@cspotcode/source-map-support/-/source-map-support-0.7.0.tgz", "integrity": "sha512-X4xqRHqN8ACt2aHVe51OxeA2HjbcL4MqFqXkrmQszJ1NOUuUu5u6Vqx/0lZSVNku7velL5FC/s5uEAj1lsBMhA==", + "dev": true, "requires": { "@cspotcode/source-map-consumer": "0.8.0" } @@ -2888,22 +2907,26 @@ "@tsconfig/node10": { "version": "1.0.8", "resolved": "https://registry.npmjs.org/@tsconfig/node10/-/node10-1.0.8.tgz", - "integrity": "sha512-6XFfSQmMgq0CFLY1MslA/CPUfhIL919M1rMsa5lP2P097N2Wd1sSX0tx1u4olM16fLNhtHZpRhedZJphNJqmZg==" + "integrity": "sha512-6XFfSQmMgq0CFLY1MslA/CPUfhIL919M1rMsa5lP2P097N2Wd1sSX0tx1u4olM16fLNhtHZpRhedZJphNJqmZg==", + "dev": true }, "@tsconfig/node12": { "version": "1.0.9", "resolved": "https://registry.npmjs.org/@tsconfig/node12/-/node12-1.0.9.tgz", - "integrity": "sha512-/yBMcem+fbvhSREH+s14YJi18sp7J9jpuhYByADT2rypfajMZZN4WQ6zBGgBKp53NKmqI36wFYDb3yaMPurITw==" + "integrity": "sha512-/yBMcem+fbvhSREH+s14YJi18sp7J9jpuhYByADT2rypfajMZZN4WQ6zBGgBKp53NKmqI36wFYDb3yaMPurITw==", + "dev": true }, "@tsconfig/node14": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/@tsconfig/node14/-/node14-1.0.1.tgz", - "integrity": "sha512-509r2+yARFfHHE7T6Puu2jjkoycftovhXRqW328PDXTVGKihlb1P8Z9mMZH04ebyajfRY7dedfGynlrFHJUQCg==" + "integrity": "sha512-509r2+yARFfHHE7T6Puu2jjkoycftovhXRqW328PDXTVGKihlb1P8Z9mMZH04ebyajfRY7dedfGynlrFHJUQCg==", + "dev": true }, "@tsconfig/node16": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/@tsconfig/node16/-/node16-1.0.2.tgz", - "integrity": "sha512-eZxlbI8GZscaGS7kkc/trHTT5xgrjH3/1n2JDwusC9iahPKWMRvRjJSAN5mCXviuTGQ/lHnhvv8Q1YTpnfz9gA==" + "integrity": "sha512-eZxlbI8GZscaGS7kkc/trHTT5xgrjH3/1n2JDwusC9iahPKWMRvRjJSAN5mCXviuTGQ/lHnhvv8Q1YTpnfz9gA==", + "dev": true }, "@types/eslint": { "version": "7.28.2", @@ -2940,16 +2963,17 @@ "@types/node": { "version": "16.11.7", "resolved": "https://registry.npmjs.org/@types/node/-/node-16.11.7.tgz", - "integrity": "sha512-QB5D2sqfSjCmTuWcBWyJ+/44bcjO7VbjSbOE0ucoVbAsSNQc4Lt6QkgkVXkTDwkL4z/beecZNDvVX15D4P8Jbw==" + "integrity": "sha512-QB5D2sqfSjCmTuWcBWyJ+/44bcjO7VbjSbOE0ucoVbAsSNQc4Lt6QkgkVXkTDwkL4z/beecZNDvVX15D4P8Jbw==", + "dev": true }, "@typescript-eslint/eslint-plugin": { - "version": "5.3.1", - "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.3.1.tgz", - "integrity": "sha512-cFImaoIr5Ojj358xI/SDhjog57OK2NqlpxwdcgyxDA3bJlZcJq5CPzUXtpD7CxI2Hm6ATU7w5fQnnkVnmwpHqw==", + "version": "5.4.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.4.0.tgz", + "integrity": "sha512-9/yPSBlwzsetCsGEn9j24D8vGQgJkOTr4oMLas/w886ZtzKIs1iyoqFrwsX2fqYEeUwsdBpC21gcjRGo57u0eg==", "dev": true, "requires": { - "@typescript-eslint/experimental-utils": "5.3.1", - "@typescript-eslint/scope-manager": "5.3.1", + "@typescript-eslint/experimental-utils": "5.4.0", + "@typescript-eslint/scope-manager": "5.4.0", "debug": "^4.3.2", "functional-red-black-tree": "^1.0.1", "ignore": "^5.1.8", @@ -2959,55 +2983,55 @@ } }, "@typescript-eslint/experimental-utils": { - "version": "5.3.1", - "resolved": "https://registry.npmjs.org/@typescript-eslint/experimental-utils/-/experimental-utils-5.3.1.tgz", - "integrity": "sha512-RgFn5asjZ5daUhbK5Sp0peq0SSMytqcrkNfU4pnDma2D8P3ElZ6JbYjY8IMSFfZAJ0f3x3tnO3vXHweYg0g59w==", + "version": "5.4.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/experimental-utils/-/experimental-utils-5.4.0.tgz", + "integrity": "sha512-Nz2JDIQUdmIGd6p33A+naQmwfkU5KVTLb/5lTk+tLVTDacZKoGQisj8UCxk7onJcrgjIvr8xWqkYI+DbI3TfXg==", "dev": true, "requires": { "@types/json-schema": "^7.0.9", - "@typescript-eslint/scope-manager": "5.3.1", - "@typescript-eslint/types": "5.3.1", - "@typescript-eslint/typescript-estree": "5.3.1", + "@typescript-eslint/scope-manager": "5.4.0", + "@typescript-eslint/types": "5.4.0", + "@typescript-eslint/typescript-estree": "5.4.0", "eslint-scope": "^5.1.1", "eslint-utils": "^3.0.0" } }, "@typescript-eslint/parser": { - "version": "5.3.1", - "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-5.3.1.tgz", - "integrity": "sha512-TD+ONlx5c+Qhk21x9gsJAMRohWAUMavSOmJgv3JGy9dgPhuBd5Wok0lmMClZDyJNLLZK1JRKiATzCKZNUmoyfw==", + "version": "5.4.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-5.4.0.tgz", + "integrity": "sha512-JoB41EmxiYpaEsRwpZEYAJ9XQURPFer8hpkIW9GiaspVLX8oqbqNM8P4EP8HOZg96yaALiLEVWllA2E8vwsIKw==", "dev": true, "requires": { - "@typescript-eslint/scope-manager": "5.3.1", - "@typescript-eslint/types": "5.3.1", - "@typescript-eslint/typescript-estree": "5.3.1", + "@typescript-eslint/scope-manager": "5.4.0", + "@typescript-eslint/types": "5.4.0", + "@typescript-eslint/typescript-estree": "5.4.0", "debug": "^4.3.2" } }, "@typescript-eslint/scope-manager": { - "version": "5.3.1", - "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-5.3.1.tgz", - "integrity": "sha512-XksFVBgAq0Y9H40BDbuPOTUIp7dn4u8oOuhcgGq7EoDP50eqcafkMVGrypyVGvDYHzjhdUCUwuwVUK4JhkMAMg==", + "version": "5.4.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-5.4.0.tgz", + "integrity": "sha512-pRxFjYwoi8R+n+sibjgF9iUiAELU9ihPBtHzocyW8v8D8G8KeQvXTsW7+CBYIyTYsmhtNk50QPGLE3vrvhM5KA==", "dev": true, "requires": { - "@typescript-eslint/types": "5.3.1", - "@typescript-eslint/visitor-keys": "5.3.1" + "@typescript-eslint/types": "5.4.0", + "@typescript-eslint/visitor-keys": "5.4.0" } }, "@typescript-eslint/types": { - "version": "5.3.1", - "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-5.3.1.tgz", - "integrity": "sha512-bG7HeBLolxKHtdHG54Uac750eXuQQPpdJfCYuw4ZI3bZ7+GgKClMWM8jExBtp7NSP4m8PmLRM8+lhzkYnSmSxQ==", + "version": "5.4.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-5.4.0.tgz", + "integrity": "sha512-GjXNpmn+n1LvnttarX+sPD6+S7giO+9LxDIGlRl4wK3a7qMWALOHYuVSZpPTfEIklYjaWuMtfKdeByx0AcaThA==", "dev": true }, "@typescript-eslint/typescript-estree": { - "version": "5.3.1", - "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-5.3.1.tgz", - "integrity": "sha512-PwFbh/PKDVo/Wct6N3w+E4rLZxUDgsoII/GrWM2A62ETOzJd4M6s0Mu7w4CWsZraTbaC5UQI+dLeyOIFF1PquQ==", + "version": "5.4.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-5.4.0.tgz", + "integrity": "sha512-nhlNoBdhKuwiLMx6GrybPT3SFILm5Gij2YBdPEPFlYNFAXUJWX6QRgvi/lwVoadaQEFsizohs6aFRMqsXI2ewA==", "dev": true, "requires": { - "@typescript-eslint/types": "5.3.1", - "@typescript-eslint/visitor-keys": "5.3.1", + "@typescript-eslint/types": "5.4.0", + "@typescript-eslint/visitor-keys": "5.4.0", "debug": "^4.3.2", "globby": "^11.0.4", "is-glob": "^4.0.3", @@ -3016,12 +3040,12 @@ } }, "@typescript-eslint/visitor-keys": { - "version": "5.3.1", - "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-5.3.1.tgz", - "integrity": "sha512-3cHUzUuVTuNHx0Gjjt5pEHa87+lzyqOiHXy/Gz+SJOCW1mpw9xQHIIEwnKn+Thph1mgWyZ90nboOcSuZr/jTTQ==", + "version": "5.4.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-5.4.0.tgz", + "integrity": "sha512-PVbax7MeE7tdLfW5SA0fs8NGVVr+buMPrcj+CWYWPXsZCH8qZ1THufDzbXm1xrZ2b2PA1iENJ0sRq5fuUtvsJg==", "dev": true, "requires": { - "@typescript-eslint/types": "5.3.1", + "@typescript-eslint/types": "5.4.0", "eslint-visitor-keys": "^3.0.0" } }, @@ -3209,7 +3233,8 @@ "acorn": { "version": "8.5.0", "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.5.0.tgz", - "integrity": "sha512-yXbYeFy+jUuYd3/CDcg2NkIYE991XYX/bje7LmjJigUciaeO1JR4XxXgCIV1/Zc/dRuFEyw1L0pbA+qynJkW5Q==" + "integrity": "sha512-yXbYeFy+jUuYd3/CDcg2NkIYE991XYX/bje7LmjJigUciaeO1JR4XxXgCIV1/Zc/dRuFEyw1L0pbA+qynJkW5Q==", + "dev": true }, "acorn-import-assertions": { "version": "1.8.0", @@ -3228,7 +3253,8 @@ "acorn-walk": { "version": "8.2.0", "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-8.2.0.tgz", - "integrity": "sha512-k+iyHEuPgSw6SbuDpGQM+06HQUa04DZ3o+F6CSzXMvvI5KMvnaEqXe+YVe555R9nn6GPt404fos4wcgpw12SDA==" + "integrity": "sha512-k+iyHEuPgSw6SbuDpGQM+06HQUa04DZ3o+F6CSzXMvvI5KMvnaEqXe+YVe555R9nn6GPt404fos4wcgpw12SDA==", + "dev": true }, "ajv": { "version": "6.12.6", @@ -3273,7 +3299,8 @@ "arg": { "version": "4.1.3", "resolved": "https://registry.npmjs.org/arg/-/arg-4.1.3.tgz", - "integrity": "sha512-58S9QDqG0Xx27YwPSt9fJxivjYl432YCwfDMfZ+71RAqUrZef7LrKQZ3LHLOwCS4FLNBplP533Zx895SeOCHvA==" + "integrity": "sha512-58S9QDqG0Xx27YwPSt9fJxivjYl432YCwfDMfZ+71RAqUrZef7LrKQZ3LHLOwCS4FLNBplP533Zx895SeOCHvA==", + "dev": true }, "argparse": { "version": "2.0.1", @@ -3410,7 +3437,8 @@ "create-require": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/create-require/-/create-require-1.1.1.tgz", - "integrity": "sha512-dcKFX3jn0MpIaXjisoRvexIJVEKzaq7z2rZKxf+MSr9TkdmHmsU4m2lcLojrj/FHl8mk5VxMmYA+ftRkP/3oKQ==" + "integrity": "sha512-dcKFX3jn0MpIaXjisoRvexIJVEKzaq7z2rZKxf+MSr9TkdmHmsU4m2lcLojrj/FHl8mk5VxMmYA+ftRkP/3oKQ==", + "dev": true }, "cross-spawn": { "version": "7.0.3", @@ -4096,9 +4124,9 @@ "dev": true }, "long": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/long/-/long-5.1.0.tgz", - "integrity": "sha512-eNc10JP6ezXp/qxXZlKS4OHAKNae3je9LUkjmXPDEa+Iidlz0n4nFi/9LT+GOgcayMWhykLoISN+v0THeOiWQQ==" + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/long/-/long-5.2.0.tgz", + "integrity": "sha512-9RTUNjK60eJbx3uz+TEGF7fUr29ZDxR5QzXcyDpeSfeH28S9ycINflOgOlppit5U+4kNTe83KQnMEerw7GmE8w==" }, "lru-cache": { "version": "6.0.0", @@ -4112,7 +4140,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", @@ -4616,6 +4645,7 @@ "version": "10.4.0", "resolved": "https://registry.npmjs.org/ts-node/-/ts-node-10.4.0.tgz", "integrity": "sha512-g0FlPvvCXSIO1JDF6S232P5jPYqBkRL9qly81ZgAOSU7rwI0stphCgd2kLiCrU9DjQCrJMWEqcNSjQL02s6d8A==", + "dev": true, "requires": { "@cspotcode/source-map-support": "0.7.0", "@tsconfig/node10": "^1.0.7", @@ -4634,7 +4664,8 @@ "diff": { "version": "4.0.2", "resolved": "https://registry.npmjs.org/diff/-/diff-4.0.2.tgz", - "integrity": "sha512-58lmxKSA4BNyLz+HHMUzlOEpg09FV+ev6ZMe3vJihgdxzgcwZ8VoEEPmALCZG9LmqfVoNMMKpttIYTVG6uDY7A==" + "integrity": "sha512-58lmxKSA4BNyLz+HHMUzlOEpg09FV+ev6ZMe3vJihgdxzgcwZ8VoEEPmALCZG9LmqfVoNMMKpttIYTVG6uDY7A==", + "dev": true } } }, @@ -4669,9 +4700,10 @@ "dev": true }, "typescript": { - "version": "4.4.4", - "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.4.4.tgz", - "integrity": "sha512-DqGhF5IKoBl8WNf8C1gu8q0xZSInh9j1kJJMqT3a94w1JzVaBU4EXOSMrz9yDqMT0xt3selp83fuFMQ0uzv6qA==" + "version": "4.5.2", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.5.2.tgz", + "integrity": "sha512-5BlMof9H1yGt0P8/WF+wPNw6GfctgGjXp5hkblpyT+8rkASSmkUKMXrxR0Xg8ThVCi/JnHQiKXeBaEwCeQwMFw==", + "dev": true }, "uri-js": { "version": "4.4.1", @@ -4699,9 +4731,9 @@ } }, "webpack": { - "version": "5.62.1", - "resolved": "https://registry.npmjs.org/webpack/-/webpack-5.62.1.tgz", - "integrity": "sha512-jNLtnWChS2CMZ7vqWtztv0G6fYB5hz11Zsadp5tE7e4/66zVDj7/KUeQZOsOl8Hz5KrLJH1h2eIDl6AnlyE12Q==", + "version": "5.64.1", + "resolved": "https://registry.npmjs.org/webpack/-/webpack-5.64.1.tgz", + "integrity": "sha512-b4FHmRgaaAjP+aVOVz41a9Qa5SmkUPQ+u8FntTQ1roPHahSComB6rXnLwc976VhUY4CqTaLu5mCswuHiNhOfVw==", "dev": true, "requires": { "@types/eslint-scope": "^3.7.0", @@ -4727,7 +4759,7 @@ "tapable": "^2.1.1", "terser-webpack-plugin": "^5.1.3", "watchpack": "^2.2.0", - "webpack-sources": "^3.2.0" + "webpack-sources": "^3.2.2" } }, "webpack-cli": { @@ -4769,9 +4801,9 @@ } }, "webpack-sources": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/webpack-sources/-/webpack-sources-3.2.1.tgz", - "integrity": "sha512-t6BMVLQ0AkjBOoRTZgqrWm7xbXMBzD+XDq2EZ96+vMfn3qKgsvdXZhbPZ4ElUOpdv4u+iiGe+w3+J75iy/bYGA==", + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/webpack-sources/-/webpack-sources-3.2.2.tgz", + "integrity": "sha512-cp5qdmHnu5T8wRg2G3vZZHoJPN14aqQ89SyQ11NpGH5zEMDCclt49rzo+MaRazk7/UeILhAI+/sEtcM+7Fr0nw==", "dev": true }, "which": { @@ -4810,7 +4842,8 @@ "yn": { "version": "3.1.1", "resolved": "https://registry.npmjs.org/yn/-/yn-3.1.1.tgz", - "integrity": "sha512-Ux4ygGWsu2c7isFWe8Yu1YluJmqVhxqK2cLXNQA5AcC3QfbGNpM7fu0Y8b/z16pXLnFxZYvWhd3fhBY9DLmC6Q==" + "integrity": "sha512-Ux4ygGWsu2c7isFWe8Yu1YluJmqVhxqK2cLXNQA5AcC3QfbGNpM7fu0Y8b/z16pXLnFxZYvWhd3fhBY9DLmC6Q==", + "dev": true } } } diff --git a/package.json b/package.json index 0453808fb6..1be706a1eb 100644 --- a/package.json +++ b/package.json @@ -22,14 +22,14 @@ }, "dependencies": { "binaryen": "102.0.0-nightly.20211028", - "long": "^5.1.0", + "long": "^5.2.0", "source-map-support": "^0.5.20", "ts-node": "^10.4.0" }, "devDependencies": { "@types/node": "^16.11.6", - "@typescript-eslint/eslint-plugin": "^5.3.1", - "@typescript-eslint/parser": "^5.3.1", + "@typescript-eslint/eslint-plugin": "^5.4.0", + "@typescript-eslint/parser": "^5.4.0", "diff": "^5.0.0", "eslint": "^8.2.0", "glob": "^7.2.0", @@ -37,8 +37,8 @@ "physical-cpu-count": "^2.0.0", "ts-loader": "^9.2.6", "ts-node": "^10.4.0", - "typescript": "~4.4.4", - "webpack": "^5.61.0", + "typescript": "~4.5.2", + "webpack": "^5.64.1", "webpack-cli": "^4.9.1" }, "type": "commonjs", diff --git a/src/ast.ts b/src/ast.ts index 38114d8fae..3f725bd24c 100644 --- a/src/ast.ts +++ b/src/ast.ts @@ -30,7 +30,7 @@ import { normalizePath, resolvePath, CharCode, - isTrivialAlphanum + isAlphaOrDecimal } from "./util"; import { @@ -2347,7 +2347,7 @@ export function mangleInternalPath(path: string): string { if (pos >= 0 && len - pos >= 2) { // at least one char plus dot let cur = pos; while (++cur < len) { - if (!isTrivialAlphanum(path.charCodeAt(cur))) { + if (!isAlphaOrDecimal(path.charCodeAt(cur))) { assert(false); // not a valid external path return path; } diff --git a/src/builtins.ts b/src/builtins.ts index d6e8120e3a..bc01631145 100644 --- a/src/builtins.ts +++ b/src/builtins.ts @@ -3288,7 +3288,7 @@ function builtin_call_indirect(ctx: BuiltinContext): ExpressionRef { paramTypeRefs[i] = compiler.currentType.toRef(); } compiler.currentType = returnType; - return module.call_indirect(indexArg, operandExprs, createType(paramTypeRefs), returnType.toRef()); + return module.call_indirect(null /* TODO */, indexArg, operandExprs, createType(paramTypeRefs), returnType.toRef()); } builtins.set(BuiltinNames.call_indirect, builtin_call_indirect); diff --git a/src/compiler.ts b/src/compiler.ts index 29b73a9702..eb629cc25b 100644 --- a/src/compiler.ts +++ b/src/compiler.ts @@ -7375,6 +7375,7 @@ export class Compiler extends DiagnosticEmitter { } if (operands) this.operandsTostack(signature, operands); var expr = module.call_indirect( + null, // TODO: handle multiple tables module.load(4, false, functionArg, TypeRef.I32), // ._index operands, signature.paramRefs, @@ -7831,10 +7832,10 @@ export class Compiler extends DiagnosticEmitter { if (typeParameterNodes !== null && typeParameterNodes.length != 0) { this.error( - DiagnosticCode.Expected_0_arguments_but_got_1, - expression.range, typeParameterNodes.length.toString(), "0" + DiagnosticCode.Type_argument_expected, + expression.range ); - return module.unreachable(); + break; // also diagnose 'not a value at runtime' } let functionInstance = this.resolver.resolveFunction( @@ -7855,10 +7856,10 @@ export class Compiler extends DiagnosticEmitter { } } this.error( - DiagnosticCode.Expression_refers_to_a_static_element_that_does_not_compile_to_a_value_at_runtime, + DiagnosticCode.Expression_does_not_compile_to_a_value_at_runtime, expression.range ); - return this.module.unreachable(); + return module.unreachable(); } private compileInstanceOfExpression( @@ -9206,7 +9207,7 @@ export class Compiler extends DiagnosticEmitter { } } this.error( - DiagnosticCode.Expression_refers_to_a_static_element_that_does_not_compile_to_a_value_at_runtime, + DiagnosticCode.Expression_does_not_compile_to_a_value_at_runtime, expression.range ); return this.module.unreachable(); diff --git a/src/diagnosticMessages.generated.ts b/src/diagnosticMessages.generated.ts index 2db65faca4..a55d6f04ad 100644 --- a/src/diagnosticMessages.generated.ts +++ b/src/diagnosticMessages.generated.ts @@ -48,7 +48,7 @@ export enum DiagnosticCode { _0_keyword_cannot_be_used_here = 230, A_class_with_a_constructor_explicitly_returning_something_else_than_this_must_be_final = 231, Property_0_is_always_assigned_before_being_used = 233, - Expression_refers_to_a_static_element_that_does_not_compile_to_a_value_at_runtime = 234, + Expression_does_not_compile_to_a_value_at_runtime = 234, Importing_the_table_disables_some_indirect_call_optimizations = 901, Exporting_the_table_disables_some_indirect_call_optimizations = 902, Expression_compiles_to_a_dynamic_check_at_runtime = 903, @@ -65,6 +65,7 @@ export enum DiagnosticCode { A_rest_parameter_must_be_last_in_a_parameter_list = 1014, Parameter_cannot_have_question_mark_and_initializer = 1015, A_required_parameter_cannot_follow_an_optional_parameter = 1016, + _0_modifier_cannot_appear_on_class_elements_of_this_kind = 1031, Statements_are_not_allowed_in_ambient_contexts = 1036, Initializers_are_not_allowed_in_ambient_contexts = 1039, _0_modifier_cannot_be_used_here = 1042, @@ -123,6 +124,7 @@ export enum DiagnosticCode { Generic_type_0_requires_1_type_argument_s = 2314, Type_0_is_not_generic = 2315, Type_0_is_not_assignable_to_type_1 = 2322, + Property_0_is_private_in_type_1_but_not_in_type_2 = 2325, Index_signature_is_missing_in_type_0 = 2329, _this_cannot_be_referenced_in_current_location = 2332, _this_cannot_be_referenced_in_constructor_arguments = 2333, @@ -148,8 +150,11 @@ export enum DiagnosticCode { Duplicate_function_implementation = 2393, This_overload_signature_is_not_compatible_with_its_implementation_signature = 2394, Individual_declarations_in_merged_declaration_0_must_be_all_exported_or_all_local = 2395, + Property_0_in_type_1_is_not_assignable_to_the_same_property_in_base_type_2 = 2416, A_class_can_only_implement_an_interface = 2422, A_namespace_declaration_cannot_be_located_prior_to_a_class_or_function_with_which_it_is_merged = 2434, + Types_have_separate_declarations_of_a_private_property_0 = 2442, + Property_0_is_protected_in_type_1_but_public_in_type_2 = 2444, Property_0_is_protected_and_only_accessible_within_class_1_and_its_subclasses = 2445, Variable_0_used_before_its_declaration = 2448, Cannot_redeclare_block_scoped_variable_0 = 2451, @@ -232,7 +237,7 @@ export function diagnosticCodeToString(code: DiagnosticCode): string { case 230: return "'{0}' keyword cannot be used here."; case 231: return "A class with a constructor explicitly returning something else than 'this' must be '@final'."; case 233: return "Property '{0}' is always assigned before being used."; - case 234: return "Expression refers to a static element that does not compile to a value at runtime."; + case 234: return "Expression does not compile to a value at runtime."; case 901: return "Importing the table disables some indirect call optimizations."; case 902: return "Exporting the table disables some indirect call optimizations."; case 903: return "Expression compiles to a dynamic check at runtime."; @@ -249,6 +254,7 @@ export function diagnosticCodeToString(code: DiagnosticCode): string { case 1014: return "A rest parameter must be last in a parameter list."; case 1015: return "Parameter cannot have question mark and initializer."; case 1016: return "A required parameter cannot follow an optional parameter."; + case 1031: return "'{0}' modifier cannot appear on class elements of this kind."; case 1036: return "Statements are not allowed in ambient contexts."; case 1039: return "Initializers are not allowed in ambient contexts."; case 1042: return "'{0}' modifier cannot be used here."; @@ -307,6 +313,7 @@ export function diagnosticCodeToString(code: DiagnosticCode): string { case 2314: return "Generic type '{0}' requires {1} type argument(s)."; case 2315: return "Type '{0}' is not generic."; case 2322: return "Type '{0}' is not assignable to type '{1}'."; + case 2325: return "Property '{0}' is private in type '{1}' but not in type '{2}'."; case 2329: return "Index signature is missing in type '{0}'."; case 2332: return "'this' cannot be referenced in current location."; case 2333: return "'this' cannot be referenced in constructor arguments."; @@ -332,8 +339,11 @@ export function diagnosticCodeToString(code: DiagnosticCode): string { case 2393: return "Duplicate function implementation."; case 2394: return "This overload signature is not compatible with its implementation signature."; case 2395: return "Individual declarations in merged declaration '{0}' must be all exported or all local."; + case 2416: return "Property '{0}' in type '{1}' is not assignable to the same property in base type '{2}'."; case 2422: return "A class can only implement an interface."; case 2434: return "A namespace declaration cannot be located prior to a class or function with which it is merged."; + case 2442: return "Types have separate declarations of a private property '{0}'."; + case 2444: return "Property '{0}' is protected in type '{1}' but public in type '{2}'."; case 2445: return "Property '{0}' is protected and only accessible within class '{1}' and its subclasses."; case 2448: return "Variable '{0}' used before its declaration."; case 2451: return "Cannot redeclare block-scoped variable '{0}'"; diff --git a/src/diagnosticMessages.json b/src/diagnosticMessages.json index 0b6d18ab7b..15fa9b38ed 100644 --- a/src/diagnosticMessages.json +++ b/src/diagnosticMessages.json @@ -43,7 +43,7 @@ "'{0}' keyword cannot be used here.": 230, "A class with a constructor explicitly returning something else than 'this' must be '@final'.": 231, "Property '{0}' is always assigned before being used.": 233, - "Expression refers to a static element that does not compile to a value at runtime.": 234, + "Expression does not compile to a value at runtime.": 234, "Importing the table disables some indirect call optimizations.": 901, "Exporting the table disables some indirect call optimizations.": 902, @@ -62,6 +62,7 @@ "A rest parameter must be last in a parameter list.": 1014, "Parameter cannot have question mark and initializer.": 1015, "A required parameter cannot follow an optional parameter.": 1016, + "'{0}' modifier cannot appear on class elements of this kind.": 1031, "Statements are not allowed in ambient contexts.": 1036, "Initializers are not allowed in ambient contexts.": 1039, "'{0}' modifier cannot be used here.": 1042, @@ -121,6 +122,7 @@ "Generic type '{0}' requires {1} type argument(s).": 2314, "Type '{0}' is not generic.": 2315, "Type '{0}' is not assignable to type '{1}'.": 2322, + "Property '{0}' is private in type '{1}' but not in type '{2}'.": 2325, "Index signature is missing in type '{0}'.": 2329, "'this' cannot be referenced in current location.": 2332, "'this' cannot be referenced in constructor arguments.": 2333, @@ -146,8 +148,11 @@ "Duplicate function implementation.": 2393, "This overload signature is not compatible with its implementation signature.": 2394, "Individual declarations in merged declaration '{0}' must be all exported or all local.": 2395, + "Property '{0}' in type '{1}' is not assignable to the same property in base type '{2}'.": 2416, "A class can only implement an interface.": 2422, "A namespace declaration cannot be located prior to a class or function with which it is merged.": 2434, + "Types have separate declarations of a private property '{0}'.": 2442, + "Property '{0}' is protected in type '{1}' but public in type '{2}'.": 2444, "Property '{0}' is protected and only accessible within class '{1}' and its subclasses.": 2445, "Variable '{0}' used before its declaration.": 2448, "Cannot redeclare block-scoped variable '{0}'" : 2451, diff --git a/src/extra/ast.ts b/src/extra/ast.ts index ffa272d1a8..cbffac40fb 100644 --- a/src/extra/ast.ts +++ b/src/extra/ast.ts @@ -1677,6 +1677,9 @@ export class ASTBuilder { serializeAccessModifiers(node: DeclarationStatement): void { var sb = this.sb; + if (node.is(CommonFlags.DECLARE)) { + sb.push("declare "); + } if (node.is(CommonFlags.PUBLIC)) { sb.push("public "); } else if (node.is(CommonFlags.PRIVATE)) { diff --git a/src/glue/js/i64.d.ts b/src/glue/js/i64.d.ts index 14df43bcfb..8b4780cde9 100644 --- a/src/glue/js/i64.d.ts +++ b/src/glue/js/i64.d.ts @@ -13,6 +13,10 @@ declare function i64_new(lo: i32, hi?: i32): i64; declare function i64_low(value: i64): i32; declare function i64_high(value: i64): i32; +declare function i64_not(value: i64): i64; +declare function i64_clz(value: i64): i32; +declare function i64_ctz(value: i64): i32; + declare function i64_add(left: i64, right: i64): i64; declare function i64_sub(left: i64, right: i64): i64; declare function i64_mul(left: i64, right: i64): i64; @@ -27,8 +31,6 @@ declare function i64_xor(left: i64, right: i64): i64; declare function i64_shl(left: i64, right: i64): i64; declare function i64_shr(left: i64, right: i64): i64; declare function i64_shr_u(left: i64, right: i64): i64; -declare function i64_not(value: i64): i64; - declare function i64_eq(left: i64, right: i64): boolean; declare function i64_ne(left: i64, right: i64): boolean; declare function i64_gt(left: i64, right: i64): boolean; diff --git a/src/glue/js/i64.js b/src/glue/js/i64.js index 97a7279bf1..da7835984f 100644 --- a/src/glue/js/i64.js +++ b/src/glue/js/i64.js @@ -27,6 +27,18 @@ global.i64_high = function i64_high(value) { return value.high; }; +global.i64_not = function i64_not(value) { + return value.not(); +}; + +global.i64_clz = function i64_clz(value) { + return value.clz(); +}; + +global.i64_ctz = function i64_ctz(value) { + return value.ctz(); +}; + global.i64_add = function i64_add(left, right) { return left.add(right); }; @@ -104,10 +116,6 @@ global.i64_shr_u = function i64_shr_u(left, right) { return left.shru(right); }; -global.i64_not = function i64_not(value) { - return value.not(); -}; - global.i64_eq = function i64_eq(left, right) { return left.eq(right); }; diff --git a/src/glue/wasm/i64.ts b/src/glue/wasm/i64.ts index ddea1ed57e..03e4d121e3 100644 --- a/src/glue/wasm/i64.ts +++ b/src/glue/wasm/i64.ts @@ -32,6 +32,24 @@ function i64_low(value: i64): i32 { return value; } +// @ts-ignore: decorator +@global @inline +function i64_not(value: i64): i64 { + return ~value; +} + +// @ts-ignore: decorator +@global @inline +function i64_clz(value: i64): i32 { + return clz(value); +} + +// @ts-ignore: decorator +@global @inline +function i64_ctz(value: i64): i32 { + return ctz(value); +} + // @ts-ignore: decorator @global @inline function i64_high(value: i64): i32 { @@ -134,12 +152,6 @@ function i64_shr_u(left: i64, right: i64): i64 { return left >>> right; } -// @ts-ignore: decorator -@global @inline -function i64_not(value: i64): i64 { - return ~value; -} - // @ts-ignore: decorator @global @inline function i64_eq(left: i64, right: i64): bool { diff --git a/src/module.ts b/src/module.ts index e4f871de7d..bd979cd974 100644 --- a/src/module.ts +++ b/src/module.ts @@ -10,6 +10,13 @@ import { BuiltinNames } from "./builtins"; import { Target } from "./common"; +import { + isHighSurrogate, + isLowSurrogate, + combineSurrogates, + SURROGATE_HIGH, + SURROGATE_LOW +} from "./util"; import * as binaryen from "./glue/binaryen"; /** A Binaryen-compatible index. */ @@ -1560,13 +1567,14 @@ export class Module { } call_indirect( + tableName: string | null, index: ExpressionRef, operands: ExpressionRef[] | null, params: TypeRef, results: TypeRef, isReturn: bool = false ): ExpressionRef { - var cStr = this.allocStringCached("0"); // TODO: multiple tables + var cStr = this.allocStringCached(tableName !== null ? tableName : "0"); var cArr = allocPtrArray(operands); var ret = isReturn ? binaryen._BinaryenReturnCallIndirect( @@ -1580,13 +1588,13 @@ export class Module { } return_call_indirect( - tableName: string, + tableName: string | null, index: ExpressionRef, operands: ExpressionRef[] | null, params: TypeRef, results: TypeRef ): ExpressionRef { - return this.call_indirect(index, operands, params, results, true); + return this.call_indirect(tableName, index, operands, params, results, true); } unreachable(): ExpressionRef { @@ -2299,17 +2307,19 @@ export class Module { if (optimizeLevel >= 2) { passes.push("once-reduction"); passes.push("inlining"); + passes.push("simplify-globals-optimizing"); } if (optimizeLevel >= 3 || shrinkLevel >= 1) { passes.push("rse"); passes.push("vacuum"); + passes.push("code-folding"); 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"); + passes.push("simplify-globals-optimizing"); } if (optimizeLevel >= 3) { passes.push("simplify-locals-nostructure"); @@ -2321,7 +2331,6 @@ export class Module { passes.push("merge-locals"); passes.push("reorder-locals"); passes.push("dae-optimizing"); - passes.push("code-folding"); } passes.push("optimize-instructions"); if (optimizeLevel >= 3 || shrinkLevel >= 1) { @@ -2332,13 +2341,12 @@ export class Module { if (optimizeLevel >= 3 || shrinkLevel >= 2) { passes.push("inlining"); passes.push("precompute-propagate"); + passes.push("simplify-globals-optimizing"); } else { passes.push("precompute"); } if (optimizeLevel >= 2 || shrinkLevel >= 1) { passes.push("pick-load-signs"); - passes.push("simplify-globals-optimizing"); - passes.push("simplify-globals-optimizing"); } passes.push("simplify-locals-notee-nostructure"); passes.push("vacuum"); @@ -2393,9 +2401,6 @@ export class Module { passes.push("simplify-globals"); passes.push("vacuum"); } - if (optimizeLevel >= 3 || shrinkLevel >= 1) { - passes.push("code-folding"); - } if (optimizeLevel >= 2 && (this.getFeatures() & FeatureFlags.GC) != 0) { passes.push("heap2local"); passes.push("merge-locals"); @@ -2405,6 +2410,7 @@ export class Module { if (optimizeLevel >= 2 || shrinkLevel >= 1) { passes.push("precompute-propagate"); passes.push("simplify-globals-optimizing"); + passes.push("simplify-globals-optimizing"); } else { passes.push("precompute"); } @@ -2412,6 +2418,7 @@ export class Module { passes.push("dae-optimizing"); // reduce arity passes.push("inlining-optimizing"); // and inline if possible if (optimizeLevel >= 2 || shrinkLevel >= 1) { + passes.push("code-folding"); passes.push("ssa-nomerge"); passes.push("rse"); // move code on early return (after CFG cleanup) @@ -2444,6 +2451,7 @@ export class Module { } passes.push("remove-unused-brs"); passes.push("remove-unused-names"); + passes.push("merge-blocks"); passes.push("vacuum"); passes.push("optimize-instructions"); @@ -2612,8 +2620,15 @@ export function expandType(type: TypeRef): TypeRef[] { var cArr = binaryen._malloc(arity << 2); binaryen._BinaryenTypeExpand(type, cArr); var types = new Array(arity); - for (let i: u32 = 0; i < arity; ++i) { - types[i] = binaryen.__i32_load(cArr + (i << 2)); + if (!ASC_TARGET) { + let ptr = cArr >>> 2; + for (let i: u32 = 0; i < arity; ++i) { + types[i] = binaryen.HEAPU32[ptr + i]; + } + } else { + for (let i: u32 = 0; i < arity; ++i) { + types[i] = binaryen.__i32_load(cArr + (i << 2)); + } } binaryen._free(cArr); return types; @@ -3108,8 +3123,8 @@ function stringLengthUTF8(str: string): usize { } else if (c1 <= 0x7FF) { len += 2; } else if ( - (c1 & 0xFC00) === 0xD800 && i + 1 < k && - (str.charCodeAt(i + 1) & 0xFC00) === 0xDC00 + isHighSurrogate(c1) && i + 1 < k && + isLowSurrogate(str.charCodeAt(i + 1)) ) { i++; len += 4; @@ -3146,10 +3161,10 @@ function allocString(str: string | null): usize { binaryen.__i32_store8(idx++, (0xC0 | (c1 >>> 6) ) as u8); binaryen.__i32_store8(idx++, (0x80 | ( c1 & 63)) as u8); } else if ( - (c1 & 0xFC00) === 0xD800 && i + 1 < k && - ((c2 = str.charCodeAt(i + 1)) & 0xFC00) === 0xDC00 + isHighSurrogate(c1) && i + 1 < k && + isLowSurrogate(c2 = str.charCodeAt(i + 1)) ) { - c1 = 0x10000 + ((c1 & 0x3FF) << 10) | (c2 & 0x3FF); + c1 = combineSurrogates(c1, c2); ++i; binaryen.__i32_store8(idx++, (0xF0 | (c1 >>> 18) ) as u8); binaryen.__i32_store8(idx++, (0x80 | ((c1 >>> 12) & 63)) as u8); @@ -3209,10 +3224,11 @@ export function readString(ptr: usize): string | null { arr.push(cp); } else { let ch = cp - 0x10000; - arr.push(0xD800 | (ch >>> 10)); - arr.push(0xDC00 | (ch & 0x3FF)); + arr.push(SURROGATE_HIGH | (ch >>> 10)); + arr.push(SURROGATE_LOW | (ch & 0x3FF)); } } + // TODO: implement and use String.fromCodePoints return String.fromCharCodes(arr); } diff --git a/src/parser.ts b/src/parser.ts index 1ffd242c8b..60510cdcd0 100644 --- a/src/parser.ts +++ b/src/parser.ts @@ -1839,6 +1839,7 @@ export class Parser extends DiagnosticEmitter { ): Node | null { // before: + // 'declare'? // ('public' | 'private' | 'protected')? // ('static' | 'abstract')? // 'readonly'? @@ -1870,6 +1871,32 @@ export class Parser extends DiagnosticEmitter { // implemented methods are virtual if (isInterface) flags |= CommonFlags.VIRTUAL; + var declareStart = 0; + var declareEnd = 0; + var contextIsAmbient = parent.is(CommonFlags.AMBIENT); + if (tn.skip(Token.DECLARE)) { + if (isInterface) { + this.error( + DiagnosticCode._0_modifier_cannot_be_used_here, + tn.range(), "declare" + ); + } else { + if (contextIsAmbient) { + this.error( + DiagnosticCode.A_declare_modifier_cannot_be_used_in_an_already_ambient_context, + tn.range() + ); // recoverable + } else { + flags |= CommonFlags.DECLARE | CommonFlags.AMBIENT; + declareStart = tn.tokenPos; + declareEnd = tn.pos; + } + } + if (!startPos) startPos = tn.tokenPos; + } else if (contextIsAmbient) { + flags |= CommonFlags.AMBIENT; + } + var accessStart = 0; var accessEnd = 0; if (tn.skip(Token.PUBLIC)) { @@ -2108,6 +2135,13 @@ export class Parser extends DiagnosticEmitter { // method: '(' Parameters (':' Type)? '{' Statement* '}' ';'? if (tn.skip(Token.OPENPAREN)) { + if (flags & CommonFlags.DECLARE) { + this.error( + DiagnosticCode._0_modifier_cannot_appear_on_class_elements_of_this_kind, + tn.range(declareStart, declareEnd), "declare" + ); // recoverable + } + let signatureStart = tn.tokenPos; let parameters = this.parseParameters(tn, isConstructor); if (!parameters) return null; @@ -2249,6 +2283,13 @@ export class Parser extends DiagnosticEmitter { // field: (':' Type)? ('=' Expression)? ';'? } else { + if (flags & CommonFlags.DECLARE) { + this.error( + DiagnosticCode.Not_implemented_0, + tn.range(declareStart, declareEnd), "Ambient fields" + ); // recoverable + } + if (flags & CommonFlags.ABSTRACT) { this.error( DiagnosticCode._0_modifier_cannot_be_used_here, @@ -2291,6 +2332,12 @@ export class Parser extends DiagnosticEmitter { } let initializer: Expression | null = null; if (tn.skip(Token.EQUALS)) { + if (flags & CommonFlags.AMBIENT) { + this.error( + DiagnosticCode.Initializers_are_not_allowed_in_ambient_contexts, + tn.range() + ); // recoverable + } initializer = this.parseExpression(tn); if (!initializer) return null; } @@ -3417,7 +3464,7 @@ export class Parser extends DiagnosticEmitter { startPos: i32 ): TypeDeclaration | null { - // at 'type': Identifier ('<' TypeParameters '>')? '=' Type ';'? + // at 'type': Identifier ('<' TypeParameters '>')? '=' '|'? Type ';'? if (tn.skipIdentifier()) { let name = Node.createIdentifierExpression(tn.readIdentifier(), tn.range()); @@ -3428,6 +3475,7 @@ export class Parser extends DiagnosticEmitter { flags |= CommonFlags.GENERIC; } if (tn.skip(Token.EQUALS)) { + tn.skip(Token.BAR); let type = this.parseType(tn); if (!type) return null; let ret = Node.createTypeDeclaration( diff --git a/src/passes/shadowstack.ts b/src/passes/shadowstack.ts index c0201c2e17..7540cf17de 100644 --- a/src/passes/shadowstack.ts +++ b/src/passes/shadowstack.ts @@ -1,29 +1,29 @@ /** * @fileoverview Shadow stack instrumentation for a precise GC. - * + * * Instruments function arguments and local assignments marked with a 'tostack' * call to also do stores to a shadow stack of managed values only. - * + * * Consider a simple call to a function looking like the following, taking * managed arguments, plus assigning managed values to locals: - * + * * function foo(a: Obj, b: Obj): Obj { * var c = __tostack(a) // slot 2 * __collect() * return b * } - * + * * foo(__tostack(a), __tostack(b)) // slot 0, 1 - * + * * At the call to `__collect()` the 32-bit stack frame of the function is: - * + * * Offset | Value stored * -------|---------------------------- * 0 | First managed argument 'a' * 4 | Second managed argument 'b' * -------|---------------------------- * 8 | First managed local 'c' - * + * * We are splitting the frame in two halves as annotated since both halves are * only known separately for indirect calls, with the first half becoming an * extension of the calling function's stack frame by means of treating the @@ -31,22 +31,22 @@ * arguments stay a bit longer on the stack than usually, but we also don't have * to modify the stack pointer pre-call at all this way. The caller's amended * stack frame when assuming one managed local may look like this: - * + * * Offset | Value stored * -------|---------------------------- * 0 | First managed local '?' * 4 | Extended with first managed argument 'a' * 8 | Extended with second managed argument 'b' - * + * * with the callee's stack frame becoming just: - * + * * Offset | Value stored * -------|---------------------------- * 0 | First managed local 'c' - * + * * Instrumentation added below looks about like the following, with the stack * growing downwards and 't' and 'r' being new temporary locals: - * + * * // callee frameSize = 1 * sizeof() * function foo(a: usize, b: usize): usize { * memory.fill(__stack_pointer -= frameSize, 0, frameSize) @@ -56,7 +56,7 @@ * __stack_pointer += frameSize * return r * } - * + * * // caller frameSize = (numLocalSlots + 2 [by extension]) * sizeof() * ( * r = foo( @@ -69,14 +69,14 @@ * ), * r * ) - * + * * Also note that we have to `memory.fill` the second half because the first * assignment to a local may happen at a later point within the function. The * invariant we need to maintain for a precise GC is that it only sees zeroes * or valid pointers, but never an invalid pointer left on the stack earlier. * Since most frames are small, we unroll a sequence of `store`s up to a frame * size of 16 bytes, and `memory.fill`, if available, beyond. - * + * * @license Apache-2.0 */ @@ -155,7 +155,10 @@ type TempMap = Map; /** Attempts to match the `__tostack(value)` pattern. Returns `value` if a match, otherwise `0`. */ function matchPattern(module: Module, expr: ExpressionRef): ExpressionRef { - if (_BinaryenExpressionGetId(expr) == ExpressionId.Call && module.readStringCached(_BinaryenCallGetTarget(expr)) == BuiltinNames.tostack) { + if ( + _BinaryenExpressionGetId(expr) == ExpressionId.Call && + module.readStringCached(_BinaryenCallGetTarget(expr)) == BuiltinNames.tostack + ) { assert(_BinaryenCallGetNumOperands(expr) == 1); return _BinaryenCallGetOperandAt(expr, 0); } @@ -320,7 +323,10 @@ export class ShadowStackPass extends Pass { module.global_get(BuiltinNames.stack_pointer, this.ptrType), module.global_get(BuiltinNames.data_end, this.ptrType) ), - this.compiler.makeStaticAbort(this.compiler.ensureStaticString("stack overflow"), this.compiler.program.nativeSource) + this.compiler.makeStaticAbort( + this.compiler.ensureStaticString("stack overflow"), + this.compiler.program.nativeSource + ) ) ); } @@ -579,7 +585,7 @@ export class ShadowStackPass extends Pass { ); // memory.fill(__stack_pointer, 0, frameSize) this.makeStackFill(frameSize, stmts); - + // Handle implicit return let body = _BinaryenFunctionGetBody(func); let bodyType = _BinaryenExpressionGetType(body); @@ -675,4 +681,4 @@ class InstrumentReturns extends Pass { ); this.replaceCurrent(module.flatten(stmts, TypeRef.Unreachable)); } -} \ No newline at end of file +} diff --git a/src/program.ts b/src/program.ts index 8df389b4b4..e1faf7596f 100644 --- a/src/program.ts +++ b/src/program.ts @@ -1513,13 +1513,6 @@ export class Program extends DiagnosticEmitter { } } } - } else { - this.errorRelated( - DiagnosticCode.Duplicate_identifier_0, - thisMember.identifierNode.range, - baseMember.identifierNode.range, - baseMember.identifierNode.text - ); } } } diff --git a/src/resolver.ts b/src/resolver.ts index dd79ab78f3..8de0697ddf 100644 --- a/src/resolver.ts +++ b/src/resolver.ts @@ -2609,12 +2609,8 @@ export class Resolver extends DiagnosticEmitter { assert(numClassTypeArguments == classTypeParameters.length); for (let i = 0; i < numClassTypeArguments; ++i) { let classTypeParameterName = classTypeParameters[i].name.text; - if (!ctxTypes.has(classTypeParameterName)) { - ctxTypes.set( - classTypeParameterName, - classTypeArguments[i] - ); - } + // override contextual + ctxTypes.set(classTypeParameterName, classTypeArguments[i]); } } } else { @@ -3092,18 +3088,26 @@ export class Resolver extends DiagnosticEmitter { let fieldPrototype = member; let fieldTypeNode = fieldPrototype.typeNode; let fieldType: Type | null = null; - // TODO: handle duplicate non-private fields specifically? - if (!fieldTypeNode) { - if (base) { - let baseMembers = base.members; - if (baseMembers !== null && baseMembers.has(fieldPrototype.name)) { - let baseField = assert(baseMembers.get(fieldPrototype.name)); - if (!baseField.is(CommonFlags.PRIVATE)) { - assert(baseField.kind == ElementKind.FIELD); - fieldType = (baseField).type; - } + let existingField: Field | null = null; + if (base) { + let baseMembers = base.members; + if (baseMembers !== null && baseMembers.has(fieldPrototype.name)) { + let baseField = assert(baseMembers.get(fieldPrototype.name)); + if (baseField.kind == ElementKind.FIELD) { + existingField = baseField; + } else { + this.errorRelated( + DiagnosticCode.Duplicate_identifier_0, + fieldPrototype.identifierNode.range, baseField.identifierNode.range, + fieldPrototype.name + ); } } + } + if (!fieldTypeNode) { + if (existingField !== null && !existingField.is(CommonFlags.PRIVATE)) { + fieldType = existingField.type; + } if (!fieldType) { if (reportMode == ReportMode.REPORT) { this.error( @@ -3130,12 +3134,83 @@ export class Resolver extends DiagnosticEmitter { } } if (!fieldType) break; // did report above + if (existingField !== null) { + // visibility checks + /* + existingField visibility on top + +==================+=========+===========+=========+ + | Visibility Table | Private | Protected | Public | + +==================+=========+===========+=========+ + | Private | error | error | error | + +------------------+---------+-----------+---------+ + | Protected | error | allowed | error | + +------------------+---------+-----------+---------+ + | Public | error | allowed | allowed | + +------------------+---------+-----------+---------+ + */ + + let baseClass = base; + + // handle cases row-by-row + if (fieldPrototype.is(CommonFlags.PRIVATE)) { + if (existingField.is(CommonFlags.PRIVATE)) { + this.errorRelated( + DiagnosticCode.Types_have_separate_declarations_of_a_private_property_0, + fieldPrototype.identifierNode.range, existingField.identifierNode.range, + fieldPrototype.name + ); + } else { + this.errorRelated( + DiagnosticCode.Property_0_is_private_in_type_1_but_not_in_type_2, + fieldPrototype.identifierNode.range, existingField.identifierNode.range, + fieldPrototype.name, instance.internalName, baseClass.internalName + ); + } + } else if (fieldPrototype.is(CommonFlags.PROTECTED)) { + if (existingField.is(CommonFlags.PRIVATE)) { + this.errorRelated( + DiagnosticCode.Property_0_is_private_in_type_1_but_not_in_type_2, + fieldPrototype.identifierNode.range, existingField.identifierNode.range, + fieldPrototype.name, baseClass.internalName, instance.internalName + ); + } else if (!existingField.is(CommonFlags.PROTECTED)) { + // may be implicitly public + this.errorRelated( + DiagnosticCode.Property_0_is_protected_in_type_1_but_public_in_type_2, + fieldPrototype.identifierNode.range, existingField.identifierNode.range, + fieldPrototype.name, instance.internalName, baseClass.internalName + ); + } + } else { + // fieldPrototype is public here + if (existingField.is(CommonFlags.PRIVATE)) { + this.errorRelated( + DiagnosticCode.Property_0_is_private_in_type_1_but_not_in_type_2, + fieldPrototype.identifierNode.range, existingField.identifierNode.range, + fieldPrototype.name, baseClass.internalName, instance.internalName + ); + } + } + + // assignability + if (!fieldType.isStrictlyAssignableTo(existingField.type)) { + this.errorRelated( + DiagnosticCode.Property_0_in_type_1_is_not_assignable_to_the_same_property_in_base_type_2, + fieldPrototype.identifierNode.range, existingField.identifierNode.range, + fieldPrototype.name, instance.internalName, baseClass.internalName + ); + } + } let fieldInstance = new Field(fieldPrototype, instance, fieldType); assert(isPowerOf2(fieldType.byteSize)); - let mask = fieldType.byteSize - 1; - if (memoryOffset & mask) memoryOffset = (memoryOffset | mask) + 1; - fieldInstance.memoryOffset = memoryOffset; - memoryOffset += fieldType.byteSize; + if (existingField !== null) { + fieldInstance.memoryOffset = existingField.memoryOffset; + } else { + let mask = fieldType.byteSize - 1; + if (memoryOffset & mask) memoryOffset = (memoryOffset | mask) + 1; + fieldInstance.memoryOffset = memoryOffset; + memoryOffset += fieldType.byteSize; + } instance.add(memberName, fieldInstance); // reports break; } diff --git a/src/tokenizer.ts b/src/tokenizer.ts index 5aec3bd243..fab060fd5c 100644 --- a/src/tokenizer.ts +++ b/src/tokenizer.ts @@ -28,8 +28,10 @@ import { isWhiteSpace, isIdentifierStart, isIdentifierPart, - isDecimalDigit, - isOctalDigit + isDecimal, + isOctal, + isHighSurrogate, + isLowSurrogate } from "./util"; /** Named token types. */ @@ -703,7 +705,7 @@ export class Tokenizer extends DiagnosticEmitter { ++pos; if (maxTokenLength > 1 && pos < end) { let chr = text.charCodeAt(pos); - if (isDecimalDigit(chr)) { + if (isDecimal(chr)) { this.pos = pos - 1; return Token.FLOATLITERAL; // expects a call to readFloat } @@ -976,9 +978,9 @@ export class Tokenizer extends DiagnosticEmitter { break; } let start = pos++; - if ( // surrogate pair? - (c & 0xFC00) == 0xD800 && pos < end && - ((text.charCodeAt(pos)) & 0xFC00) == 0xDC00 + if ( + isHighSurrogate(c) && pos < end && + isLowSurrogate(text.charCodeAt(pos)) ) ++pos; this.error( DiagnosticCode.Invalid_character, @@ -1177,7 +1179,7 @@ export class Tokenizer extends DiagnosticEmitter { var c = text.charCodeAt(this.pos++); switch (c) { case CharCode._0: { - if (isTaggedTemplate && this.pos < end && isDecimalDigit(text.charCodeAt(this.pos))) { + if (isTaggedTemplate && this.pos < end && isDecimal(text.charCodeAt(this.pos))) { ++this.pos; return text.substring(start, this.pos); } @@ -1216,7 +1218,7 @@ export class Tokenizer extends DiagnosticEmitter { case CharCode.LINEFEED: case CharCode.LINESEPARATOR: case CharCode.PARAGRAPHSEPARATOR: return ""; - default: return String.fromCharCode(c); + default: return String.fromCodePoint(c); } } @@ -1331,7 +1333,7 @@ export class Tokenizer extends DiagnosticEmitter { return this.readOctalInteger(); } } - if (isOctalDigit(text.charCodeAt(pos + 1))) { + if (isOctal(text.charCodeAt(pos + 1))) { let start = pos; this.pos = pos + 1; let value = this.readOctalInteger(); @@ -1578,7 +1580,7 @@ export class Tokenizer extends DiagnosticEmitter { if ( ++this.pos < end && (c = text.charCodeAt(this.pos)) == CharCode.MINUS || c == CharCode.PLUS && - isDecimalDigit(text.charCodeAt(this.pos + 1)) + isDecimal(text.charCodeAt(this.pos + 1)) ) { ++this.pos; } @@ -1618,7 +1620,7 @@ export class Tokenizer extends DiagnosticEmitter { } sepEnd = pos + 1; ++sepCount; - } else if (!isDecimalDigit(c)) { + } else if (!isDecimal(c)) { break; } ++pos; @@ -1677,7 +1679,7 @@ export class Tokenizer extends DiagnosticEmitter { return ""; } this.pos = pos; - return String.fromCharCode(value); + return String.fromCodePoint(value); } checkForIdentifierStartAfterNumericLiteral(): void { @@ -1739,12 +1741,7 @@ export class Tokenizer extends DiagnosticEmitter { ? text.substring(startIfTaggedTemplate, this.pos) : ""; } - return value32 < 0x10000 - ? String.fromCharCode(value32) - : String.fromCharCode( - ((value32 - 0x10000) >>> 10) | 0xD800, - ((value32 - 0x10000) & 1023) | 0xDC00 - ); + return String.fromCodePoint(value32); } } diff --git a/src/tsconfig.json b/src/tsconfig.json index 033f601ce4..0acc81470a 100644 --- a/src/tsconfig.json +++ b/src/tsconfig.json @@ -7,7 +7,10 @@ "sourceMap": true, "skipLibCheck": true, "target": "esnext", - "strict": true + "useDefineForClassFields": false, + "strict": true, + "noImplicitReturns": true, + "noPropertyAccessFromIndexSignature": true }, "include": [ "./**/*.ts" diff --git a/src/util/text.ts b/src/util/text.ts index 8df6c407a6..6b3598e061 100644 --- a/src/util/text.ts +++ b/src/util/text.ts @@ -139,7 +139,7 @@ export const enum CharCode { } /** Tests if the specified character code is some sort of line break. */ -export function isLineBreak(c: CharCode): bool { +export function isLineBreak(c: i32): bool { switch (c) { case CharCode.LINEFEED: case CharCode.CARRIAGERETURN: @@ -175,45 +175,92 @@ export function isWhiteSpace(c: i32): bool { } } +/** First high (lead) surrogate. */ +export const SURROGATE_HIGH = 0xD800; + +/** First low (trail) surrogate. */ +export const SURROGATE_LOW = 0xDC00; + +/** Tests if a code unit or code point is a surrogate. */ +export function isSurrogate(c: i32): bool { + // F800: 11111 0 0000000000 Mask + // D800: 11011 X XXXXXXXXXX Any surrogate + return (c & 0xF800) == SURROGATE_HIGH; +} + +/** Tests if a surrogate is a high (lead) surrogate. */ +export function isSurrogateHigh(c: i32): bool { + // D800-DBFF + return c < SURROGATE_LOW; +} + +/** Tests if a surrogate is a low (trail) surrogate. */ +export function isSurrogateLow(c: i32): bool { + // DC00-DFFF + return c >= SURROGATE_LOW; +} + +/** Tests if a code unit or code point is a high (lead) surrogate. */ +export function isHighSurrogate(c: i32): bool { + // FC00: 11111 1 0000000000 Mask + // D800: 11011 0 XXXXXXXXXX High/Lead surrogate + return (c & 0xFC00) == SURROGATE_HIGH; +} + +/** Tests if a code unit or code point is a low (trail) surrogate. */ +export function isLowSurrogate(c: i32): bool { + // FC00: 11111 1 0000000000 Mask + // DC00: 11011 1 XXXXXXXXXX Low/Trail surrogate + return (c & 0xFC00) == SURROGATE_LOW; +} + +/** Converts a surrogate pair to its respective code point. */ +export function combineSurrogates(hi: i32, lo: i32): i32 { + return 0x10000 + ((hi & 0x3FF) << 10) | (lo & 0x3FF); +} + +export function isAlpha(c: i32): bool { + let c0 = c | 32; // unify uppercases and lowercases a|A - z|Z + return c0 >= CharCode.a && c0 <= CharCode.z; +} + /** Tests if the specified character code is a valid decimal digit. */ -export function isDecimalDigit(c: i32): bool { +export function isDecimal(c: i32): bool { return c >= CharCode._0 && c <= CharCode._9; } /** Tests if the specified character code is a valid octal digit. */ -export function isOctalDigit(c: i32): bool { +export function isOctal(c: i32): bool { return c >= CharCode._0 && c <= CharCode._7; } /** Tests if the specified character code is a valid hexadecimal digit. */ -export function isHexDigit(c: i32): bool { - return isDecimalDigit(c) || ((c | 32) >= CharCode.a && (c | 32) <= CharCode.f); +export function isHex(c: i32): bool { + let c0 = c | 32; // unify uppercases and lowercases a|A - f|F + return isDecimal(c) || (c0 >= CharCode.a && c0 <= CharCode.f); } /** Tests if the specified character code is trivially alphanumeric. */ -export function isTrivialAlphanum(code: i32): bool { - return code >= CharCode.a && code <= CharCode.z - || code >= CharCode.A && code <= CharCode.Z - || code >= CharCode._0 && code <= CharCode._9; +export function isAlphaOrDecimal(c: i32): bool { + return isAlpha(c) || isDecimal(c); } /** Tests if the specified character code is a valid start of an identifier. */ export function isIdentifierStart(c: i32): bool { - let c0 = c | 32; // unify uppercases and lowercases a|A - z|Z - return c0 >= CharCode.a && c0 <= CharCode.z + return isAlpha(c) || c == CharCode._ || c == CharCode.DOLLAR - || c > 0x7F && isUnicodeIdentifierStart(c); + || c >= 170 && c <= 65500 + && lookupInUnicodeMap(c as u16, unicodeIdentifierStart); } /** Tests if the specified character code is a valid part of an identifier. */ export function isIdentifierPart(c: i32): bool { - const c0 = c | 32; // unify uppercases and lowercases a|A - z|Z - return c0 >= CharCode.a && c0 <= CharCode.z - || c >= CharCode._0 && c <= CharCode._9 + return isAlphaOrDecimal(c) || c == CharCode._ || c == CharCode.DOLLAR - || c > 0x7F && isUnicodeIdentifierPart(c); + || c >= 170 && c <= 65500 + && lookupInUnicodeMap(c as u16, unicodeIdentifierPart); } // storing as u16 to save memory @@ -354,15 +401,13 @@ const unicodeIdentifierPart: u16[] = [ ]; function lookupInUnicodeMap(code: u16, map: u16[]): bool { - if (code < map[0]) return false; - var lo = 0; var hi = map.length; - var mid: i32; + var mid: u32; var midVal: u16; while (lo + 1 < hi) { - mid = lo + ((hi - lo) >> 1); + mid = lo + ((hi - lo) >>> 1); mid -= (mid & 1); midVal = map[mid]; if (midVal <= code && code <= map[mid + 1]) { @@ -377,16 +422,6 @@ function lookupInUnicodeMap(code: u16, map: u16[]): bool { return false; } -function isUnicodeIdentifierStart(code: i32): bool { - return code < 170 || code > 65500 ? false : - lookupInUnicodeMap(code as u16, unicodeIdentifierStart); -} - -function isUnicodeIdentifierPart(code: i32): bool { - return code < 170 || code > 65500 ? false : - lookupInUnicodeMap(code as u16, unicodeIdentifierPart); -} - const indentX1 = " "; const indentX2 = " "; const indentX4 = " "; diff --git a/std/assembly/string.ts b/std/assembly/string.ts index 535ded919a..bc88594634 100644 --- a/std/assembly/string.ts +++ b/std/assembly/string.ts @@ -709,6 +709,8 @@ export namespace String { if (c1 < 128) { store(bufOff, c1); bufOff++; + // @ts-ignore: cast + if (nullTerminated & !c1) return bufOff - buf; } else if (c1 < 2048) { let b0 = c1 >> 6 | 192; let b1 = c1 & 63 | 128; diff --git a/tests/compiler/NonNullable.optimized.wat b/tests/compiler/NonNullable.optimized.wat index 2ca9308c4d..ad2608bb49 100644 --- a/tests/compiler/NonNullable.optimized.wat +++ b/tests/compiler/NonNullable.optimized.wat @@ -138,11 +138,11 @@ ) (func $~start (local $0 i32) + global.get $~lib/memory/__stack_pointer + i32.const 12 + i32.sub + global.set $~lib/memory/__stack_pointer block $folding-inner1 - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.sub - global.set $~lib/memory/__stack_pointer block $folding-inner0 global.get $~lib/memory/__stack_pointer i32.const 1324 diff --git a/tests/compiler/call-super.optimized.wat b/tests/compiler/call-super.optimized.wat index f6c479de9e..b74f1fb51e 100644 --- a/tests/compiler/call-super.optimized.wat +++ b/tests/compiler/call-super.optimized.wat @@ -595,12 +595,12 @@ (local $0 i32) (local $1 i32) memory.size - local.tee $0 + local.tee $1 i32.const 0 i32.le_s if (result i32) i32.const 1 - local.get $0 + local.get $1 i32.sub memory.grow i32.const 0 @@ -618,11 +618,11 @@ i32.const 0 i32.store loop $for-loop|0 - local.get $1 + local.get $0 i32.const 23 i32.lt_u if - local.get $1 + local.get $0 i32.const 2 i32.shl i32.const 17984 @@ -630,14 +630,14 @@ i32.const 0 i32.store offset=4 i32.const 0 - local.set $0 + local.set $1 loop $for-loop|1 - local.get $0 + local.get $1 i32.const 16 i32.lt_u if - local.get $0 local.get $1 + local.get $0 i32.const 4 i32.shl i32.add @@ -647,17 +647,17 @@ i32.add i32.const 0 i32.store offset=96 - local.get $0 + local.get $1 i32.const 1 i32.add - local.set $0 + local.set $1 br $for-loop|1 end end - local.get $1 + local.get $0 i32.const 1 i32.add - local.set $1 + local.set $0 br $for-loop|0 end end @@ -1598,43 +1598,43 @@ (local $0 i32) (local $1 i32) (local $2 i32) + memory.size + i32.const 16 + i32.shl + i32.const 17980 + i32.sub + i32.const 1 + i32.shr_u + global.set $~lib/rt/itcms/threshold + i32.const 1220 + i32.const 1216 + i32.store + i32.const 1224 + i32.const 1216 + i32.store + i32.const 1216 + global.set $~lib/rt/itcms/pinSpace + i32.const 1252 + i32.const 1248 + i32.store + i32.const 1256 + i32.const 1248 + i32.store + i32.const 1248 + global.set $~lib/rt/itcms/toSpace + i32.const 1396 + i32.const 1392 + i32.store + i32.const 1400 + i32.const 1392 + i32.store + i32.const 1392 + global.set $~lib/rt/itcms/fromSpace + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.sub + global.set $~lib/memory/__stack_pointer block $folding-inner1 - memory.size - i32.const 16 - i32.shl - i32.const 17980 - i32.sub - i32.const 1 - i32.shr_u - global.set $~lib/rt/itcms/threshold - i32.const 1220 - i32.const 1216 - i32.store - i32.const 1224 - i32.const 1216 - i32.store - i32.const 1216 - global.set $~lib/rt/itcms/pinSpace - i32.const 1252 - i32.const 1248 - i32.store - i32.const 1256 - i32.const 1248 - i32.store - i32.const 1248 - global.set $~lib/rt/itcms/toSpace - i32.const 1396 - i32.const 1392 - i32.store - i32.const 1400 - i32.const 1392 - i32.store - i32.const 1392 - global.set $~lib/rt/itcms/fromSpace - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.sub - global.set $~lib/memory/__stack_pointer block $__inlined_func$call-super/test1 global.get $~lib/memory/__stack_pointer i32.const 1596 @@ -1666,7 +1666,7 @@ i32.const 2 i32.store offset=4 global.get $~lib/memory/__stack_pointer - global.get $~lib/memory/__stack_pointer + local.tee $2 i32.const 4 i32.sub global.set $~lib/memory/__stack_pointer @@ -1706,6 +1706,7 @@ i32.const 4 i32.add global.set $~lib/memory/__stack_pointer + local.get $2 local.get $0 i32.store local.get $0 @@ -1804,7 +1805,7 @@ i32.const 2 i32.store offset=4 global.get $~lib/memory/__stack_pointer - global.get $~lib/memory/__stack_pointer + local.tee $2 i32.const 4 i32.sub global.set $~lib/memory/__stack_pointer @@ -1832,6 +1833,7 @@ i32.const 4 i32.add global.set $~lib/memory/__stack_pointer + local.get $2 local.get $0 i32.store local.get $0 @@ -1899,11 +1901,11 @@ i32.const 4 i32.sub global.set $~lib/memory/__stack_pointer - block $folding-inner0 + block $folding-inner01 global.get $~lib/memory/__stack_pointer i32.const 1596 i32.lt_s - br_if $folding-inner0 + br_if $folding-inner01 global.get $~lib/memory/__stack_pointer local.tee $1 i32.const 0 @@ -1915,7 +1917,7 @@ global.get $~lib/memory/__stack_pointer i32.const 1596 i32.lt_s - br_if $folding-inner0 + br_if $folding-inner01 global.get $~lib/memory/__stack_pointer local.tee $0 i32.const 0 @@ -1927,14 +1929,14 @@ local.tee $0 i32.store global.get $~lib/memory/__stack_pointer - global.get $~lib/memory/__stack_pointer + local.tee $2 i32.const 4 i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer i32.const 1596 i32.lt_s - br_if $folding-inner0 + br_if $folding-inner01 global.get $~lib/memory/__stack_pointer i32.const 0 i32.store @@ -1967,6 +1969,7 @@ i32.const 4 i32.add global.set $~lib/memory/__stack_pointer + local.get $2 local.get $0 i32.store local.get $0 @@ -2014,7 +2017,7 @@ global.get $~lib/memory/__stack_pointer i32.const 1596 i32.lt_s - br_if $folding-inner0 + br_if $folding-inner01 global.get $~lib/memory/__stack_pointer local.tee $1 i32.const 0 @@ -2026,7 +2029,7 @@ global.get $~lib/memory/__stack_pointer i32.const 1596 i32.lt_s - br_if $folding-inner0 + br_if $folding-inner01 global.get $~lib/memory/__stack_pointer local.tee $0 i32.const 0 @@ -2038,14 +2041,14 @@ local.tee $0 i32.store global.get $~lib/memory/__stack_pointer - global.get $~lib/memory/__stack_pointer + local.tee $2 i32.const 4 i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer i32.const 1596 i32.lt_s - br_if $folding-inner0 + br_if $folding-inner01 global.get $~lib/memory/__stack_pointer i32.const 0 i32.store @@ -2066,6 +2069,7 @@ i32.const 4 i32.add global.set $~lib/memory/__stack_pointer + local.get $2 local.get $0 i32.store local.get $0 @@ -2113,7 +2117,7 @@ global.get $~lib/memory/__stack_pointer i32.const 1596 i32.lt_s - br_if $folding-inner0 + br_if $folding-inner01 global.get $~lib/memory/__stack_pointer local.tee $1 i32.const 0 @@ -2125,7 +2129,7 @@ global.get $~lib/memory/__stack_pointer i32.const 1596 i32.lt_s - br_if $folding-inner0 + br_if $folding-inner01 global.get $~lib/memory/__stack_pointer local.tee $0 i32.const 0 @@ -2137,14 +2141,14 @@ local.tee $0 i32.store global.get $~lib/memory/__stack_pointer - global.get $~lib/memory/__stack_pointer + local.tee $2 i32.const 4 i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer i32.const 1596 i32.lt_s - br_if $folding-inner0 + br_if $folding-inner01 global.get $~lib/memory/__stack_pointer i32.const 0 i32.store @@ -2165,6 +2169,7 @@ i32.const 4 i32.add global.set $~lib/memory/__stack_pointer + local.get $2 local.get $0 i32.store local.get $0 @@ -2223,19 +2228,19 @@ local.get $0 i32.const 20 i32.sub - local.tee $0 + local.tee $1 i32.load offset=4 i32.const 3 i32.and i32.eq if global.get $~lib/rt/itcms/iter - local.get $0 + local.get $1 i32.eq if - local.get $0 + local.get $1 i32.load offset=8 - local.tee $1 + local.tee $0 i32.eqz if i32.const 0 @@ -2245,22 +2250,22 @@ call $~lib/builtins/abort unreachable end - local.get $1 + local.get $0 global.set $~lib/rt/itcms/iter end block $__inlined_func$~lib/rt/itcms/Object#unlink - local.get $0 + local.get $1 i32.load offset=4 i32.const -4 i32.and - local.tee $1 + local.tee $0 i32.eqz if i32.const 0 - local.get $0 + local.get $1 i32.const 17980 i32.lt_u - local.get $0 + local.get $1 i32.load offset=8 select i32.eqz @@ -2274,7 +2279,7 @@ end br $__inlined_func$~lib/rt/itcms/Object#unlink end - local.get $0 + local.get $1 i32.load offset=8 local.tee $2 i32.eqz @@ -2286,7 +2291,7 @@ call $~lib/builtins/abort unreachable end - local.get $1 + local.get $0 local.get $2 i32.store offset=8 local.get $2 @@ -2294,15 +2299,15 @@ i32.load offset=4 i32.const 3 i32.and - local.get $1 + local.get $0 i32.or i32.store offset=4 end global.get $~lib/rt/itcms/toSpace local.set $2 - local.get $0 + local.get $1 i32.load offset=12 - local.tee $1 + local.tee $0 i32.const 1 i32.le_u if (result i32) @@ -2310,7 +2315,7 @@ else i32.const 1488 i32.load - local.get $1 + local.get $0 i32.lt_u if i32.const 1296 @@ -2320,7 +2325,7 @@ call $~lib/builtins/abort unreachable end - local.get $1 + local.get $0 i32.const 3 i32.shl i32.const 1492 @@ -2338,25 +2343,25 @@ local.set $3 local.get $2 i32.load offset=8 - local.set $1 - local.get $0 + local.set $0 + local.get $1 local.get $2 local.get $3 i32.or i32.store offset=4 - local.get $0 local.get $1 + local.get $0 i32.store offset=8 - local.get $1 - local.get $1 + local.get $0 + local.get $0 i32.load offset=4 i32.const 3 i32.and - local.get $0 + local.get $1 i32.or i32.store offset=4 local.get $2 - local.get $0 + local.get $1 i32.store offset=8 global.get $~lib/rt/itcms/visitCount i32.const 1 diff --git a/tests/compiler/class-implements.optimized.wat b/tests/compiler/class-implements.optimized.wat index f4feb9b159..e38032dcbb 100644 --- a/tests/compiler/class-implements.optimized.wat +++ b/tests/compiler/class-implements.optimized.wat @@ -617,12 +617,12 @@ (local $0 i32) (local $1 i32) memory.size - local.tee $0 + local.tee $1 i32.const 0 i32.le_s if (result i32) i32.const 1 - local.get $0 + local.get $1 i32.sub memory.grow i32.const 0 @@ -640,11 +640,11 @@ i32.const 0 i32.store loop $for-loop|0 - local.get $1 + local.get $0 i32.const 23 i32.lt_u if - local.get $1 + local.get $0 i32.const 2 i32.shl i32.const 17952 @@ -652,14 +652,14 @@ i32.const 0 i32.store offset=4 i32.const 0 - local.set $0 + local.set $1 loop $for-loop|1 - local.get $0 + local.get $1 i32.const 16 i32.lt_u if - local.get $0 local.get $1 + local.get $0 i32.const 4 i32.shl i32.add @@ -669,17 +669,17 @@ i32.add i32.const 0 i32.store offset=96 - local.get $0 + local.get $1 i32.const 1 i32.add - local.set $0 + local.set $1 br $for-loop|1 end end - local.get $1 + local.get $0 i32.const 1 i32.add - local.set $1 + local.set $0 br $for-loop|0 end end @@ -1561,19 +1561,19 @@ local.get $0 i32.const 20 i32.sub - local.tee $0 + local.tee $1 i32.load offset=4 i32.const 3 i32.and i32.eq if global.get $~lib/rt/itcms/iter - local.get $0 + local.get $1 i32.eq if - local.get $0 + local.get $1 i32.load offset=8 - local.tee $1 + local.tee $0 i32.eqz if i32.const 0 @@ -1583,22 +1583,22 @@ call $~lib/builtins/abort unreachable end - local.get $1 + local.get $0 global.set $~lib/rt/itcms/iter end block $__inlined_func$~lib/rt/itcms/Object#unlink - local.get $0 + local.get $1 i32.load offset=4 i32.const -4 i32.and - local.tee $1 + local.tee $0 i32.eqz if i32.const 0 - local.get $0 + local.get $1 i32.const 17948 i32.lt_u - local.get $0 + local.get $1 i32.load offset=8 select i32.eqz @@ -1612,7 +1612,7 @@ end br $__inlined_func$~lib/rt/itcms/Object#unlink end - local.get $0 + local.get $1 i32.load offset=8 local.tee $2 i32.eqz @@ -1624,7 +1624,7 @@ call $~lib/builtins/abort unreachable end - local.get $1 + local.get $0 local.get $2 i32.store offset=8 local.get $2 @@ -1632,15 +1632,15 @@ i32.load offset=4 i32.const 3 i32.and - local.get $1 + local.get $0 i32.or i32.store offset=4 end global.get $~lib/rt/itcms/toSpace local.set $2 - local.get $0 + local.get $1 i32.load offset=12 - local.tee $1 + local.tee $0 i32.const 1 i32.le_u if (result i32) @@ -1648,7 +1648,7 @@ else i32.const 1504 i32.load - local.get $1 + local.get $0 i32.lt_u if i32.const 1248 @@ -1658,7 +1658,7 @@ call $~lib/builtins/abort unreachable end - local.get $1 + local.get $0 i32.const 3 i32.shl i32.const 1508 @@ -1676,25 +1676,25 @@ local.set $3 local.get $2 i32.load offset=8 - local.set $1 - local.get $0 + local.set $0 + local.get $1 local.get $2 local.get $3 i32.or i32.store offset=4 - local.get $0 local.get $1 + local.get $0 i32.store offset=8 - local.get $1 - local.get $1 + local.get $0 + local.get $0 i32.load offset=4 i32.const 3 i32.and - local.get $0 + local.get $1 i32.or i32.store offset=4 local.get $2 - local.get $0 + local.get $1 i32.store offset=8 global.get $~lib/rt/itcms/visitCount i32.const 1 diff --git a/tests/compiler/class-overloading-cast.optimized.wat b/tests/compiler/class-overloading-cast.optimized.wat index 3ad36c7a3a..b517856eda 100644 --- a/tests/compiler/class-overloading-cast.optimized.wat +++ b/tests/compiler/class-overloading-cast.optimized.wat @@ -631,12 +631,12 @@ (local $0 i32) (local $1 i32) memory.size - local.tee $0 + local.tee $1 i32.const 0 i32.le_s if (result i32) i32.const 1 - local.get $0 + local.get $1 i32.sub memory.grow i32.const 0 @@ -654,11 +654,11 @@ i32.const 0 i32.store loop $for-loop|0 - local.get $1 + local.get $0 i32.const 23 i32.lt_u if - local.get $1 + local.get $0 i32.const 2 i32.shl i32.const 18096 @@ -666,14 +666,14 @@ i32.const 0 i32.store offset=4 i32.const 0 - local.set $0 + local.set $1 loop $for-loop|1 - local.get $0 + local.get $1 i32.const 16 i32.lt_u if - local.get $0 local.get $1 + local.get $0 i32.const 4 i32.shl i32.add @@ -683,17 +683,17 @@ i32.add i32.const 0 i32.store offset=96 - local.get $0 + local.get $1 i32.const 1 i32.add - local.set $0 + local.set $1 br $for-loop|1 end end - local.get $1 + local.get $0 i32.const 1 i32.add - local.set $1 + local.set $0 br $for-loop|0 end end @@ -1554,7 +1554,7 @@ local.tee $0 i32.store global.get $~lib/memory/__stack_pointer - global.get $~lib/memory/__stack_pointer + local.tee $1 i32.const 4 i32.sub global.set $~lib/memory/__stack_pointer @@ -1578,6 +1578,7 @@ 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 @@ -1709,7 +1710,7 @@ local.tee $0 i32.store global.get $~lib/memory/__stack_pointer - global.get $~lib/memory/__stack_pointer + local.tee $1 i32.const 4 i32.sub global.set $~lib/memory/__stack_pointer @@ -1733,6 +1734,7 @@ 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 @@ -1857,19 +1859,19 @@ local.get $0 i32.const 20 i32.sub - local.tee $0 + local.tee $1 i32.load offset=4 i32.const 3 i32.and i32.eq if global.get $~lib/rt/itcms/iter - local.get $0 + local.get $1 i32.eq if - local.get $0 + local.get $1 i32.load offset=8 - local.tee $1 + local.tee $0 i32.eqz if i32.const 0 @@ -1879,22 +1881,22 @@ call $~lib/builtins/abort unreachable end - local.get $1 + local.get $0 global.set $~lib/rt/itcms/iter end block $__inlined_func$~lib/rt/itcms/Object#unlink - local.get $0 + local.get $1 i32.load offset=4 i32.const -4 i32.and - local.tee $1 + local.tee $0 i32.eqz if i32.const 0 - local.get $0 + local.get $1 i32.const 18084 i32.lt_u - local.get $0 + local.get $1 i32.load offset=8 select i32.eqz @@ -1908,7 +1910,7 @@ end br $__inlined_func$~lib/rt/itcms/Object#unlink end - local.get $0 + local.get $1 i32.load offset=8 local.tee $2 i32.eqz @@ -1920,7 +1922,7 @@ call $~lib/builtins/abort unreachable end - local.get $1 + local.get $0 local.get $2 i32.store offset=8 local.get $2 @@ -1928,15 +1930,15 @@ i32.load offset=4 i32.const 3 i32.and - local.get $1 + local.get $0 i32.or i32.store offset=4 end global.get $~lib/rt/itcms/toSpace local.set $2 - local.get $0 + local.get $1 i32.load offset=12 - local.tee $1 + local.tee $0 i32.const 1 i32.le_u if (result i32) @@ -1944,7 +1946,7 @@ else i32.const 1616 i32.load - local.get $1 + local.get $0 i32.lt_u if i32.const 1248 @@ -1954,7 +1956,7 @@ call $~lib/builtins/abort unreachable end - local.get $1 + local.get $0 i32.const 3 i32.shl i32.const 1620 @@ -1972,25 +1974,25 @@ local.set $3 local.get $2 i32.load offset=8 - local.set $1 - local.get $0 + local.set $0 + local.get $1 local.get $2 local.get $3 i32.or i32.store offset=4 - local.get $0 local.get $1 + local.get $0 i32.store offset=8 - local.get $1 - local.get $1 + local.get $0 + local.get $0 i32.load offset=4 i32.const 3 i32.and - local.get $0 + local.get $1 i32.or i32.store offset=4 local.get $2 - local.get $0 + local.get $1 i32.store offset=8 global.get $~lib/rt/itcms/visitCount i32.const 1 diff --git a/tests/compiler/class-overloading.optimized.wat b/tests/compiler/class-overloading.optimized.wat index f715c318b9..201fd5d68b 100644 --- a/tests/compiler/class-overloading.optimized.wat +++ b/tests/compiler/class-overloading.optimized.wat @@ -655,12 +655,12 @@ (local $0 i32) (local $1 i32) memory.size - local.tee $0 + local.tee $1 i32.const 0 i32.le_s if (result i32) i32.const 1 - local.get $0 + local.get $1 i32.sub memory.grow i32.const 0 @@ -678,11 +678,11 @@ i32.const 0 i32.store loop $for-loop|0 - local.get $1 + local.get $0 i32.const 23 i32.lt_u if - local.get $1 + local.get $0 i32.const 2 i32.shl i32.const 18320 @@ -690,14 +690,14 @@ i32.const 0 i32.store offset=4 i32.const 0 - local.set $0 + local.set $1 loop $for-loop|1 - local.get $0 + local.get $1 i32.const 16 i32.lt_u if - local.get $0 local.get $1 + local.get $0 i32.const 4 i32.shl i32.add @@ -707,17 +707,17 @@ i32.add i32.const 0 i32.store offset=96 - local.get $0 + local.get $1 i32.const 1 i32.add - local.set $0 + local.set $1 br $for-loop|1 end end - local.get $1 + local.get $0 i32.const 1 i32.add - local.set $1 + local.set $0 br $for-loop|0 end end @@ -1552,11 +1552,12 @@ (func $start:class-overloading (local $0 i32) (local $1 i32) + (local $2 i32) + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.sub + global.set $~lib/memory/__stack_pointer block $folding-inner1 - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.sub - global.set $~lib/memory/__stack_pointer block $folding-inner0 global.get $~lib/memory/__stack_pointer i32.const 1932 @@ -2683,7 +2684,8 @@ local.tee $0 i32.store global.get $~lib/memory/__stack_pointer - global.get $~lib/memory/__stack_pointer + local.tee $2 + local.get $2 i32.const 4 i32.sub global.set $~lib/memory/__stack_pointer @@ -2757,7 +2759,7 @@ local.tee $0 i32.store global.get $~lib/memory/__stack_pointer - global.get $~lib/memory/__stack_pointer + local.tee $1 i32.const 4 i32.sub global.set $~lib/memory/__stack_pointer @@ -2781,6 +2783,7 @@ 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 @@ -2993,19 +2996,19 @@ local.get $0 i32.const 20 i32.sub - local.tee $0 + local.tee $1 i32.load offset=4 i32.const 3 i32.and i32.eq if global.get $~lib/rt/itcms/iter - local.get $0 + local.get $1 i32.eq if - local.get $0 + local.get $1 i32.load offset=8 - local.tee $1 + local.tee $0 i32.eqz if i32.const 0 @@ -3015,22 +3018,22 @@ call $~lib/builtins/abort unreachable end - local.get $1 + local.get $0 global.set $~lib/rt/itcms/iter end block $__inlined_func$~lib/rt/itcms/Object#unlink - local.get $0 + local.get $1 i32.load offset=4 i32.const -4 i32.and - local.tee $1 + local.tee $0 i32.eqz if i32.const 0 - local.get $0 + local.get $1 i32.const 18316 i32.lt_u - local.get $0 + local.get $1 i32.load offset=8 select i32.eqz @@ -3044,7 +3047,7 @@ end br $__inlined_func$~lib/rt/itcms/Object#unlink end - local.get $0 + local.get $1 i32.load offset=8 local.tee $2 i32.eqz @@ -3056,7 +3059,7 @@ call $~lib/builtins/abort unreachable end - local.get $1 + local.get $0 local.get $2 i32.store offset=8 local.get $2 @@ -3064,15 +3067,15 @@ i32.load offset=4 i32.const 3 i32.and - local.get $1 + local.get $0 i32.or i32.store offset=4 end global.get $~lib/rt/itcms/toSpace local.set $2 - local.get $0 + local.get $1 i32.load offset=12 - local.tee $1 + local.tee $0 i32.const 1 i32.le_u if (result i32) @@ -3080,7 +3083,7 @@ else i32.const 1792 i32.load - local.get $1 + local.get $0 i32.lt_u if i32.const 1280 @@ -3090,7 +3093,7 @@ call $~lib/builtins/abort unreachable end - local.get $1 + local.get $0 i32.const 3 i32.shl i32.const 1796 @@ -3108,25 +3111,25 @@ local.set $3 local.get $2 i32.load offset=8 - local.set $1 - local.get $0 + local.set $0 + local.get $1 local.get $2 local.get $3 i32.or i32.store offset=4 - local.get $0 local.get $1 + local.get $0 i32.store offset=8 - local.get $1 - local.get $1 + local.get $0 + local.get $0 i32.load offset=4 i32.const 3 i32.and - local.get $0 + local.get $1 i32.or i32.store offset=4 local.get $2 - local.get $0 + local.get $1 i32.store offset=8 global.get $~lib/rt/itcms/visitCount i32.const 1 diff --git a/tests/compiler/class.optimized.wat b/tests/compiler/class.optimized.wat index c395b16052..9ce8ee5e5f 100644 --- a/tests/compiler/class.optimized.wat +++ b/tests/compiler/class.optimized.wat @@ -735,12 +735,12 @@ (local $0 i32) (local $1 i32) memory.size - local.tee $0 + local.tee $1 i32.const 0 i32.le_s if (result i32) i32.const 1 - local.get $0 + local.get $1 i32.sub memory.grow i32.const 0 @@ -758,11 +758,11 @@ i32.const 0 i32.store loop $for-loop|0 - local.get $1 + local.get $0 i32.const 23 i32.lt_u if - local.get $1 + local.get $0 i32.const 2 i32.shl i32.const 17984 @@ -770,14 +770,14 @@ i32.const 0 i32.store offset=4 i32.const 0 - local.set $0 + local.set $1 loop $for-loop|1 - local.get $0 + local.get $1 i32.const 16 i32.lt_u if - local.get $0 local.get $1 + local.get $0 i32.const 4 i32.shl i32.add @@ -787,17 +787,17 @@ i32.add i32.const 0 i32.store offset=96 - local.get $0 + local.get $1 i32.const 1 i32.add - local.set $0 + local.set $1 br $for-loop|1 end end - local.get $1 + local.get $0 i32.const 1 i32.add - local.set $1 + local.set $0 br $for-loop|0 end end diff --git a/tests/compiler/const-folding.optimized.wat b/tests/compiler/const-folding.optimized.wat index 4ceec9de33..a296656855 100644 --- a/tests/compiler/const-folding.optimized.wat +++ b/tests/compiler/const-folding.optimized.wat @@ -1,8 +1,12 @@ (module (type $i64_=>_i64 (func (param i64) (result i64))) + (type $none_=>_none (func)) + (global $const-folding/x (mut i32) (i32.const 0)) (memory $0 0) + (export "x" (global $const-folding/x)) (export "test" (func $const-folding/test)) (export "memory" (memory $0)) + (start $~start) (func $const-folding/test (param $0 i64) (result i64) local.get $0 i64.const 1 @@ -12,4 +16,8 @@ i64.shr_u i64.add ) + (func $~start + i32.const 30 + global.set $const-folding/x + ) ) diff --git a/tests/compiler/const-folding.ts b/tests/compiler/const-folding.ts index a29303b891..621af082ab 100644 --- a/tests/compiler/const-folding.ts +++ b/tests/compiler/const-folding.ts @@ -1,3 +1,7 @@ +let w = 42 >> 1; +w = (w & 0xFC) | (w >> 1); +export const x = w; + export function test(value: u64): u64 { var mod1: u64 = -1; var mod2: u64 = -1; diff --git a/tests/compiler/const-folding.untouched.wat b/tests/compiler/const-folding.untouched.wat index 7c4b547684..96f9e865cf 100644 --- a/tests/compiler/const-folding.untouched.wat +++ b/tests/compiler/const-folding.untouched.wat @@ -1,13 +1,34 @@ (module + (type $none_=>_none (func)) (type $i64_=>_i64 (func (param i64) (result i64))) + (global $const-folding/w (mut i32) (i32.const 0)) + (global $const-folding/x (mut i32) (i32.const 0)) (global $~lib/memory/__data_end i32 (i32.const 8)) (global $~lib/memory/__stack_pointer (mut i32) (i32.const 16392)) (global $~lib/memory/__heap_base i32 (i32.const 16392)) (memory $0 0) (table $0 1 funcref) (elem $0 (i32.const 1)) + (export "x" (global $const-folding/x)) (export "test" (func $const-folding/test)) (export "memory" (memory $0)) + (start $~start) + (func $start:const-folding + i32.const 42 + i32.const 1 + i32.shr_s + global.set $const-folding/w + global.get $const-folding/w + i32.const 252 + i32.and + global.get $const-folding/w + i32.const 1 + i32.shr_s + i32.or + global.set $const-folding/w + global.get $const-folding/w + global.set $const-folding/x + ) (func $const-folding/test (param $0 i64) (result i64) (local $1 i64) (local $2 i64) @@ -45,4 +66,7 @@ local.get $4 i64.add ) + (func $~start + call $start:const-folding + ) ) diff --git a/tests/compiler/constructor.optimized.wat b/tests/compiler/constructor.optimized.wat index b6d916a28a..53f8d7513f 100644 --- a/tests/compiler/constructor.optimized.wat +++ b/tests/compiler/constructor.optimized.wat @@ -672,12 +672,12 @@ (local $0 i32) (local $1 i32) memory.size - local.tee $0 + local.tee $1 i32.const 0 i32.le_s if (result i32) i32.const 1 - local.get $0 + local.get $1 i32.sub memory.grow i32.const 0 @@ -695,11 +695,11 @@ i32.const 0 i32.store loop $for-loop|0 - local.get $1 + local.get $0 i32.const 23 i32.lt_u if - local.get $1 + local.get $0 i32.const 2 i32.shl i32.const 18000 @@ -707,14 +707,14 @@ i32.const 0 i32.store offset=4 i32.const 0 - local.set $0 + local.set $1 loop $for-loop|1 - local.get $0 + local.get $1 i32.const 16 i32.lt_u if - local.get $0 local.get $1 + local.get $0 i32.const 4 i32.shl i32.add @@ -724,17 +724,17 @@ i32.add i32.const 0 i32.store offset=96 - local.get $0 + local.get $1 i32.const 1 i32.add - local.set $0 + local.set $1 br $for-loop|1 end end - local.get $1 + local.get $0 i32.const 1 i32.add - local.set $1 + local.set $0 br $for-loop|0 end end @@ -2073,19 +2073,19 @@ local.get $0 i32.const 20 i32.sub - local.tee $0 + local.tee $1 i32.load offset=4 i32.const 3 i32.and i32.eq if global.get $~lib/rt/itcms/iter - local.get $0 + local.get $1 i32.eq if - local.get $0 + local.get $1 i32.load offset=8 - local.tee $1 + local.tee $0 i32.eqz if i32.const 0 @@ -2095,22 +2095,22 @@ call $~lib/builtins/abort unreachable end - local.get $1 + local.get $0 global.set $~lib/rt/itcms/iter end block $__inlined_func$~lib/rt/itcms/Object#unlink - local.get $0 + local.get $1 i32.load offset=4 i32.const -4 i32.and - local.tee $1 + local.tee $0 i32.eqz if i32.const 0 - local.get $0 + local.get $1 i32.const 17988 i32.lt_u - local.get $0 + local.get $1 i32.load offset=8 select i32.eqz @@ -2124,7 +2124,7 @@ end br $__inlined_func$~lib/rt/itcms/Object#unlink end - local.get $0 + local.get $1 i32.load offset=8 local.tee $2 i32.eqz @@ -2136,7 +2136,7 @@ call $~lib/builtins/abort unreachable end - local.get $1 + local.get $0 local.get $2 i32.store offset=8 local.get $2 @@ -2144,15 +2144,15 @@ i32.load offset=4 i32.const 3 i32.and - local.get $1 + local.get $0 i32.or i32.store offset=4 end global.get $~lib/rt/itcms/toSpace local.set $2 - local.get $0 + local.get $1 i32.load offset=12 - local.tee $1 + local.tee $0 i32.const 1 i32.le_u if (result i32) @@ -2160,7 +2160,7 @@ else i32.const 1488 i32.load - local.get $1 + local.get $0 i32.lt_u if i32.const 1248 @@ -2170,7 +2170,7 @@ call $~lib/builtins/abort unreachable end - local.get $1 + local.get $0 i32.const 3 i32.shl i32.const 1492 @@ -2188,25 +2188,25 @@ local.set $3 local.get $2 i32.load offset=8 - local.set $1 - local.get $0 + local.set $0 + local.get $1 local.get $2 local.get $3 i32.or i32.store offset=4 - local.get $0 local.get $1 + local.get $0 i32.store offset=8 - local.get $1 - local.get $1 + local.get $0 + local.get $0 i32.load offset=4 i32.const 3 i32.and - local.get $0 + local.get $1 i32.or i32.store offset=4 local.get $2 - local.get $0 + local.get $1 i32.store offset=8 global.get $~lib/rt/itcms/visitCount i32.const 1 diff --git a/tests/compiler/do.optimized.wat b/tests/compiler/do.optimized.wat index a8059a0de2..85ff5e74b6 100644 --- a/tests/compiler/do.optimized.wat +++ b/tests/compiler/do.optimized.wat @@ -595,12 +595,12 @@ (local $0 i32) (local $1 i32) memory.size - local.tee $0 + local.tee $1 i32.const 0 i32.le_s if (result i32) i32.const 1 - local.get $0 + local.get $1 i32.sub memory.grow i32.const 0 @@ -618,11 +618,11 @@ i32.const 0 i32.store loop $for-loop|0 - local.get $1 + local.get $0 i32.const 23 i32.lt_u if - local.get $1 + local.get $0 i32.const 2 i32.shl i32.const 17904 @@ -630,14 +630,14 @@ i32.const 0 i32.store offset=4 i32.const 0 - local.set $0 + local.set $1 loop $for-loop|1 - local.get $0 + local.get $1 i32.const 16 i32.lt_u if - local.get $0 local.get $1 + local.get $0 i32.const 4 i32.shl i32.add @@ -647,17 +647,17 @@ i32.add i32.const 0 i32.store offset=96 - local.get $0 + local.get $1 i32.const 1 i32.add - local.set $0 + local.set $1 br $for-loop|1 end end - local.get $1 + local.get $0 i32.const 1 i32.add - local.set $1 + local.set $0 br $for-loop|0 end end @@ -996,14 +996,6 @@ (local $0 i32) (local $1 i32) (local $2 i32) - (local $3 i32) - (local $4 i32) - (local $5 i32) - (local $6 i32) - (local $7 i32) - (local $8 i32) - (local $9 i32) - (local $10 i32) i32.const 10 local.set $0 loop $do-loop|0 @@ -1061,20 +1053,22 @@ end i32.const 10 local.set $0 + i32.const 0 + local.set $1 loop $do-loop|03 local.get $0 i32.const 1 i32.sub local.set $0 - local.get $6 + local.get $2 i32.const 1 i32.add - local.set $6 + local.set $2 loop $do-loop|1 - local.get $10 + local.get $1 i32.const 1 i32.add - local.set $10 + local.set $1 local.get $0 i32.const 1 i32.sub @@ -1090,7 +1084,7 @@ call $~lib/builtins/abort unreachable end - local.get $10 + local.get $1 i32.const 9 i32.ne if @@ -1113,7 +1107,7 @@ call $~lib/builtins/abort unreachable end - local.get $6 + local.get $2 i32.const 1 i32.ne if @@ -1124,7 +1118,7 @@ call $~lib/builtins/abort unreachable end - local.get $10 + local.get $1 i32.const 9 i32.ne if @@ -1135,16 +1129,18 @@ call $~lib/builtins/abort unreachable end + i32.const 0 + local.set $0 loop $do-loop|05 - local.get $5 + local.get $0 i32.const 1 i32.add - local.tee $5 + local.tee $0 i32.const 10 i32.ne br_if $do-loop|05 end - local.get $5 + local.get $0 i32.const 10 i32.ne if @@ -1155,16 +1151,18 @@ call $~lib/builtins/abort unreachable end + i32.const 0 + local.set $0 loop $do-loop|07 - local.get $4 + local.get $0 i32.const 1 i32.add - local.tee $4 + local.tee $0 i32.const 10 i32.ne br_if $do-loop|07 end - local.get $4 + local.get $0 i32.const 10 i32.ne if @@ -1175,19 +1173,21 @@ call $~lib/builtins/abort unreachable end + i32.const 0 + local.set $0 loop $do-loop|015 - local.get $9 + local.get $0 i32.const 1 i32.add - local.tee $9 + local.tee $0 i32.const 10 i32.ne i32.const 0 - local.get $9 + local.get $0 select br_if $do-loop|015 end - local.get $9 + local.get $0 i32.const 10 i32.ne if @@ -1198,31 +1198,35 @@ call $~lib/builtins/abort unreachable end + i32.const 0 + local.set $0 + i32.const 0 + local.set $1 loop $do-loop|017 - local.get $8 + local.get $0 i32.const 1 i32.add - local.tee $8 + local.tee $0 i32.const 10 i32.ne if loop $do-loop|120 - local.get $7 + local.get $1 i32.const 1 i32.add - local.tee $7 + local.tee $1 i32.const 10 i32.rem_s i32.const 0 - local.get $7 + local.get $1 select br_if $do-loop|120 end - local.get $8 + local.get $0 br_if $do-loop|017 end end - local.get $8 + local.get $0 i32.const 10 i32.ne if @@ -1233,7 +1237,7 @@ call $~lib/builtins/abort unreachable end - local.get $7 + local.get $1 i32.const 90 i32.ne if @@ -1289,14 +1293,16 @@ local.tee $0 i32.const 0 i32.store + i32.const 0 + local.set $1 local.get $0 call $do/Ref#constructor i32.store loop $do-loop|08 - local.get $3 + local.get $1 i32.const 1 i32.add - local.tee $3 + local.tee $1 i32.const 10 i32.eq if @@ -1311,7 +1317,7 @@ local.get $0 br_if $do-loop|08 end - local.get $3 + local.get $1 i32.const 10 i32.ne if @@ -1344,31 +1350,33 @@ i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer - local.tee $0 + local.tee $1 i32.const 0 i32.store - local.get $0 + i32.const 0 + local.set $0 + local.get $1 call $do/Ref#constructor - local.tee $0 + local.tee $1 i32.store loop $do-loop|012 block $do-break|011 - local.get $2 + local.get $0 i32.const 1 i32.add - local.tee $2 + local.tee $0 i32.const 10 i32.eq if i32.const 0 - local.set $0 + local.set $1 br $do-break|011 end call $do/Ref#constructor br_if $do-loop|012 end end - local.get $2 + local.get $0 i32.const 10 i32.ne if @@ -1379,7 +1387,7 @@ call $~lib/builtins/abort unreachable end - local.get $0 + local.get $1 if i32.const 0 i32.const 1056 @@ -1730,19 +1738,19 @@ local.get $0 i32.const 20 i32.sub - local.tee $0 + local.tee $1 i32.load offset=4 i32.const 3 i32.and i32.eq if global.get $~lib/rt/itcms/iter - local.get $0 + local.get $1 i32.eq if - local.get $0 + local.get $1 i32.load offset=8 - local.tee $1 + local.tee $0 i32.eqz if i32.const 0 @@ -1752,22 +1760,22 @@ call $~lib/builtins/abort unreachable end - local.get $1 + local.get $0 global.set $~lib/rt/itcms/iter end block $__inlined_func$~lib/rt/itcms/Object#unlink - local.get $0 + local.get $1 i32.load offset=4 i32.const -4 i32.and - local.tee $1 + local.tee $0 i32.eqz if i32.const 0 - local.get $0 + local.get $1 i32.const 17892 i32.lt_u - local.get $0 + local.get $1 i32.load offset=8 select i32.eqz @@ -1781,7 +1789,7 @@ end br $__inlined_func$~lib/rt/itcms/Object#unlink end - local.get $0 + local.get $1 i32.load offset=8 local.tee $2 i32.eqz @@ -1793,7 +1801,7 @@ call $~lib/builtins/abort unreachable end - local.get $1 + local.get $0 local.get $2 i32.store offset=8 local.get $2 @@ -1801,15 +1809,15 @@ i32.load offset=4 i32.const 3 i32.and - local.get $1 + local.get $0 i32.or i32.store offset=4 end global.get $~lib/rt/itcms/toSpace local.set $2 - local.get $0 + local.get $1 i32.load offset=12 - local.tee $1 + local.tee $0 i32.const 1 i32.le_u if (result i32) @@ -1817,7 +1825,7 @@ else i32.const 1472 i32.load - local.get $1 + local.get $0 i32.lt_u if i32.const 1280 @@ -1827,7 +1835,7 @@ call $~lib/builtins/abort unreachable end - local.get $1 + local.get $0 i32.const 3 i32.shl i32.const 1476 @@ -1845,25 +1853,25 @@ local.set $3 local.get $2 i32.load offset=8 - local.set $1 - local.get $0 + local.set $0 + local.get $1 local.get $2 local.get $3 i32.or i32.store offset=4 - local.get $0 local.get $1 + local.get $0 i32.store offset=8 - local.get $1 - local.get $1 + local.get $0 + local.get $0 i32.load offset=4 i32.const 3 i32.and - local.get $0 + local.get $1 i32.or i32.store offset=4 local.get $2 - local.get $0 + local.get $1 i32.store offset=8 global.get $~lib/rt/itcms/visitCount i32.const 1 diff --git a/tests/compiler/duplicate-field-errors.json b/tests/compiler/duplicate-field-errors.json new file mode 100644 index 0000000000..b32e0e0cc0 --- /dev/null +++ b/tests/compiler/duplicate-field-errors.json @@ -0,0 +1,13 @@ +{ + "asc_flags": [ + ], + "stderr": [ + "TS2442: Types have separate declarations of a private property 'privPriv'.", + "TS2325: Property 'privProt' is private in type 'duplicate-field-errors/A' but not in type 'duplicate-field-errors/B'.", + "TS2325: Property 'privPub' is private in type 'duplicate-field-errors/A' but not in type 'duplicate-field-errors/B'.", + "TS2325: Property 'protPriv' is private in type 'duplicate-field-errors/B' but not in type 'duplicate-field-errors/A'.", + "TS2325: Property 'pubPriv' is private in type 'duplicate-field-errors/B' but not in type 'duplicate-field-errors/A'.", + "TS2444: Property 'pubProt' is protected in type 'duplicate-field-errors/B' but public in type 'duplicate-field-errors/A'.", + "TS2300: Duplicate identifier 'method'." + ] +} diff --git a/tests/compiler/duplicate-field-errors.ts b/tests/compiler/duplicate-field-errors.ts new file mode 100644 index 0000000000..b68e6f323a --- /dev/null +++ b/tests/compiler/duplicate-field-errors.ts @@ -0,0 +1,38 @@ +class A { + private privPriv: i32; + private privProt: i32; + private privPub: i32; + + // -- + + protected protPriv: i32; + public pubPriv: i32; + + // -- + + public pubProt: i32; + + // -- + + method(): void {} +} + +export class B extends A { + private privPriv: i32; + protected privProt: i32; + public privPub: i32; + + // -- + + private protPriv: i32; + private pubPriv: i32; + + // -- + + protected pubProt: i32; + + // -- + + public method: i32; +} + diff --git a/tests/compiler/duplicate-fields.json b/tests/compiler/duplicate-fields.json new file mode 100644 index 0000000000..1bdd02b1be --- /dev/null +++ b/tests/compiler/duplicate-fields.json @@ -0,0 +1,4 @@ +{ + "asc_flags": [ + ] +} diff --git a/tests/compiler/duplicate-fields.optimized.wat b/tests/compiler/duplicate-fields.optimized.wat new file mode 100644 index 0000000000..8b63f0ade2 --- /dev/null +++ b/tests/compiler/duplicate-fields.optimized.wat @@ -0,0 +1,2388 @@ +(module + (type $i32_i32_=>_none (func (param i32 i32))) + (type $i32_=>_i32 (func (param i32) (result i32))) + (type $none_=>_none (func)) + (type $i32_=>_none (func (param i32))) + (type $i32_i32_=>_i32 (func (param i32 i32) (result i32))) + (type $i32_i32_i32_i32_=>_none (func (param i32 i32 i32 i32))) + (type $i32_i32_i32_=>_none (func (param i32 i32 i32))) + (type $none_=>_i32 (func (result i32))) + (import "env" "abort" (func $~lib/builtins/abort (param i32 i32 i32 i32))) + (global $~lib/rt/itcms/total (mut i32) (i32.const 0)) + (global $~lib/rt/itcms/threshold (mut i32) (i32.const 0)) + (global $~lib/rt/itcms/state (mut i32) (i32.const 0)) + (global $~lib/rt/itcms/visitCount (mut i32) (i32.const 0)) + (global $~lib/rt/itcms/pinSpace (mut i32) (i32.const 0)) + (global $~lib/rt/itcms/iter (mut i32) (i32.const 0)) + (global $~lib/rt/itcms/toSpace (mut i32) (i32.const 0)) + (global $~lib/rt/itcms/white (mut i32) (i32.const 0)) + (global $~lib/rt/itcms/fromSpace (mut i32) (i32.const 0)) + (global $~lib/rt/tlsf/ROOT (mut i32) (i32.const 0)) + (global $duplicate-fields/foo (mut i32) (i32.const 0)) + (global $duplicate-fields/raz (mut i32) (i32.const 0)) + (global $duplicate-fields/B3 i32 (i32.const 9)) + (global $~lib/memory/__stack_pointer (mut i32) (i32.const 17980)) + (memory $0 1) + (data (i32.const 1036) "<") + (data (i32.const 1048) "\01\00\00\00(\00\00\00A\00l\00l\00o\00c\00a\00t\00i\00o\00n\00 \00t\00o\00o\00 \00l\00a\00r\00g\00e") + (data (i32.const 1100) "<") + (data (i32.const 1112) "\01\00\00\00 \00\00\00~\00l\00i\00b\00/\00r\00t\00/\00i\00t\00c\00m\00s\00.\00t\00s") + (data (i32.const 1228) "<") + (data (i32.const 1240) "\01\00\00\00$\00\00\00I\00n\00d\00e\00x\00 \00o\00u\00t\00 \00o\00f\00 \00r\00a\00n\00g\00e") + (data (i32.const 1292) ",") + (data (i32.const 1304) "\01\00\00\00\14\00\00\00~\00l\00i\00b\00/\00r\00t\00.\00t\00s") + (data (i32.const 1372) "<") + (data (i32.const 1384) "\01\00\00\00\1e\00\00\00~\00l\00i\00b\00/\00r\00t\00/\00t\00l\00s\00f\00.\00t\00s") + (data (i32.const 1436) "<") + (data (i32.const 1448) "\01\00\00\00&\00\00\00d\00u\00p\00l\00i\00c\00a\00t\00e\00-\00f\00i\00e\00l\00d\00s\00.\00t\00s") + (data (i32.const 1504) "\0b\00\00\00 \00\00\00\00\00\00\00 ") + (data (i32.const 1532) " \00\00\00\00\00\00\00 \00\00\00\03") + (data (i32.const 1556) " ") + (data (i32.const 1568) "\05\00\00\00 \00\00\00\06\00\00\00 \00\00\00\n\00\00\00 ") + (export "B3" (global $duplicate-fields/B3)) + (export "memory" (memory $0)) + (export "B3#get:protProt" (func $export:duplicate-fields/B3#get:protProt)) + (export "B3#set:protProt" (func $export:duplicate-fields/B3#set:protProt)) + (export "B3#get:protPub" (func $export:duplicate-fields/B3#get:protPub)) + (export "B3#set:protPub" (func $export:duplicate-fields/B3#set:protPub)) + (export "B3#get:pubPub" (func $export:duplicate-fields/B3#get:pubPub)) + (export "B3#set:pubPub" (func $export:duplicate-fields/B3#set:pubPub)) + (export "B3#constructor" (func $export:duplicate-fields/B3#constructor)) + (start $~start) + (func $~lib/rt/itcms/visitRoots + (local $0 i32) + (local $1 i32) + global.get $duplicate-fields/foo + local.tee $0 + if + local.get $0 + call $byn-split-outlined-A$~lib/rt/itcms/__visit + end + global.get $duplicate-fields/raz + local.tee $0 + if + local.get $0 + call $byn-split-outlined-A$~lib/rt/itcms/__visit + end + i32.const 1248 + call $byn-split-outlined-A$~lib/rt/itcms/__visit + i32.const 1056 + call $byn-split-outlined-A$~lib/rt/itcms/__visit + global.get $~lib/rt/itcms/pinSpace + local.tee $1 + i32.load offset=4 + i32.const -4 + i32.and + local.set $0 + loop $while-continue|0 + local.get $0 + local.get $1 + i32.ne + if + local.get $0 + i32.load offset=4 + i32.const 3 + i32.and + i32.const 3 + i32.ne + if + i32.const 0 + i32.const 1120 + i32.const 159 + i32.const 16 + call $~lib/builtins/abort + unreachable + end + local.get $0 + i32.const 20 + i32.add + call $~lib/rt/__visit_members + local.get $0 + i32.load offset=4 + i32.const -4 + i32.and + local.set $0 + br $while-continue|0 + end + end + ) + (func $~lib/rt/itcms/Object#makeGray (param $0 i32) + (local $1 i32) + (local $2 i32) + (local $3 i32) + global.get $~lib/rt/itcms/iter + local.get $0 + i32.eq + if + local.get $0 + i32.load offset=8 + local.tee $1 + i32.eqz + if + i32.const 0 + i32.const 1120 + i32.const 147 + i32.const 30 + call $~lib/builtins/abort + unreachable + end + local.get $1 + global.set $~lib/rt/itcms/iter + end + block $__inlined_func$~lib/rt/itcms/Object#unlink + local.get $0 + i32.load offset=4 + i32.const -4 + i32.and + local.tee $1 + i32.eqz + if + i32.const 0 + local.get $0 + i32.const 17980 + i32.lt_u + local.get $0 + i32.load offset=8 + select + i32.eqz + if + i32.const 0 + i32.const 1120 + i32.const 127 + i32.const 18 + call $~lib/builtins/abort + unreachable + end + br $__inlined_func$~lib/rt/itcms/Object#unlink + end + local.get $0 + i32.load offset=8 + local.tee $2 + i32.eqz + if + i32.const 0 + i32.const 1120 + i32.const 131 + i32.const 16 + call $~lib/builtins/abort + unreachable + end + local.get $1 + local.get $2 + i32.store offset=8 + local.get $2 + local.get $2 + i32.load offset=4 + i32.const 3 + i32.and + local.get $1 + i32.or + i32.store offset=4 + end + global.get $~lib/rt/itcms/toSpace + local.set $2 + local.get $0 + i32.load offset=12 + local.tee $1 + i32.const 1 + i32.le_u + if (result i32) + i32.const 1 + else + i32.const 1504 + i32.load + local.get $1 + i32.lt_u + if + i32.const 1248 + i32.const 1312 + i32.const 22 + i32.const 28 + call $~lib/builtins/abort + unreachable + end + local.get $1 + i32.const 3 + i32.shl + i32.const 1508 + i32.add + i32.load + i32.const 32 + i32.and + end + local.set $3 + local.get $2 + i32.load offset=8 + local.set $1 + local.get $0 + local.get $2 + global.get $~lib/rt/itcms/white + i32.eqz + i32.const 2 + local.get $3 + select + i32.or + i32.store offset=4 + local.get $0 + local.get $1 + i32.store offset=8 + local.get $1 + local.get $1 + i32.load offset=4 + i32.const 3 + i32.and + local.get $0 + i32.or + i32.store offset=4 + local.get $2 + local.get $0 + i32.store offset=8 + ) + (func $~lib/rt/tlsf/removeBlock (param $0 i32) (param $1 i32) + (local $2 i32) + (local $3 i32) + (local $4 i32) + (local $5 i32) + local.get $1 + i32.load + local.tee $2 + i32.const 1 + i32.and + i32.eqz + if + i32.const 0 + i32.const 1392 + i32.const 268 + i32.const 14 + call $~lib/builtins/abort + unreachable + end + local.get $2 + i32.const -4 + i32.and + local.tee $2 + i32.const 12 + i32.lt_u + if + i32.const 0 + i32.const 1392 + i32.const 270 + i32.const 14 + call $~lib/builtins/abort + unreachable + end + local.get $2 + i32.const 256 + i32.lt_u + if (result i32) + local.get $2 + i32.const 4 + i32.shr_u + else + i32.const 31 + local.get $2 + i32.const 1073741820 + local.get $2 + i32.const 1073741820 + i32.lt_u + select + local.tee $2 + i32.clz + i32.sub + local.tee $4 + i32.const 7 + i32.sub + local.set $3 + local.get $2 + local.get $4 + i32.const 4 + i32.sub + i32.shr_u + i32.const 16 + i32.xor + end + local.tee $2 + i32.const 16 + i32.lt_u + local.get $3 + i32.const 23 + i32.lt_u + i32.and + i32.eqz + if + i32.const 0 + i32.const 1392 + i32.const 284 + i32.const 14 + call $~lib/builtins/abort + unreachable + end + local.get $1 + i32.load offset=8 + local.set $5 + local.get $1 + i32.load offset=4 + local.tee $4 + if + local.get $4 + local.get $5 + i32.store offset=8 + end + local.get $5 + if + local.get $5 + local.get $4 + i32.store offset=4 + end + local.get $2 + local.get $3 + i32.const 4 + i32.shl + i32.add + i32.const 2 + i32.shl + local.get $0 + i32.add + i32.load offset=96 + local.get $1 + i32.eq + if + local.get $2 + local.get $3 + i32.const 4 + i32.shl + i32.add + i32.const 2 + i32.shl + local.get $0 + i32.add + local.get $5 + i32.store offset=96 + local.get $5 + i32.eqz + if + local.get $3 + i32.const 2 + i32.shl + local.get $0 + i32.add + local.tee $1 + i32.load offset=4 + i32.const -2 + local.get $2 + i32.rotl + i32.and + local.set $2 + local.get $1 + local.get $2 + i32.store offset=4 + local.get $2 + i32.eqz + if + local.get $0 + local.get $0 + i32.load + i32.const -2 + local.get $3 + i32.rotl + i32.and + i32.store + end + end + end + ) + (func $~lib/rt/tlsf/insertBlock (param $0 i32) (param $1 i32) + (local $2 i32) + (local $3 i32) + (local $4 i32) + (local $5 i32) + (local $6 i32) + local.get $1 + i32.eqz + if + i32.const 0 + i32.const 1392 + i32.const 201 + i32.const 14 + call $~lib/builtins/abort + unreachable + end + local.get $1 + i32.load + local.tee $3 + i32.const 1 + i32.and + i32.eqz + if + i32.const 0 + i32.const 1392 + i32.const 203 + i32.const 14 + call $~lib/builtins/abort + unreachable + end + local.get $1 + i32.const 4 + i32.add + local.get $1 + i32.load + i32.const -4 + i32.and + i32.add + local.tee $4 + i32.load + local.tee $2 + i32.const 1 + i32.and + if + local.get $0 + local.get $4 + call $~lib/rt/tlsf/removeBlock + local.get $1 + local.get $3 + i32.const 4 + i32.add + local.get $2 + i32.const -4 + i32.and + i32.add + local.tee $3 + i32.store + local.get $1 + i32.const 4 + i32.add + local.get $1 + i32.load + i32.const -4 + i32.and + i32.add + local.tee $4 + i32.load + local.set $2 + end + local.get $3 + i32.const 2 + i32.and + if + local.get $1 + i32.const 4 + i32.sub + i32.load + local.tee $1 + i32.load + local.tee $6 + i32.const 1 + i32.and + i32.eqz + if + i32.const 0 + i32.const 1392 + i32.const 221 + i32.const 16 + call $~lib/builtins/abort + unreachable + end + local.get $0 + local.get $1 + call $~lib/rt/tlsf/removeBlock + local.get $1 + local.get $6 + i32.const 4 + i32.add + local.get $3 + i32.const -4 + i32.and + i32.add + local.tee $3 + i32.store + end + local.get $4 + local.get $2 + i32.const 2 + i32.or + i32.store + local.get $3 + i32.const -4 + i32.and + local.tee $2 + i32.const 12 + i32.lt_u + if + i32.const 0 + i32.const 1392 + i32.const 233 + i32.const 14 + call $~lib/builtins/abort + unreachable + end + local.get $2 + local.get $1 + i32.const 4 + i32.add + i32.add + local.get $4 + i32.ne + if + i32.const 0 + i32.const 1392 + i32.const 234 + i32.const 14 + call $~lib/builtins/abort + unreachable + end + local.get $4 + i32.const 4 + i32.sub + local.get $1 + i32.store + local.get $2 + i32.const 256 + i32.lt_u + if (result i32) + local.get $2 + i32.const 4 + i32.shr_u + else + i32.const 31 + local.get $2 + i32.const 1073741820 + local.get $2 + i32.const 1073741820 + i32.lt_u + select + local.tee $2 + i32.clz + i32.sub + local.tee $3 + i32.const 7 + i32.sub + local.set $5 + local.get $2 + local.get $3 + i32.const 4 + i32.sub + i32.shr_u + i32.const 16 + i32.xor + end + local.tee $2 + i32.const 16 + i32.lt_u + local.get $5 + i32.const 23 + i32.lt_u + i32.and + i32.eqz + if + i32.const 0 + i32.const 1392 + i32.const 251 + i32.const 14 + call $~lib/builtins/abort + unreachable + end + local.get $2 + local.get $5 + i32.const 4 + i32.shl + i32.add + i32.const 2 + i32.shl + local.get $0 + i32.add + i32.load offset=96 + local.set $3 + local.get $1 + i32.const 0 + i32.store offset=4 + local.get $1 + local.get $3 + i32.store offset=8 + local.get $3 + if + local.get $3 + local.get $1 + i32.store offset=4 + end + local.get $2 + local.get $5 + i32.const 4 + i32.shl + i32.add + i32.const 2 + i32.shl + local.get $0 + i32.add + local.get $1 + i32.store offset=96 + local.get $0 + local.get $0 + i32.load + i32.const 1 + local.get $5 + i32.shl + i32.or + i32.store + local.get $5 + i32.const 2 + i32.shl + local.get $0 + i32.add + local.tee $0 + local.get $0 + i32.load offset=4 + i32.const 1 + local.get $2 + i32.shl + i32.or + i32.store offset=4 + ) + (func $~lib/rt/tlsf/addMemory (param $0 i32) (param $1 i32) (param $2 i32) + (local $3 i32) + (local $4 i32) + local.get $1 + local.get $2 + i32.gt_u + if + i32.const 0 + i32.const 1392 + i32.const 377 + i32.const 14 + call $~lib/builtins/abort + unreachable + end + local.get $1 + i32.const 19 + i32.add + i32.const -16 + i32.and + i32.const 4 + i32.sub + local.set $1 + local.get $0 + i32.load offset=1568 + local.tee $4 + if + local.get $1 + local.get $4 + i32.const 4 + i32.add + i32.lt_u + if + i32.const 0 + i32.const 1392 + i32.const 384 + i32.const 16 + call $~lib/builtins/abort + unreachable + end + local.get $4 + local.get $1 + i32.const 16 + i32.sub + i32.eq + if + local.get $4 + i32.load + local.set $3 + local.get $1 + i32.const 16 + i32.sub + local.set $1 + end + else + local.get $1 + local.get $0 + i32.const 1572 + i32.add + i32.lt_u + if + i32.const 0 + i32.const 1392 + i32.const 397 + i32.const 5 + call $~lib/builtins/abort + unreachable + end + end + local.get $2 + i32.const -16 + i32.and + local.get $1 + i32.sub + local.tee $2 + i32.const 20 + i32.lt_u + if + return + end + local.get $1 + local.get $3 + i32.const 2 + i32.and + local.get $2 + i32.const 8 + i32.sub + local.tee $2 + i32.const 1 + i32.or + i32.or + i32.store + local.get $1 + i32.const 0 + i32.store offset=4 + local.get $1 + i32.const 0 + i32.store offset=8 + local.get $2 + local.get $1 + i32.const 4 + i32.add + i32.add + local.tee $2 + i32.const 2 + i32.store + local.get $0 + local.get $2 + i32.store offset=1568 + local.get $0 + local.get $1 + call $~lib/rt/tlsf/insertBlock + ) + (func $~lib/rt/tlsf/initialize + (local $0 i32) + (local $1 i32) + memory.size + local.tee $1 + i32.const 0 + i32.le_s + if (result i32) + i32.const 1 + local.get $1 + i32.sub + memory.grow + i32.const 0 + i32.lt_s + else + i32.const 0 + end + if + unreachable + end + i32.const 17984 + i32.const 0 + i32.store + i32.const 19552 + i32.const 0 + i32.store + loop $for-loop|0 + local.get $0 + i32.const 23 + i32.lt_u + if + local.get $0 + i32.const 2 + i32.shl + i32.const 17984 + i32.add + i32.const 0 + i32.store offset=4 + i32.const 0 + local.set $1 + loop $for-loop|1 + local.get $1 + i32.const 16 + i32.lt_u + if + local.get $1 + local.get $0 + i32.const 4 + i32.shl + i32.add + i32.const 2 + i32.shl + i32.const 17984 + i32.add + i32.const 0 + i32.store offset=96 + local.get $1 + i32.const 1 + i32.add + local.set $1 + br $for-loop|1 + end + end + local.get $0 + i32.const 1 + i32.add + local.set $0 + br $for-loop|0 + end + end + i32.const 17984 + i32.const 19556 + memory.size + i32.const 16 + i32.shl + call $~lib/rt/tlsf/addMemory + i32.const 17984 + global.set $~lib/rt/tlsf/ROOT + ) + (func $~lib/rt/itcms/step (result i32) + (local $0 i32) + (local $1 i32) + (local $2 i32) + block $break|0 + block $case2|0 + block $case1|0 + block $case0|0 + global.get $~lib/rt/itcms/state + br_table $case0|0 $case1|0 $case2|0 $break|0 + end + i32.const 1 + global.set $~lib/rt/itcms/state + i32.const 0 + global.set $~lib/rt/itcms/visitCount + call $~lib/rt/itcms/visitRoots + global.get $~lib/rt/itcms/toSpace + global.set $~lib/rt/itcms/iter + global.get $~lib/rt/itcms/visitCount + return + end + global.get $~lib/rt/itcms/white + i32.eqz + local.set $1 + global.get $~lib/rt/itcms/iter + i32.load offset=4 + i32.const -4 + i32.and + local.set $0 + loop $while-continue|1 + global.get $~lib/rt/itcms/toSpace + local.get $0 + i32.ne + if + local.get $0 + global.set $~lib/rt/itcms/iter + local.get $0 + i32.load offset=4 + i32.const 3 + i32.and + local.get $1 + i32.ne + if + local.get $0 + local.get $1 + local.get $0 + i32.load offset=4 + i32.const -4 + i32.and + i32.or + i32.store offset=4 + i32.const 0 + global.set $~lib/rt/itcms/visitCount + local.get $0 + i32.const 20 + i32.add + call $~lib/rt/__visit_members + global.get $~lib/rt/itcms/visitCount + return + end + local.get $0 + i32.load offset=4 + i32.const -4 + i32.and + local.set $0 + br $while-continue|1 + end + end + i32.const 0 + global.set $~lib/rt/itcms/visitCount + call $~lib/rt/itcms/visitRoots + global.get $~lib/rt/itcms/toSpace + global.get $~lib/rt/itcms/iter + i32.load offset=4 + i32.const -4 + i32.and + i32.eq + if + global.get $~lib/memory/__stack_pointer + local.set $0 + loop $while-continue|0 + local.get $0 + i32.const 17980 + i32.lt_u + if + local.get $0 + i32.load + local.tee $2 + if + local.get $2 + call $byn-split-outlined-A$~lib/rt/itcms/__visit + end + local.get $0 + i32.const 4 + i32.add + local.set $0 + br $while-continue|0 + end + end + global.get $~lib/rt/itcms/iter + i32.load offset=4 + i32.const -4 + i32.and + local.set $0 + loop $while-continue|2 + global.get $~lib/rt/itcms/toSpace + local.get $0 + i32.ne + if + local.get $0 + i32.load offset=4 + i32.const 3 + i32.and + local.get $1 + i32.ne + if + local.get $0 + local.get $1 + local.get $0 + i32.load offset=4 + i32.const -4 + i32.and + i32.or + i32.store offset=4 + local.get $0 + i32.const 20 + i32.add + call $~lib/rt/__visit_members + end + local.get $0 + i32.load offset=4 + i32.const -4 + i32.and + local.set $0 + br $while-continue|2 + end + end + global.get $~lib/rt/itcms/fromSpace + local.set $0 + global.get $~lib/rt/itcms/toSpace + global.set $~lib/rt/itcms/fromSpace + local.get $0 + global.set $~lib/rt/itcms/toSpace + local.get $1 + global.set $~lib/rt/itcms/white + local.get $0 + i32.load offset=4 + i32.const -4 + i32.and + global.set $~lib/rt/itcms/iter + i32.const 2 + global.set $~lib/rt/itcms/state + end + global.get $~lib/rt/itcms/visitCount + return + end + global.get $~lib/rt/itcms/iter + local.tee $0 + global.get $~lib/rt/itcms/toSpace + i32.ne + if + local.get $0 + i32.load offset=4 + local.tee $1 + i32.const -4 + i32.and + global.set $~lib/rt/itcms/iter + global.get $~lib/rt/itcms/white + i32.eqz + local.get $1 + i32.const 3 + i32.and + i32.ne + if + i32.const 0 + i32.const 1120 + i32.const 228 + i32.const 20 + call $~lib/builtins/abort + unreachable + end + local.get $0 + i32.const 17980 + i32.lt_u + if + local.get $0 + i32.const 0 + i32.store offset=4 + local.get $0 + i32.const 0 + i32.store offset=8 + else + global.get $~lib/rt/itcms/total + local.get $0 + i32.load + i32.const -4 + i32.and + i32.const 4 + i32.add + i32.sub + global.set $~lib/rt/itcms/total + local.get $0 + i32.const 4 + i32.add + local.tee $0 + i32.const 17980 + i32.ge_u + if + global.get $~lib/rt/tlsf/ROOT + i32.eqz + if + call $~lib/rt/tlsf/initialize + end + global.get $~lib/rt/tlsf/ROOT + local.get $0 + i32.const 4 + i32.sub + local.set $2 + local.get $0 + i32.const 15 + i32.and + i32.const 1 + local.get $0 + select + if (result i32) + i32.const 1 + else + local.get $2 + i32.load + i32.const 1 + i32.and + end + if + i32.const 0 + i32.const 1392 + i32.const 559 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $2 + local.get $2 + i32.load + i32.const 1 + i32.or + i32.store + local.get $2 + call $~lib/rt/tlsf/insertBlock + end + end + i32.const 10 + return + end + global.get $~lib/rt/itcms/toSpace + local.tee $0 + local.get $0 + i32.store offset=4 + local.get $0 + local.get $0 + i32.store offset=8 + i32.const 0 + global.set $~lib/rt/itcms/state + end + i32.const 0 + ) + (func $~lib/rt/tlsf/searchBlock (param $0 i32) (param $1 i32) (result i32) + (local $2 i32) + (local $3 i32) + local.get $1 + i32.const 256 + i32.lt_u + if (result i32) + local.get $1 + i32.const 4 + i32.shr_u + else + i32.const 31 + i32.const 1 + i32.const 27 + local.get $1 + i32.clz + i32.sub + i32.shl + local.get $1 + i32.add + i32.const 1 + i32.sub + local.get $1 + local.get $1 + i32.const 536870910 + i32.lt_u + select + local.tee $1 + i32.clz + i32.sub + local.tee $3 + i32.const 7 + i32.sub + local.set $2 + local.get $1 + local.get $3 + i32.const 4 + i32.sub + i32.shr_u + i32.const 16 + i32.xor + end + local.tee $1 + i32.const 16 + i32.lt_u + local.get $2 + i32.const 23 + i32.lt_u + i32.and + i32.eqz + if + i32.const 0 + i32.const 1392 + i32.const 330 + i32.const 14 + call $~lib/builtins/abort + unreachable + end + local.get $2 + i32.const 2 + i32.shl + local.get $0 + i32.add + i32.load offset=4 + i32.const -1 + local.get $1 + i32.shl + i32.and + local.tee $1 + if (result i32) + local.get $1 + i32.ctz + local.get $2 + i32.const 4 + i32.shl + i32.add + i32.const 2 + i32.shl + local.get $0 + i32.add + i32.load offset=96 + else + local.get $0 + i32.load + i32.const -1 + local.get $2 + i32.const 1 + i32.add + i32.shl + i32.and + local.tee $1 + if (result i32) + 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 + i32.eqz + if + i32.const 0 + i32.const 1392 + i32.const 343 + i32.const 18 + call $~lib/builtins/abort + unreachable + end + local.get $2 + i32.ctz + local.get $1 + i32.const 4 + i32.shl + i32.add + i32.const 2 + i32.shl + local.get $0 + i32.add + i32.load offset=96 + else + i32.const 0 + end + end + ) + (func $~lib/rt/itcms/__new (param $0 i32) (param $1 i32) (result i32) + (local $2 i32) + (local $3 i32) + (local $4 i32) + (local $5 i32) + (local $6 i32) + local.get $0 + i32.const 1073741804 + i32.ge_u + if + i32.const 1056 + i32.const 1120 + i32.const 260 + i32.const 31 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/rt/itcms/total + global.get $~lib/rt/itcms/threshold + i32.ge_u + if + block $__inlined_func$~lib/rt/itcms/interrupt + i32.const 2048 + local.set $2 + loop $do-loop|0 + local.get $2 + call $~lib/rt/itcms/step + i32.sub + local.set $2 + global.get $~lib/rt/itcms/state + i32.eqz + if + global.get $~lib/rt/itcms/total + i64.extend_i32_u + i64.const 200 + i64.mul + i64.const 100 + i64.div_u + i32.wrap_i64 + i32.const 1024 + i32.add + global.set $~lib/rt/itcms/threshold + br $__inlined_func$~lib/rt/itcms/interrupt + end + local.get $2 + i32.const 0 + i32.gt_s + br_if $do-loop|0 + end + global.get $~lib/rt/itcms/total + local.tee $2 + local.get $2 + global.get $~lib/rt/itcms/threshold + i32.sub + i32.const 1024 + i32.lt_u + i32.const 10 + i32.shl + i32.add + global.set $~lib/rt/itcms/threshold + end + end + global.get $~lib/rt/tlsf/ROOT + i32.eqz + if + call $~lib/rt/tlsf/initialize + end + global.get $~lib/rt/tlsf/ROOT + local.set $5 + local.get $0 + i32.const 16 + i32.add + local.tee $2 + i32.const 1073741820 + i32.gt_u + if + i32.const 1056 + i32.const 1392 + i32.const 458 + i32.const 29 + call $~lib/builtins/abort + unreachable + end + local.get $5 + i32.const 12 + local.get $2 + i32.const 19 + i32.add + i32.const -16 + i32.and + i32.const 4 + i32.sub + local.get $2 + i32.const 12 + i32.le_u + select + local.tee $3 + call $~lib/rt/tlsf/searchBlock + local.tee $2 + i32.eqz + if + memory.size + local.tee $2 + i32.const 4 + local.get $5 + i32.load offset=1568 + local.get $2 + i32.const 16 + i32.shl + i32.const 4 + i32.sub + i32.ne + i32.shl + i32.const 1 + i32.const 27 + local.get $3 + i32.clz + i32.sub + i32.shl + i32.const 1 + i32.sub + local.get $3 + i32.add + local.get $3 + local.get $3 + i32.const 536870910 + i32.lt_u + select + i32.add + i32.const 65535 + i32.add + i32.const -65536 + i32.and + i32.const 16 + i32.shr_u + local.tee $4 + local.get $2 + local.get $4 + i32.gt_s + select + memory.grow + i32.const 0 + i32.lt_s + if + local.get $4 + memory.grow + i32.const 0 + i32.lt_s + if + unreachable + end + end + local.get $5 + local.get $2 + i32.const 16 + i32.shl + memory.size + i32.const 16 + i32.shl + call $~lib/rt/tlsf/addMemory + local.get $5 + local.get $3 + call $~lib/rt/tlsf/searchBlock + local.tee $2 + i32.eqz + if + i32.const 0 + i32.const 1392 + i32.const 496 + i32.const 16 + call $~lib/builtins/abort + unreachable + end + end + local.get $2 + i32.load + i32.const -4 + i32.and + local.get $3 + i32.lt_u + if + i32.const 0 + i32.const 1392 + i32.const 498 + i32.const 14 + call $~lib/builtins/abort + unreachable + end + local.get $5 + local.get $2 + call $~lib/rt/tlsf/removeBlock + local.get $2 + i32.load + local.set $6 + local.get $3 + i32.const 4 + i32.add + i32.const 15 + i32.and + if + i32.const 0 + i32.const 1392 + i32.const 357 + i32.const 14 + call $~lib/builtins/abort + unreachable + end + local.get $6 + i32.const -4 + i32.and + local.get $3 + i32.sub + local.tee $4 + i32.const 16 + i32.ge_u + if + local.get $2 + local.get $6 + i32.const 2 + i32.and + local.get $3 + i32.or + i32.store + local.get $3 + local.get $2 + i32.const 4 + i32.add + i32.add + local.tee $3 + local.get $4 + i32.const 4 + i32.sub + i32.const 1 + i32.or + i32.store + local.get $5 + local.get $3 + call $~lib/rt/tlsf/insertBlock + else + local.get $2 + local.get $6 + i32.const -2 + i32.and + i32.store + local.get $2 + i32.const 4 + i32.add + local.get $2 + i32.load + i32.const -4 + i32.and + i32.add + local.tee $3 + local.get $3 + i32.load + i32.const -3 + i32.and + i32.store + end + local.get $2 + local.get $1 + i32.store offset=12 + local.get $2 + local.get $0 + i32.store offset=16 + global.get $~lib/rt/itcms/fromSpace + local.tee $1 + i32.load offset=8 + local.set $3 + local.get $2 + 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 $3 + i32.load offset=4 + i32.const 3 + i32.and + local.get $2 + i32.or + i32.store offset=4 + local.get $1 + local.get $2 + i32.store offset=8 + global.get $~lib/rt/itcms/total + local.get $2 + i32.load + i32.const -4 + i32.and + i32.const 4 + i32.add + i32.add + global.set $~lib/rt/itcms/total + local.get $2 + i32.const 20 + i32.add + local.tee $2 + local.set $1 + block $~lib/util/memory/memset|inlined.0 + local.get $0 + i32.eqz + br_if $~lib/util/memory/memset|inlined.0 + local.get $1 + i32.const 0 + i32.store8 + local.get $0 + local.get $1 + i32.add + local.tee $3 + i32.const 1 + i32.sub + i32.const 0 + i32.store8 + local.get $0 + i32.const 2 + i32.le_u + br_if $~lib/util/memory/memset|inlined.0 + local.get $1 + i32.const 0 + i32.store8 offset=1 + local.get $1 + i32.const 0 + i32.store8 offset=2 + local.get $3 + i32.const 2 + i32.sub + i32.const 0 + i32.store8 + local.get $3 + i32.const 3 + i32.sub + i32.const 0 + i32.store8 + local.get $0 + i32.const 6 + i32.le_u + br_if $~lib/util/memory/memset|inlined.0 + local.get $1 + i32.const 0 + i32.store8 offset=3 + local.get $3 + i32.const 4 + i32.sub + i32.const 0 + i32.store8 + local.get $0 + i32.const 8 + i32.le_u + br_if $~lib/util/memory/memset|inlined.0 + local.get $1 + i32.const 0 + local.get $1 + i32.sub + i32.const 3 + i32.and + local.tee $3 + i32.add + local.tee $1 + i32.const 0 + i32.store + local.get $1 + local.get $0 + local.get $3 + i32.sub + i32.const -4 + i32.and + local.tee $0 + i32.add + local.tee $3 + i32.const 4 + i32.sub + i32.const 0 + i32.store + local.get $0 + i32.const 8 + i32.le_u + br_if $~lib/util/memory/memset|inlined.0 + local.get $1 + i32.const 0 + i32.store offset=4 + local.get $1 + i32.const 0 + i32.store offset=8 + local.get $3 + i32.const 12 + i32.sub + i32.const 0 + i32.store + local.get $3 + i32.const 8 + i32.sub + i32.const 0 + i32.store + local.get $0 + i32.const 24 + i32.le_u + br_if $~lib/util/memory/memset|inlined.0 + local.get $1 + i32.const 0 + i32.store offset=12 + local.get $1 + i32.const 0 + i32.store offset=16 + local.get $1 + i32.const 0 + i32.store offset=20 + local.get $1 + i32.const 0 + i32.store offset=24 + local.get $3 + i32.const 28 + i32.sub + i32.const 0 + i32.store + local.get $3 + i32.const 24 + i32.sub + i32.const 0 + i32.store + local.get $3 + i32.const 20 + i32.sub + i32.const 0 + i32.store + local.get $3 + i32.const 16 + i32.sub + i32.const 0 + i32.store + local.get $1 + local.get $1 + i32.const 4 + i32.and + i32.const 24 + i32.add + local.tee $3 + i32.add + local.set $1 + local.get $0 + local.get $3 + i32.sub + local.set $0 + loop $while-continue|0 + local.get $0 + i32.const 32 + i32.ge_u + if + local.get $1 + i64.const 0 + i64.store + local.get $1 + i64.const 0 + i64.store offset=8 + local.get $1 + i64.const 0 + i64.store offset=16 + local.get $1 + i64.const 0 + i64.store offset=24 + local.get $0 + i32.const 32 + i32.sub + local.set $0 + local.get $1 + i32.const 32 + i32.add + local.set $1 + br $while-continue|0 + end + end + end + local.get $2 + ) + (func $~lib/rt/__visit_members (param $0 i32) + (local $1 i32) + block $folding-inner0 + block $invalid + block $duplicate-fields/A3 + block $duplicate-fields/B3 + block $duplicate-fields/Bar + block $duplicate-fields/B2 + block $duplicate-fields/Foo + block $duplicate-fields/B + block $duplicate-fields/A + block $~lib/string/String + block $~lib/arraybuffer/ArrayBuffer + local.get $0 + i32.const 8 + i32.sub + i32.load + br_table $~lib/arraybuffer/ArrayBuffer $~lib/string/String $folding-inner0 $duplicate-fields/A $duplicate-fields/B $folding-inner0 $duplicate-fields/Foo $duplicate-fields/B2 $duplicate-fields/Bar $duplicate-fields/B3 $duplicate-fields/A3 $invalid + end + return + end + return + end + return + end + return + end + return + end + local.get $0 + i32.load + local.tee $1 + if + local.get $1 + call $byn-split-outlined-A$~lib/rt/itcms/__visit + end + br $folding-inner0 + end + return + end + return + end + return + end + unreachable + end + local.get $0 + i32.load + local.tee $0 + if + local.get $0 + call $byn-split-outlined-A$~lib/rt/itcms/__visit + end + ) + (func $~start + (local $0 i32) + (local $1 i32) + (local $2 i32) + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.sub + global.set $~lib/memory/__stack_pointer + block $folding-inner0 + global.get $~lib/memory/__stack_pointer + i32.const 1596 + i32.lt_s + br_if $folding-inner0 + global.get $~lib/memory/__stack_pointer + local.tee $0 + i32.const 0 + i32.store + memory.size + i32.const 16 + i32.shl + i32.const 17980 + i32.sub + i32.const 1 + i32.shr_u + global.set $~lib/rt/itcms/threshold + i32.const 1172 + i32.const 1168 + i32.store + i32.const 1176 + i32.const 1168 + i32.store + i32.const 1168 + global.set $~lib/rt/itcms/pinSpace + i32.const 1204 + i32.const 1200 + i32.store + i32.const 1208 + i32.const 1200 + i32.store + i32.const 1200 + global.set $~lib/rt/itcms/toSpace + i32.const 1348 + i32.const 1344 + i32.store + i32.const 1352 + i32.const 1344 + i32.store + i32.const 1344 + global.set $~lib/rt/itcms/fromSpace + local.get $0 + i32.const 4 + i32.sub + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 1596 + i32.lt_s + br_if $folding-inner0 + global.get $~lib/memory/__stack_pointer + local.tee $0 + i32.const 0 + i32.store + local.get $0 + i32.const 4 + i32.const 4 + call $~lib/rt/itcms/__new + local.tee $0 + i32.store + local.get $0 + i32.const 0 + i32.store + global.get $~lib/memory/__stack_pointer + local.tee $1 + i32.const 4 + i32.sub + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 1596 + i32.lt_s + br_if $folding-inner0 + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store + local.get $0 + i32.eqz + if + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.const 3 + call $~lib/rt/itcms/__new + local.tee $0 + i32.store + end + local.get $0 + i32.const 0 + i32.store + local.get $0 + i32.const 10 + i32.store + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $1 + local.get $0 + i32.store + local.get $0 + i32.const 10 + i32.store + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $0 + global.set $duplicate-fields/foo + global.get $duplicate-fields/foo + i32.load + i32.const 10 + i32.ne + if + i32.const 0 + i32.const 1456 + i32.const 15 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.sub + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 1596 + i32.lt_s + br_if $folding-inner0 + global.get $~lib/memory/__stack_pointer + local.tee $0 + i32.const 0 + i32.store + local.get $0 + i32.const 8 + i32.const 8 + call $~lib/rt/itcms/__new + local.tee $1 + i32.store + local.get $1 + i32.const 0 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer + local.tee $0 + i32.const 4 + i32.sub + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 1596 + i32.lt_s + br_if $folding-inner0 + 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.const 6 + call $~lib/rt/itcms/__new + local.tee $1 + i32.store + end + local.get $1 + i32.const 0 + i32.store + local.get $1 + i32.const 1 + i32.store + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $0 + local.get $1 + i32.store + local.get $1 + i32.const 2 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.sub + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 1596 + i32.lt_s + br_if $folding-inner0 + global.get $~lib/memory/__stack_pointer + local.tee $0 + i32.const 0 + i32.store + local.get $0 + i32.const 4 + i32.const 7 + call $~lib/rt/itcms/__new + local.tee $0 + i32.store + local.get $0 + i32.const 0 + i32.store + global.get $~lib/memory/__stack_pointer + local.tee $2 + i32.const 4 + i32.sub + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 1596 + i32.lt_s + br_if $folding-inner0 + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store + local.get $0 + i32.eqz + if + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.const 5 + call $~lib/rt/itcms/__new + local.tee $0 + i32.store + end + local.get $0 + i32.const 0 + i32.store + local.get $0 + local.get $1 + i32.store + local.get $1 + if + local.get $0 + local.get $1 + call $byn-split-outlined-A$~lib/rt/itcms/__link + end + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $2 + local.get $0 + i32.store + local.get $0 + local.get $1 + i32.store + local.get $1 + if + local.get $0 + local.get $1 + call $byn-split-outlined-A$~lib/rt/itcms/__link + end + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $0 + global.set $duplicate-fields/raz + global.get $duplicate-fields/raz + i32.load + i32.load offset=4 + i32.const 2 + i32.ne + if + i32.const 0 + i32.const 1456 + i32.const 43 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + return + end + i32.const 18000 + i32.const 18048 + i32.const 1 + i32.const 1 + call $~lib/builtins/abort + unreachable + ) + (func $export:duplicate-fields/B3#get:protProt (param $0 i32) (result i32) + (local $1 i32) + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.sub + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 1596 + i32.lt_s + if + i32.const 18000 + i32.const 18048 + i32.const 1 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.tee $1 + local.get $0 + i32.store + local.get $0 + i32.load + local.get $1 + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + ) + (func $export:duplicate-fields/B3#set:protProt (param $0 i32) (param $1 i32) + (local $2 i32) + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.sub + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 1596 + i32.lt_s + if + i32.const 18000 + i32.const 18048 + i32.const 1 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.tee $2 + local.get $0 + i32.store + local.get $0 + local.get $1 + i32.store + local.get $2 + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + ) + (func $export:duplicate-fields/B3#get:protPub (param $0 i32) (result i32) + (local $1 i32) + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.sub + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 1596 + i32.lt_s + if + i32.const 18000 + i32.const 18048 + i32.const 1 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.tee $1 + local.get $0 + i32.store + local.get $0 + i32.load offset=4 + local.get $1 + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + ) + (func $export:duplicate-fields/B3#set:protPub (param $0 i32) (param $1 i32) + (local $2 i32) + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.sub + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 1596 + i32.lt_s + if + i32.const 18000 + i32.const 18048 + i32.const 1 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.tee $2 + local.get $0 + i32.store + local.get $0 + local.get $1 + i32.store offset=4 + local.get $2 + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + ) + (func $export:duplicate-fields/B3#get:pubPub (param $0 i32) (result i32) + (local $1 i32) + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.sub + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 1596 + i32.lt_s + if + i32.const 18000 + i32.const 18048 + i32.const 1 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.tee $1 + local.get $0 + i32.store + local.get $0 + i32.load offset=8 + local.get $1 + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + ) + (func $export:duplicate-fields/B3#set:pubPub (param $0 i32) (param $1 i32) + (local $2 i32) + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.sub + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 1596 + i32.lt_s + if + i32.const 18000 + i32.const 18048 + i32.const 1 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.tee $2 + local.get $0 + i32.store + local.get $0 + local.get $1 + i32.store offset=8 + local.get $2 + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + ) + (func $export:duplicate-fields/B3#constructor (param $0 i32) (result i32) + (local $1 i32) + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.sub + global.set $~lib/memory/__stack_pointer + block $folding-inner0 + global.get $~lib/memory/__stack_pointer + i32.const 1596 + i32.lt_s + br_if $folding-inner0 + global.get $~lib/memory/__stack_pointer + local.tee $1 + local.get $0 + i32.store + local.get $1 + i32.const 4 + i32.sub + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 1596 + i32.lt_s + br_if $folding-inner0 + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store + local.get $0 + i32.eqz + if + global.get $~lib/memory/__stack_pointer + i32.const 12 + i32.const 9 + call $~lib/rt/itcms/__new + local.tee $0 + i32.store + end + global.get $~lib/memory/__stack_pointer + local.tee $1 + i32.const 4 + i32.sub + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 1596 + i32.lt_s + br_if $folding-inner0 + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store + local.get $0 + i32.eqz + if + global.get $~lib/memory/__stack_pointer + i32.const 12 + i32.const 10 + call $~lib/rt/itcms/__new + local.tee $0 + i32.store + end + local.get $0 + i32.const 0 + i32.store + local.get $0 + i32.const 0 + i32.store offset=4 + local.get $0 + i32.const 0 + i32.store offset=8 + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $1 + local.get $0 + i32.store + local.get $0 + i32.const 0 + i32.store + local.get $0 + i32.const 0 + i32.store offset=4 + local.get $0 + i32.const 0 + i32.store offset=8 + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $0 + return + end + i32.const 18000 + i32.const 18048 + i32.const 1 + i32.const 1 + call $~lib/builtins/abort + unreachable + ) + (func $byn-split-outlined-A$~lib/rt/itcms/__visit (param $0 i32) + global.get $~lib/rt/itcms/white + local.get $0 + i32.const 20 + i32.sub + local.tee $0 + i32.load offset=4 + i32.const 3 + i32.and + i32.eq + if + local.get $0 + call $~lib/rt/itcms/Object#makeGray + global.get $~lib/rt/itcms/visitCount + i32.const 1 + i32.add + global.set $~lib/rt/itcms/visitCount + end + ) + (func $byn-split-outlined-A$~lib/rt/itcms/__link (param $0 i32) (param $1 i32) + local.get $0 + i32.eqz + if + i32.const 0 + i32.const 1120 + i32.const 294 + i32.const 14 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/rt/itcms/white + local.get $1 + i32.const 20 + i32.sub + local.tee $1 + i32.load offset=4 + i32.const 3 + i32.and + i32.eq + if + local.get $0 + i32.const 20 + i32.sub + i32.load offset=4 + i32.const 3 + i32.and + local.tee $0 + global.get $~lib/rt/itcms/white + i32.eqz + i32.eq + if + local.get $1 + call $~lib/rt/itcms/Object#makeGray + else + global.get $~lib/rt/itcms/state + i32.const 1 + i32.eq + local.get $0 + i32.const 3 + i32.eq + i32.and + if + local.get $1 + call $~lib/rt/itcms/Object#makeGray + end + end + end + ) +) diff --git a/tests/compiler/duplicate-fields.ts b/tests/compiler/duplicate-fields.ts new file mode 100644 index 0000000000..35e6d74f14 --- /dev/null +++ b/tests/compiler/duplicate-fields.ts @@ -0,0 +1,57 @@ +class A { + bar: i32; + constructor(bar: i32) { this.bar = bar; } +} + +class B extends A { + bar: i32 = 0; + constructor(bar: i32) { super(bar); this.bar = bar; } +} + +assert(offsetof("bar") == 0); +assert(offsetof("bar") == 0); + +const foo = new B(10); +assert(foo.bar == 10); + +// duplicate fields w/ narrowing + +class Foo { + foo: i32; + constructor(foo: i32) { this.foo = foo; } +} + +class Bar extends Foo { + bar: i32; + constructor(foo: i32, bar: i32) { super(foo); this.bar = bar; } +} + +class A2 { + bar: Foo; + constructor(bar: Foo) { this.bar = bar; } +} + +class B2 extends A2 { + bar: Bar; + constructor(bar: Bar) { super(bar); this.bar = bar; } +} + +assert(offsetof("bar") == 0); +assert(offsetof("bar") == 0); + +const raz = new B2(new Bar(1, 2)); +assert(raz.bar.bar == 2); + +// make sure visibility checks allow these + +class A3 { + protected protProt: i32; + protected protPub: i32; + public pubPub: i32; +} + +export class B3 extends A3 { + protected protProt: i32; + public protPub: i32; + public pubPub: i32; +} \ No newline at end of file diff --git a/tests/compiler/duplicate-fields.untouched.wat b/tests/compiler/duplicate-fields.untouched.wat new file mode 100644 index 0000000000..8bf32e91a4 --- /dev/null +++ b/tests/compiler/duplicate-fields.untouched.wat @@ -0,0 +1,3154 @@ +(module + (type $i32_i32_=>_none (func (param i32 i32))) + (type $i32_=>_i32 (func (param i32) (result i32))) + (type $i32_i32_=>_i32 (func (param i32 i32) (result i32))) + (type $i32_=>_none (func (param i32))) + (type $none_=>_none (func)) + (type $i32_i32_i32_=>_none (func (param i32 i32 i32))) + (type $i32_i32_i32_=>_i32 (func (param i32 i32 i32) (result i32))) + (type $i32_i32_i32_i32_=>_none (func (param i32 i32 i32 i32))) + (type $none_=>_i32 (func (result i32))) + (import "env" "abort" (func $~lib/builtins/abort (param i32 i32 i32 i32))) + (global $~lib/rt/itcms/total (mut i32) (i32.const 0)) + (global $~lib/rt/itcms/threshold (mut i32) (i32.const 0)) + (global $~lib/rt/itcms/state (mut i32) (i32.const 0)) + (global $~lib/rt/itcms/visitCount (mut i32) (i32.const 0)) + (global $~lib/rt/itcms/pinSpace (mut i32) (i32.const 0)) + (global $~lib/rt/itcms/iter (mut i32) (i32.const 0)) + (global $~lib/rt/itcms/toSpace (mut i32) (i32.const 0)) + (global $~lib/rt/itcms/white (mut i32) (i32.const 0)) + (global $~lib/shared/runtime/Runtime.Stub i32 (i32.const 0)) + (global $~lib/shared/runtime/Runtime.Minimal i32 (i32.const 1)) + (global $~lib/shared/runtime/Runtime.Incremental i32 (i32.const 2)) + (global $~lib/rt/itcms/fromSpace (mut i32) (i32.const 0)) + (global $~lib/rt/tlsf/ROOT (mut i32) (i32.const 0)) + (global $~lib/ASC_LOW_MEMORY_LIMIT i32 (i32.const 0)) + (global $~lib/ASC_SHRINK_LEVEL i32 (i32.const 0)) + (global $duplicate-fields/foo (mut i32) (i32.const 0)) + (global $duplicate-fields/raz (mut i32) (i32.const 0)) + (global $duplicate-fields/B3 i32 (i32.const 9)) + (global $~lib/rt/__rtti_base i32 (i32.const 480)) + (global $~lib/memory/__data_end i32 (i32.const 572)) + (global $~lib/memory/__stack_pointer (mut i32) (i32.const 16956)) + (global $~lib/memory/__heap_base i32 (i32.const 16956)) + (memory $0 1) + (data (i32.const 12) "<\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00(\00\00\00A\00l\00l\00o\00c\00a\00t\00i\00o\00n\00 \00t\00o\00o\00 \00l\00a\00r\00g\00e\00\00\00\00\00") + (data (i32.const 76) "<\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00 \00\00\00~\00l\00i\00b\00/\00r\00t\00/\00i\00t\00c\00m\00s\00.\00t\00s\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 144) "\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 176) "\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 204) "<\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00$\00\00\00I\00n\00d\00e\00x\00 \00o\00u\00t\00 \00o\00f\00 \00r\00a\00n\00g\00e\00\00\00\00\00\00\00\00\00") + (data (i32.const 268) ",\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\14\00\00\00~\00l\00i\00b\00/\00r\00t\00.\00t\00s\00\00\00\00\00\00\00\00\00") + (data (i32.const 320) "\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 348) "<\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\1e\00\00\00~\00l\00i\00b\00/\00r\00t\00/\00t\00l\00s\00f\00.\00t\00s\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 412) "<\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00&\00\00\00d\00u\00p\00l\00i\00c\00a\00t\00e\00-\00f\00i\00e\00l\00d\00s\00.\00t\00s\00\00\00\00\00\00\00") + (data (i32.const 480) "\0b\00\00\00 \00\00\00\00\00\00\00 \00\00\00\00\00\00\00\00\00\00\00\00\00\00\00 \00\00\00\00\00\00\00 \00\00\00\03\00\00\00\00\00\00\00\00\00\00\00 \00\00\00\00\00\00\00\00\00\00\00\05\00\00\00 \00\00\00\06\00\00\00 \00\00\00\n\00\00\00 \00\00\00\00\00\00\00") + (table $0 1 funcref) + (elem $0 (i32.const 1)) + (export "B3" (global $duplicate-fields/B3)) + (export "memory" (memory $0)) + (export "B3#get:protProt" (func $export:duplicate-fields/B3#get:protProt)) + (export "B3#set:protProt" (func $export:duplicate-fields/B3#set:protProt)) + (export "B3#get:protPub" (func $export:duplicate-fields/B3#get:protPub)) + (export "B3#set:protPub" (func $export:duplicate-fields/B3#set:protPub)) + (export "B3#get:pubPub" (func $export:duplicate-fields/B3#get:pubPub)) + (export "B3#set:pubPub" (func $export:duplicate-fields/B3#set:pubPub)) + (export "B3#constructor" (func $export:duplicate-fields/B3#constructor)) + (start $~start) + (func $duplicate-fields/A#set:bar (param $0 i32) (param $1 i32) + local.get $0 + local.get $1 + i32.store + ) + (func $~lib/rt/itcms/Object#set:nextWithColor (param $0 i32) (param $1 i32) + local.get $0 + local.get $1 + i32.store offset=4 + ) + (func $~lib/rt/itcms/Object#set:prev (param $0 i32) (param $1 i32) + local.get $0 + local.get $1 + i32.store offset=8 + ) + (func $~lib/rt/itcms/initLazy (param $0 i32) (result i32) + local.get $0 + local.get $0 + call $~lib/rt/itcms/Object#set:nextWithColor + local.get $0 + local.get $0 + call $~lib/rt/itcms/Object#set:prev + local.get $0 + ) + (func $~lib/rt/itcms/Object#get:next (param $0 i32) (result i32) + local.get $0 + i32.load offset=4 + i32.const 3 + i32.const -1 + i32.xor + i32.and + ) + (func $~lib/rt/itcms/Object#get:color (param $0 i32) (result i32) + local.get $0 + i32.load offset=4 + i32.const 3 + i32.and + ) + (func $~lib/rt/itcms/visitRoots (param $0 i32) + (local $1 i32) + (local $2 i32) + (local $3 i32) + local.get $0 + call $~lib/rt/__visit_globals + global.get $~lib/rt/itcms/pinSpace + local.set $1 + local.get $1 + call $~lib/rt/itcms/Object#get:next + local.set $2 + loop $while-continue|0 + local.get $2 + local.get $1 + i32.ne + local.set $3 + local.get $3 + if + i32.const 1 + drop + local.get $2 + call $~lib/rt/itcms/Object#get:color + i32.const 3 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 96 + i32.const 159 + i32.const 16 + call $~lib/builtins/abort + unreachable + end + local.get $2 + i32.const 20 + i32.add + local.get $0 + call $~lib/rt/__visit_members + local.get $2 + call $~lib/rt/itcms/Object#get:next + local.set $2 + br $while-continue|0 + end + end + ) + (func $~lib/rt/itcms/Object#set:color (param $0 i32) (param $1 i32) + local.get $0 + local.get $0 + i32.load offset=4 + i32.const 3 + i32.const -1 + i32.xor + i32.and + local.get $1 + i32.or + call $~lib/rt/itcms/Object#set:nextWithColor + ) + (func $~lib/rt/itcms/Object#set:next (param $0 i32) (param $1 i32) + local.get $0 + local.get $1 + local.get $0 + i32.load offset=4 + i32.const 3 + i32.and + i32.or + call $~lib/rt/itcms/Object#set:nextWithColor + ) + (func $~lib/rt/itcms/Object#unlink (param $0 i32) + (local $1 i32) + (local $2 i32) + local.get $0 + call $~lib/rt/itcms/Object#get:next + local.set $1 + local.get $1 + i32.const 0 + i32.eq + if + i32.const 1 + drop + local.get $0 + i32.load offset=8 + i32.const 0 + i32.eq + if (result i32) + local.get $0 + global.get $~lib/memory/__heap_base + i32.lt_u + else + i32.const 0 + end + i32.eqz + if + i32.const 0 + i32.const 96 + i32.const 127 + i32.const 18 + call $~lib/builtins/abort + unreachable + end + return + end + local.get $0 + i32.load offset=8 + local.set $2 + i32.const 1 + drop + local.get $2 + i32.eqz + if + i32.const 0 + i32.const 96 + i32.const 131 + i32.const 16 + call $~lib/builtins/abort + unreachable + end + local.get $1 + local.get $2 + call $~lib/rt/itcms/Object#set:prev + local.get $2 + local.get $1 + call $~lib/rt/itcms/Object#set:next + ) + (func $~lib/rt/__typeinfo (param $0 i32) (result i32) + (local $1 i32) + global.get $~lib/rt/__rtti_base + local.set $1 + local.get $0 + local.get $1 + i32.load + i32.gt_u + if + i32.const 224 + i32.const 288 + i32.const 22 + i32.const 28 + call $~lib/builtins/abort + unreachable + end + local.get $1 + i32.const 4 + i32.add + local.get $0 + i32.const 8 + i32.mul + i32.add + i32.load + ) + (func $~lib/rt/itcms/Object#get:isPointerfree (param $0 i32) (result i32) + (local $1 i32) + local.get $0 + i32.load offset=12 + local.set $1 + local.get $1 + i32.const 1 + i32.le_u + if (result i32) + i32.const 1 + else + local.get $1 + call $~lib/rt/__typeinfo + i32.const 32 + i32.and + i32.const 0 + i32.ne + end + ) + (func $~lib/rt/itcms/Object#linkTo (param $0 i32) (param $1 i32) (param $2 i32) + (local $3 i32) + local.get $1 + i32.load offset=8 + local.set $3 + local.get $0 + local.get $1 + local.get $2 + i32.or + call $~lib/rt/itcms/Object#set:nextWithColor + local.get $0 + local.get $3 + call $~lib/rt/itcms/Object#set:prev + local.get $3 + local.get $0 + call $~lib/rt/itcms/Object#set:next + local.get $1 + local.get $0 + call $~lib/rt/itcms/Object#set:prev + ) + (func $~lib/rt/itcms/Object#makeGray (param $0 i32) + (local $1 i32) + local.get $0 + global.get $~lib/rt/itcms/iter + i32.eq + if + local.get $0 + i32.load offset=8 + local.tee $1 + i32.eqz + if (result i32) + i32.const 0 + i32.const 96 + i32.const 147 + i32.const 30 + call $~lib/builtins/abort + unreachable + else + local.get $1 + end + global.set $~lib/rt/itcms/iter + end + local.get $0 + call $~lib/rt/itcms/Object#unlink + local.get $0 + global.get $~lib/rt/itcms/toSpace + local.get $0 + call $~lib/rt/itcms/Object#get:isPointerfree + if (result i32) + global.get $~lib/rt/itcms/white + i32.eqz + else + i32.const 2 + end + call $~lib/rt/itcms/Object#linkTo + ) + (func $~lib/rt/itcms/__visit (param $0 i32) (param $1 i32) + (local $2 i32) + local.get $0 + i32.eqz + if + return + end + local.get $0 + i32.const 20 + i32.sub + local.set $2 + i32.const 0 + drop + local.get $2 + call $~lib/rt/itcms/Object#get:color + global.get $~lib/rt/itcms/white + i32.eq + if + local.get $2 + call $~lib/rt/itcms/Object#makeGray + global.get $~lib/rt/itcms/visitCount + i32.const 1 + i32.add + global.set $~lib/rt/itcms/visitCount + end + ) + (func $~lib/rt/itcms/visitStack (param $0 i32) + (local $1 i32) + (local $2 i32) + global.get $~lib/memory/__stack_pointer + local.set $1 + loop $while-continue|0 + local.get $1 + global.get $~lib/memory/__heap_base + i32.lt_u + local.set $2 + local.get $2 + if + local.get $1 + i32.load + local.get $0 + call $~lib/rt/itcms/__visit + local.get $1 + i32.const 4 + i32.add + local.set $1 + br $while-continue|0 + end + end + ) + (func $~lib/rt/itcms/Object#get:size (param $0 i32) (result i32) + i32.const 4 + local.get $0 + i32.load + i32.const 3 + i32.const -1 + i32.xor + i32.and + i32.add + ) + (func $~lib/rt/tlsf/Root#set:flMap (param $0 i32) (param $1 i32) + local.get $0 + local.get $1 + i32.store + ) + (func $~lib/rt/common/BLOCK#set:mmInfo (param $0 i32) (param $1 i32) + local.get $0 + local.get $1 + i32.store + ) + (func $~lib/rt/tlsf/Block#set:prev (param $0 i32) (param $1 i32) + local.get $0 + local.get $1 + i32.store offset=4 + ) + (func $~lib/rt/tlsf/Block#set:next (param $0 i32) (param $1 i32) + local.get $0 + local.get $1 + i32.store offset=8 + ) + (func $~lib/rt/tlsf/removeBlock (param $0 i32) (param $1 i32) + (local $2 i32) + (local $3 i32) + (local $4 i32) + (local $5 i32) + (local $6 i32) + (local $7 i32) + (local $8 i32) + (local $9 i32) + (local $10 i32) + (local $11 i32) + local.get $1 + i32.load + local.set $2 + i32.const 1 + drop + local.get $2 + i32.const 1 + i32.and + i32.eqz + if + i32.const 0 + i32.const 368 + i32.const 268 + i32.const 14 + call $~lib/builtins/abort + unreachable + end + local.get $2 + i32.const 3 + i32.const -1 + i32.xor + i32.and + local.set $3 + i32.const 1 + drop + local.get $3 + i32.const 12 + i32.ge_u + i32.eqz + if + i32.const 0 + i32.const 368 + i32.const 270 + i32.const 14 + call $~lib/builtins/abort + unreachable + end + local.get $3 + i32.const 256 + i32.lt_u + if + i32.const 0 + local.set $4 + local.get $3 + i32.const 4 + i32.shr_u + local.set $5 + else + local.get $3 + local.tee $6 + i32.const 1073741820 + local.tee $7 + local.get $6 + local.get $7 + i32.lt_u + select + local.set $6 + i32.const 31 + local.get $6 + i32.clz + i32.sub + local.set $4 + local.get $6 + local.get $4 + i32.const 4 + i32.sub + i32.shr_u + i32.const 1 + i32.const 4 + i32.shl + i32.xor + local.set $5 + local.get $4 + i32.const 8 + i32.const 1 + i32.sub + i32.sub + local.set $4 + end + i32.const 1 + drop + local.get $4 + i32.const 23 + i32.lt_u + if (result i32) + local.get $5 + i32.const 16 + i32.lt_u + else + i32.const 0 + end + i32.eqz + if + i32.const 0 + i32.const 368 + i32.const 284 + i32.const 14 + call $~lib/builtins/abort + unreachable + end + local.get $1 + i32.load offset=4 + local.set $8 + local.get $1 + i32.load offset=8 + local.set $9 + local.get $8 + if + local.get $8 + local.get $9 + call $~lib/rt/tlsf/Block#set:next + end + local.get $9 + if + local.get $9 + local.get $8 + call $~lib/rt/tlsf/Block#set:prev + end + local.get $1 + local.get $0 + local.set $10 + local.get $4 + local.set $6 + local.get $5 + local.set $7 + local.get $10 + local.get $6 + i32.const 4 + i32.shl + local.get $7 + i32.add + i32.const 2 + i32.shl + i32.add + i32.load offset=96 + i32.eq + if + local.get $0 + local.set $11 + local.get $4 + local.set $10 + local.get $5 + local.set $6 + local.get $9 + local.set $7 + local.get $11 + local.get $10 + i32.const 4 + i32.shl + local.get $6 + i32.add + i32.const 2 + i32.shl + i32.add + local.get $7 + i32.store offset=96 + local.get $9 + i32.eqz + if + local.get $0 + local.set $6 + local.get $4 + local.set $7 + local.get $6 + local.get $7 + i32.const 2 + i32.shl + i32.add + i32.load offset=4 + local.set $6 + local.get $0 + local.set $7 + local.get $4 + local.set $11 + local.get $6 + i32.const 1 + local.get $5 + i32.shl + i32.const -1 + i32.xor + i32.and + local.tee $6 + local.set $10 + local.get $7 + local.get $11 + i32.const 2 + i32.shl + i32.add + local.get $10 + i32.store offset=4 + local.get $6 + i32.eqz + if + local.get $0 + local.get $0 + i32.load + i32.const 1 + local.get $4 + i32.shl + i32.const -1 + i32.xor + i32.and + call $~lib/rt/tlsf/Root#set:flMap + end + end + end + ) + (func $~lib/rt/tlsf/insertBlock (param $0 i32) (param $1 i32) + (local $2 i32) + (local $3 i32) + (local $4 i32) + (local $5 i32) + (local $6 i32) + (local $7 i32) + (local $8 i32) + (local $9 i32) + (local $10 i32) + (local $11 i32) + (local $12 i32) + (local $13 i32) + i32.const 1 + drop + local.get $1 + i32.eqz + if + i32.const 0 + i32.const 368 + i32.const 201 + i32.const 14 + call $~lib/builtins/abort + unreachable + end + local.get $1 + i32.load + local.set $2 + i32.const 1 + drop + local.get $2 + i32.const 1 + i32.and + i32.eqz + if + i32.const 0 + i32.const 368 + i32.const 203 + i32.const 14 + call $~lib/builtins/abort + unreachable + end + local.get $1 + local.set $3 + local.get $3 + i32.const 4 + i32.add + local.get $3 + i32.load + i32.const 3 + i32.const -1 + i32.xor + i32.and + i32.add + local.set $4 + local.get $4 + i32.load + local.set $5 + local.get $5 + i32.const 1 + i32.and + if + local.get $0 + local.get $4 + call $~lib/rt/tlsf/removeBlock + local.get $1 + local.get $2 + i32.const 4 + i32.add + local.get $5 + i32.const 3 + i32.const -1 + i32.xor + i32.and + i32.add + local.tee $2 + call $~lib/rt/common/BLOCK#set:mmInfo + local.get $1 + local.set $3 + local.get $3 + i32.const 4 + i32.add + local.get $3 + i32.load + i32.const 3 + i32.const -1 + i32.xor + i32.and + i32.add + local.set $4 + local.get $4 + i32.load + local.set $5 + end + local.get $2 + i32.const 2 + i32.and + if + local.get $1 + local.set $3 + local.get $3 + i32.const 4 + i32.sub + i32.load + local.set $3 + local.get $3 + i32.load + local.set $6 + i32.const 1 + drop + local.get $6 + i32.const 1 + i32.and + i32.eqz + if + i32.const 0 + i32.const 368 + i32.const 221 + i32.const 16 + call $~lib/builtins/abort + unreachable + end + local.get $0 + local.get $3 + call $~lib/rt/tlsf/removeBlock + local.get $3 + local.set $1 + local.get $1 + local.get $6 + i32.const 4 + i32.add + local.get $2 + i32.const 3 + i32.const -1 + i32.xor + i32.and + i32.add + local.tee $2 + call $~lib/rt/common/BLOCK#set:mmInfo + end + local.get $4 + local.get $5 + i32.const 2 + i32.or + call $~lib/rt/common/BLOCK#set:mmInfo + local.get $2 + i32.const 3 + i32.const -1 + i32.xor + i32.and + local.set $7 + i32.const 1 + drop + local.get $7 + i32.const 12 + i32.ge_u + i32.eqz + if + i32.const 0 + i32.const 368 + i32.const 233 + i32.const 14 + call $~lib/builtins/abort + unreachable + end + i32.const 1 + drop + local.get $1 + i32.const 4 + i32.add + local.get $7 + i32.add + local.get $4 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 368 + i32.const 234 + i32.const 14 + call $~lib/builtins/abort + unreachable + end + local.get $4 + i32.const 4 + i32.sub + local.get $1 + i32.store + local.get $7 + i32.const 256 + i32.lt_u + if + i32.const 0 + local.set $8 + local.get $7 + i32.const 4 + i32.shr_u + local.set $9 + else + local.get $7 + local.tee $3 + i32.const 1073741820 + local.tee $6 + local.get $3 + local.get $6 + i32.lt_u + select + local.set $3 + i32.const 31 + local.get $3 + i32.clz + i32.sub + local.set $8 + local.get $3 + local.get $8 + i32.const 4 + i32.sub + i32.shr_u + i32.const 1 + i32.const 4 + i32.shl + i32.xor + local.set $9 + local.get $8 + i32.const 8 + i32.const 1 + i32.sub + i32.sub + local.set $8 + end + i32.const 1 + drop + local.get $8 + i32.const 23 + i32.lt_u + if (result i32) + local.get $9 + i32.const 16 + i32.lt_u + else + i32.const 0 + end + i32.eqz + if + i32.const 0 + i32.const 368 + i32.const 251 + i32.const 14 + call $~lib/builtins/abort + unreachable + end + local.get $0 + local.set $10 + local.get $8 + local.set $3 + local.get $9 + local.set $6 + local.get $10 + local.get $3 + i32.const 4 + i32.shl + local.get $6 + i32.add + i32.const 2 + i32.shl + i32.add + i32.load offset=96 + local.set $11 + local.get $1 + i32.const 0 + call $~lib/rt/tlsf/Block#set:prev + local.get $1 + local.get $11 + call $~lib/rt/tlsf/Block#set:next + local.get $11 + if + local.get $11 + local.get $1 + call $~lib/rt/tlsf/Block#set:prev + end + local.get $0 + local.set $12 + local.get $8 + local.set $10 + local.get $9 + local.set $3 + local.get $1 + local.set $6 + local.get $12 + local.get $10 + i32.const 4 + i32.shl + local.get $3 + i32.add + i32.const 2 + i32.shl + i32.add + local.get $6 + i32.store offset=96 + local.get $0 + local.get $0 + i32.load + i32.const 1 + local.get $8 + i32.shl + i32.or + call $~lib/rt/tlsf/Root#set:flMap + local.get $0 + local.set $13 + local.get $8 + local.set $12 + local.get $0 + local.set $3 + local.get $8 + local.set $6 + local.get $3 + local.get $6 + i32.const 2 + i32.shl + i32.add + i32.load offset=4 + i32.const 1 + local.get $9 + i32.shl + i32.or + local.set $10 + local.get $13 + local.get $12 + i32.const 2 + i32.shl + i32.add + local.get $10 + i32.store offset=4 + ) + (func $~lib/rt/tlsf/addMemory (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (local $3 i32) + (local $4 i32) + (local $5 i32) + (local $6 i32) + (local $7 i32) + (local $8 i32) + (local $9 i32) + i32.const 1 + drop + local.get $1 + local.get $2 + i32.le_u + i32.eqz + if + i32.const 0 + i32.const 368 + i32.const 377 + i32.const 14 + call $~lib/builtins/abort + unreachable + end + local.get $1 + i32.const 4 + i32.add + i32.const 15 + i32.add + i32.const 15 + i32.const -1 + i32.xor + i32.and + i32.const 4 + i32.sub + local.set $1 + local.get $2 + i32.const 15 + i32.const -1 + i32.xor + i32.and + local.set $2 + local.get $0 + local.set $3 + local.get $3 + i32.load offset=1568 + local.set $4 + i32.const 0 + local.set $5 + local.get $4 + if + i32.const 1 + drop + local.get $1 + local.get $4 + i32.const 4 + i32.add + i32.ge_u + i32.eqz + if + i32.const 0 + i32.const 368 + i32.const 384 + i32.const 16 + call $~lib/builtins/abort + unreachable + end + local.get $1 + i32.const 16 + i32.sub + local.get $4 + i32.eq + if + local.get $1 + i32.const 16 + i32.sub + local.set $1 + local.get $4 + i32.load + local.set $5 + else + nop + end + else + i32.const 1 + drop + local.get $1 + local.get $0 + i32.const 1572 + i32.add + i32.ge_u + i32.eqz + if + i32.const 0 + i32.const 368 + i32.const 397 + i32.const 5 + call $~lib/builtins/abort + unreachable + end + end + local.get $2 + local.get $1 + i32.sub + local.set $6 + local.get $6 + i32.const 4 + i32.const 12 + i32.add + i32.const 4 + i32.add + i32.lt_u + if + i32.const 0 + return + end + local.get $6 + i32.const 2 + i32.const 4 + i32.mul + i32.sub + local.set $7 + local.get $1 + local.set $8 + local.get $8 + local.get $7 + i32.const 1 + i32.or + local.get $5 + i32.const 2 + i32.and + i32.or + call $~lib/rt/common/BLOCK#set:mmInfo + local.get $8 + i32.const 0 + call $~lib/rt/tlsf/Block#set:prev + local.get $8 + i32.const 0 + call $~lib/rt/tlsf/Block#set:next + local.get $1 + i32.const 4 + i32.add + local.get $7 + i32.add + local.set $4 + local.get $4 + i32.const 0 + i32.const 2 + i32.or + call $~lib/rt/common/BLOCK#set:mmInfo + local.get $0 + local.set $9 + local.get $4 + local.set $3 + local.get $9 + local.get $3 + i32.store offset=1568 + local.get $0 + local.get $8 + call $~lib/rt/tlsf/insertBlock + i32.const 1 + ) + (func $~lib/rt/tlsf/initialize + (local $0 i32) + (local $1 i32) + (local $2 i32) + (local $3 i32) + (local $4 i32) + (local $5 i32) + (local $6 i32) + (local $7 i32) + (local $8 i32) + (local $9 i32) + (local $10 i32) + (local $11 i32) + (local $12 i32) + i32.const 0 + drop + global.get $~lib/memory/__heap_base + i32.const 15 + i32.add + i32.const 15 + i32.const -1 + i32.xor + i32.and + local.set $0 + memory.size + local.set $1 + local.get $0 + i32.const 1572 + i32.add + i32.const 65535 + i32.add + i32.const 65535 + i32.const -1 + i32.xor + i32.and + i32.const 16 + i32.shr_u + local.set $2 + local.get $2 + local.get $1 + i32.gt_s + if (result i32) + local.get $2 + local.get $1 + i32.sub + memory.grow + i32.const 0 + i32.lt_s + else + i32.const 0 + end + if + unreachable + end + local.get $0 + local.set $3 + local.get $3 + i32.const 0 + call $~lib/rt/tlsf/Root#set:flMap + local.get $3 + local.set $5 + i32.const 0 + local.set $4 + local.get $5 + local.get $4 + i32.store offset=1568 + i32.const 0 + local.set $5 + loop $for-loop|0 + local.get $5 + i32.const 23 + i32.lt_u + local.set $4 + local.get $4 + if + local.get $3 + local.set $8 + local.get $5 + local.set $7 + i32.const 0 + local.set $6 + local.get $8 + local.get $7 + i32.const 2 + i32.shl + i32.add + local.get $6 + i32.store offset=4 + i32.const 0 + local.set $8 + loop $for-loop|1 + local.get $8 + i32.const 16 + i32.lt_u + local.set $7 + local.get $7 + if + local.get $3 + local.set $11 + local.get $5 + local.set $10 + local.get $8 + local.set $9 + i32.const 0 + local.set $6 + local.get $11 + local.get $10 + i32.const 4 + i32.shl + local.get $9 + i32.add + i32.const 2 + i32.shl + i32.add + local.get $6 + i32.store offset=96 + local.get $8 + i32.const 1 + i32.add + local.set $8 + br $for-loop|1 + end + end + local.get $5 + i32.const 1 + i32.add + local.set $5 + br $for-loop|0 + end + end + local.get $0 + i32.const 1572 + i32.add + local.set $12 + i32.const 0 + drop + local.get $3 + local.get $12 + memory.size + i32.const 16 + i32.shl + call $~lib/rt/tlsf/addMemory + drop + local.get $3 + global.set $~lib/rt/tlsf/ROOT + ) + (func $~lib/rt/tlsf/checkUsedBlock (param $0 i32) (result i32) + (local $1 i32) + local.get $0 + i32.const 4 + i32.sub + local.set $1 + local.get $0 + i32.const 0 + i32.ne + if (result i32) + local.get $0 + i32.const 15 + i32.and + i32.eqz + else + i32.const 0 + end + if (result i32) + local.get $1 + i32.load + i32.const 1 + i32.and + i32.eqz + else + i32.const 0 + end + i32.eqz + if + i32.const 0 + i32.const 368 + i32.const 559 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $1 + ) + (func $~lib/rt/tlsf/freeBlock (param $0 i32) (param $1 i32) + i32.const 0 + drop + local.get $1 + local.get $1 + i32.load + i32.const 1 + i32.or + call $~lib/rt/common/BLOCK#set:mmInfo + local.get $0 + local.get $1 + call $~lib/rt/tlsf/insertBlock + ) + (func $~lib/rt/tlsf/__free (param $0 i32) + local.get $0 + global.get $~lib/memory/__heap_base + i32.lt_u + if + return + end + global.get $~lib/rt/tlsf/ROOT + i32.eqz + if + call $~lib/rt/tlsf/initialize + end + global.get $~lib/rt/tlsf/ROOT + local.get $0 + call $~lib/rt/tlsf/checkUsedBlock + call $~lib/rt/tlsf/freeBlock + ) + (func $~lib/rt/itcms/free (param $0 i32) + local.get $0 + global.get $~lib/memory/__heap_base + i32.lt_u + if + local.get $0 + i32.const 0 + call $~lib/rt/itcms/Object#set:nextWithColor + local.get $0 + i32.const 0 + call $~lib/rt/itcms/Object#set:prev + else + global.get $~lib/rt/itcms/total + local.get $0 + call $~lib/rt/itcms/Object#get:size + i32.sub + global.set $~lib/rt/itcms/total + i32.const 0 + drop + local.get $0 + i32.const 4 + i32.add + call $~lib/rt/tlsf/__free + end + ) + (func $~lib/rt/itcms/step (result i32) + (local $0 i32) + (local $1 i32) + (local $2 i32) + block $break|0 + block $case2|0 + block $case1|0 + block $case0|0 + global.get $~lib/rt/itcms/state + local.set $1 + local.get $1 + i32.const 0 + i32.eq + br_if $case0|0 + local.get $1 + i32.const 1 + i32.eq + br_if $case1|0 + local.get $1 + i32.const 2 + i32.eq + br_if $case2|0 + br $break|0 + end + i32.const 1 + global.set $~lib/rt/itcms/state + i32.const 0 + global.set $~lib/rt/itcms/visitCount + i32.const 0 + call $~lib/rt/itcms/visitRoots + global.get $~lib/rt/itcms/toSpace + global.set $~lib/rt/itcms/iter + global.get $~lib/rt/itcms/visitCount + i32.const 1 + i32.mul + return + end + global.get $~lib/rt/itcms/white + i32.eqz + local.set $1 + global.get $~lib/rt/itcms/iter + call $~lib/rt/itcms/Object#get:next + local.set $0 + loop $while-continue|1 + local.get $0 + global.get $~lib/rt/itcms/toSpace + i32.ne + local.set $2 + local.get $2 + if + local.get $0 + global.set $~lib/rt/itcms/iter + local.get $0 + call $~lib/rt/itcms/Object#get:color + local.get $1 + i32.ne + if + local.get $0 + local.get $1 + call $~lib/rt/itcms/Object#set:color + i32.const 0 + global.set $~lib/rt/itcms/visitCount + local.get $0 + i32.const 20 + i32.add + i32.const 0 + call $~lib/rt/__visit_members + global.get $~lib/rt/itcms/visitCount + i32.const 1 + i32.mul + return + end + local.get $0 + call $~lib/rt/itcms/Object#get:next + local.set $0 + br $while-continue|1 + end + end + i32.const 0 + global.set $~lib/rt/itcms/visitCount + i32.const 0 + call $~lib/rt/itcms/visitRoots + global.get $~lib/rt/itcms/iter + call $~lib/rt/itcms/Object#get:next + local.set $0 + local.get $0 + global.get $~lib/rt/itcms/toSpace + i32.eq + if + i32.const 0 + call $~lib/rt/itcms/visitStack + global.get $~lib/rt/itcms/iter + call $~lib/rt/itcms/Object#get:next + local.set $0 + loop $while-continue|2 + local.get $0 + global.get $~lib/rt/itcms/toSpace + i32.ne + local.set $2 + local.get $2 + if + local.get $0 + call $~lib/rt/itcms/Object#get:color + local.get $1 + i32.ne + if + local.get $0 + local.get $1 + call $~lib/rt/itcms/Object#set:color + local.get $0 + i32.const 20 + i32.add + i32.const 0 + call $~lib/rt/__visit_members + end + local.get $0 + call $~lib/rt/itcms/Object#get:next + local.set $0 + br $while-continue|2 + end + end + global.get $~lib/rt/itcms/fromSpace + local.set $2 + global.get $~lib/rt/itcms/toSpace + global.set $~lib/rt/itcms/fromSpace + local.get $2 + global.set $~lib/rt/itcms/toSpace + local.get $1 + global.set $~lib/rt/itcms/white + local.get $2 + call $~lib/rt/itcms/Object#get:next + global.set $~lib/rt/itcms/iter + i32.const 2 + global.set $~lib/rt/itcms/state + end + global.get $~lib/rt/itcms/visitCount + i32.const 1 + i32.mul + return + end + global.get $~lib/rt/itcms/iter + local.set $0 + local.get $0 + global.get $~lib/rt/itcms/toSpace + i32.ne + if + local.get $0 + call $~lib/rt/itcms/Object#get:next + global.set $~lib/rt/itcms/iter + i32.const 1 + drop + local.get $0 + call $~lib/rt/itcms/Object#get:color + global.get $~lib/rt/itcms/white + i32.eqz + i32.eq + i32.eqz + if + i32.const 0 + i32.const 96 + i32.const 228 + i32.const 20 + call $~lib/builtins/abort + unreachable + end + local.get $0 + call $~lib/rt/itcms/free + i32.const 10 + return + end + global.get $~lib/rt/itcms/toSpace + global.get $~lib/rt/itcms/toSpace + call $~lib/rt/itcms/Object#set:nextWithColor + global.get $~lib/rt/itcms/toSpace + global.get $~lib/rt/itcms/toSpace + call $~lib/rt/itcms/Object#set:prev + i32.const 0 + global.set $~lib/rt/itcms/state + br $break|0 + end + i32.const 0 + ) + (func $~lib/rt/itcms/interrupt + (local $0 i32) + i32.const 0 + drop + i32.const 0 + drop + i32.const 1024 + i32.const 200 + i32.mul + i32.const 100 + i32.div_u + local.set $0 + loop $do-loop|0 + local.get $0 + call $~lib/rt/itcms/step + i32.sub + local.set $0 + global.get $~lib/rt/itcms/state + i32.const 0 + i32.eq + if + i32.const 0 + drop + global.get $~lib/rt/itcms/total + i64.extend_i32_u + i32.const 200 + i64.extend_i32_u + i64.mul + i64.const 100 + i64.div_u + i32.wrap_i64 + i32.const 1024 + i32.add + global.set $~lib/rt/itcms/threshold + i32.const 0 + drop + return + end + local.get $0 + i32.const 0 + i32.gt_s + br_if $do-loop|0 + end + i32.const 0 + drop + global.get $~lib/rt/itcms/total + i32.const 1024 + global.get $~lib/rt/itcms/total + global.get $~lib/rt/itcms/threshold + i32.sub + i32.const 1024 + i32.lt_u + i32.mul + i32.add + global.set $~lib/rt/itcms/threshold + i32.const 0 + drop + ) + (func $~lib/rt/tlsf/computeSize (param $0 i32) (result i32) + local.get $0 + i32.const 12 + i32.le_u + if (result i32) + i32.const 12 + else + local.get $0 + i32.const 4 + i32.add + i32.const 15 + i32.add + i32.const 15 + i32.const -1 + i32.xor + i32.and + i32.const 4 + i32.sub + end + ) + (func $~lib/rt/tlsf/prepareSize (param $0 i32) (result i32) + local.get $0 + i32.const 1073741820 + i32.gt_u + if + i32.const 32 + i32.const 368 + i32.const 458 + i32.const 29 + call $~lib/builtins/abort + unreachable + end + local.get $0 + call $~lib/rt/tlsf/computeSize + ) + (func $~lib/rt/tlsf/searchBlock (param $0 i32) (param $1 i32) (result i32) + (local $2 i32) + (local $3 i32) + (local $4 i32) + (local $5 i32) + (local $6 i32) + (local $7 i32) + (local $8 i32) + (local $9 i32) + local.get $1 + i32.const 256 + i32.lt_u + if + i32.const 0 + local.set $2 + local.get $1 + i32.const 4 + i32.shr_u + local.set $3 + else + local.get $1 + i32.const 536870910 + i32.lt_u + if (result i32) + local.get $1 + i32.const 1 + i32.const 27 + local.get $1 + i32.clz + i32.sub + i32.shl + i32.add + i32.const 1 + i32.sub + else + local.get $1 + end + local.set $4 + i32.const 31 + local.get $4 + i32.clz + i32.sub + local.set $2 + local.get $4 + local.get $2 + i32.const 4 + i32.sub + i32.shr_u + i32.const 1 + i32.const 4 + i32.shl + i32.xor + local.set $3 + local.get $2 + i32.const 8 + i32.const 1 + i32.sub + i32.sub + local.set $2 + end + i32.const 1 + drop + local.get $2 + i32.const 23 + i32.lt_u + if (result i32) + local.get $3 + i32.const 16 + i32.lt_u + else + i32.const 0 + end + i32.eqz + if + i32.const 0 + i32.const 368 + i32.const 330 + i32.const 14 + call $~lib/builtins/abort + unreachable + end + local.get $0 + local.set $5 + local.get $2 + local.set $4 + local.get $5 + local.get $4 + i32.const 2 + i32.shl + i32.add + i32.load offset=4 + i32.const 0 + i32.const -1 + i32.xor + local.get $3 + i32.shl + i32.and + local.set $6 + i32.const 0 + local.set $7 + local.get $6 + i32.eqz + if + local.get $0 + i32.load + i32.const 0 + i32.const -1 + i32.xor + local.get $2 + i32.const 1 + i32.add + i32.shl + i32.and + local.set $5 + local.get $5 + i32.eqz + if + i32.const 0 + local.set $7 + else + local.get $5 + i32.ctz + local.set $2 + local.get $0 + local.set $8 + local.get $2 + local.set $4 + local.get $8 + local.get $4 + i32.const 2 + i32.shl + i32.add + i32.load offset=4 + local.set $6 + i32.const 1 + drop + local.get $6 + i32.eqz + if + i32.const 0 + i32.const 368 + i32.const 343 + i32.const 18 + call $~lib/builtins/abort + unreachable + end + local.get $0 + local.set $9 + local.get $2 + local.set $8 + local.get $6 + i32.ctz + local.set $4 + local.get $9 + local.get $8 + i32.const 4 + i32.shl + local.get $4 + i32.add + i32.const 2 + i32.shl + i32.add + i32.load offset=96 + local.set $7 + end + else + local.get $0 + local.set $9 + local.get $2 + local.set $8 + local.get $6 + i32.ctz + local.set $4 + local.get $9 + local.get $8 + i32.const 4 + i32.shl + local.get $4 + i32.add + i32.const 2 + i32.shl + i32.add + i32.load offset=96 + local.set $7 + end + local.get $7 + ) + (func $~lib/rt/tlsf/growMemory (param $0 i32) (param $1 i32) + (local $2 i32) + (local $3 i32) + (local $4 i32) + (local $5 i32) + (local $6 i32) + (local $7 i32) + i32.const 0 + drop + local.get $1 + i32.const 536870910 + i32.lt_u + if + local.get $1 + i32.const 1 + i32.const 27 + local.get $1 + i32.clz + i32.sub + i32.shl + i32.const 1 + i32.sub + i32.add + local.set $1 + end + memory.size + local.set $2 + local.get $1 + i32.const 4 + local.get $2 + i32.const 16 + i32.shl + i32.const 4 + i32.sub + local.get $0 + local.set $3 + local.get $3 + i32.load offset=1568 + i32.ne + i32.shl + i32.add + local.set $1 + local.get $1 + i32.const 65535 + i32.add + i32.const 65535 + i32.const -1 + i32.xor + i32.and + i32.const 16 + i32.shr_u + local.set $4 + local.get $2 + local.tee $3 + local.get $4 + local.tee $5 + local.get $3 + local.get $5 + i32.gt_s + select + local.set $6 + local.get $6 + memory.grow + i32.const 0 + i32.lt_s + if + local.get $4 + memory.grow + i32.const 0 + i32.lt_s + if + unreachable + end + end + memory.size + local.set $7 + local.get $0 + local.get $2 + i32.const 16 + i32.shl + local.get $7 + i32.const 16 + i32.shl + call $~lib/rt/tlsf/addMemory + drop + ) + (func $~lib/rt/tlsf/prepareBlock (param $0 i32) (param $1 i32) (param $2 i32) + (local $3 i32) + (local $4 i32) + (local $5 i32) + local.get $1 + i32.load + local.set $3 + i32.const 1 + drop + local.get $2 + i32.const 4 + i32.add + i32.const 15 + i32.and + i32.eqz + i32.eqz + if + i32.const 0 + i32.const 368 + i32.const 357 + i32.const 14 + call $~lib/builtins/abort + unreachable + end + local.get $3 + i32.const 3 + i32.const -1 + i32.xor + i32.and + local.get $2 + i32.sub + local.set $4 + local.get $4 + i32.const 4 + i32.const 12 + i32.add + i32.ge_u + if + local.get $1 + local.get $2 + local.get $3 + i32.const 2 + i32.and + i32.or + call $~lib/rt/common/BLOCK#set:mmInfo + local.get $1 + i32.const 4 + i32.add + local.get $2 + i32.add + local.set $5 + local.get $5 + local.get $4 + i32.const 4 + i32.sub + i32.const 1 + i32.or + call $~lib/rt/common/BLOCK#set:mmInfo + local.get $0 + local.get $5 + call $~lib/rt/tlsf/insertBlock + else + local.get $1 + local.get $3 + i32.const 1 + i32.const -1 + i32.xor + i32.and + call $~lib/rt/common/BLOCK#set:mmInfo + local.get $1 + local.set $5 + local.get $5 + i32.const 4 + i32.add + local.get $5 + i32.load + i32.const 3 + i32.const -1 + i32.xor + i32.and + i32.add + local.get $1 + local.set $5 + local.get $5 + i32.const 4 + i32.add + local.get $5 + i32.load + i32.const 3 + i32.const -1 + i32.xor + i32.and + i32.add + i32.load + i32.const 2 + i32.const -1 + i32.xor + i32.and + call $~lib/rt/common/BLOCK#set:mmInfo + end + ) + (func $~lib/rt/tlsf/allocateBlock (param $0 i32) (param $1 i32) (result i32) + (local $2 i32) + (local $3 i32) + local.get $1 + call $~lib/rt/tlsf/prepareSize + local.set $2 + local.get $0 + local.get $2 + call $~lib/rt/tlsf/searchBlock + local.set $3 + local.get $3 + i32.eqz + if + local.get $0 + local.get $2 + call $~lib/rt/tlsf/growMemory + local.get $0 + local.get $2 + call $~lib/rt/tlsf/searchBlock + local.set $3 + i32.const 1 + drop + local.get $3 + i32.eqz + if + i32.const 0 + i32.const 368 + i32.const 496 + i32.const 16 + call $~lib/builtins/abort + unreachable + end + end + i32.const 1 + drop + local.get $3 + i32.load + i32.const 3 + i32.const -1 + i32.xor + i32.and + local.get $2 + i32.ge_u + i32.eqz + if + i32.const 0 + i32.const 368 + i32.const 498 + i32.const 14 + call $~lib/builtins/abort + unreachable + end + local.get $0 + local.get $3 + call $~lib/rt/tlsf/removeBlock + local.get $0 + local.get $3 + local.get $2 + call $~lib/rt/tlsf/prepareBlock + i32.const 0 + drop + local.get $3 + ) + (func $~lib/rt/tlsf/__alloc (param $0 i32) (result i32) + global.get $~lib/rt/tlsf/ROOT + i32.eqz + if + call $~lib/rt/tlsf/initialize + end + global.get $~lib/rt/tlsf/ROOT + local.get $0 + call $~lib/rt/tlsf/allocateBlock + i32.const 4 + i32.add + ) + (func $~lib/rt/itcms/Object#set:rtId (param $0 i32) (param $1 i32) + local.get $0 + local.get $1 + i32.store offset=12 + ) + (func $~lib/rt/itcms/Object#set:rtSize (param $0 i32) (param $1 i32) + local.get $0 + local.get $1 + i32.store offset=16 + ) + (func $~lib/memory/memory.fill (param $0 i32) (param $1 i32) (param $2 i32) + (local $3 i32) + (local $4 i32) + (local $5 i32) + (local $6 i32) + (local $7 i32) + (local $8 i32) + (local $9 i64) + (local $10 i32) + block $~lib/util/memory/memset|inlined.0 + local.get $0 + local.set $5 + local.get $1 + local.set $4 + local.get $2 + local.set $3 + i32.const 0 + i32.const 1 + i32.gt_s + drop + local.get $3 + i32.eqz + if + br $~lib/util/memory/memset|inlined.0 + end + local.get $5 + local.get $3 + i32.add + local.set $6 + local.get $5 + local.get $4 + i32.store8 + local.get $6 + i32.const 1 + i32.sub + local.get $4 + i32.store8 + local.get $3 + i32.const 2 + i32.le_u + if + br $~lib/util/memory/memset|inlined.0 + end + local.get $5 + local.get $4 + i32.store8 offset=1 + local.get $5 + local.get $4 + i32.store8 offset=2 + local.get $6 + i32.const 2 + i32.sub + local.get $4 + i32.store8 + local.get $6 + i32.const 3 + i32.sub + local.get $4 + i32.store8 + local.get $3 + i32.const 6 + i32.le_u + if + br $~lib/util/memory/memset|inlined.0 + end + local.get $5 + local.get $4 + i32.store8 offset=3 + local.get $6 + i32.const 4 + i32.sub + local.get $4 + i32.store8 + local.get $3 + i32.const 8 + i32.le_u + if + br $~lib/util/memory/memset|inlined.0 + end + i32.const 0 + local.get $5 + i32.sub + i32.const 3 + i32.and + local.set $7 + local.get $5 + local.get $7 + i32.add + local.set $5 + local.get $3 + local.get $7 + i32.sub + local.set $3 + local.get $3 + i32.const -4 + i32.and + local.set $3 + i32.const -1 + i32.const 255 + i32.div_u + local.get $4 + i32.const 255 + i32.and + i32.mul + local.set $8 + local.get $5 + local.get $3 + i32.add + local.set $6 + local.get $5 + local.get $8 + i32.store + local.get $6 + i32.const 4 + i32.sub + local.get $8 + i32.store + local.get $3 + i32.const 8 + i32.le_u + if + br $~lib/util/memory/memset|inlined.0 + end + local.get $5 + local.get $8 + i32.store offset=4 + local.get $5 + local.get $8 + i32.store offset=8 + local.get $6 + i32.const 12 + i32.sub + local.get $8 + i32.store + local.get $6 + i32.const 8 + i32.sub + local.get $8 + i32.store + local.get $3 + i32.const 24 + i32.le_u + if + br $~lib/util/memory/memset|inlined.0 + end + local.get $5 + local.get $8 + i32.store offset=12 + local.get $5 + local.get $8 + i32.store offset=16 + local.get $5 + local.get $8 + i32.store offset=20 + local.get $5 + local.get $8 + i32.store offset=24 + local.get $6 + i32.const 28 + i32.sub + local.get $8 + i32.store + local.get $6 + i32.const 24 + i32.sub + local.get $8 + i32.store + local.get $6 + i32.const 20 + i32.sub + local.get $8 + i32.store + local.get $6 + i32.const 16 + i32.sub + local.get $8 + i32.store + i32.const 24 + local.get $5 + i32.const 4 + i32.and + i32.add + local.set $7 + local.get $5 + local.get $7 + i32.add + local.set $5 + local.get $3 + local.get $7 + i32.sub + local.set $3 + local.get $8 + i64.extend_i32_u + local.get $8 + i64.extend_i32_u + i64.const 32 + i64.shl + i64.or + local.set $9 + loop $while-continue|0 + local.get $3 + i32.const 32 + i32.ge_u + local.set $10 + local.get $10 + if + local.get $5 + local.get $9 + i64.store + local.get $5 + local.get $9 + i64.store offset=8 + local.get $5 + local.get $9 + i64.store offset=16 + local.get $5 + local.get $9 + i64.store offset=24 + local.get $3 + i32.const 32 + i32.sub + local.set $3 + local.get $5 + i32.const 32 + i32.add + local.set $5 + br $while-continue|0 + end + end + end + ) + (func $~lib/rt/itcms/__new (param $0 i32) (param $1 i32) (result i32) + (local $2 i32) + (local $3 i32) + local.get $0 + i32.const 1073741804 + i32.ge_u + if + i32.const 32 + i32.const 96 + i32.const 260 + i32.const 31 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/rt/itcms/total + global.get $~lib/rt/itcms/threshold + i32.ge_u + if + call $~lib/rt/itcms/interrupt + end + i32.const 16 + local.get $0 + i32.add + call $~lib/rt/tlsf/__alloc + i32.const 4 + i32.sub + local.set $2 + local.get $2 + local.get $1 + call $~lib/rt/itcms/Object#set:rtId + local.get $2 + local.get $0 + call $~lib/rt/itcms/Object#set:rtSize + local.get $2 + global.get $~lib/rt/itcms/fromSpace + global.get $~lib/rt/itcms/white + call $~lib/rt/itcms/Object#linkTo + global.get $~lib/rt/itcms/total + local.get $2 + call $~lib/rt/itcms/Object#get:size + i32.add + global.set $~lib/rt/itcms/total + local.get $2 + i32.const 20 + i32.add + local.set $3 + local.get $3 + i32.const 0 + local.get $0 + call $~lib/memory/memory.fill + local.get $3 + ) + (func $duplicate-fields/B#set:bar (param $0 i32) (param $1 i32) + local.get $0 + local.get $1 + i32.store + ) + (func $~lib/rt/itcms/__link (param $0 i32) (param $1 i32) (param $2 i32) + (local $3 i32) + (local $4 i32) + (local $5 i32) + local.get $1 + i32.eqz + if + return + end + i32.const 1 + drop + local.get $0 + i32.eqz + if + i32.const 0 + i32.const 96 + i32.const 294 + i32.const 14 + call $~lib/builtins/abort + unreachable + end + local.get $1 + i32.const 20 + i32.sub + local.set $3 + local.get $3 + call $~lib/rt/itcms/Object#get:color + global.get $~lib/rt/itcms/white + i32.eq + if + local.get $0 + i32.const 20 + i32.sub + local.set $4 + local.get $4 + call $~lib/rt/itcms/Object#get:color + local.set $5 + local.get $5 + global.get $~lib/rt/itcms/white + i32.eqz + i32.eq + if + local.get $2 + if + local.get $4 + call $~lib/rt/itcms/Object#makeGray + else + local.get $3 + call $~lib/rt/itcms/Object#makeGray + end + else + local.get $5 + i32.const 3 + i32.eq + if (result i32) + global.get $~lib/rt/itcms/state + i32.const 1 + i32.eq + else + i32.const 0 + end + if + local.get $3 + call $~lib/rt/itcms/Object#makeGray + end + end + end + ) + (func $duplicate-fields/A2#set:bar (param $0 i32) (param $1 i32) + local.get $0 + local.get $1 + i32.store + local.get $0 + local.get $1 + i32.const 0 + call $~lib/rt/itcms/__link + ) + (func $duplicate-fields/B2#set:bar (param $0 i32) (param $1 i32) + local.get $0 + local.get $1 + i32.store + local.get $0 + local.get $1 + i32.const 0 + call $~lib/rt/itcms/__link + ) + (func $duplicate-fields/Foo#set:foo (param $0 i32) (param $1 i32) + local.get $0 + local.get $1 + i32.store + ) + (func $duplicate-fields/Bar#set:bar (param $0 i32) (param $1 i32) + local.get $0 + local.get $1 + i32.store offset=4 + ) + (func $duplicate-fields/A3#set:protProt (param $0 i32) (param $1 i32) + local.get $0 + local.get $1 + i32.store + ) + (func $duplicate-fields/A3#set:protPub (param $0 i32) (param $1 i32) + local.get $0 + local.get $1 + i32.store offset=4 + ) + (func $duplicate-fields/A3#set:pubPub (param $0 i32) (param $1 i32) + local.get $0 + local.get $1 + i32.store offset=8 + ) + (func $duplicate-fields/B3#set:protProt (param $0 i32) (param $1 i32) + local.get $0 + local.get $1 + i32.store + ) + (func $duplicate-fields/B3#set:protPub (param $0 i32) (param $1 i32) + local.get $0 + local.get $1 + i32.store offset=4 + ) + (func $duplicate-fields/B3#set:pubPub (param $0 i32) (param $1 i32) + local.get $0 + local.get $1 + i32.store offset=8 + ) + (func $duplicate-fields/B3#get:protProt (param $0 i32) (result i32) + local.get $0 + i32.load + ) + (func $duplicate-fields/B3#get:protPub (param $0 i32) (result i32) + local.get $0 + i32.load offset=4 + ) + (func $duplicate-fields/B3#get:pubPub (param $0 i32) (result i32) + local.get $0 + i32.load offset=8 + ) + (func $~lib/rt/__visit_globals (param $0 i32) + (local $1 i32) + global.get $duplicate-fields/foo + local.tee $1 + if + local.get $1 + local.get $0 + call $~lib/rt/itcms/__visit + end + global.get $duplicate-fields/raz + local.tee $1 + if + local.get $1 + local.get $0 + call $~lib/rt/itcms/__visit + end + i32.const 224 + local.get $0 + call $~lib/rt/itcms/__visit + i32.const 32 + local.get $0 + call $~lib/rt/itcms/__visit + ) + (func $~lib/arraybuffer/ArrayBufferView~visit (param $0 i32) (param $1 i32) + (local $2 i32) + local.get $0 + i32.load + local.tee $2 + if + local.get $2 + local.get $1 + call $~lib/rt/itcms/__visit + end + ) + (func $duplicate-fields/A2~visit (param $0 i32) (param $1 i32) + (local $2 i32) + local.get $0 + i32.load + local.tee $2 + if + local.get $2 + local.get $1 + call $~lib/rt/itcms/__visit + end + ) + (func $duplicate-fields/B2~visit (param $0 i32) (param $1 i32) + (local $2 i32) + local.get $0 + local.get $1 + call $duplicate-fields/A2~visit + local.get $0 + i32.load + local.tee $2 + if + local.get $2 + local.get $1 + call $~lib/rt/itcms/__visit + end + ) + (func $~lib/rt/__visit_members (param $0 i32) (param $1 i32) + block $invalid + block $duplicate-fields/A3 + block $duplicate-fields/B3 + block $duplicate-fields/Bar + block $duplicate-fields/B2 + block $duplicate-fields/Foo + block $duplicate-fields/A2 + block $duplicate-fields/B + block $duplicate-fields/A + block $~lib/arraybuffer/ArrayBufferView + block $~lib/string/String + block $~lib/arraybuffer/ArrayBuffer + local.get $0 + i32.const 8 + i32.sub + i32.load + br_table $~lib/arraybuffer/ArrayBuffer $~lib/string/String $~lib/arraybuffer/ArrayBufferView $duplicate-fields/A $duplicate-fields/B $duplicate-fields/A2 $duplicate-fields/Foo $duplicate-fields/B2 $duplicate-fields/Bar $duplicate-fields/B3 $duplicate-fields/A3 $invalid + end + return + end + return + end + local.get $0 + local.get $1 + call $~lib/arraybuffer/ArrayBufferView~visit + return + end + return + end + return + end + local.get $0 + local.get $1 + call $duplicate-fields/A2~visit + return + end + return + end + local.get $0 + local.get $1 + call $duplicate-fields/B2~visit + return + end + return + end + return + end + return + end + unreachable + ) + (func $~start + call $start:duplicate-fields + ) + (func $~stack_check + global.get $~lib/memory/__stack_pointer + global.get $~lib/memory/__data_end + i32.lt_s + if + i32.const 16976 + i32.const 17024 + i32.const 1 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + ) + (func $start:duplicate-fields + (local $0 i32) + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.sub + global.set $~lib/memory/__stack_pointer + call $~stack_check + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store + i32.const 0 + i32.const 0 + i32.eq + drop + i32.const 0 + i32.const 0 + i32.eq + drop + memory.size + i32.const 16 + i32.shl + global.get $~lib/memory/__heap_base + i32.sub + i32.const 1 + i32.shr_u + global.set $~lib/rt/itcms/threshold + i32.const 144 + call $~lib/rt/itcms/initLazy + global.set $~lib/rt/itcms/pinSpace + i32.const 176 + call $~lib/rt/itcms/initLazy + global.set $~lib/rt/itcms/toSpace + i32.const 320 + call $~lib/rt/itcms/initLazy + global.set $~lib/rt/itcms/fromSpace + i32.const 0 + i32.const 10 + call $duplicate-fields/B#constructor + global.set $duplicate-fields/foo + global.get $duplicate-fields/foo + i32.load + i32.const 10 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 432 + i32.const 15 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + i32.const 0 + i32.const 0 + i32.eq + drop + i32.const 0 + i32.const 0 + i32.eq + drop + i32.const 0 + i32.const 0 + i32.const 1 + i32.const 2 + call $duplicate-fields/Bar#constructor + local.set $0 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store + local.get $0 + call $duplicate-fields/B2#constructor + global.set $duplicate-fields/raz + global.get $duplicate-fields/raz + i32.load + i32.load offset=4 + i32.const 2 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 432 + i32.const 43 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + ) + (func $duplicate-fields/A#constructor (param $0 i32) (param $1 i32) (result i32) + (local $2 i32) + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.sub + global.set $~lib/memory/__stack_pointer + call $~stack_check + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store + local.get $0 + i32.eqz + if + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.const 3 + call $~lib/rt/itcms/__new + local.tee $0 + i32.store + end + local.get $0 + i32.const 0 + call $duplicate-fields/A#set:bar + local.get $0 + local.get $1 + call $duplicate-fields/A#set:bar + local.get $0 + local.set $2 + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $2 + ) + (func $duplicate-fields/B#constructor (param $0 i32) (param $1 i32) (result i32) + (local $2 i32) + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.sub + global.set $~lib/memory/__stack_pointer + call $~stack_check + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store + local.get $0 + i32.eqz + if + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.const 4 + call $~lib/rt/itcms/__new + local.tee $0 + i32.store + end + local.get $0 + i32.const 0 + call $duplicate-fields/B#set:bar + global.get $~lib/memory/__stack_pointer + local.get $0 + local.get $1 + call $duplicate-fields/A#constructor + local.tee $0 + i32.store + local.get $0 + local.get $1 + call $duplicate-fields/B#set:bar + local.get $0 + local.set $2 + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $2 + ) + (func $duplicate-fields/A2#constructor (param $0 i32) (param $1 i32) (result i32) + (local $2 i32) + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.sub + global.set $~lib/memory/__stack_pointer + call $~stack_check + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store + local.get $0 + i32.eqz + if + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.const 5 + call $~lib/rt/itcms/__new + local.tee $0 + i32.store + end + local.get $0 + i32.const 0 + call $duplicate-fields/A2#set:bar + local.get $0 + local.get $1 + call $duplicate-fields/A2#set:bar + local.get $0 + local.set $2 + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $2 + ) + (func $duplicate-fields/B2#constructor (param $0 i32) (param $1 i32) (result i32) + (local $2 i32) + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.sub + global.set $~lib/memory/__stack_pointer + call $~stack_check + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store + local.get $0 + i32.eqz + if + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.const 7 + call $~lib/rt/itcms/__new + local.tee $0 + i32.store + end + local.get $0 + i32.const 0 + call $duplicate-fields/B2#set:bar + global.get $~lib/memory/__stack_pointer + local.get $0 + local.get $1 + call $duplicate-fields/A2#constructor + local.tee $0 + i32.store + local.get $0 + local.get $1 + call $duplicate-fields/B2#set:bar + local.get $0 + local.set $2 + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $2 + ) + (func $duplicate-fields/Foo#constructor (param $0 i32) (param $1 i32) (result i32) + (local $2 i32) + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.sub + global.set $~lib/memory/__stack_pointer + call $~stack_check + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store + local.get $0 + i32.eqz + if + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.const 6 + call $~lib/rt/itcms/__new + local.tee $0 + i32.store + end + local.get $0 + i32.const 0 + call $duplicate-fields/Foo#set:foo + local.get $0 + local.get $1 + call $duplicate-fields/Foo#set:foo + local.get $0 + local.set $2 + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $2 + ) + (func $duplicate-fields/Bar#constructor (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (local $3 i32) + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.sub + global.set $~lib/memory/__stack_pointer + call $~stack_check + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store + local.get $0 + i32.eqz + if + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.const 8 + call $~lib/rt/itcms/__new + local.tee $0 + i32.store + end + local.get $0 + i32.const 0 + call $duplicate-fields/Bar#set:bar + global.get $~lib/memory/__stack_pointer + local.get $0 + local.get $1 + call $duplicate-fields/Foo#constructor + local.tee $0 + i32.store + local.get $0 + local.get $2 + call $duplicate-fields/Bar#set:bar + local.get $0 + local.set $3 + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $3 + ) + (func $duplicate-fields/A3#constructor (param $0 i32) (result i32) + (local $1 i32) + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.sub + global.set $~lib/memory/__stack_pointer + call $~stack_check + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store + local.get $0 + i32.eqz + if + global.get $~lib/memory/__stack_pointer + i32.const 12 + i32.const 10 + call $~lib/rt/itcms/__new + local.tee $0 + i32.store + end + local.get $0 + i32.const 0 + call $duplicate-fields/A3#set:protProt + local.get $0 + i32.const 0 + call $duplicate-fields/A3#set:protPub + local.get $0 + i32.const 0 + call $duplicate-fields/A3#set:pubPub + local.get $0 + local.set $1 + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $1 + ) + (func $duplicate-fields/B3#constructor (param $0 i32) (result i32) + (local $1 i32) + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.sub + global.set $~lib/memory/__stack_pointer + call $~stack_check + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store + local.get $0 + i32.eqz + if + global.get $~lib/memory/__stack_pointer + i32.const 12 + i32.const 9 + call $~lib/rt/itcms/__new + local.tee $0 + i32.store + end + global.get $~lib/memory/__stack_pointer + local.get $0 + call $duplicate-fields/A3#constructor + local.tee $0 + i32.store + local.get $0 + i32.const 0 + call $duplicate-fields/B3#set:protProt + local.get $0 + i32.const 0 + call $duplicate-fields/B3#set:protPub + local.get $0 + i32.const 0 + call $duplicate-fields/B3#set:pubPub + local.get $0 + local.set $1 + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $1 + ) + (func $export:duplicate-fields/B3#get:protProt (param $0 i32) (result i32) + (local $1 i32) + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.sub + global.set $~lib/memory/__stack_pointer + call $~stack_check + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store + local.get $0 + call $duplicate-fields/B3#get:protProt + local.set $1 + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $1 + ) + (func $export:duplicate-fields/B3#set:protProt (param $0 i32) (param $1 i32) + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.sub + global.set $~lib/memory/__stack_pointer + call $~stack_check + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store + local.get $0 + local.get $1 + call $duplicate-fields/B3#set:protProt + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + ) + (func $export:duplicate-fields/B3#get:protPub (param $0 i32) (result i32) + (local $1 i32) + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.sub + global.set $~lib/memory/__stack_pointer + call $~stack_check + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store + local.get $0 + call $duplicate-fields/B3#get:protPub + local.set $1 + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $1 + ) + (func $export:duplicate-fields/B3#set:protPub (param $0 i32) (param $1 i32) + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.sub + global.set $~lib/memory/__stack_pointer + call $~stack_check + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store + local.get $0 + local.get $1 + call $duplicate-fields/B3#set:protPub + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + ) + (func $export:duplicate-fields/B3#get:pubPub (param $0 i32) (result i32) + (local $1 i32) + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.sub + global.set $~lib/memory/__stack_pointer + call $~stack_check + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store + local.get $0 + call $duplicate-fields/B3#get:pubPub + local.set $1 + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $1 + ) + (func $export:duplicate-fields/B3#set:pubPub (param $0 i32) (param $1 i32) + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.sub + global.set $~lib/memory/__stack_pointer + call $~stack_check + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store + local.get $0 + local.get $1 + call $duplicate-fields/B3#set:pubPub + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + ) + (func $export:duplicate-fields/B3#constructor (param $0 i32) (result i32) + (local $1 i32) + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.sub + global.set $~lib/memory/__stack_pointer + call $~stack_check + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store + local.get $0 + call $duplicate-fields/B3#constructor + local.set $1 + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $1 + ) +) diff --git a/tests/compiler/empty-exportruntime.optimized.wat b/tests/compiler/empty-exportruntime.optimized.wat index 9973399dfc..fe98d1636f 100644 --- a/tests/compiler/empty-exportruntime.optimized.wat +++ b/tests/compiler/empty-exportruntime.optimized.wat @@ -168,10 +168,10 @@ local.get $0 call $~lib/rt/itcms/Object#unlink global.get $~lib/rt/itcms/toSpace - local.set $2 + local.set $1 local.get $0 i32.load offset=12 - local.tee $1 + local.tee $2 i32.const 1 i32.le_u if (result i32) @@ -179,7 +179,7 @@ else i32.const 1568 i32.load - local.get $1 + local.get $2 i32.lt_u if i32.const 1248 @@ -189,7 +189,7 @@ call $~lib/builtins/abort unreachable end - local.get $1 + local.get $2 i32.const 3 i32.shl i32.const 1572 @@ -199,11 +199,11 @@ i32.and end local.set $3 - local.get $2 + local.get $1 i32.load offset=8 - local.set $1 + local.set $2 local.get $0 - local.get $2 + local.get $1 global.get $~lib/rt/itcms/white i32.eqz i32.const 2 @@ -212,17 +212,17 @@ i32.or i32.store offset=4 local.get $0 - local.get $1 + local.get $2 i32.store offset=8 - local.get $1 - local.get $1 + 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 $1 local.get $0 i32.store offset=8 ) @@ -741,12 +741,12 @@ (local $0 i32) (local $1 i32) memory.size - local.tee $0 + local.tee $1 i32.const 0 i32.le_s if (result i32) i32.const 1 - local.get $0 + local.get $1 i32.sub memory.grow i32.const 0 @@ -764,11 +764,11 @@ i32.const 0 i32.store loop $for-loop|0 - local.get $1 + local.get $0 i32.const 23 i32.lt_u if - local.get $1 + local.get $0 i32.const 2 i32.shl i32.const 17984 @@ -776,14 +776,14 @@ i32.const 0 i32.store offset=4 i32.const 0 - local.set $0 + local.set $1 loop $for-loop|1 - local.get $0 + local.get $1 i32.const 16 i32.lt_u if - local.get $0 local.get $1 + local.get $0 i32.const 4 i32.shl i32.add @@ -793,17 +793,17 @@ i32.add i32.const 0 i32.store offset=96 - local.get $0 + local.get $1 i32.const 1 i32.add - local.set $0 + local.set $1 br $for-loop|1 end end - local.get $1 + local.get $0 i32.const 1 i32.add - local.set $1 + local.set $0 br $for-loop|0 end end diff --git a/tests/compiler/empty-new.optimized.wat b/tests/compiler/empty-new.optimized.wat index a4ef4381ca..f761c77533 100644 --- a/tests/compiler/empty-new.optimized.wat +++ b/tests/compiler/empty-new.optimized.wat @@ -591,12 +591,12 @@ (local $0 i32) (local $1 i32) memory.size - local.tee $0 + local.tee $1 i32.const 0 i32.le_s if (result i32) i32.const 1 - local.get $0 + local.get $1 i32.sub memory.grow i32.const 0 @@ -614,11 +614,11 @@ i32.const 0 i32.store loop $for-loop|0 - local.get $1 + local.get $0 i32.const 23 i32.lt_u if - local.get $1 + local.get $0 i32.const 2 i32.shl i32.const 17856 @@ -626,14 +626,14 @@ i32.const 0 i32.store offset=4 i32.const 0 - local.set $0 + local.set $1 loop $for-loop|1 - local.get $0 + local.get $1 i32.const 16 i32.lt_u if - local.get $0 local.get $1 + local.get $0 i32.const 4 i32.shl i32.add @@ -643,17 +643,17 @@ i32.add i32.const 0 i32.store offset=96 - local.get $0 + local.get $1 i32.const 1 i32.add - local.set $0 + local.set $1 br $for-loop|1 end end - local.get $1 + local.get $0 i32.const 1 i32.add - local.set $1 + local.set $0 br $for-loop|0 end end @@ -1279,19 +1279,19 @@ local.get $0 i32.const 20 i32.sub - local.tee $0 + local.tee $1 i32.load offset=4 i32.const 3 i32.and i32.eq if global.get $~lib/rt/itcms/iter - local.get $0 + local.get $1 i32.eq if - local.get $0 + local.get $1 i32.load offset=8 - local.tee $1 + local.tee $0 i32.eqz if i32.const 0 @@ -1301,22 +1301,22 @@ call $~lib/builtins/abort unreachable end - local.get $1 + local.get $0 global.set $~lib/rt/itcms/iter end block $__inlined_func$~lib/rt/itcms/Object#unlink - local.get $0 + local.get $1 i32.load offset=4 i32.const -4 i32.and - local.tee $1 + local.tee $0 i32.eqz if i32.const 0 - local.get $0 + local.get $1 i32.const 17852 i32.lt_u - local.get $0 + local.get $1 i32.load offset=8 select i32.eqz @@ -1330,7 +1330,7 @@ end br $__inlined_func$~lib/rt/itcms/Object#unlink end - local.get $0 + local.get $1 i32.load offset=8 local.tee $2 i32.eqz @@ -1342,7 +1342,7 @@ call $~lib/builtins/abort unreachable end - local.get $1 + local.get $0 local.get $2 i32.store offset=8 local.get $2 @@ -1350,15 +1350,15 @@ i32.load offset=4 i32.const 3 i32.and - local.get $1 + local.get $0 i32.or i32.store offset=4 end global.get $~lib/rt/itcms/toSpace local.set $2 - local.get $0 + local.get $1 i32.load offset=12 - local.tee $1 + local.tee $0 i32.const 1 i32.le_u if (result i32) @@ -1366,7 +1366,7 @@ else i32.const 1440 i32.load - local.get $1 + local.get $0 i32.lt_u if i32.const 1248 @@ -1376,7 +1376,7 @@ call $~lib/builtins/abort unreachable end - local.get $1 + local.get $0 i32.const 3 i32.shl i32.const 1444 @@ -1394,25 +1394,25 @@ local.set $3 local.get $2 i32.load offset=8 - local.set $1 - local.get $0 + local.set $0 + local.get $1 local.get $2 local.get $3 i32.or i32.store offset=4 - local.get $0 local.get $1 + local.get $0 i32.store offset=8 - local.get $1 - local.get $1 + local.get $0 + local.get $0 i32.load offset=4 i32.const 3 i32.and - local.get $0 + local.get $1 i32.or i32.store offset=4 local.get $2 - local.get $0 + local.get $1 i32.store offset=8 global.get $~lib/rt/itcms/visitCount i32.const 1 diff --git a/tests/compiler/exports.optimized.wat b/tests/compiler/exports.optimized.wat index 9acd68bb8b..5ed5161167 100644 --- a/tests/compiler/exports.optimized.wat +++ b/tests/compiler/exports.optimized.wat @@ -645,12 +645,12 @@ (local $0 i32) (local $1 i32) memory.size - local.tee $0 + local.tee $1 i32.const 0 i32.le_s if (result i32) i32.const 1 - local.get $0 + local.get $1 i32.sub memory.grow i32.const 0 @@ -668,11 +668,11 @@ i32.const 0 i32.store loop $for-loop|0 - local.get $1 + local.get $0 i32.const 23 i32.lt_u if - local.get $1 + local.get $0 i32.const 2 i32.shl i32.const 17872 @@ -680,14 +680,14 @@ i32.const 0 i32.store offset=4 i32.const 0 - local.set $0 + local.set $1 loop $for-loop|1 - local.get $0 + local.get $1 i32.const 16 i32.lt_u if - local.get $0 local.get $1 + local.get $0 i32.const 4 i32.shl i32.add @@ -697,17 +697,17 @@ i32.add i32.const 0 i32.store offset=96 - local.get $0 + local.get $1 i32.const 1 i32.add - local.set $0 + local.set $1 br $for-loop|1 end end - local.get $1 + local.get $0 i32.const 1 i32.add - local.set $1 + local.set $0 br $for-loop|0 end end @@ -1619,19 +1619,19 @@ local.get $0 i32.const 20 i32.sub - local.tee $0 + local.tee $1 i32.load offset=4 i32.const 3 i32.and i32.eq if global.get $~lib/rt/itcms/iter - local.get $0 + local.get $1 i32.eq if - local.get $0 + local.get $1 i32.load offset=8 - local.tee $1 + local.tee $0 i32.eqz if i32.const 0 @@ -1641,22 +1641,22 @@ call $~lib/builtins/abort unreachable end - local.get $1 + local.get $0 global.set $~lib/rt/itcms/iter end block $__inlined_func$~lib/rt/itcms/Object#unlink - local.get $0 + local.get $1 i32.load offset=4 i32.const -4 i32.and - local.tee $1 + local.tee $0 i32.eqz if i32.const 0 - local.get $0 + local.get $1 i32.const 17868 i32.lt_u - local.get $0 + local.get $1 i32.load offset=8 select i32.eqz @@ -1670,7 +1670,7 @@ end br $__inlined_func$~lib/rt/itcms/Object#unlink end - local.get $0 + local.get $1 i32.load offset=8 local.tee $2 i32.eqz @@ -1682,7 +1682,7 @@ call $~lib/builtins/abort unreachable end - local.get $1 + local.get $0 local.get $2 i32.store offset=8 local.get $2 @@ -1690,15 +1690,15 @@ i32.load offset=4 i32.const 3 i32.and - local.get $1 + local.get $0 i32.or i32.store offset=4 end global.get $~lib/rt/itcms/toSpace local.set $2 - local.get $0 + local.get $1 i32.load offset=12 - local.tee $1 + local.tee $0 i32.const 1 i32.le_u if (result i32) @@ -1706,7 +1706,7 @@ else i32.const 1440 i32.load - local.get $1 + local.get $0 i32.lt_u if i32.const 1248 @@ -1716,7 +1716,7 @@ call $~lib/builtins/abort unreachable end - local.get $1 + local.get $0 i32.const 3 i32.shl i32.const 1444 @@ -1734,25 +1734,25 @@ local.set $3 local.get $2 i32.load offset=8 - local.set $1 - local.get $0 + local.set $0 + local.get $1 local.get $2 local.get $3 i32.or i32.store offset=4 - local.get $0 local.get $1 + local.get $0 i32.store offset=8 - local.get $1 - local.get $1 + local.get $0 + local.get $0 i32.load offset=4 i32.const 3 i32.and - local.get $0 + local.get $1 i32.or i32.store offset=4 local.get $2 - local.get $0 + local.get $1 i32.store offset=8 global.get $~lib/rt/itcms/visitCount i32.const 1 diff --git a/tests/compiler/exportstar-rereexport.optimized.wat b/tests/compiler/exportstar-rereexport.optimized.wat index 71db4dbb90..d0902ec05e 100644 --- a/tests/compiler/exportstar-rereexport.optimized.wat +++ b/tests/compiler/exportstar-rereexport.optimized.wat @@ -646,12 +646,12 @@ (local $0 i32) (local $1 i32) memory.size - local.tee $0 + local.tee $1 i32.const 0 i32.le_s if (result i32) i32.const 1 - local.get $0 + local.get $1 i32.sub memory.grow i32.const 0 @@ -669,11 +669,11 @@ i32.const 0 i32.store loop $for-loop|0 - local.get $1 + local.get $0 i32.const 23 i32.lt_u if - local.get $1 + local.get $0 i32.const 2 i32.shl i32.const 17968 @@ -681,14 +681,14 @@ i32.const 0 i32.store offset=4 i32.const 0 - local.set $0 + local.set $1 loop $for-loop|1 - local.get $0 + local.get $1 i32.const 16 i32.lt_u if - local.get $0 local.get $1 + local.get $0 i32.const 4 i32.shl i32.add @@ -698,17 +698,17 @@ i32.add i32.const 0 i32.store offset=96 - local.get $0 + local.get $1 i32.const 1 i32.add - local.set $0 + local.set $1 br $for-loop|1 end end - local.get $1 + local.get $0 i32.const 1 i32.add - local.set $1 + local.set $0 br $for-loop|0 end end @@ -1509,19 +1509,19 @@ local.get $0 i32.const 20 i32.sub - local.tee $0 + local.tee $1 i32.load offset=4 i32.const 3 i32.and i32.eq if global.get $~lib/rt/itcms/iter - local.get $0 + local.get $1 i32.eq if - local.get $0 + local.get $1 i32.load offset=8 - local.tee $1 + local.tee $0 i32.eqz if i32.const 0 @@ -1531,22 +1531,22 @@ call $~lib/builtins/abort unreachable end - local.get $1 + local.get $0 global.set $~lib/rt/itcms/iter end block $__inlined_func$~lib/rt/itcms/Object#unlink - local.get $0 + local.get $1 i32.load offset=4 i32.const -4 i32.and - local.tee $1 + local.tee $0 i32.eqz if i32.const 0 - local.get $0 + local.get $1 i32.const 17956 i32.lt_u - local.get $0 + local.get $1 i32.load offset=8 select i32.eqz @@ -1560,7 +1560,7 @@ end br $__inlined_func$~lib/rt/itcms/Object#unlink end - local.get $0 + local.get $1 i32.load offset=8 local.tee $2 i32.eqz @@ -1572,7 +1572,7 @@ call $~lib/builtins/abort unreachable end - local.get $1 + local.get $0 local.get $2 i32.store offset=8 local.get $2 @@ -1580,15 +1580,15 @@ i32.load offset=4 i32.const 3 i32.and - local.get $1 + local.get $0 i32.or i32.store offset=4 end global.get $~lib/rt/itcms/toSpace local.set $2 - local.get $0 + local.get $1 i32.load offset=12 - local.tee $1 + local.tee $0 i32.const 1 i32.le_u if (result i32) @@ -1596,7 +1596,7 @@ else i32.const 1536 i32.load - local.get $1 + local.get $0 i32.lt_u if i32.const 1296 @@ -1606,7 +1606,7 @@ call $~lib/builtins/abort unreachable end - local.get $1 + local.get $0 i32.const 3 i32.shl i32.const 1540 @@ -1624,25 +1624,25 @@ local.set $3 local.get $2 i32.load offset=8 - local.set $1 - local.get $0 + local.set $0 + local.get $1 local.get $2 local.get $3 i32.or i32.store offset=4 - local.get $0 local.get $1 + local.get $0 i32.store offset=8 - local.get $1 - local.get $1 + local.get $0 + local.get $0 i32.load offset=4 i32.const 3 i32.and - local.get $0 + local.get $1 i32.or i32.store offset=4 local.get $2 - local.get $0 + local.get $1 i32.store offset=8 global.get $~lib/rt/itcms/visitCount i32.const 1 diff --git a/tests/compiler/extends-baseaggregate.optimized.wat b/tests/compiler/extends-baseaggregate.optimized.wat index b33d051df5..8f7b54a20f 100644 --- a/tests/compiler/extends-baseaggregate.optimized.wat +++ b/tests/compiler/extends-baseaggregate.optimized.wat @@ -741,12 +741,12 @@ (local $0 i32) (local $1 i32) memory.size - local.tee $0 + local.tee $1 i32.const 0 i32.le_s if (result i32) i32.const 1 - local.get $0 + local.get $1 i32.sub memory.grow i32.const 0 @@ -764,11 +764,11 @@ i32.const 0 i32.store loop $for-loop|0 - local.get $1 + local.get $0 i32.const 23 i32.lt_u if - local.get $1 + local.get $0 i32.const 2 i32.shl i32.const 18160 @@ -776,14 +776,14 @@ i32.const 0 i32.store offset=4 i32.const 0 - local.set $0 + local.set $1 loop $for-loop|1 - local.get $0 + local.get $1 i32.const 16 i32.lt_u if - local.get $0 local.get $1 + local.get $0 i32.const 4 i32.shl i32.add @@ -793,17 +793,17 @@ i32.add i32.const 0 i32.store offset=96 - local.get $0 + local.get $1 i32.const 1 i32.add - local.set $0 + local.set $1 br $for-loop|1 end end - local.get $1 + local.get $0 i32.const 1 i32.add - local.set $1 + local.set $0 br $for-loop|0 end end @@ -2379,10 +2379,10 @@ (local $10 i32) i32.const 1180 i32.load - local.tee $7 + local.tee $10 i32.const 1 i32.add - local.tee $8 + local.tee $9 i32.const 1176 i32.load local.tee $1 @@ -2390,7 +2390,7 @@ i32.shr_u i32.gt_u if - local.get $8 + local.get $9 i32.const 268435455 i32.gt_u if @@ -2412,9 +2412,9 @@ i32.lt_u select local.tee $1 - local.get $8 + local.get $9 i32.const 8 - local.get $8 + local.get $9 i32.const 8 i32.gt_u select @@ -2425,14 +2425,13 @@ local.get $2 i32.gt_u select - local.tee $9 + local.tee $8 i32.const 1168 i32.load - local.tee $6 - local.tee $1 + local.tee $3 i32.const 20 i32.sub - local.tee $3 + local.tee $1 i32.load i32.const -4 i32.and @@ -2440,38 +2439,41 @@ i32.sub i32.le_u if - local.get $3 - local.get $9 + local.get $1 + local.get $8 i32.store offset=16 + local.get $3 + local.set $6 br $__inlined_func$~lib/rt/itcms/__renew end - local.get $9 - local.get $3 + local.get $8 + local.get $1 i32.load offset=12 call $~lib/rt/itcms/__new - local.tee $5 + local.tee $6 local.set $2 - local.get $9 - local.get $3 + local.get $8 + local.get $1 i32.load offset=16 - local.tee $3 - local.get $3 - local.get $9 + local.tee $1 + local.get $1 + local.get $8 i32.gt_u select - local.set $10 + local.set $7 block $~lib/util/memory/memmove|inlined.0 - local.get $1 + local.get $3 + local.tee $1 local.get $2 i32.eq br_if $~lib/util/memory/memmove|inlined.0 local.get $1 local.get $2 i32.sub - local.get $10 + local.get $7 i32.sub i32.const 0 - local.get $10 + local.get $7 i32.const 1 i32.shl i32.sub @@ -2479,7 +2481,7 @@ if local.get $2 local.get $1 - local.get $10 + local.get $7 call $~lib/util/memory/memcpy br $~lib/util/memory/memmove|inlined.0 end @@ -2500,32 +2502,32 @@ i32.const 7 i32.and if - local.get $10 + local.get $7 i32.eqz br_if $~lib/util/memory/memmove|inlined.0 - local.get $10 + local.get $7 i32.const 1 i32.sub - local.set $10 + local.set $7 local.get $2 - local.tee $3 + local.tee $4 i32.const 1 i32.add local.set $2 local.get $1 - local.tee $4 + local.tee $5 i32.const 1 i32.add local.set $1 - local.get $3 local.get $4 + local.get $5 i32.load8_u i32.store8 br $while-continue|0 end end loop $while-continue|1 - local.get $10 + local.get $7 i32.const 8 i32.ge_u if @@ -2533,10 +2535,10 @@ local.get $1 i64.load i64.store - local.get $10 + local.get $7 i32.const 8 i32.sub - local.set $10 + local.set $7 local.get $2 i32.const 8 i32.add @@ -2550,26 +2552,26 @@ end end loop $while-continue|2 - local.get $10 + local.get $7 if local.get $2 - local.tee $3 + local.tee $4 i32.const 1 i32.add local.set $2 local.get $1 - local.tee $4 + local.tee $5 i32.const 1 i32.add local.set $1 - local.get $3 local.get $4 + local.get $5 i32.load8_u i32.store8 - local.get $10 + local.get $7 i32.const 1 i32.sub - local.set $10 + local.set $7 br $while-continue|2 end end @@ -2584,22 +2586,22 @@ if loop $while-continue|3 local.get $2 - local.get $10 + local.get $7 i32.add i32.const 7 i32.and if - local.get $10 + local.get $7 i32.eqz br_if $~lib/util/memory/memmove|inlined.0 - local.get $10 + local.get $7 i32.const 1 i32.sub - local.tee $10 + local.tee $7 local.get $2 i32.add local.get $1 - local.get $10 + local.get $7 i32.add i32.load8_u i32.store8 @@ -2607,18 +2609,18 @@ end end loop $while-continue|4 - local.get $10 + local.get $7 i32.const 8 i32.ge_u if - local.get $10 + local.get $7 i32.const 8 i32.sub - local.tee $10 + local.tee $7 local.get $2 i32.add local.get $1 - local.get $10 + local.get $7 i32.add i64.load i64.store @@ -2627,16 +2629,16 @@ end end loop $while-continue|5 - local.get $10 + local.get $7 if - local.get $10 + local.get $7 i32.const 1 i32.sub - local.tee $10 + local.tee $7 local.get $2 i32.add local.get $1 - local.get $10 + local.get $7 i32.add i32.load8_u i32.store8 @@ -2645,33 +2647,31 @@ end end end - local.get $5 - local.set $1 end - local.get $1 + local.get $3 local.get $6 i32.ne if i32.const 1168 - local.get $1 + local.get $6 i32.store i32.const 1172 - local.get $1 + local.get $6 i32.store - local.get $1 + local.get $6 if - local.get $1 + local.get $6 i32.const 0 call $byn-split-outlined-A$~lib/rt/itcms/__link end end i32.const 1176 - local.get $9 + local.get $8 i32.store end i32.const 1172 i32.load - local.get $7 + local.get $10 i32.const 2 i32.shl i32.add @@ -2684,7 +2684,7 @@ call $byn-split-outlined-A$~lib/rt/itcms/__link end i32.const 1180 - local.get $8 + local.get $9 i32.store ) (func $~lib/array/Array~visit (param $0 i32) @@ -2842,7 +2842,7 @@ local.tee $0 i32.store global.get $~lib/memory/__stack_pointer - global.get $~lib/memory/__stack_pointer + local.tee $1 i32.const 4 i32.sub global.set $~lib/memory/__stack_pointer @@ -2876,6 +2876,7 @@ 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 f5b4813af7..59bdece94e 100644 --- a/tests/compiler/extends-recursive.optimized.wat +++ b/tests/compiler/extends-recursive.optimized.wat @@ -730,12 +730,12 @@ (local $0 i32) (local $1 i32) memory.size - local.tee $0 + local.tee $1 i32.const 0 i32.le_s if (result i32) i32.const 1 - local.get $0 + local.get $1 i32.sub memory.grow i32.const 0 @@ -753,11 +753,11 @@ i32.const 0 i32.store loop $for-loop|0 - local.get $1 + local.get $0 i32.const 23 i32.lt_u if - local.get $1 + local.get $0 i32.const 2 i32.shl i32.const 17872 @@ -765,14 +765,14 @@ i32.const 0 i32.store offset=4 i32.const 0 - local.set $0 + local.set $1 loop $for-loop|1 - local.get $0 + local.get $1 i32.const 16 i32.lt_u if - local.get $0 local.get $1 + local.get $0 i32.const 4 i32.shl i32.add @@ -782,17 +782,17 @@ i32.add i32.const 0 i32.store offset=96 - local.get $0 + local.get $1 i32.const 1 i32.add - local.set $0 + local.set $1 br $for-loop|1 end end - local.get $1 + local.get $0 i32.const 1 i32.add - local.set $1 + local.set $0 br $for-loop|0 end end diff --git a/tests/compiler/features/reference-types.optimized.wat b/tests/compiler/features/reference-types.optimized.wat index 14391c114c..361e384253 100644 --- a/tests/compiler/features/reference-types.optimized.wat +++ b/tests/compiler/features/reference-types.optimized.wat @@ -16,7 +16,6 @@ (import "reference-types" "somethingNull" (func $features/reference-types/somethingNull (result externref))) (import "reference-types" "external" (func $features/reference-types/external (param externref) (result externref))) (global $features/reference-types/funcGlobal (mut funcref) (ref.null func)) - (global $features/reference-types/funcGlobalInit (mut funcref) (ref.null func)) (global $features/reference-types/externGlobal (mut externref) (ref.null extern)) (global $features/reference-types/anyGlobal (mut anyref) (ref.null any)) (memory $0 1) @@ -114,8 +113,6 @@ end ref.null func global.set $features/reference-types/funcGlobal - ref.null func - global.set $features/reference-types/funcGlobalInit global.get $features/reference-types/externGlobal ref.is_null i32.eqz @@ -144,17 +141,7 @@ global.set $features/reference-types/anyGlobal ref.func $features/reference-types/someFunc global.set $features/reference-types/funcGlobal - global.get $features/reference-types/funcGlobalInit - ref.is_null - if - i32.const 0 - i32.const 1056 - i32.const 108 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - global.get $features/reference-types/funcGlobal + ref.func $features/reference-types/someFunc global.set $features/reference-types/anyGlobal ) ) diff --git a/tests/compiler/features/reference-types.ts b/tests/compiler/features/reference-types.ts index 982c885c29..3fdcf874ff 100644 --- a/tests/compiler/features/reference-types.ts +++ b/tests/compiler/features/reference-types.ts @@ -105,7 +105,7 @@ testLocal(); function someFunc(): void {} funcGlobal = someFunc; -assert(funcGlobalInit); +assert(funcGlobal); var otherFuncGlobal: funcref = someFunc; assert(otherFuncGlobal); { diff --git a/tests/compiler/features/reference-types.untouched.wat b/tests/compiler/features/reference-types.untouched.wat index 593b403ef2..5bd3683a6a 100644 --- a/tests/compiler/features/reference-types.untouched.wat +++ b/tests/compiler/features/reference-types.untouched.wat @@ -404,7 +404,7 @@ call $features/reference-types/testLocal ref.func $features/reference-types/someFunc global.set $features/reference-types/funcGlobal - global.get $features/reference-types/funcGlobalInit + global.get $features/reference-types/funcGlobal ref.is_null if i32.const 0 diff --git a/tests/compiler/features/simd.optimized.wat b/tests/compiler/features/simd.optimized.wat index 95b3156975..b6c1057cda 100644 --- a/tests/compiler/features/simd.optimized.wat +++ b/tests/compiler/features/simd.optimized.wat @@ -531,12 +531,12 @@ (local $0 i32) (local $1 i32) memory.size - local.tee $0 + local.tee $1 i32.const 0 i32.le_s if (result i32) i32.const 1 - local.get $0 + local.get $1 i32.sub memory.grow i32.const 0 @@ -554,11 +554,11 @@ i32.const 0 i32.store loop $for-loop|0 - local.get $1 + local.get $0 i32.const 23 i32.lt_u if - local.get $1 + local.get $0 i32.const 2 i32.shl i32.const 17616 @@ -566,14 +566,14 @@ i32.const 0 i32.store offset=4 i32.const 0 - local.set $0 + local.set $1 loop $for-loop|1 - local.get $0 + local.get $1 i32.const 16 i32.lt_u if - local.get $0 local.get $1 + local.get $0 i32.const 4 i32.shl i32.add @@ -583,17 +583,17 @@ i32.add i32.const 0 i32.store offset=96 - local.get $0 + local.get $1 i32.const 1 i32.add - local.set $0 + local.set $1 br $for-loop|1 end end - local.get $1 + local.get $0 i32.const 1 i32.add - local.set $1 + local.set $0 br $for-loop|0 end end diff --git a/tests/compiler/field-initialization.optimized.wat b/tests/compiler/field-initialization.optimized.wat index 964b83e93f..de4c616b77 100644 --- a/tests/compiler/field-initialization.optimized.wat +++ b/tests/compiler/field-initialization.optimized.wat @@ -748,12 +748,12 @@ (local $0 i32) (local $1 i32) memory.size - local.tee $0 + local.tee $1 i32.const 0 i32.le_s if (result i32) i32.const 1 - local.get $0 + local.get $1 i32.sub memory.grow i32.const 0 @@ -771,11 +771,11 @@ i32.const 0 i32.store loop $for-loop|0 - local.get $1 + local.get $0 i32.const 23 i32.lt_u if - local.get $1 + local.get $0 i32.const 2 i32.shl i32.const 18384 @@ -783,14 +783,14 @@ i32.const 0 i32.store offset=4 i32.const 0 - local.set $0 + local.set $1 loop $for-loop|1 - local.get $0 + local.get $1 i32.const 16 i32.lt_u if - local.get $0 local.get $1 + local.get $0 i32.const 4 i32.shl i32.add @@ -800,17 +800,17 @@ i32.add i32.const 0 i32.store offset=96 - local.get $0 + local.get $1 i32.const 1 i32.add - local.set $0 + local.set $1 br $for-loop|1 end end - local.get $1 + local.get $0 i32.const 1 i32.add - local.set $1 + local.set $0 br $for-loop|0 end end @@ -1893,7 +1893,6 @@ (local $0 i32) (local $1 i32) (local $2 i32) - (local $3 i32) global.get $~lib/memory/__stack_pointer i32.const 40 i32.sub @@ -2398,32 +2397,31 @@ i32.lt_s br_if $folding-inner0 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 4 i32.const 13 call $~lib/rt/itcms/__new - local.tee $3 + local.tee $2 i32.store - local.get $3 + local.get $2 local.get $0 - local.tee $1 i32.store local.get $0 if - local.get $3 - local.get $1 + local.get $2 + local.get $0 call $byn-split-outlined-A$~lib/rt/itcms/__link end global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $3 + local.get $2 i32.store offset=4 - local.get $3 + local.get $2 i32.load local.get $0 i32.ne diff --git a/tests/compiler/field.optimized.wat b/tests/compiler/field.optimized.wat index ad24b303df..c0fb5654d4 100644 --- a/tests/compiler/field.optimized.wat +++ b/tests/compiler/field.optimized.wat @@ -726,12 +726,12 @@ (local $0 i32) (local $1 i32) memory.size - local.tee $0 + local.tee $1 i32.const 0 i32.le_s if (result i32) i32.const 1 - local.get $0 + local.get $1 i32.sub memory.grow i32.const 0 @@ -749,11 +749,11 @@ i32.const 0 i32.store loop $for-loop|0 - local.get $1 + local.get $0 i32.const 23 i32.lt_u if - local.get $1 + local.get $0 i32.const 2 i32.shl i32.const 17920 @@ -761,14 +761,14 @@ i32.const 0 i32.store offset=4 i32.const 0 - local.set $0 + local.set $1 loop $for-loop|1 - local.get $0 + local.get $1 i32.const 16 i32.lt_u if - local.get $0 local.get $1 + local.get $0 i32.const 4 i32.shl i32.add @@ -778,17 +778,17 @@ i32.add i32.const 0 i32.store offset=96 - local.get $0 + local.get $1 i32.const 1 i32.add - local.set $0 + local.set $1 br $for-loop|1 end end - local.get $1 + local.get $0 i32.const 1 i32.add - local.set $1 + local.set $0 br $for-loop|0 end end diff --git a/tests/compiler/for.optimized.wat b/tests/compiler/for.optimized.wat index b281f13bd8..449ace1ed4 100644 --- a/tests/compiler/for.optimized.wat +++ b/tests/compiler/for.optimized.wat @@ -595,12 +595,12 @@ (local $0 i32) (local $1 i32) memory.size - local.tee $0 + local.tee $1 i32.const 0 i32.le_s if (result i32) i32.const 1 - local.get $0 + local.get $1 i32.sub memory.grow i32.const 0 @@ -618,11 +618,11 @@ i32.const 0 i32.store loop $for-loop|0 - local.get $1 + local.get $0 i32.const 23 i32.lt_u if - local.get $1 + local.get $0 i32.const 2 i32.shl i32.const 17904 @@ -630,14 +630,14 @@ i32.const 0 i32.store offset=4 i32.const 0 - local.set $0 + local.set $1 loop $for-loop|1 - local.get $0 + local.get $1 i32.const 16 i32.lt_u if - local.get $0 local.get $1 + local.get $0 i32.const 4 i32.shl i32.add @@ -647,17 +647,17 @@ i32.add i32.const 0 i32.store offset=96 - local.get $0 + local.get $1 i32.const 1 i32.add - local.set $0 + local.set $1 br $for-loop|1 end end - local.get $1 + local.get $0 i32.const 1 i32.add - local.set $1 + local.set $0 br $for-loop|0 end end @@ -996,26 +996,19 @@ (local $0 i32) (local $1 i32) (local $2 i32) - (local $3 i32) - (local $4 i32) - (local $5 i32) - (local $6 i32) - (local $7 i32) - (local $8 i32) - (local $9 i32) loop $for-loop|0 - local.get $1 + local.get $0 i32.const 10 i32.lt_s if - 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 10 i32.ne if @@ -1026,19 +1019,21 @@ call $~lib/builtins/abort unreachable end + i32.const 0 + local.set $0 loop $for-loop|01 - local.get $3 + local.get $0 i32.const 10 i32.lt_s if - local.get $3 + local.get $0 i32.const 1 i32.add - local.set $3 + local.set $0 br $for-loop|01 end end - local.get $3 + local.get $0 i32.const 10 i32.ne if @@ -1050,20 +1045,20 @@ unreachable end i32.const 10 - local.set $1 + local.set $0 loop $for-loop|04 - local.get $1 + local.get $0 i32.const 0 i32.gt_s if - local.get $1 + local.get $0 i32.const 1 i32.sub - local.set $1 + local.set $0 br $for-loop|04 end end - local.get $1 + local.get $0 if i32.const 0 i32.const 1056 @@ -1072,19 +1067,21 @@ call $~lib/builtins/abort unreachable end + i32.const 0 + local.set $0 loop $for-loop|07 - local.get $4 + local.get $0 i32.const 10 i32.ne if - local.get $4 + local.get $0 i32.const 1 i32.add - local.set $4 + local.set $0 br $for-loop|07 end end - local.get $4 + local.get $0 i32.const 10 i32.ne if @@ -1096,15 +1093,15 @@ unreachable end i32.const 10 - local.set $1 + local.set $0 loop $for-loop|010 - local.get $1 + local.get $0 i32.const 1 i32.sub - local.tee $1 + local.tee $0 br_if $for-loop|010 end - local.get $1 + local.get $0 if i32.const 0 i32.const 1056 @@ -1113,16 +1110,18 @@ call $~lib/builtins/abort unreachable end + i32.const 0 + local.set $0 loop $for-loop|013 - local.get $7 + local.get $0 i32.const 1 i32.add - local.tee $7 + local.tee $0 i32.const 10 i32.ne br_if $for-loop|013 end - local.get $7 + local.get $0 i32.const 10 i32.ne if @@ -1133,19 +1132,21 @@ call $~lib/builtins/abort unreachable end + i32.const 0 + local.set $0 loop $for-loop|016 - local.get $5 + local.get $0 i32.const 10 i32.lt_s if - local.get $5 + local.get $0 i32.const 1 i32.add - local.set $5 + local.set $0 br $for-loop|016 end end - local.get $5 + local.get $0 i32.const 10 i32.ne if @@ -1156,6 +1157,8 @@ call $~lib/builtins/abort unreachable end + i32.const 0 + local.set $0 loop $for-loop|025 local.get $0 i32.const 10 @@ -1166,25 +1169,25 @@ i32.ge_s if i32.const 0 - local.set $2 + local.set $1 loop $for-loop|1 - local.get $2 + local.get $1 i32.const 10 i32.lt_s if - local.get $6 + local.get $2 i32.const 1 i32.add - local.get $6 - local.get $0 local.get $2 + local.get $0 + local.get $1 i32.lt_s select - local.set $6 - local.get $2 + local.set $2 + local.get $1 i32.const 1 i32.add - local.set $2 + local.set $1 br $for-loop|1 end end @@ -1207,7 +1210,7 @@ call $~lib/builtins/abort unreachable end - local.get $2 + local.get $1 i32.const 10 i32.ne if @@ -1218,7 +1221,7 @@ call $~lib/builtins/abort unreachable end - local.get $6 + local.get $2 i32.const 28 i32.ne if @@ -1274,6 +1277,8 @@ local.tee $0 i32.const 0 i32.store + i32.const 0 + local.set $1 local.get $0 call $for/Ref#constructor local.tee $0 @@ -1281,10 +1286,10 @@ loop $for-loop|08 local.get $0 if - local.get $8 + local.get $1 i32.const 1 i32.add - local.tee $8 + local.tee $1 i32.const 10 i32.eq if @@ -1299,7 +1304,7 @@ br $for-loop|08 end end - local.get $8 + local.get $1 i32.const 10 i32.ne if @@ -1335,6 +1340,8 @@ local.tee $0 i32.const 0 i32.store + i32.const 0 + local.set $1 local.get $0 call $for/Ref#constructor i32.store @@ -1346,10 +1353,10 @@ call $for/Ref#constructor if block $for-break011 - local.get $9 + local.get $1 i32.const 1 i32.add - local.tee $9 + local.tee $1 i32.const 10 i32.eq if @@ -1365,7 +1372,7 @@ end end end - local.get $9 + local.get $1 i32.const 10 i32.ne if @@ -1727,19 +1734,19 @@ local.get $0 i32.const 20 i32.sub - local.tee $0 + local.tee $1 i32.load offset=4 i32.const 3 i32.and i32.eq if global.get $~lib/rt/itcms/iter - local.get $0 + local.get $1 i32.eq if - local.get $0 + local.get $1 i32.load offset=8 - local.tee $1 + local.tee $0 i32.eqz if i32.const 0 @@ -1749,22 +1756,22 @@ call $~lib/builtins/abort unreachable end - local.get $1 + local.get $0 global.set $~lib/rt/itcms/iter end block $__inlined_func$~lib/rt/itcms/Object#unlink - local.get $0 + local.get $1 i32.load offset=4 i32.const -4 i32.and - local.tee $1 + local.tee $0 i32.eqz if i32.const 0 - local.get $0 + local.get $1 i32.const 17892 i32.lt_u - local.get $0 + local.get $1 i32.load offset=8 select i32.eqz @@ -1778,7 +1785,7 @@ end br $__inlined_func$~lib/rt/itcms/Object#unlink end - local.get $0 + local.get $1 i32.load offset=8 local.tee $2 i32.eqz @@ -1790,7 +1797,7 @@ call $~lib/builtins/abort unreachable end - local.get $1 + local.get $0 local.get $2 i32.store offset=8 local.get $2 @@ -1798,15 +1805,15 @@ i32.load offset=4 i32.const 3 i32.and - local.get $1 + local.get $0 i32.or i32.store offset=4 end global.get $~lib/rt/itcms/toSpace local.set $2 - local.get $0 + local.get $1 i32.load offset=12 - local.tee $1 + local.tee $0 i32.const 1 i32.le_u if (result i32) @@ -1814,7 +1821,7 @@ else i32.const 1472 i32.load - local.get $1 + local.get $0 i32.lt_u if i32.const 1280 @@ -1824,7 +1831,7 @@ call $~lib/builtins/abort unreachable end - local.get $1 + local.get $0 i32.const 3 i32.shl i32.const 1476 @@ -1842,25 +1849,25 @@ local.set $3 local.get $2 i32.load offset=8 - local.set $1 - local.get $0 + local.set $0 + local.get $1 local.get $2 local.get $3 i32.or i32.store offset=4 - local.get $0 local.get $1 + local.get $0 i32.store offset=8 - local.get $1 - local.get $1 + local.get $0 + local.get $0 i32.load offset=4 i32.const 3 i32.and - local.get $0 + local.get $1 i32.or i32.store offset=4 local.get $2 - local.get $0 + local.get $1 i32.store offset=8 global.get $~lib/rt/itcms/visitCount i32.const 1 diff --git a/tests/compiler/function-call.optimized.wat b/tests/compiler/function-call.optimized.wat index 26a04e5b86..61dbfbe950 100644 --- a/tests/compiler/function-call.optimized.wat +++ b/tests/compiler/function-call.optimized.wat @@ -633,12 +633,12 @@ (local $0 i32) (local $1 i32) memory.size - local.tee $0 + local.tee $1 i32.const 0 i32.le_s if (result i32) i32.const 1 - local.get $0 + local.get $1 i32.sub memory.grow i32.const 0 @@ -656,11 +656,11 @@ i32.const 0 i32.store loop $for-loop|0 - local.get $1 + local.get $0 i32.const 23 i32.lt_u if - local.get $1 + local.get $0 i32.const 2 i32.shl i32.const 18224 @@ -668,14 +668,14 @@ i32.const 0 i32.store offset=4 i32.const 0 - local.set $0 + local.set $1 loop $for-loop|1 - local.get $0 + local.get $1 i32.const 16 i32.lt_u if - local.get $0 local.get $1 + local.get $0 i32.const 4 i32.shl i32.add @@ -685,17 +685,17 @@ i32.add i32.const 0 i32.store offset=96 - local.get $0 + local.get $1 i32.const 1 i32.add - local.set $0 + local.set $1 br $for-loop|1 end end - local.get $1 + local.get $0 i32.const 1 i32.add - local.set $1 + local.set $0 br $for-loop|0 end end @@ -1485,19 +1485,19 @@ local.get $0 i32.const 20 i32.sub - local.tee $0 + local.tee $1 i32.load offset=4 i32.const 3 i32.and i32.eq if global.get $~lib/rt/itcms/iter - local.get $0 + local.get $1 i32.eq if - local.get $0 + local.get $1 i32.load offset=8 - local.tee $1 + local.tee $0 i32.eqz if i32.const 0 @@ -1507,22 +1507,22 @@ call $~lib/builtins/abort unreachable end - local.get $1 + local.get $0 global.set $~lib/rt/itcms/iter end block $__inlined_func$~lib/rt/itcms/Object#unlink - local.get $0 + local.get $1 i32.load offset=4 i32.const -4 i32.and - local.tee $1 + local.tee $0 i32.eqz if i32.const 0 - local.get $0 + local.get $1 i32.const 18220 i32.lt_u - local.get $0 + local.get $1 i32.load offset=8 select i32.eqz @@ -1536,7 +1536,7 @@ end br $__inlined_func$~lib/rt/itcms/Object#unlink end - local.get $0 + local.get $1 i32.load offset=8 local.tee $2 i32.eqz @@ -1548,7 +1548,7 @@ call $~lib/builtins/abort unreachable end - local.get $1 + local.get $0 local.get $2 i32.store offset=8 local.get $2 @@ -1556,15 +1556,15 @@ i32.load offset=4 i32.const 3 i32.and - local.get $1 + local.get $0 i32.or i32.store offset=4 end global.get $~lib/rt/itcms/toSpace local.set $2 - local.get $0 + local.get $1 i32.load offset=12 - local.tee $1 + local.tee $0 i32.const 1 i32.le_u if (result i32) @@ -1572,7 +1572,7 @@ else i32.const 1760 i32.load - local.get $1 + local.get $0 i32.lt_u if i32.const 1472 @@ -1582,7 +1582,7 @@ call $~lib/builtins/abort unreachable end - local.get $1 + local.get $0 i32.const 3 i32.shl i32.const 1764 @@ -1600,25 +1600,25 @@ local.set $3 local.get $2 i32.load offset=8 - local.set $1 - local.get $0 + local.set $0 + local.get $1 local.get $2 local.get $3 i32.or i32.store offset=4 - local.get $0 local.get $1 + local.get $0 i32.store offset=8 - local.get $1 - local.get $1 + local.get $0 + local.get $0 i32.load offset=4 i32.const 3 i32.and - local.get $0 + local.get $1 i32.or i32.store offset=4 local.get $2 - local.get $0 + local.get $1 i32.store offset=8 global.get $~lib/rt/itcms/visitCount i32.const 1 diff --git a/tests/compiler/function-expression.optimized.wat b/tests/compiler/function-expression.optimized.wat index dad8c5e4aa..d018580cd3 100644 --- a/tests/compiler/function-expression.optimized.wat +++ b/tests/compiler/function-expression.optimized.wat @@ -794,12 +794,12 @@ (local $0 i32) (local $1 i32) memory.size - local.tee $0 + local.tee $1 i32.const 0 i32.le_s if (result i32) i32.const 1 - local.get $0 + local.get $1 i32.sub memory.grow i32.const 0 @@ -817,11 +817,11 @@ i32.const 0 i32.store loop $for-loop|0 - local.get $1 + local.get $0 i32.const 23 i32.lt_u if - local.get $1 + local.get $0 i32.const 2 i32.shl i32.const 18592 @@ -829,14 +829,14 @@ i32.const 0 i32.store offset=4 i32.const 0 - local.set $0 + local.set $1 loop $for-loop|1 - local.get $0 + local.get $1 i32.const 16 i32.lt_u if - local.get $0 local.get $1 + local.get $0 i32.const 4 i32.shl i32.add @@ -846,17 +846,17 @@ i32.add i32.const 0 i32.store offset=96 - local.get $0 + local.get $1 i32.const 1 i32.add - local.set $0 + local.set $1 br $for-loop|1 end end - local.get $1 + local.get $0 i32.const 1 i32.add - local.set $1 + local.set $0 br $for-loop|0 end end @@ -1524,28 +1524,29 @@ i32.const 20 i32.add local.tee $0 + local.tee $2 i32.const 0 i32.store8 - local.get $0 + local.get $2 i32.const 4 i32.add - local.tee $2 + local.tee $4 i32.const 1 i32.sub i32.const 0 i32.store8 - local.get $0 + local.get $2 i32.const 0 i32.store8 offset=1 - local.get $0 + local.get $2 i32.const 0 i32.store8 offset=2 - local.get $2 + local.get $4 i32.const 2 i32.sub i32.const 0 i32.store8 - local.get $2 + local.get $4 i32.const 3 i32.sub i32.const 0 diff --git a/tests/compiler/getter-call.optimized.wat b/tests/compiler/getter-call.optimized.wat index 848473f30a..8e8d5fb2f4 100644 --- a/tests/compiler/getter-call.optimized.wat +++ b/tests/compiler/getter-call.optimized.wat @@ -598,12 +598,12 @@ (local $0 i32) (local $1 i32) memory.size - local.tee $0 + local.tee $1 i32.const 0 i32.le_s if (result i32) i32.const 1 - local.get $0 + local.get $1 i32.sub memory.grow i32.const 0 @@ -621,11 +621,11 @@ i32.const 0 i32.store loop $for-loop|0 - local.get $1 + local.get $0 i32.const 23 i32.lt_u if - local.get $1 + local.get $0 i32.const 2 i32.shl i32.const 17904 @@ -633,14 +633,14 @@ i32.const 0 i32.store offset=4 i32.const 0 - local.set $0 + local.set $1 loop $for-loop|1 - local.get $0 + local.get $1 i32.const 16 i32.lt_u if - local.get $0 local.get $1 + local.get $0 i32.const 4 i32.shl i32.add @@ -650,17 +650,17 @@ i32.add i32.const 0 i32.store offset=96 - local.get $0 + local.get $1 i32.const 1 i32.add - local.set $0 + local.set $1 br $for-loop|1 end end - local.get $1 + local.get $0 i32.const 1 i32.add - local.set $1 + local.set $0 br $for-loop|0 end end @@ -1367,19 +1367,19 @@ local.get $0 i32.const 20 i32.sub - local.tee $0 + local.tee $1 i32.load offset=4 i32.const 3 i32.and i32.eq if global.get $~lib/rt/itcms/iter - local.get $0 + local.get $1 i32.eq if - local.get $0 + local.get $1 i32.load offset=8 - local.tee $1 + local.tee $0 i32.eqz if i32.const 0 @@ -1389,22 +1389,22 @@ call $~lib/builtins/abort unreachable end - local.get $1 + local.get $0 global.set $~lib/rt/itcms/iter end block $__inlined_func$~lib/rt/itcms/Object#unlink - local.get $0 + local.get $1 i32.load offset=4 i32.const -4 i32.and - local.tee $1 + local.tee $0 i32.eqz if i32.const 0 - local.get $0 + local.get $1 i32.const 17900 i32.lt_u - local.get $0 + local.get $1 i32.load offset=8 select i32.eqz @@ -1418,7 +1418,7 @@ end br $__inlined_func$~lib/rt/itcms/Object#unlink end - local.get $0 + local.get $1 i32.load offset=8 local.tee $2 i32.eqz @@ -1430,7 +1430,7 @@ call $~lib/builtins/abort unreachable end - local.get $1 + local.get $0 local.get $2 i32.store offset=8 local.get $2 @@ -1438,15 +1438,15 @@ i32.load offset=4 i32.const 3 i32.and - local.get $1 + local.get $0 i32.or i32.store offset=4 end global.get $~lib/rt/itcms/toSpace local.set $2 - local.get $0 + local.get $1 i32.load offset=12 - local.tee $1 + local.tee $0 i32.const 1 i32.le_u if (result i32) @@ -1454,7 +1454,7 @@ else i32.const 1472 i32.load - local.get $1 + local.get $0 i32.lt_u if i32.const 1248 @@ -1464,7 +1464,7 @@ call $~lib/builtins/abort unreachable end - local.get $1 + local.get $0 i32.const 3 i32.shl i32.const 1476 @@ -1482,25 +1482,25 @@ local.set $3 local.get $2 i32.load offset=8 - local.set $1 - local.get $0 + local.set $0 + local.get $1 local.get $2 local.get $3 i32.or i32.store offset=4 - local.get $0 local.get $1 + local.get $0 i32.store offset=8 - local.get $1 - local.get $1 + local.get $0 + local.get $0 i32.load offset=4 i32.const 3 i32.and - local.get $0 + local.get $1 i32.or i32.store offset=4 local.get $2 - local.get $0 + local.get $1 i32.store offset=8 global.get $~lib/rt/itcms/visitCount i32.const 1 diff --git a/tests/compiler/heap.optimized.wat b/tests/compiler/heap.optimized.wat index 7f0815b046..395b714751 100644 --- a/tests/compiler/heap.optimized.wat +++ b/tests/compiler/heap.optimized.wat @@ -540,12 +540,12 @@ (local $0 i32) (local $1 i32) memory.size - local.tee $0 + local.tee $1 i32.const 0 i32.le_s if (result i32) i32.const 1 - local.get $0 + local.get $1 i32.sub memory.grow i32.const 0 @@ -563,11 +563,11 @@ i32.const 0 i32.store loop $for-loop|0 - local.get $1 + local.get $0 i32.const 23 i32.lt_u if - local.get $1 + local.get $0 i32.const 2 i32.shl i32.const 17664 @@ -575,14 +575,14 @@ i32.const 0 i32.store offset=4 i32.const 0 - local.set $0 + local.set $1 loop $for-loop|1 - local.get $0 + local.get $1 i32.const 16 i32.lt_u if - local.get $0 local.get $1 + local.get $0 i32.const 4 i32.shl i32.add @@ -592,17 +592,17 @@ i32.add i32.const 0 i32.store offset=96 - local.get $0 + local.get $1 i32.const 1 i32.add - local.set $0 + local.set $1 br $for-loop|1 end end - local.get $1 + local.get $0 i32.const 1 i32.add - local.set $1 + local.set $0 br $for-loop|0 end end @@ -1678,14 +1678,14 @@ local.get $0 local.get $2 call $~lib/rt/tlsf/allocateBlock - local.set $7 + local.set $6 local.get $1 i32.load i32.const -4 i32.and - local.set $6 + local.set $7 block $~lib/util/memory/memmove|inlined.0 - local.get $7 + local.get $6 i32.const 4 i32.add local.tee $2 @@ -1698,10 +1698,10 @@ local.get $3 local.get $2 i32.sub - local.get $6 + local.get $7 i32.sub i32.const 0 - local.get $6 + local.get $7 i32.const 1 i32.shl i32.sub @@ -1709,7 +1709,7 @@ if local.get $2 local.get $3 - local.get $6 + local.get $7 call $~lib/util/memory/memcpy br $~lib/util/memory/memmove|inlined.0 end @@ -1730,13 +1730,13 @@ i32.const 7 i32.and if - local.get $6 + local.get $7 i32.eqz br_if $~lib/util/memory/memmove|inlined.0 - local.get $6 + local.get $7 i32.const 1 i32.sub - local.set $6 + local.set $7 local.get $2 local.tee $4 i32.const 1 @@ -1755,7 +1755,7 @@ end end loop $while-continue|1 - local.get $6 + local.get $7 i32.const 8 i32.ge_u if @@ -1763,10 +1763,10 @@ local.get $3 i64.load i64.store - local.get $6 + local.get $7 i32.const 8 i32.sub - local.set $6 + local.set $7 local.get $2 i32.const 8 i32.add @@ -1780,7 +1780,7 @@ end end loop $while-continue|2 - local.get $6 + local.get $7 if local.get $2 local.tee $4 @@ -1796,10 +1796,10 @@ local.get $5 i32.load8_u i32.store8 - local.get $6 + local.get $7 i32.const 1 i32.sub - local.set $6 + local.set $7 br $while-continue|2 end end @@ -1814,22 +1814,22 @@ if loop $while-continue|3 local.get $2 - local.get $6 + local.get $7 i32.add i32.const 7 i32.and if - local.get $6 + local.get $7 i32.eqz br_if $~lib/util/memory/memmove|inlined.0 - local.get $6 + local.get $7 i32.const 1 i32.sub - local.tee $6 + local.tee $7 local.get $2 i32.add local.get $3 - local.get $6 + local.get $7 i32.add i32.load8_u i32.store8 @@ -1837,18 +1837,18 @@ end end loop $while-continue|4 - local.get $6 + local.get $7 i32.const 8 i32.ge_u if - local.get $6 + local.get $7 i32.const 8 i32.sub - local.tee $6 + local.tee $7 local.get $2 i32.add local.get $3 - local.get $6 + local.get $7 i32.add i64.load i64.store @@ -1857,16 +1857,16 @@ end end loop $while-continue|5 - local.get $6 + local.get $7 if - local.get $6 + local.get $7 i32.const 1 i32.sub - local.tee $6 + local.tee $7 local.get $2 i32.add local.get $3 - local.get $6 + local.get $7 i32.add i32.load8_u i32.store8 @@ -1889,7 +1889,7 @@ local.get $1 call $~lib/rt/tlsf/insertBlock end - local.get $7 + local.get $6 ) (func $~lib/memory/heap.realloc (param $0 i32) (param $1 i32) (result i32) (local $2 i32) @@ -1951,6 +1951,7 @@ i32.const 1 i32.and if + local.get $3 local.get $6 i32.const 4 i32.add @@ -1959,8 +1960,7 @@ i32.and i32.add local.tee $6 - local.get $3 - i32.ge_u + i32.le_u if local.get $2 local.get $5 diff --git a/tests/compiler/implicit-getter-setter.optimized.wat b/tests/compiler/implicit-getter-setter.optimized.wat index 1fdd91429c..c51c8286ee 100644 --- a/tests/compiler/implicit-getter-setter.optimized.wat +++ b/tests/compiler/implicit-getter-setter.optimized.wat @@ -736,12 +736,12 @@ (local $0 i32) (local $1 i32) memory.size - local.tee $0 + local.tee $1 i32.const 0 i32.le_s if (result i32) i32.const 1 - local.get $0 + local.get $1 i32.sub memory.grow i32.const 0 @@ -759,11 +759,11 @@ i32.const 0 i32.store loop $for-loop|0 - local.get $1 + local.get $0 i32.const 23 i32.lt_u if - local.get $1 + local.get $0 i32.const 2 i32.shl i32.const 17872 @@ -771,14 +771,14 @@ i32.const 0 i32.store offset=4 i32.const 0 - local.set $0 + local.set $1 loop $for-loop|1 - local.get $0 + local.get $1 i32.const 16 i32.lt_u if - local.get $0 local.get $1 + local.get $0 i32.const 4 i32.shl i32.add @@ -788,17 +788,17 @@ i32.add i32.const 0 i32.store offset=96 - local.get $0 + local.get $1 i32.const 1 i32.add - local.set $0 + local.set $1 br $for-loop|1 end end - local.get $1 + local.get $0 i32.const 1 i32.add - local.set $1 + local.set $0 br $for-loop|0 end end diff --git a/tests/compiler/infer-array.optimized.wat b/tests/compiler/infer-array.optimized.wat index 8ee55c5d7f..ec3a36d439 100644 --- a/tests/compiler/infer-array.optimized.wat +++ b/tests/compiler/infer-array.optimized.wat @@ -762,12 +762,12 @@ (local $0 i32) (local $1 i32) memory.size - local.tee $0 + local.tee $1 i32.const 0 i32.le_s if (result i32) i32.const 1 - local.get $0 + local.get $1 i32.sub memory.grow i32.const 0 @@ -785,11 +785,11 @@ i32.const 0 i32.store loop $for-loop|0 - local.get $1 + local.get $0 i32.const 23 i32.lt_u if - local.get $1 + local.get $0 i32.const 2 i32.shl i32.const 18608 @@ -797,14 +797,14 @@ i32.const 0 i32.store offset=4 i32.const 0 - local.set $0 + local.set $1 loop $for-loop|1 - local.get $0 + local.get $1 i32.const 16 i32.lt_u if - local.get $0 local.get $1 + local.get $0 i32.const 4 i32.shl i32.add @@ -814,17 +814,17 @@ i32.add i32.const 0 i32.store offset=96 - local.get $0 + local.get $1 i32.const 1 i32.add - local.set $0 + local.set $1 br $for-loop|1 end end - local.get $1 + local.get $0 i32.const 1 i32.add - local.set $1 + local.set $0 br $for-loop|0 end end @@ -2807,15 +2807,15 @@ local.get $0 local.get $1 i32.shl - local.tee $8 + local.tee $7 i32.const 0 call $~lib/rt/itcms/__new local.set $6 local.get $3 if block $~lib/util/memory/memmove|inlined.0 - local.get $8 - local.set $7 + local.get $7 + local.set $8 local.get $6 local.tee $1 local.get $3 @@ -2824,10 +2824,10 @@ local.get $3 local.get $1 i32.sub - local.get $7 + local.get $8 i32.sub i32.const 0 - local.get $7 + local.get $8 i32.const 1 i32.shl i32.sub @@ -2835,7 +2835,7 @@ if local.get $1 local.get $3 - local.get $7 + local.get $8 call $~lib/util/memory/memcpy br $~lib/util/memory/memmove|inlined.0 end @@ -2856,13 +2856,13 @@ i32.const 7 i32.and if - local.get $7 + local.get $8 i32.eqz br_if $~lib/util/memory/memmove|inlined.0 - local.get $7 + local.get $8 i32.const 1 i32.sub - local.set $7 + local.set $8 local.get $1 local.tee $4 i32.const 1 @@ -2881,7 +2881,7 @@ end end loop $while-continue|1 - local.get $7 + local.get $8 i32.const 8 i32.ge_u if @@ -2889,10 +2889,10 @@ local.get $3 i64.load i64.store - local.get $7 + local.get $8 i32.const 8 i32.sub - local.set $7 + local.set $8 local.get $1 i32.const 8 i32.add @@ -2906,7 +2906,7 @@ end end loop $while-continue|2 - local.get $7 + local.get $8 if local.get $1 local.tee $4 @@ -2922,10 +2922,10 @@ local.get $5 i32.load8_u i32.store8 - local.get $7 + local.get $8 i32.const 1 i32.sub - local.set $7 + local.set $8 br $while-continue|2 end end @@ -2940,22 +2940,22 @@ if loop $while-continue|3 local.get $1 - local.get $7 + local.get $8 i32.add i32.const 7 i32.and if - local.get $7 + local.get $8 i32.eqz br_if $~lib/util/memory/memmove|inlined.0 - local.get $7 + local.get $8 i32.const 1 i32.sub - local.tee $7 + local.tee $8 local.get $1 i32.add local.get $3 - local.get $7 + local.get $8 i32.add i32.load8_u i32.store8 @@ -2963,18 +2963,18 @@ end end loop $while-continue|4 - local.get $7 + local.get $8 i32.const 8 i32.ge_u if - local.get $7 + local.get $8 i32.const 8 i32.sub - local.tee $7 + local.tee $8 local.get $1 i32.add local.get $3 - local.get $7 + local.get $8 i32.add i64.load i64.store @@ -2983,16 +2983,16 @@ end end loop $while-continue|5 - local.get $7 + local.get $8 if - local.get $7 + local.get $8 i32.const 1 i32.sub - local.tee $7 + local.tee $8 local.get $1 i32.add local.get $3 - local.get $7 + local.get $8 i32.add i32.load8_u i32.store8 @@ -3022,7 +3022,7 @@ local.get $6 i32.store offset=4 local.get $1 - local.get $8 + local.get $7 i32.store offset=8 local.get $1 local.get $0 diff --git a/tests/compiler/infer-generic.optimized.wat b/tests/compiler/infer-generic.optimized.wat index 8b743ab165..4ac173f572 100644 --- a/tests/compiler/infer-generic.optimized.wat +++ b/tests/compiler/infer-generic.optimized.wat @@ -620,12 +620,12 @@ (local $0 i32) (local $1 i32) memory.size - local.tee $0 + local.tee $1 i32.const 0 i32.le_s if (result i32) i32.const 1 - local.get $0 + local.get $1 i32.sub memory.grow i32.const 0 @@ -643,11 +643,11 @@ i32.const 0 i32.store loop $for-loop|0 - local.get $1 + local.get $0 i32.const 23 i32.lt_u if - local.get $1 + local.get $0 i32.const 2 i32.shl i32.const 18080 @@ -655,14 +655,14 @@ i32.const 0 i32.store offset=4 i32.const 0 - local.set $0 + local.set $1 loop $for-loop|1 - local.get $0 + local.get $1 i32.const 16 i32.lt_u if - local.get $0 local.get $1 + local.get $0 i32.const 4 i32.shl i32.add @@ -672,17 +672,17 @@ i32.add i32.const 0 i32.store offset=96 - local.get $0 + local.get $1 i32.const 1 i32.add - local.set $0 + local.set $1 br $for-loop|1 end end - local.get $1 + local.get $0 i32.const 1 i32.add - local.set $1 + local.set $0 br $for-loop|0 end end @@ -1501,19 +1501,19 @@ local.get $0 i32.const 20 i32.sub - local.tee $0 + local.tee $1 i32.load offset=4 i32.const 3 i32.and i32.eq if global.get $~lib/rt/itcms/iter - local.get $0 + local.get $1 i32.eq if - local.get $0 + local.get $1 i32.load offset=8 - local.tee $1 + local.tee $0 i32.eqz if i32.const 0 @@ -1523,22 +1523,22 @@ call $~lib/builtins/abort unreachable end - local.get $1 + local.get $0 global.set $~lib/rt/itcms/iter end block $__inlined_func$~lib/rt/itcms/Object#unlink - local.get $0 + local.get $1 i32.load offset=4 i32.const -4 i32.and - local.tee $1 + local.tee $0 i32.eqz if i32.const 0 - local.get $0 + local.get $1 i32.const 18068 i32.lt_u - local.get $0 + local.get $1 i32.load offset=8 select i32.eqz @@ -1552,7 +1552,7 @@ end br $__inlined_func$~lib/rt/itcms/Object#unlink end - local.get $0 + local.get $1 i32.load offset=8 local.tee $2 i32.eqz @@ -1564,7 +1564,7 @@ call $~lib/builtins/abort unreachable end - local.get $1 + local.get $0 local.get $2 i32.store offset=8 local.get $2 @@ -1572,15 +1572,15 @@ i32.load offset=4 i32.const 3 i32.and - local.get $1 + local.get $0 i32.or i32.store offset=4 end global.get $~lib/rt/itcms/toSpace local.set $2 - local.get $0 + local.get $1 i32.load offset=12 - local.tee $1 + local.tee $0 i32.const 1 i32.le_u if (result i32) @@ -1588,7 +1588,7 @@ else i32.const 1616 i32.load - local.get $1 + local.get $0 i32.lt_u if i32.const 1424 @@ -1598,7 +1598,7 @@ call $~lib/builtins/abort unreachable end - local.get $1 + local.get $0 i32.const 3 i32.shl i32.const 1620 @@ -1616,25 +1616,25 @@ local.set $3 local.get $2 i32.load offset=8 - local.set $1 - local.get $0 + local.set $0 + local.get $1 local.get $2 local.get $3 i32.or i32.store offset=4 - local.get $0 local.get $1 + local.get $0 i32.store offset=8 - local.get $1 - local.get $1 + local.get $0 + local.get $0 i32.load offset=4 i32.const 3 i32.and - local.get $0 + local.get $1 i32.or i32.store offset=4 local.get $2 - local.get $0 + local.get $1 i32.store offset=8 global.get $~lib/rt/itcms/visitCount i32.const 1 diff --git a/tests/compiler/inlining.optimized.wat b/tests/compiler/inlining.optimized.wat index 30e159f4f7..c7349b3c06 100644 --- a/tests/compiler/inlining.optimized.wat +++ b/tests/compiler/inlining.optimized.wat @@ -607,12 +607,12 @@ (local $0 i32) (local $1 i32) memory.size - local.tee $0 + local.tee $1 i32.const 0 i32.le_s if (result i32) i32.const 1 - local.get $0 + local.get $1 i32.sub memory.grow i32.const 0 @@ -630,11 +630,11 @@ i32.const 0 i32.store loop $for-loop|0 - local.get $1 + local.get $0 i32.const 23 i32.lt_u if - local.get $1 + local.get $0 i32.const 2 i32.shl i32.const 17968 @@ -642,14 +642,14 @@ i32.const 0 i32.store offset=4 i32.const 0 - local.set $0 + local.set $1 loop $for-loop|1 - local.get $0 + local.get $1 i32.const 16 i32.lt_u if - local.get $0 local.get $1 + local.get $0 i32.const 4 i32.shl i32.add @@ -659,17 +659,17 @@ i32.add i32.const 0 i32.store offset=96 - local.get $0 + local.get $1 i32.const 1 i32.add - local.set $0 + local.set $1 br $for-loop|1 end end - local.get $1 + local.get $0 i32.const 1 i32.add - local.set $1 + local.set $0 br $for-loop|0 end end @@ -1789,19 +1789,19 @@ local.get $0 i32.const 20 i32.sub - local.tee $0 + local.tee $1 i32.load offset=4 i32.const 3 i32.and i32.eq if global.get $~lib/rt/itcms/iter - local.get $0 + local.get $1 i32.eq if - local.get $0 + local.get $1 i32.load offset=8 - local.tee $1 + local.tee $0 i32.eqz if i32.const 0 @@ -1811,22 +1811,22 @@ call $~lib/builtins/abort unreachable end - local.get $1 + local.get $0 global.set $~lib/rt/itcms/iter end block $__inlined_func$~lib/rt/itcms/Object#unlink - local.get $0 + local.get $1 i32.load offset=4 i32.const -4 i32.and - local.tee $1 + local.tee $0 i32.eqz if i32.const 0 - local.get $0 + local.get $1 i32.const 17964 i32.lt_u - local.get $0 + local.get $1 i32.load offset=8 select i32.eqz @@ -1840,7 +1840,7 @@ end br $__inlined_func$~lib/rt/itcms/Object#unlink end - local.get $0 + local.get $1 i32.load offset=8 local.tee $2 i32.eqz @@ -1852,7 +1852,7 @@ call $~lib/builtins/abort unreachable end - local.get $1 + local.get $0 local.get $2 i32.store offset=8 local.get $2 @@ -1860,15 +1860,15 @@ i32.load offset=4 i32.const 3 i32.and - local.get $1 + local.get $0 i32.or i32.store offset=4 end global.get $~lib/rt/itcms/toSpace local.set $2 - local.get $0 + local.get $1 i32.load offset=12 - local.tee $1 + local.tee $0 i32.const 1 i32.le_u if (result i32) @@ -1876,7 +1876,7 @@ else i32.const 1520 i32.load - local.get $1 + local.get $0 i32.lt_u if i32.const 1328 @@ -1886,7 +1886,7 @@ call $~lib/builtins/abort unreachable end - local.get $1 + local.get $0 i32.const 3 i32.shl i32.const 1524 @@ -1904,25 +1904,25 @@ local.set $3 local.get $2 i32.load offset=8 - local.set $1 - local.get $0 + local.set $0 + local.get $1 local.get $2 local.get $3 i32.or i32.store offset=4 - local.get $0 local.get $1 + local.get $0 i32.store offset=8 - local.get $1 - local.get $1 + local.get $0 + local.get $0 i32.load offset=4 i32.const 3 i32.and - local.get $0 + local.get $1 i32.or i32.store offset=4 local.get $2 - local.get $0 + local.get $1 i32.store offset=8 global.get $~lib/rt/itcms/visitCount i32.const 1 diff --git a/tests/compiler/instanceof-class.optimized.wat b/tests/compiler/instanceof-class.optimized.wat index 613c843881..a2b2a2fc4c 100644 --- a/tests/compiler/instanceof-class.optimized.wat +++ b/tests/compiler/instanceof-class.optimized.wat @@ -609,12 +609,12 @@ (local $0 i32) (local $1 i32) memory.size - local.tee $0 + local.tee $1 i32.const 0 i32.le_s if (result i32) i32.const 1 - local.get $0 + local.get $1 i32.sub memory.grow i32.const 0 @@ -632,11 +632,11 @@ i32.const 0 i32.store loop $for-loop|0 - local.get $1 + local.get $0 i32.const 23 i32.lt_u if - local.get $1 + local.get $0 i32.const 2 i32.shl i32.const 17952 @@ -644,14 +644,14 @@ i32.const 0 i32.store offset=4 i32.const 0 - local.set $0 + local.set $1 loop $for-loop|1 - local.get $0 + local.get $1 i32.const 16 i32.lt_u if - local.get $0 local.get $1 + local.get $0 i32.const 4 i32.shl i32.add @@ -661,17 +661,17 @@ i32.add i32.const 0 i32.store offset=96 - local.get $0 + local.get $1 i32.const 1 i32.add - local.set $0 + local.set $1 br $for-loop|1 end end - local.get $1 + local.get $0 i32.const 1 i32.add - local.set $1 + local.set $0 br $for-loop|0 end end @@ -1288,7 +1288,7 @@ local.tee $0 i32.store global.get $~lib/memory/__stack_pointer - global.get $~lib/memory/__stack_pointer + local.tee $1 i32.const 4 i32.sub global.set $~lib/memory/__stack_pointer @@ -1312,6 +1312,7 @@ 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 @@ -1338,7 +1339,7 @@ local.tee $0 i32.store global.get $~lib/memory/__stack_pointer - global.get $~lib/memory/__stack_pointer + local.tee $1 i32.const 4 i32.sub global.set $~lib/memory/__stack_pointer @@ -1362,6 +1363,7 @@ 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 @@ -1510,19 +1512,19 @@ local.get $0 i32.const 20 i32.sub - local.tee $0 + local.tee $1 i32.load offset=4 i32.const 3 i32.and i32.eq if global.get $~lib/rt/itcms/iter - local.get $0 + local.get $1 i32.eq if - local.get $0 + local.get $1 i32.load offset=8 - local.tee $1 + local.tee $0 i32.eqz if i32.const 0 @@ -1532,22 +1534,22 @@ call $~lib/builtins/abort unreachable end - local.get $1 + local.get $0 global.set $~lib/rt/itcms/iter end block $__inlined_func$~lib/rt/itcms/Object#unlink - local.get $0 + local.get $1 i32.load offset=4 i32.const -4 i32.and - local.tee $1 + local.tee $0 i32.eqz if i32.const 0 - local.get $0 + local.get $1 i32.const 17948 i32.lt_u - local.get $0 + local.get $1 i32.load offset=8 select i32.eqz @@ -1561,7 +1563,7 @@ end br $__inlined_func$~lib/rt/itcms/Object#unlink end - local.get $0 + local.get $1 i32.load offset=8 local.tee $2 i32.eqz @@ -1573,7 +1575,7 @@ call $~lib/builtins/abort unreachable end - local.get $1 + local.get $0 local.get $2 i32.store offset=8 local.get $2 @@ -1581,15 +1583,15 @@ i32.load offset=4 i32.const 3 i32.and - local.get $1 + local.get $0 i32.or i32.store offset=4 end global.get $~lib/rt/itcms/toSpace local.set $2 - local.get $0 + local.get $1 i32.load offset=12 - local.tee $1 + local.tee $0 i32.const 1 i32.le_u if (result i32) @@ -1597,7 +1599,7 @@ else i32.const 1504 i32.load - local.get $1 + local.get $0 i32.lt_u if i32.const 1248 @@ -1607,7 +1609,7 @@ call $~lib/builtins/abort unreachable end - local.get $1 + local.get $0 i32.const 3 i32.shl i32.const 1508 @@ -1625,25 +1627,25 @@ local.set $3 local.get $2 i32.load offset=8 - local.set $1 - local.get $0 + local.set $0 + local.get $1 local.get $2 local.get $3 i32.or i32.store offset=4 - local.get $0 local.get $1 + local.get $0 i32.store offset=8 - local.get $1 - local.get $1 + local.get $0 + local.get $0 i32.load offset=4 i32.const 3 i32.and - local.get $0 + local.get $1 i32.or i32.store offset=4 local.get $2 - local.get $0 + local.get $1 i32.store offset=8 global.get $~lib/rt/itcms/visitCount i32.const 1 diff --git a/tests/compiler/issues/1095.optimized.wat b/tests/compiler/issues/1095.optimized.wat index 64cec2a8aa..c9e7471807 100644 --- a/tests/compiler/issues/1095.optimized.wat +++ b/tests/compiler/issues/1095.optimized.wat @@ -730,12 +730,12 @@ (local $0 i32) (local $1 i32) memory.size - local.tee $0 + local.tee $1 i32.const 0 i32.le_s if (result i32) i32.const 1 - local.get $0 + local.get $1 i32.sub memory.grow i32.const 0 @@ -753,11 +753,11 @@ i32.const 0 i32.store loop $for-loop|0 - local.get $1 + local.get $0 i32.const 23 i32.lt_u if - local.get $1 + local.get $0 i32.const 2 i32.shl i32.const 18016 @@ -765,14 +765,14 @@ i32.const 0 i32.store offset=4 i32.const 0 - local.set $0 + local.set $1 loop $for-loop|1 - local.get $0 + local.get $1 i32.const 16 i32.lt_u if - local.get $0 local.get $1 + local.get $0 i32.const 4 i32.shl i32.add @@ -782,17 +782,17 @@ i32.add i32.const 0 i32.store offset=96 - local.get $0 + local.get $1 i32.const 1 i32.add - local.set $0 + local.set $1 br $for-loop|1 end end - local.get $1 + local.get $0 i32.const 1 i32.add - local.set $1 + local.set $0 br $for-loop|0 end end diff --git a/tests/compiler/issues/1225.optimized.wat b/tests/compiler/issues/1225.optimized.wat index b5318efd08..1b30edf1b9 100644 --- a/tests/compiler/issues/1225.optimized.wat +++ b/tests/compiler/issues/1225.optimized.wat @@ -604,12 +604,12 @@ (local $0 i32) (local $1 i32) memory.size - local.tee $0 + local.tee $1 i32.const 0 i32.le_s if (result i32) i32.const 1 - local.get $0 + local.get $1 i32.sub memory.grow i32.const 0 @@ -627,11 +627,11 @@ i32.const 0 i32.store loop $for-loop|0 - local.get $1 + local.get $0 i32.const 23 i32.lt_u if - local.get $1 + local.get $0 i32.const 2 i32.shl i32.const 17920 @@ -639,14 +639,14 @@ i32.const 0 i32.store offset=4 i32.const 0 - local.set $0 + local.set $1 loop $for-loop|1 - local.get $0 + local.get $1 i32.const 16 i32.lt_u if - local.get $0 local.get $1 + local.get $0 i32.const 4 i32.shl i32.add @@ -656,17 +656,17 @@ i32.add i32.const 0 i32.store offset=96 - local.get $0 + local.get $1 i32.const 1 i32.add - local.set $0 + local.set $1 br $for-loop|1 end end - local.get $1 + local.get $0 i32.const 1 i32.add - local.set $1 + local.set $0 br $for-loop|0 end end @@ -1573,19 +1573,19 @@ local.get $0 i32.const 20 i32.sub - local.tee $0 + local.tee $1 i32.load offset=4 i32.const 3 i32.and i32.eq if global.get $~lib/rt/itcms/iter - local.get $0 + local.get $1 i32.eq if - local.get $0 + local.get $1 i32.load offset=8 - local.tee $1 + local.tee $0 i32.eqz if i32.const 0 @@ -1595,22 +1595,22 @@ call $~lib/builtins/abort unreachable end - local.get $1 + local.get $0 global.set $~lib/rt/itcms/iter end block $__inlined_func$~lib/rt/itcms/Object#unlink - local.get $0 + local.get $1 i32.load offset=4 i32.const -4 i32.and - local.tee $1 + local.tee $0 i32.eqz if i32.const 0 - local.get $0 + local.get $1 i32.const 17908 i32.lt_u - local.get $0 + local.get $1 i32.load offset=8 select i32.eqz @@ -1624,7 +1624,7 @@ end br $__inlined_func$~lib/rt/itcms/Object#unlink end - local.get $0 + local.get $1 i32.load offset=8 local.tee $2 i32.eqz @@ -1636,7 +1636,7 @@ call $~lib/builtins/abort unreachable end - local.get $1 + local.get $0 local.get $2 i32.store offset=8 local.get $2 @@ -1644,15 +1644,15 @@ i32.load offset=4 i32.const 3 i32.and - local.get $1 + local.get $0 i32.or i32.store offset=4 end global.get $~lib/rt/itcms/toSpace local.set $2 - local.get $0 + local.get $1 i32.load offset=12 - local.tee $1 + local.tee $0 i32.const 1 i32.le_u if (result i32) @@ -1660,7 +1660,7 @@ else i32.const 1488 i32.load - local.get $1 + local.get $0 i32.lt_u if i32.const 1248 @@ -1670,7 +1670,7 @@ call $~lib/builtins/abort unreachable end - local.get $1 + local.get $0 i32.const 3 i32.shl i32.const 1492 @@ -1688,25 +1688,25 @@ local.set $3 local.get $2 i32.load offset=8 - local.set $1 - local.get $0 + local.set $0 + local.get $1 local.get $2 local.get $3 i32.or i32.store offset=4 - local.get $0 local.get $1 + local.get $0 i32.store offset=8 - local.get $1 - local.get $1 + local.get $0 + local.get $0 i32.load offset=4 i32.const 3 i32.and - local.get $0 + local.get $1 i32.or i32.store offset=4 local.get $2 - local.get $0 + local.get $1 i32.store offset=8 global.get $~lib/rt/itcms/visitCount i32.const 1 diff --git a/tests/compiler/issues/1699.optimized.wat b/tests/compiler/issues/1699.optimized.wat index 3049127451..f883c01f4b 100644 --- a/tests/compiler/issues/1699.optimized.wat +++ b/tests/compiler/issues/1699.optimized.wat @@ -737,12 +737,12 @@ (local $0 i32) (local $1 i32) memory.size - local.tee $0 + local.tee $1 i32.const 0 i32.le_s if (result i32) i32.const 1 - local.get $0 + local.get $1 i32.sub memory.grow i32.const 0 @@ -760,11 +760,11 @@ i32.const 0 i32.store loop $for-loop|0 - local.get $1 + local.get $0 i32.const 23 i32.lt_u if - local.get $1 + local.get $0 i32.const 2 i32.shl i32.const 18144 @@ -772,14 +772,14 @@ i32.const 0 i32.store offset=4 i32.const 0 - local.set $0 + local.set $1 loop $for-loop|1 - local.get $0 + local.get $1 i32.const 16 i32.lt_u if - local.get $0 local.get $1 + local.get $0 i32.const 4 i32.shl i32.add @@ -789,17 +789,17 @@ i32.add i32.const 0 i32.store offset=96 - local.get $0 + local.get $1 i32.const 1 i32.add - local.set $0 + local.set $1 br $for-loop|1 end end - local.get $1 + local.get $0 i32.const 1 i32.add - local.set $1 + local.set $0 br $for-loop|0 end end @@ -2409,7 +2409,7 @@ call $~lib/builtins/abort unreachable end - block $__inlined_func$~lib/rt/itcms/__renew + block $__inlined_func$~lib/rt/itcms/__renew (result i32) local.get $4 i32.const 1 i32.shl @@ -2433,14 +2433,13 @@ local.get $4 i32.lt_u select - local.tee $10 + local.tee $9 local.get $0 i32.load - local.tee $9 - local.tee $3 + local.tee $7 i32.const 20 i32.sub - local.tee $4 + local.tee $3 i32.load i32.const -4 i32.and @@ -2448,38 +2447,40 @@ i32.sub i32.le_u if - local.get $4 - local.get $10 + local.get $3 + local.get $9 i32.store offset=16 + local.get $7 br $__inlined_func$~lib/rt/itcms/__renew end - local.get $10 - local.get $4 + local.get $9 + local.get $3 i32.load offset=12 call $~lib/rt/itcms/__new - local.set $5 - local.get $10 - local.get $4 + local.set $8 + local.get $9 + local.get $3 i32.load offset=16 - local.tee $4 - local.get $4 - local.get $10 + local.tee $3 + local.get $3 + local.get $9 i32.gt_u select - local.set $8 + local.set $10 block $~lib/util/memory/memmove|inlined.0 - local.get $5 + local.get $8 local.tee $4 - local.get $3 + local.get $7 + local.tee $3 i32.eq br_if $~lib/util/memory/memmove|inlined.0 local.get $3 local.get $4 i32.sub - local.get $8 + local.get $10 i32.sub i32.const 0 - local.get $8 + local.get $10 i32.const 1 i32.shl i32.sub @@ -2487,7 +2488,7 @@ if local.get $4 local.get $3 - local.get $8 + local.get $10 call $~lib/util/memory/memcpy br $~lib/util/memory/memmove|inlined.0 end @@ -2508,32 +2509,32 @@ i32.const 7 i32.and if - local.get $8 + local.get $10 i32.eqz br_if $~lib/util/memory/memmove|inlined.0 - local.get $8 + local.get $10 i32.const 1 i32.sub - local.set $8 + local.set $10 local.get $4 - local.tee $6 + local.tee $5 i32.const 1 i32.add local.set $4 local.get $3 - local.tee $7 + local.tee $6 i32.const 1 i32.add local.set $3 + local.get $5 local.get $6 - local.get $7 i32.load8_u i32.store8 br $while-continue|0 end end loop $while-continue|1 - local.get $8 + local.get $10 i32.const 8 i32.ge_u if @@ -2541,10 +2542,10 @@ local.get $3 i64.load i64.store - local.get $8 + local.get $10 i32.const 8 i32.sub - local.set $8 + local.set $10 local.get $4 i32.const 8 i32.add @@ -2558,26 +2559,26 @@ end end loop $while-continue|2 - local.get $8 + local.get $10 if local.get $4 - local.tee $6 + local.tee $5 i32.const 1 i32.add local.set $4 local.get $3 - local.tee $7 + local.tee $6 i32.const 1 i32.add local.set $3 + local.get $5 local.get $6 - local.get $7 i32.load8_u i32.store8 - local.get $8 + local.get $10 i32.const 1 i32.sub - local.set $8 + local.set $10 br $while-continue|2 end end @@ -2592,22 +2593,22 @@ if loop $while-continue|3 local.get $4 - local.get $8 + local.get $10 i32.add i32.const 7 i32.and if - local.get $8 + local.get $10 i32.eqz br_if $~lib/util/memory/memmove|inlined.0 - local.get $8 + local.get $10 i32.const 1 i32.sub - local.tee $8 + local.tee $10 local.get $4 i32.add local.get $3 - local.get $8 + local.get $10 i32.add i32.load8_u i32.store8 @@ -2615,18 +2616,18 @@ end end loop $while-continue|4 - local.get $8 + local.get $10 i32.const 8 i32.ge_u if - local.get $8 + local.get $10 i32.const 8 i32.sub - local.tee $8 + local.tee $10 local.get $4 i32.add local.get $3 - local.get $8 + local.get $10 i32.add i64.load i64.store @@ -2635,16 +2636,16 @@ end end loop $while-continue|5 - local.get $8 + local.get $10 if - local.get $8 + local.get $10 i32.const 1 i32.sub - local.tee $8 + local.tee $10 local.get $4 i32.add local.get $3 - local.get $8 + local.get $10 i32.add i32.load8_u i32.store8 @@ -2653,11 +2654,10 @@ end end end - local.get $5 - local.set $3 + local.get $8 end - local.get $3 - local.get $9 + local.tee $3 + local.get $7 i32.ne if local.get $0 @@ -2675,7 +2675,7 @@ end end local.get $0 - local.get $10 + local.get $9 i32.store offset=8 end local.get $0 diff --git a/tests/compiler/issues/2166.optimized.wat b/tests/compiler/issues/2166.optimized.wat new file mode 100644 index 0000000000..49b551f77e --- /dev/null +++ b/tests/compiler/issues/2166.optimized.wat @@ -0,0 +1,1771 @@ +(module + (type $none_=>_none (func)) + (type $i32_i32_=>_none (func (param i32 i32))) + (type $i32_=>_i32 (func (param i32) (result i32))) + (type $i32_=>_none (func (param i32))) + (type $i32_i32_i32_i32_=>_none (func (param i32 i32 i32 i32))) + (type $i32_i32_i32_=>_none (func (param i32 i32 i32))) + (type $none_=>_i32 (func (result i32))) + (type $i32_i32_=>_i32 (func (param i32 i32) (result i32))) + (import "env" "abort" (func $~lib/builtins/abort (param i32 i32 i32 i32))) + (global $~lib/rt/itcms/total (mut i32) (i32.const 0)) + (global $~lib/rt/itcms/threshold (mut i32) (i32.const 0)) + (global $~lib/rt/itcms/state (mut i32) (i32.const 0)) + (global $~lib/rt/itcms/visitCount (mut i32) (i32.const 0)) + (global $~lib/rt/itcms/pinSpace (mut i32) (i32.const 0)) + (global $~lib/rt/itcms/iter (mut i32) (i32.const 0)) + (global $~lib/rt/itcms/toSpace (mut i32) (i32.const 0)) + (global $~lib/rt/itcms/white (mut i32) (i32.const 0)) + (global $~lib/rt/itcms/fromSpace (mut i32) (i32.const 0)) + (global $~lib/rt/tlsf/ROOT (mut i32) (i32.const 0)) + (global $~lib/memory/__stack_pointer (mut i32) (i32.const 18060)) + (memory $0 1) + (data (i32.const 1036) "<") + (data (i32.const 1048) "\01\00\00\00(\00\00\00A\00l\00l\00o\00c\00a\00t\00i\00o\00n\00 \00t\00o\00o\00 \00l\00a\00r\00g\00e") + (data (i32.const 1100) "<") + (data (i32.const 1112) "\01\00\00\00 \00\00\00~\00l\00i\00b\00/\00r\00t\00/\00i\00t\00c\00m\00s\00.\00t\00s") + (data (i32.const 1228) "<") + (data (i32.const 1240) "\01\00\00\00$\00\00\00I\00n\00d\00e\00x\00 \00o\00u\00t\00 \00o\00f\00 \00r\00a\00n\00g\00e") + (data (i32.const 1292) ",") + (data (i32.const 1304) "\01\00\00\00\14\00\00\00~\00l\00i\00b\00/\00r\00t\00.\00t\00s") + (data (i32.const 1372) "<") + (data (i32.const 1384) "\01\00\00\00\1e\00\00\00~\00l\00i\00b\00/\00r\00t\00/\00t\00l\00s\00f\00.\00t\00s") + (data (i32.const 1436) "\1c") + (data (i32.const 1448) "\01\00\00\00\04\00\00\001\001") + (data (i32.const 1468) "\1c") + (data (i32.const 1480) "\01\00\00\00\0c\00\00\00S\00t\00r\00i\00n\00g") + (data (i32.const 1500) ",") + (data (i32.const 1512) "\01\00\00\00\1c\00\00\00i\00s\00s\00u\00e\00s\00/\002\001\006\006\00.\00t\00s") + (data (i32.const 1548) "\1c") + (data (i32.const 1560) "\01\00\00\00\06\00\00\00i\003\002") + (data (i32.const 1580) ",") + (data (i32.const 1592) "\01\00\00\00\12\00\00\00t\00e\00s\00t\00-\002\001\006\006") + (data (i32.const 1632) "\05\00\00\00 \00\00\00\00\00\00\00 ") + (data (i32.const 1660) " \00\00\00\00\00\00\00 ") + (export "memory" (memory $0)) + (start $~start) + (func $~lib/rt/itcms/visitRoots + (local $0 i32) + (local $1 i32) + i32.const 1248 + call $byn-split-outlined-A$~lib/rt/itcms/__visit + i32.const 1056 + call $byn-split-outlined-A$~lib/rt/itcms/__visit + global.get $~lib/rt/itcms/pinSpace + local.tee $1 + i32.load offset=4 + i32.const -4 + i32.and + local.set $0 + loop $while-continue|0 + local.get $0 + local.get $1 + i32.ne + if + local.get $0 + i32.load offset=4 + i32.const 3 + i32.and + i32.const 3 + i32.ne + if + i32.const 0 + i32.const 1120 + i32.const 159 + i32.const 16 + call $~lib/builtins/abort + unreachable + end + local.get $0 + i32.const 20 + i32.add + call $~lib/rt/__visit_members + local.get $0 + i32.load offset=4 + i32.const -4 + i32.and + local.set $0 + br $while-continue|0 + end + end + ) + (func $~lib/rt/tlsf/removeBlock (param $0 i32) (param $1 i32) + (local $2 i32) + (local $3 i32) + (local $4 i32) + (local $5 i32) + local.get $1 + i32.load + local.tee $2 + i32.const 1 + i32.and + i32.eqz + if + i32.const 0 + i32.const 1392 + i32.const 268 + i32.const 14 + call $~lib/builtins/abort + unreachable + end + local.get $2 + i32.const -4 + i32.and + local.tee $2 + i32.const 12 + i32.lt_u + if + i32.const 0 + i32.const 1392 + i32.const 270 + i32.const 14 + call $~lib/builtins/abort + unreachable + end + local.get $2 + i32.const 256 + i32.lt_u + if (result i32) + local.get $2 + i32.const 4 + i32.shr_u + else + i32.const 31 + local.get $2 + i32.const 1073741820 + local.get $2 + i32.const 1073741820 + i32.lt_u + select + local.tee $2 + i32.clz + i32.sub + local.tee $4 + i32.const 7 + i32.sub + local.set $3 + local.get $2 + local.get $4 + i32.const 4 + i32.sub + i32.shr_u + i32.const 16 + i32.xor + end + local.tee $2 + i32.const 16 + i32.lt_u + local.get $3 + i32.const 23 + i32.lt_u + i32.and + i32.eqz + if + i32.const 0 + i32.const 1392 + i32.const 284 + i32.const 14 + call $~lib/builtins/abort + unreachable + end + local.get $1 + i32.load offset=8 + local.set $5 + local.get $1 + i32.load offset=4 + local.tee $4 + if + local.get $4 + local.get $5 + i32.store offset=8 + end + local.get $5 + if + local.get $5 + local.get $4 + i32.store offset=4 + end + local.get $2 + local.get $3 + i32.const 4 + i32.shl + i32.add + i32.const 2 + i32.shl + local.get $0 + i32.add + i32.load offset=96 + local.get $1 + i32.eq + if + local.get $2 + local.get $3 + i32.const 4 + i32.shl + i32.add + i32.const 2 + i32.shl + local.get $0 + i32.add + local.get $5 + i32.store offset=96 + local.get $5 + i32.eqz + if + local.get $3 + i32.const 2 + i32.shl + local.get $0 + i32.add + local.tee $1 + i32.load offset=4 + i32.const -2 + local.get $2 + i32.rotl + i32.and + local.set $2 + local.get $1 + local.get $2 + i32.store offset=4 + local.get $2 + i32.eqz + if + local.get $0 + local.get $0 + i32.load + i32.const -2 + local.get $3 + i32.rotl + i32.and + i32.store + end + end + end + ) + (func $~lib/rt/tlsf/insertBlock (param $0 i32) (param $1 i32) + (local $2 i32) + (local $3 i32) + (local $4 i32) + (local $5 i32) + (local $6 i32) + local.get $1 + i32.eqz + if + i32.const 0 + i32.const 1392 + i32.const 201 + i32.const 14 + call $~lib/builtins/abort + unreachable + end + local.get $1 + i32.load + local.tee $3 + i32.const 1 + i32.and + i32.eqz + if + i32.const 0 + i32.const 1392 + i32.const 203 + i32.const 14 + call $~lib/builtins/abort + unreachable + end + local.get $1 + i32.const 4 + i32.add + local.get $1 + i32.load + i32.const -4 + i32.and + i32.add + local.tee $4 + i32.load + local.tee $2 + i32.const 1 + i32.and + if + local.get $0 + local.get $4 + call $~lib/rt/tlsf/removeBlock + local.get $1 + local.get $3 + i32.const 4 + i32.add + local.get $2 + i32.const -4 + i32.and + i32.add + local.tee $3 + i32.store + local.get $1 + i32.const 4 + i32.add + local.get $1 + i32.load + i32.const -4 + i32.and + i32.add + local.tee $4 + i32.load + local.set $2 + end + local.get $3 + i32.const 2 + i32.and + if + local.get $1 + i32.const 4 + i32.sub + i32.load + local.tee $1 + i32.load + local.tee $6 + i32.const 1 + i32.and + i32.eqz + if + i32.const 0 + i32.const 1392 + i32.const 221 + i32.const 16 + call $~lib/builtins/abort + unreachable + end + local.get $0 + local.get $1 + call $~lib/rt/tlsf/removeBlock + local.get $1 + local.get $6 + i32.const 4 + i32.add + local.get $3 + i32.const -4 + i32.and + i32.add + local.tee $3 + i32.store + end + local.get $4 + local.get $2 + i32.const 2 + i32.or + i32.store + local.get $3 + i32.const -4 + i32.and + local.tee $2 + i32.const 12 + i32.lt_u + if + i32.const 0 + i32.const 1392 + i32.const 233 + i32.const 14 + call $~lib/builtins/abort + unreachable + end + local.get $2 + local.get $1 + i32.const 4 + i32.add + i32.add + local.get $4 + i32.ne + if + i32.const 0 + i32.const 1392 + i32.const 234 + i32.const 14 + call $~lib/builtins/abort + unreachable + end + local.get $4 + i32.const 4 + i32.sub + local.get $1 + i32.store + local.get $2 + i32.const 256 + i32.lt_u + if (result i32) + local.get $2 + i32.const 4 + i32.shr_u + else + i32.const 31 + local.get $2 + i32.const 1073741820 + local.get $2 + i32.const 1073741820 + i32.lt_u + select + local.tee $2 + i32.clz + i32.sub + local.tee $3 + i32.const 7 + i32.sub + local.set $5 + local.get $2 + local.get $3 + i32.const 4 + i32.sub + i32.shr_u + i32.const 16 + i32.xor + end + local.tee $2 + i32.const 16 + i32.lt_u + local.get $5 + i32.const 23 + i32.lt_u + i32.and + i32.eqz + if + i32.const 0 + i32.const 1392 + i32.const 251 + i32.const 14 + call $~lib/builtins/abort + unreachable + end + local.get $2 + local.get $5 + i32.const 4 + i32.shl + i32.add + i32.const 2 + i32.shl + local.get $0 + i32.add + i32.load offset=96 + local.set $3 + local.get $1 + i32.const 0 + i32.store offset=4 + local.get $1 + local.get $3 + i32.store offset=8 + local.get $3 + if + local.get $3 + local.get $1 + i32.store offset=4 + end + local.get $2 + local.get $5 + i32.const 4 + i32.shl + i32.add + i32.const 2 + i32.shl + local.get $0 + i32.add + local.get $1 + i32.store offset=96 + local.get $0 + local.get $0 + i32.load + i32.const 1 + local.get $5 + i32.shl + i32.or + i32.store + local.get $5 + i32.const 2 + i32.shl + local.get $0 + i32.add + local.tee $0 + local.get $0 + i32.load offset=4 + i32.const 1 + local.get $2 + i32.shl + i32.or + i32.store offset=4 + ) + (func $~lib/rt/tlsf/addMemory (param $0 i32) (param $1 i32) (param $2 i32) + (local $3 i32) + (local $4 i32) + local.get $1 + local.get $2 + i32.gt_u + if + i32.const 0 + i32.const 1392 + i32.const 377 + i32.const 14 + call $~lib/builtins/abort + unreachable + end + local.get $1 + i32.const 19 + i32.add + i32.const -16 + i32.and + i32.const 4 + i32.sub + local.set $1 + local.get $0 + i32.load offset=1568 + local.tee $4 + if + local.get $1 + local.get $4 + i32.const 4 + i32.add + i32.lt_u + if + i32.const 0 + i32.const 1392 + i32.const 384 + i32.const 16 + call $~lib/builtins/abort + unreachable + end + local.get $4 + local.get $1 + i32.const 16 + i32.sub + i32.eq + if + local.get $4 + i32.load + local.set $3 + local.get $1 + i32.const 16 + i32.sub + local.set $1 + end + else + local.get $1 + local.get $0 + i32.const 1572 + i32.add + i32.lt_u + if + i32.const 0 + i32.const 1392 + i32.const 397 + i32.const 5 + call $~lib/builtins/abort + unreachable + end + end + local.get $2 + i32.const -16 + i32.and + local.get $1 + i32.sub + local.tee $2 + i32.const 20 + i32.lt_u + if + return + end + local.get $1 + local.get $3 + i32.const 2 + i32.and + local.get $2 + i32.const 8 + i32.sub + local.tee $2 + i32.const 1 + i32.or + i32.or + i32.store + local.get $1 + i32.const 0 + i32.store offset=4 + local.get $1 + i32.const 0 + i32.store offset=8 + local.get $2 + local.get $1 + i32.const 4 + i32.add + i32.add + local.tee $2 + i32.const 2 + i32.store + local.get $0 + local.get $2 + i32.store offset=1568 + local.get $0 + local.get $1 + call $~lib/rt/tlsf/insertBlock + ) + (func $~lib/rt/tlsf/initialize + (local $0 i32) + (local $1 i32) + memory.size + local.tee $1 + i32.const 0 + i32.le_s + if (result i32) + i32.const 1 + local.get $1 + i32.sub + memory.grow + i32.const 0 + i32.lt_s + else + i32.const 0 + end + if + unreachable + end + i32.const 18064 + i32.const 0 + i32.store + i32.const 19632 + i32.const 0 + i32.store + loop $for-loop|0 + local.get $0 + i32.const 23 + i32.lt_u + if + local.get $0 + i32.const 2 + i32.shl + i32.const 18064 + i32.add + i32.const 0 + i32.store offset=4 + i32.const 0 + local.set $1 + loop $for-loop|1 + local.get $1 + i32.const 16 + i32.lt_u + if + local.get $1 + local.get $0 + i32.const 4 + i32.shl + i32.add + i32.const 2 + i32.shl + i32.const 18064 + i32.add + i32.const 0 + i32.store offset=96 + local.get $1 + i32.const 1 + i32.add + local.set $1 + br $for-loop|1 + end + end + local.get $0 + i32.const 1 + i32.add + local.set $0 + br $for-loop|0 + end + end + i32.const 18064 + i32.const 19636 + memory.size + i32.const 16 + i32.shl + call $~lib/rt/tlsf/addMemory + i32.const 18064 + global.set $~lib/rt/tlsf/ROOT + ) + (func $~lib/rt/itcms/step (result i32) + (local $0 i32) + (local $1 i32) + (local $2 i32) + block $break|0 + block $case2|0 + block $case1|0 + block $case0|0 + global.get $~lib/rt/itcms/state + br_table $case0|0 $case1|0 $case2|0 $break|0 + end + i32.const 1 + global.set $~lib/rt/itcms/state + i32.const 0 + global.set $~lib/rt/itcms/visitCount + call $~lib/rt/itcms/visitRoots + global.get $~lib/rt/itcms/toSpace + global.set $~lib/rt/itcms/iter + global.get $~lib/rt/itcms/visitCount + return + end + global.get $~lib/rt/itcms/white + i32.eqz + local.set $1 + global.get $~lib/rt/itcms/iter + i32.load offset=4 + i32.const -4 + i32.and + local.set $0 + loop $while-continue|1 + global.get $~lib/rt/itcms/toSpace + local.get $0 + i32.ne + if + local.get $0 + global.set $~lib/rt/itcms/iter + local.get $0 + i32.load offset=4 + i32.const 3 + i32.and + local.get $1 + i32.ne + if + local.get $0 + local.get $1 + local.get $0 + i32.load offset=4 + i32.const -4 + i32.and + i32.or + i32.store offset=4 + i32.const 0 + global.set $~lib/rt/itcms/visitCount + local.get $0 + i32.const 20 + i32.add + call $~lib/rt/__visit_members + global.get $~lib/rt/itcms/visitCount + return + end + local.get $0 + i32.load offset=4 + i32.const -4 + i32.and + local.set $0 + br $while-continue|1 + end + end + i32.const 0 + global.set $~lib/rt/itcms/visitCount + call $~lib/rt/itcms/visitRoots + global.get $~lib/rt/itcms/toSpace + global.get $~lib/rt/itcms/iter + i32.load offset=4 + i32.const -4 + i32.and + i32.eq + if + global.get $~lib/memory/__stack_pointer + local.set $0 + loop $while-continue|0 + local.get $0 + i32.const 18060 + i32.lt_u + if + local.get $0 + i32.load + local.tee $2 + if + local.get $2 + call $byn-split-outlined-A$~lib/rt/itcms/__visit + end + local.get $0 + i32.const 4 + i32.add + local.set $0 + br $while-continue|0 + end + end + global.get $~lib/rt/itcms/iter + i32.load offset=4 + i32.const -4 + i32.and + local.set $0 + loop $while-continue|2 + global.get $~lib/rt/itcms/toSpace + local.get $0 + i32.ne + if + local.get $0 + i32.load offset=4 + i32.const 3 + i32.and + local.get $1 + i32.ne + if + local.get $0 + local.get $1 + local.get $0 + i32.load offset=4 + i32.const -4 + i32.and + i32.or + i32.store offset=4 + local.get $0 + i32.const 20 + i32.add + call $~lib/rt/__visit_members + end + local.get $0 + i32.load offset=4 + i32.const -4 + i32.and + local.set $0 + br $while-continue|2 + end + end + global.get $~lib/rt/itcms/fromSpace + local.set $0 + global.get $~lib/rt/itcms/toSpace + global.set $~lib/rt/itcms/fromSpace + local.get $0 + global.set $~lib/rt/itcms/toSpace + local.get $1 + global.set $~lib/rt/itcms/white + local.get $0 + i32.load offset=4 + i32.const -4 + i32.and + global.set $~lib/rt/itcms/iter + i32.const 2 + global.set $~lib/rt/itcms/state + end + global.get $~lib/rt/itcms/visitCount + return + end + global.get $~lib/rt/itcms/iter + local.tee $0 + global.get $~lib/rt/itcms/toSpace + i32.ne + if + local.get $0 + i32.load offset=4 + local.tee $1 + i32.const -4 + i32.and + global.set $~lib/rt/itcms/iter + global.get $~lib/rt/itcms/white + i32.eqz + local.get $1 + i32.const 3 + i32.and + i32.ne + if + i32.const 0 + i32.const 1120 + i32.const 228 + i32.const 20 + call $~lib/builtins/abort + unreachable + end + local.get $0 + i32.const 18060 + i32.lt_u + if + local.get $0 + i32.const 0 + i32.store offset=4 + local.get $0 + i32.const 0 + i32.store offset=8 + else + global.get $~lib/rt/itcms/total + local.get $0 + i32.load + i32.const -4 + i32.and + i32.const 4 + i32.add + i32.sub + global.set $~lib/rt/itcms/total + local.get $0 + i32.const 4 + i32.add + local.tee $0 + i32.const 18060 + i32.ge_u + if + global.get $~lib/rt/tlsf/ROOT + i32.eqz + if + call $~lib/rt/tlsf/initialize + end + global.get $~lib/rt/tlsf/ROOT + local.get $0 + i32.const 4 + i32.sub + local.set $2 + local.get $0 + i32.const 15 + i32.and + i32.const 1 + local.get $0 + select + if (result i32) + i32.const 1 + else + local.get $2 + i32.load + i32.const 1 + i32.and + end + if + i32.const 0 + i32.const 1392 + i32.const 559 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $2 + local.get $2 + i32.load + i32.const 1 + i32.or + i32.store + local.get $2 + call $~lib/rt/tlsf/insertBlock + end + end + i32.const 10 + return + end + global.get $~lib/rt/itcms/toSpace + local.tee $0 + local.get $0 + i32.store offset=4 + local.get $0 + local.get $0 + i32.store offset=8 + i32.const 0 + global.set $~lib/rt/itcms/state + end + i32.const 0 + ) + (func $~lib/rt/tlsf/searchBlock (param $0 i32) (result i32) + (local $1 i32) + (local $2 i32) + local.get $0 + i32.load offset=4 + i32.const -2 + i32.and + local.tee $1 + if (result i32) + local.get $1 + i32.ctz + i32.const 2 + i32.shl + local.get $0 + i32.add + i32.load offset=96 + else + local.get $0 + i32.load + i32.const -2 + i32.and + local.tee $1 + if (result i32) + local.get $1 + i32.ctz + local.tee $2 + i32.const 2 + i32.shl + local.get $0 + i32.add + i32.load offset=4 + local.tee $1 + i32.eqz + if + i32.const 0 + i32.const 1392 + i32.const 343 + i32.const 18 + call $~lib/builtins/abort + unreachable + end + local.get $1 + i32.ctz + local.get $2 + i32.const 4 + i32.shl + i32.add + i32.const 2 + i32.shl + local.get $0 + i32.add + i32.load offset=96 + else + i32.const 0 + end + end + ) + (func $~lib/rt/itcms/__new (param $0 i32) (result i32) + (local $1 i32) + (local $2 i32) + (local $3 i32) + (local $4 i32) + global.get $~lib/rt/itcms/total + global.get $~lib/rt/itcms/threshold + i32.ge_u + if + block $__inlined_func$~lib/rt/itcms/interrupt + i32.const 2048 + local.set $1 + loop $do-loop|0 + local.get $1 + call $~lib/rt/itcms/step + i32.sub + local.set $1 + global.get $~lib/rt/itcms/state + i32.eqz + if + global.get $~lib/rt/itcms/total + i64.extend_i32_u + i64.const 200 + i64.mul + i64.const 100 + i64.div_u + i32.wrap_i64 + i32.const 1024 + i32.add + global.set $~lib/rt/itcms/threshold + br $__inlined_func$~lib/rt/itcms/interrupt + end + local.get $1 + i32.const 0 + i32.gt_s + br_if $do-loop|0 + end + global.get $~lib/rt/itcms/total + local.tee $1 + global.get $~lib/rt/itcms/threshold + i32.sub + i32.const 1024 + i32.lt_u + i32.const 10 + i32.shl + local.get $1 + i32.add + global.set $~lib/rt/itcms/threshold + end + end + global.get $~lib/rt/tlsf/ROOT + i32.eqz + if + call $~lib/rt/tlsf/initialize + end + global.get $~lib/rt/tlsf/ROOT + local.tee $2 + call $~lib/rt/tlsf/searchBlock + local.tee $1 + i32.eqz + if + memory.size + local.tee $1 + i32.const 4 + local.get $2 + i32.load offset=1568 + local.get $1 + i32.const 16 + i32.shl + i32.const 4 + i32.sub + i32.ne + i32.shl + i32.const 65563 + i32.add + i32.const -65536 + i32.and + i32.const 16 + i32.shr_u + local.tee $3 + local.get $1 + local.get $3 + i32.gt_s + select + memory.grow + i32.const 0 + i32.lt_s + if + local.get $3 + memory.grow + i32.const 0 + i32.lt_s + if + unreachable + end + end + local.get $2 + local.get $1 + i32.const 16 + i32.shl + memory.size + i32.const 16 + i32.shl + call $~lib/rt/tlsf/addMemory + local.get $2 + call $~lib/rt/tlsf/searchBlock + local.tee $1 + i32.eqz + if + i32.const 0 + i32.const 1392 + i32.const 496 + i32.const 16 + call $~lib/builtins/abort + unreachable + end + end + local.get $1 + i32.load + i32.const -4 + i32.and + i32.const 28 + i32.lt_u + if + i32.const 0 + i32.const 1392 + i32.const 498 + i32.const 14 + call $~lib/builtins/abort + unreachable + end + local.get $2 + local.get $1 + call $~lib/rt/tlsf/removeBlock + local.get $1 + i32.load + local.tee $4 + i32.const -4 + i32.and + i32.const 28 + i32.sub + local.tee $3 + i32.const 16 + i32.ge_u + if + local.get $1 + local.get $4 + i32.const 2 + i32.and + i32.const 28 + i32.or + i32.store + local.get $1 + i32.const 32 + i32.add + local.tee $4 + local.get $3 + i32.const 4 + i32.sub + i32.const 1 + i32.or + i32.store + local.get $2 + local.get $4 + call $~lib/rt/tlsf/insertBlock + else + local.get $1 + local.get $4 + i32.const -2 + i32.and + i32.store + local.get $1 + i32.const 4 + i32.add + local.get $1 + i32.load + i32.const -4 + i32.and + i32.add + local.tee $2 + local.get $2 + i32.load + i32.const -3 + i32.and + i32.store + end + local.get $1 + local.get $0 + i32.store offset=12 + local.get $1 + i32.const 0 + i32.store offset=16 + global.get $~lib/rt/itcms/fromSpace + local.tee $0 + i32.load offset=8 + local.set $2 + local.get $1 + 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 $2 + i32.load offset=4 + i32.const 3 + i32.and + local.get $1 + i32.or + i32.store offset=4 + local.get $0 + local.get $1 + i32.store offset=8 + global.get $~lib/rt/itcms/total + local.get $1 + i32.load + i32.const -4 + i32.and + i32.const 4 + i32.add + i32.add + global.set $~lib/rt/itcms/total + local.get $1 + i32.const 20 + i32.add + ) + (func $~lib/string/String.__eq (param $0 i32) (param $1 i32) (result i32) + (local $2 i32) + (local $3 i32) + (local $4 i32) + (local $5 i32) + local.get $0 + local.get $1 + i32.eq + if + i32.const 1 + return + end + local.get $1 + i32.const 0 + local.get $0 + select + i32.eqz + if + i32.const 0 + return + end + local.get $0 + i32.const 20 + i32.sub + i32.load offset=16 + i32.const 1 + i32.shr_u + local.tee $3 + local.get $1 + i32.const 20 + i32.sub + i32.load offset=16 + i32.const 1 + i32.shr_u + i32.ne + if + i32.const 0 + return + end + local.get $0 + local.tee $2 + i32.const 7 + i32.and + local.get $1 + i32.const 7 + i32.and + i32.or + i32.eqz + local.get $3 + local.tee $0 + i32.const 4 + i32.ge_u + i32.and + if + loop $do-loop|0 + local.get $2 + i64.load + local.get $1 + i64.load + i64.eq + if + local.get $2 + i32.const 8 + i32.add + local.set $2 + local.get $1 + i32.const 8 + i32.add + local.set $1 + local.get $0 + i32.const 4 + i32.sub + local.tee $0 + i32.const 4 + i32.ge_u + br_if $do-loop|0 + end + end + end + block $__inlined_func$~lib/util/string/compareImpl + loop $while-continue|1 + local.get $0 + local.tee $3 + i32.const 1 + i32.sub + local.set $0 + local.get $3 + if + local.get $2 + i32.load16_u + local.tee $5 + local.get $1 + i32.load16_u + local.tee $4 + i32.sub + local.set $3 + local.get $4 + local.get $5 + i32.ne + br_if $__inlined_func$~lib/util/string/compareImpl + local.get $2 + i32.const 2 + i32.add + local.set $2 + local.get $1 + i32.const 2 + i32.add + local.set $1 + br $while-continue|1 + end + end + i32.const 0 + local.set $3 + end + local.get $3 + i32.eqz + ) + (func $~lib/rt/__visit_members (param $0 i32) + block $invalid + block $issues/2166/Test2166Ref2 + block $issues/2166/Test2166Ref1<~lib/string/String> + block $~lib/arraybuffer/ArrayBufferView + block $~lib/string/String + block $~lib/arraybuffer/ArrayBuffer + local.get $0 + i32.const 8 + i32.sub + i32.load + br_table $~lib/arraybuffer/ArrayBuffer $~lib/string/String $~lib/arraybuffer/ArrayBufferView $issues/2166/Test2166Ref1<~lib/string/String> $issues/2166/Test2166Ref2 $invalid + end + return + end + return + end + local.get $0 + i32.load + local.tee $0 + if + local.get $0 + call $byn-split-outlined-A$~lib/rt/itcms/__visit + end + return + end + return + end + return + end + unreachable + ) + (func $~start + (local $0 i32) + (local $1 i32) + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.sub + global.set $~lib/memory/__stack_pointer + block $folding-inner0 + global.get $~lib/memory/__stack_pointer + i32.const 1676 + i32.lt_s + br_if $folding-inner0 + global.get $~lib/memory/__stack_pointer + local.tee $0 + i64.const 0 + i64.store + memory.size + i32.const 16 + i32.shl + i32.const 18060 + i32.sub + i32.const 1 + i32.shr_u + global.set $~lib/rt/itcms/threshold + i32.const 1172 + i32.const 1168 + i32.store + i32.const 1176 + i32.const 1168 + i32.store + i32.const 1168 + global.set $~lib/rt/itcms/pinSpace + i32.const 1204 + i32.const 1200 + i32.store + i32.const 1208 + i32.const 1200 + i32.store + i32.const 1200 + global.set $~lib/rt/itcms/toSpace + i32.const 1348 + i32.const 1344 + i32.store + i32.const 1352 + i32.const 1344 + i32.store + i32.const 1344 + global.set $~lib/rt/itcms/fromSpace + local.get $0 + i32.const 8 + i32.sub + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 1676 + i32.lt_s + br_if $folding-inner0 + global.get $~lib/memory/__stack_pointer + local.tee $0 + i64.const 0 + i64.store + local.get $0 + i32.const 4 + i32.sub + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 1676 + i32.lt_s + br_if $folding-inner0 + global.get $~lib/memory/__stack_pointer + local.tee $1 + i32.const 0 + i32.store + local.get $1 + i32.const 3 + call $~lib/rt/itcms/__new + local.tee $1 + i32.store + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $0 + local.get $1 + i32.store + global.get $~lib/memory/__stack_pointer + i32.const 1456 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.sub + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 1676 + i32.lt_s + br_if $folding-inner0 + global.get $~lib/memory/__stack_pointer + local.tee $0 + i64.const 0 + i64.store + local.get $0 + i32.const 1488 + i32.store + local.get $0 + i32.const 1488 + i32.store offset=4 + i32.const 1488 + i32.const 1488 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 1520 + i32.const 9 + i32.const 5 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.tee $0 + i32.const 1568 + i32.store + local.get $0 + i32.const 1568 + i32.store offset=4 + i32.const 1568 + i32.const 1568 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 1520 + i32.const 10 + i32.const 5 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 12 + i32.sub + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 1676 + 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 $1 + i32.const 0 + i32.store offset=8 + local.get $0 + i32.const 4 + call $~lib/rt/itcms/__new + local.tee $0 + i32.store + global.get $~lib/memory/__stack_pointer + local.tee $1 + i32.const 1568 + i32.store offset=4 + local.get $1 + i32.const 1568 + i32.store offset=8 + i32.const 1568 + i32.const 1568 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 1520 + i32.const 18 + i32.const 5 + 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 + local.get $0 + i32.store + global.get $~lib/memory/__stack_pointer + i32.const 1600 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.sub + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 1676 + i32.lt_s + br_if $folding-inner0 + global.get $~lib/memory/__stack_pointer + local.tee $0 + i64.const 0 + i64.store + local.get $0 + i32.const 1488 + i32.store + local.get $0 + i32.const 1488 + i32.store offset=4 + i32.const 1488 + i32.const 1488 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 1520 + i32.const 22 + i32.const 5 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + return + end + i32.const 18080 + i32.const 18128 + i32.const 1 + i32.const 1 + call $~lib/builtins/abort + unreachable + ) + (func $byn-split-outlined-A$~lib/rt/itcms/__visit (param $0 i32) + (local $1 i32) + (local $2 i32) + (local $3 i32) + global.get $~lib/rt/itcms/white + local.get $0 + i32.const 20 + i32.sub + local.tee $1 + i32.load offset=4 + i32.const 3 + i32.and + i32.eq + if + global.get $~lib/rt/itcms/iter + local.get $1 + i32.eq + if + local.get $1 + i32.load offset=8 + local.tee $0 + i32.eqz + if + i32.const 0 + i32.const 1120 + i32.const 147 + i32.const 30 + call $~lib/builtins/abort + unreachable + end + local.get $0 + global.set $~lib/rt/itcms/iter + end + block $__inlined_func$~lib/rt/itcms/Object#unlink + local.get $1 + i32.load offset=4 + i32.const -4 + i32.and + local.tee $0 + i32.eqz + if + i32.const 0 + local.get $1 + i32.const 18060 + i32.lt_u + local.get $1 + i32.load offset=8 + select + i32.eqz + if + i32.const 0 + i32.const 1120 + i32.const 127 + i32.const 18 + call $~lib/builtins/abort + unreachable + end + br $__inlined_func$~lib/rt/itcms/Object#unlink + end + local.get $1 + i32.load offset=8 + local.tee $2 + i32.eqz + if + i32.const 0 + i32.const 1120 + i32.const 131 + i32.const 16 + call $~lib/builtins/abort + unreachable + end + local.get $0 + local.get $2 + i32.store offset=8 + local.get $2 + local.get $2 + i32.load offset=4 + i32.const 3 + i32.and + local.get $0 + i32.or + i32.store offset=4 + end + global.get $~lib/rt/itcms/toSpace + local.set $2 + local.get $1 + i32.load offset=12 + local.tee $0 + i32.const 1 + i32.le_u + if (result i32) + i32.const 1 + else + i32.const 1632 + i32.load + local.get $0 + i32.lt_u + if + i32.const 1248 + i32.const 1312 + i32.const 22 + i32.const 28 + call $~lib/builtins/abort + unreachable + end + local.get $0 + i32.const 3 + i32.shl + i32.const 1636 + i32.add + i32.load + i32.const 32 + i32.and + end + if (result i32) + global.get $~lib/rt/itcms/white + i32.eqz + else + i32.const 2 + end + local.set $3 + local.get $2 + i32.load offset=8 + local.set $0 + local.get $1 + local.get $2 + local.get $3 + i32.or + i32.store offset=4 + local.get $1 + local.get $0 + i32.store offset=8 + local.get $0 + local.get $0 + i32.load offset=4 + i32.const 3 + i32.and + local.get $1 + i32.or + i32.store offset=4 + local.get $2 + local.get $1 + i32.store offset=8 + global.get $~lib/rt/itcms/visitCount + i32.const 1 + i32.add + global.set $~lib/rt/itcms/visitCount + end + ) +) diff --git a/tests/compiler/issues/2166.ts b/tests/compiler/issues/2166.ts new file mode 100644 index 0000000000..87fe888211 --- /dev/null +++ b/tests/compiler/issues/2166.ts @@ -0,0 +1,25 @@ +// case 1 +function testfunc2166(): void { + let a = new Test2166Ref1(); + // class generic should override non-related function generic(testfunc2166): T in fn is string + a.fn("11", 1); +} +class Test2166Ref1 { + fn(a1: T, a2: U): void { + assert(nameof() == nameof()); + assert(nameof() == nameof(1)); + } +} +testfunc2166(); + +// case 2 +class Test2166Ref2 { + constructor() { + assert(nameof() == nameof()); + } + bar(i: T): void { + // function generic should override class generic, T in bar is string + assert(nameof() == nameof()); + } +} +new Test2166Ref2().bar("test-2166"); diff --git a/tests/compiler/rc/rereturn.untouched.wat b/tests/compiler/issues/2166.untouched.wat similarity index 55% rename from tests/compiler/rc/rereturn.untouched.wat rename to tests/compiler/issues/2166.untouched.wat index dc5291e315..135d89b2f1 100644 --- a/tests/compiler/rc/rereturn.untouched.wat +++ b/tests/compiler/issues/2166.untouched.wat @@ -1,249 +1,390 @@ (module (type $i32_i32_=>_none (func (param i32 i32))) (type $i32_=>_i32 (func (param i32) (result i32))) - (type $i32_i32_=>_i32 (func (param i32 i32) (result i32))) (type $i32_=>_none (func (param i32))) (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 $i32_i32_i32_i32_=>_none (func (param i32 i32 i32 i32))) (type $i32_i32_i32_=>_i32 (func (param i32 i32 i32) (result i32))) (type $none_=>_i32 (func (result i32))) - (type $i32_i32_i32_i32_=>_none (func (param i32 i32 i32 i32))) + (type $i32_i32_i32_i32_i32_=>_i32 (func (param i32 i32 i32 i32 i32) (result i32))) (import "env" "abort" (func $~lib/builtins/abort (param i32 i32 i32 i32))) - (memory $0 1) - (data (i32.const 12) "<\00\00\00\01\00\00\00\00\00\00\00\01\00\00\00(\00\00\00a\00l\00l\00o\00c\00a\00t\00i\00o\00n\00 \00t\00o\00o\00 \00l\00a\00r\00g\00e\00\00\00\00\00") - (data (i32.const 76) "<\00\00\00\01\00\00\00\00\00\00\00\01\00\00\00\1e\00\00\00~\00l\00i\00b\00/\00r\00t\00/\00p\00u\00r\00e\00.\00t\00s\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 140) "<\00\00\00\01\00\00\00\00\00\00\00\01\00\00\00\1e\00\00\00~\00l\00i\00b\00/\00r\00t\00/\00t\00l\00s\00f\00.\00t\00s\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 208) "\04\00\00\00 \00\00\00\00\00\00\00 \00\00\00\00\00\00\00 \00\00\00\00\00\00\00 \00\00\00\00\00\00\00") - (table $0 1 funcref) + (global $~lib/rt/itcms/total (mut i32) (i32.const 0)) + (global $~lib/rt/itcms/threshold (mut i32) (i32.const 0)) + (global $~lib/rt/itcms/state (mut i32) (i32.const 0)) + (global $~lib/rt/itcms/visitCount (mut i32) (i32.const 0)) + (global $~lib/rt/itcms/pinSpace (mut i32) (i32.const 0)) + (global $~lib/rt/itcms/iter (mut i32) (i32.const 0)) + (global $~lib/rt/itcms/toSpace (mut i32) (i32.const 0)) + (global $~lib/rt/itcms/white (mut i32) (i32.const 0)) + (global $~lib/shared/runtime/Runtime.Stub i32 (i32.const 0)) + (global $~lib/shared/runtime/Runtime.Minimal i32 (i32.const 1)) + (global $~lib/shared/runtime/Runtime.Incremental i32 (i32.const 2)) + (global $~lib/rt/itcms/fromSpace (mut i32) (i32.const 0)) (global $~lib/rt/tlsf/ROOT (mut i32) (i32.const 0)) (global $~lib/ASC_LOW_MEMORY_LIMIT i32 (i32.const 0)) (global $~lib/ASC_SHRINK_LEVEL i32 (i32.const 0)) - (global $~lib/rt/__rtti_base i32 (i32.const 208)) - (global $~lib/memory/__heap_base i32 (i32.const 244)) + (global $~lib/rt/__rtti_base i32 (i32.const 608)) + (global $~lib/memory/__data_end i32 (i32.const 652)) + (global $~lib/memory/__stack_pointer (mut i32) (i32.const 17036)) + (global $~lib/memory/__heap_base i32 (i32.const 17036)) + (memory $0 1) + (data (i32.const 12) "<\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00(\00\00\00A\00l\00l\00o\00c\00a\00t\00i\00o\00n\00 \00t\00o\00o\00 \00l\00a\00r\00g\00e\00\00\00\00\00") + (data (i32.const 76) "<\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00 \00\00\00~\00l\00i\00b\00/\00r\00t\00/\00i\00t\00c\00m\00s\00.\00t\00s\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 144) "\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 176) "\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 204) "<\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00$\00\00\00I\00n\00d\00e\00x\00 \00o\00u\00t\00 \00o\00f\00 \00r\00a\00n\00g\00e\00\00\00\00\00\00\00\00\00") + (data (i32.const 268) ",\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\14\00\00\00~\00l\00i\00b\00/\00r\00t\00.\00t\00s\00\00\00\00\00\00\00\00\00") + (data (i32.const 320) "\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 348) "<\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\1e\00\00\00~\00l\00i\00b\00/\00r\00t\00/\00t\00l\00s\00f\00.\00t\00s\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 412) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\04\00\00\001\001\00\00\00\00\00\00\00\00\00") + (data (i32.const 444) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\0c\00\00\00S\00t\00r\00i\00n\00g\00") + (data (i32.const 476) ",\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\1c\00\00\00i\00s\00s\00u\00e\00s\00/\002\001\006\006\00.\00t\00s\00") + (data (i32.const 524) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\06\00\00\00i\003\002\00\00\00\00\00\00\00") + (data (i32.const 556) ",\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\12\00\00\00t\00e\00s\00t\00-\002\001\006\006\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 608) "\05\00\00\00 \00\00\00\00\00\00\00 \00\00\00\00\00\00\00\00\00\00\00\00\00\00\00 \00\00\00\00\00\00\00 \00\00\00\00\00\00\00") + (table $0 1 funcref) + (elem $0 (i32.const 1)) (export "memory" (memory $0)) - (export "__new" (func $~lib/rt/pure/__new)) - (export "__renew" (func $~lib/rt/pure/__renew)) - (export "__retain" (func $~lib/rt/pure/__retain)) - (export "__release" (func $~lib/rt/pure/__release)) - (export "__rtti_base" (global $~lib/rt/__rtti_base)) (start $~start) - (func $~lib/rt/tlsf/removeBlock (param $0 i32) (param $1 i32) + (func $~lib/rt/itcms/Object#set:nextWithColor (param $0 i32) (param $1 i32) + local.get $0 + local.get $1 + i32.store offset=4 + ) + (func $~lib/rt/itcms/Object#set:prev (param $0 i32) (param $1 i32) + local.get $0 + local.get $1 + i32.store offset=8 + ) + (func $~lib/rt/itcms/initLazy (param $0 i32) (result i32) + local.get $0 + local.get $0 + call $~lib/rt/itcms/Object#set:nextWithColor + local.get $0 + local.get $0 + call $~lib/rt/itcms/Object#set:prev + local.get $0 + ) + (func $~lib/rt/itcms/Object#get:next (param $0 i32) (result i32) + local.get $0 + i32.load offset=4 + i32.const 3 + i32.const -1 + i32.xor + i32.and + ) + (func $~lib/rt/itcms/Object#get:color (param $0 i32) (result i32) + local.get $0 + i32.load offset=4 + i32.const 3 + i32.and + ) + (func $~lib/rt/itcms/visitRoots (param $0 i32) + (local $1 i32) (local $2 i32) (local $3 i32) - (local $4 i32) - (local $5 i32) - (local $6 i32) - (local $7 i32) - (local $8 i32) - (local $9 i32) - (local $10 i32) - (local $11 i32) + local.get $0 + call $~lib/rt/__visit_globals + global.get $~lib/rt/itcms/pinSpace + local.set $1 local.get $1 - i32.load + call $~lib/rt/itcms/Object#get:next local.set $2 - i32.const 1 - drop - local.get $2 - i32.const 1 - i32.and - i32.eqz - if - i32.const 0 - i32.const 160 - i32.const 272 - i32.const 14 - call $~lib/builtins/abort - unreachable + loop $while-continue|0 + local.get $2 + local.get $1 + i32.ne + local.set $3 + local.get $3 + if + i32.const 1 + drop + local.get $2 + call $~lib/rt/itcms/Object#get:color + i32.const 3 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 96 + i32.const 159 + i32.const 16 + call $~lib/builtins/abort + unreachable + end + local.get $2 + i32.const 20 + i32.add + local.get $0 + call $~lib/rt/__visit_members + local.get $2 + call $~lib/rt/itcms/Object#get:next + local.set $2 + br $while-continue|0 + end end - local.get $2 + ) + (func $~lib/rt/itcms/Object#set:color (param $0 i32) (param $1 i32) + local.get $0 + local.get $0 + i32.load offset=4 i32.const 3 i32.const -1 i32.xor i32.and - local.set $3 - i32.const 1 - drop - local.get $3 - i32.const 12 - i32.ge_u - if (result i32) - local.get $3 - i32.const 1073741820 - i32.lt_u - else - i32.const 0 - end - i32.eqz - if - i32.const 0 - i32.const 160 - i32.const 274 - i32.const 14 - call $~lib/builtins/abort - unreachable - end - local.get $3 - i32.const 256 - i32.lt_u + local.get $1 + i32.or + call $~lib/rt/itcms/Object#set:nextWithColor + ) + (func $~lib/rt/itcms/Object#set:next (param $0 i32) (param $1 i32) + local.get $0 + local.get $1 + local.get $0 + i32.load offset=4 + i32.const 3 + i32.and + i32.or + call $~lib/rt/itcms/Object#set:nextWithColor + ) + (func $~lib/rt/itcms/Object#unlink (param $0 i32) + (local $1 i32) + (local $2 i32) + local.get $0 + call $~lib/rt/itcms/Object#get:next + local.set $1 + local.get $1 + i32.const 0 + i32.eq if - i32.const 0 - local.set $4 - local.get $3 - i32.const 4 - i32.shr_u - local.set $5 - else - i32.const 31 - local.get $3 - i32.clz - i32.sub - local.set $4 - local.get $3 - local.get $4 - i32.const 4 - i32.sub - i32.shr_u - i32.const 1 - i32.const 4 - i32.shl - i32.xor - local.set $5 - local.get $4 - i32.const 8 i32.const 1 - i32.sub - i32.sub - local.set $4 + drop + local.get $0 + i32.load offset=8 + i32.const 0 + i32.eq + if (result i32) + local.get $0 + global.get $~lib/memory/__heap_base + i32.lt_u + else + i32.const 0 + end + i32.eqz + if + i32.const 0 + i32.const 96 + i32.const 127 + i32.const 18 + call $~lib/builtins/abort + unreachable + end + return end + local.get $0 + i32.load offset=8 + local.set $2 i32.const 1 drop - local.get $4 - i32.const 23 - i32.lt_u - if (result i32) - local.get $5 - i32.const 16 - i32.lt_u - else - i32.const 0 - end + local.get $2 i32.eqz if i32.const 0 - i32.const 160 - i32.const 287 - i32.const 14 + i32.const 96 + i32.const 131 + i32.const 16 call $~lib/builtins/abort unreachable end local.get $1 - i32.load offset=4 - local.set $6 + local.get $2 + call $~lib/rt/itcms/Object#set:prev + local.get $2 local.get $1 - i32.load offset=8 - local.set $7 - local.get $6 - if - local.get $6 - local.get $7 - i32.store offset=8 - end - local.get $7 + call $~lib/rt/itcms/Object#set:next + ) + (func $~lib/rt/__typeinfo (param $0 i32) (result i32) + (local $1 i32) + global.get $~lib/rt/__rtti_base + local.set $1 + local.get $0 + local.get $1 + i32.load + i32.gt_u if - local.get $7 - local.get $6 - i32.store offset=4 + i32.const 224 + i32.const 288 + i32.const 22 + i32.const 28 + call $~lib/builtins/abort + unreachable end local.get $1 - local.get $0 - local.set $10 - local.get $4 - local.set $9 - local.get $5 - local.set $8 - local.get $10 - local.get $9 i32.const 4 - i32.shl - local.get $8 i32.add - i32.const 2 - i32.shl + local.get $0 + i32.const 8 + i32.mul i32.add - i32.load offset=96 - i32.eq - if - local.get $0 - local.set $11 - local.get $4 - local.set $10 - local.get $5 - local.set $9 - local.get $7 - local.set $8 - local.get $11 - local.get $10 - i32.const 4 - i32.shl - local.get $9 - i32.add - i32.const 2 - i32.shl - i32.add - local.get $8 - i32.store offset=96 - local.get $7 - i32.eqz + i32.load + ) + (func $~lib/rt/itcms/Object#get:isPointerfree (param $0 i32) (result i32) + (local $1 i32) + local.get $0 + i32.load offset=12 + local.set $1 + local.get $1 + i32.const 1 + i32.le_u + if (result i32) + i32.const 1 + else + local.get $1 + call $~lib/rt/__typeinfo + i32.const 32 + i32.and + i32.const 0 + i32.ne + end + ) + (func $~lib/rt/itcms/Object#linkTo (param $0 i32) (param $1 i32) (param $2 i32) + (local $3 i32) + local.get $1 + i32.load offset=8 + local.set $3 + local.get $0 + local.get $1 + local.get $2 + i32.or + call $~lib/rt/itcms/Object#set:nextWithColor + local.get $0 + local.get $3 + call $~lib/rt/itcms/Object#set:prev + local.get $3 + local.get $0 + call $~lib/rt/itcms/Object#set:next + local.get $1 + local.get $0 + call $~lib/rt/itcms/Object#set:prev + ) + (func $~lib/rt/itcms/Object#makeGray (param $0 i32) + (local $1 i32) + local.get $0 + global.get $~lib/rt/itcms/iter + i32.eq + if + local.get $0 + i32.load offset=8 + local.tee $1 + i32.eqz + if (result i32) + i32.const 0 + i32.const 96 + i32.const 147 + i32.const 30 + call $~lib/builtins/abort + unreachable + else + local.get $1 + end + global.set $~lib/rt/itcms/iter + end + local.get $0 + call $~lib/rt/itcms/Object#unlink + local.get $0 + global.get $~lib/rt/itcms/toSpace + local.get $0 + call $~lib/rt/itcms/Object#get:isPointerfree + if (result i32) + global.get $~lib/rt/itcms/white + i32.eqz + else + i32.const 2 + end + call $~lib/rt/itcms/Object#linkTo + ) + (func $~lib/rt/itcms/__visit (param $0 i32) (param $1 i32) + (local $2 i32) + local.get $0 + i32.eqz + if + return + end + local.get $0 + i32.const 20 + i32.sub + local.set $2 + i32.const 0 + drop + local.get $2 + call $~lib/rt/itcms/Object#get:color + global.get $~lib/rt/itcms/white + i32.eq + if + local.get $2 + call $~lib/rt/itcms/Object#makeGray + global.get $~lib/rt/itcms/visitCount + i32.const 1 + i32.add + global.set $~lib/rt/itcms/visitCount + end + ) + (func $~lib/rt/itcms/visitStack (param $0 i32) + (local $1 i32) + (local $2 i32) + global.get $~lib/memory/__stack_pointer + local.set $1 + loop $while-continue|0 + local.get $1 + global.get $~lib/memory/__heap_base + i32.lt_u + local.set $2 + local.get $2 if + local.get $1 + i32.load local.get $0 - local.set $9 - local.get $4 - local.set $8 - local.get $9 - local.get $8 - i32.const 2 - i32.shl - i32.add - i32.load offset=4 - local.set $9 - local.get $0 - local.set $8 - local.get $4 - local.set $11 - local.get $9 - i32.const 1 - local.get $5 - i32.shl - i32.const -1 - i32.xor - i32.and - local.tee $9 - local.set $10 - local.get $8 - local.get $11 - i32.const 2 - i32.shl + call $~lib/rt/itcms/__visit + local.get $1 + i32.const 4 i32.add - local.get $10 - i32.store offset=4 - local.get $9 - i32.eqz - if - local.get $0 - local.get $0 - i32.load - i32.const 1 - local.get $4 - i32.shl - i32.const -1 - i32.xor - i32.and - i32.store - end + local.set $1 + br $while-continue|0 end end ) - (func $~lib/rt/tlsf/insertBlock (param $0 i32) (param $1 i32) + (func $~lib/rt/itcms/Object#get:size (param $0 i32) (result i32) + i32.const 4 + local.get $0 + i32.load + i32.const 3 + i32.const -1 + i32.xor + i32.and + i32.add + ) + (func $~lib/rt/tlsf/Root#set:flMap (param $0 i32) (param $1 i32) + local.get $0 + local.get $1 + i32.store + ) + (func $~lib/rt/common/BLOCK#set:mmInfo (param $0 i32) (param $1 i32) + local.get $0 + local.get $1 + i32.store + ) + (func $~lib/rt/tlsf/Block#set:prev (param $0 i32) (param $1 i32) + local.get $0 + local.get $1 + i32.store offset=4 + ) + (func $~lib/rt/tlsf/Block#set:next (param $0 i32) (param $1 i32) + local.get $0 + local.get $1 + i32.store offset=8 + ) + (func $~lib/rt/tlsf/removeBlock (param $0 i32) (param $1 i32) (local $2 i32) (local $3 i32) (local $4 i32) @@ -254,20 +395,6 @@ (local $9 i32) (local $10 i32) (local $11 i32) - (local $12 i32) - (local $13 i32) - i32.const 1 - drop - local.get $1 - i32.eqz - if - i32.const 0 - i32.const 160 - i32.const 200 - i32.const 14 - call $~lib/builtins/abort - unreachable - end local.get $1 i32.load local.set $2 @@ -279,159 +406,82 @@ i32.eqz if i32.const 0 - i32.const 160 - i32.const 202 + i32.const 368 + i32.const 268 i32.const 14 call $~lib/builtins/abort unreachable end - local.get $1 - local.set $3 - local.get $3 - i32.const 4 - i32.add - local.get $3 - i32.load + local.get $2 i32.const 3 i32.const -1 i32.xor i32.and - i32.add - local.set $4 - local.get $4 - i32.load - local.set $5 - local.get $5 + local.set $3 i32.const 1 - i32.and + drop + local.get $3 + i32.const 12 + i32.ge_u + i32.eqz if - local.get $2 - i32.const 3 - i32.const -1 - i32.xor - i32.and + i32.const 0 + i32.const 368 + i32.const 270 + i32.const 14 + call $~lib/builtins/abort + unreachable + end + local.get $3 + i32.const 256 + i32.lt_u + if + i32.const 0 + local.set $4 + local.get $3 i32.const 4 - i32.add - local.get $5 - i32.const 3 - i32.const -1 - i32.xor - i32.and - i32.add - local.set $3 + i32.shr_u + local.set $5 + else local.get $3 + local.tee $6 i32.const 1073741820 + local.tee $7 + local.get $6 + local.get $7 i32.lt_u - if - local.get $0 - local.get $4 - call $~lib/rt/tlsf/removeBlock - local.get $1 - local.get $2 - i32.const 3 - i32.and - local.get $3 - i32.or - local.tee $2 - i32.store - local.get $1 - local.set $6 - local.get $6 - i32.const 4 - i32.add - local.get $6 - i32.load - i32.const 3 - i32.const -1 - i32.xor - i32.and - i32.add - local.set $4 - local.get $4 - i32.load - local.set $5 - end - end - local.get $2 - i32.const 2 - i32.and - if - local.get $1 + select local.set $6 + i32.const 31 local.get $6 - i32.const 4 + i32.clz i32.sub - i32.load - local.set $6 + local.set $4 local.get $6 - i32.load - local.set $3 - i32.const 1 - drop - local.get $3 + local.get $4 + i32.const 4 + i32.sub + i32.shr_u i32.const 1 - i32.and - i32.eqz - if - i32.const 0 - i32.const 160 - i32.const 223 - i32.const 16 - call $~lib/builtins/abort - unreachable - end - local.get $3 - i32.const 3 - i32.const -1 - i32.xor - i32.and i32.const 4 - i32.add - local.get $2 - i32.const 3 - i32.const -1 + i32.shl i32.xor - i32.and - i32.add - local.set $7 - local.get $7 - i32.const 1073741820 - i32.lt_u - if - local.get $0 - local.get $6 - call $~lib/rt/tlsf/removeBlock - local.get $6 - local.get $3 - i32.const 3 - i32.and - local.get $7 - i32.or - local.tee $2 - i32.store - local.get $6 - local.set $1 - end + local.set $5 + local.get $4 + i32.const 8 + i32.const 1 + i32.sub + i32.sub + local.set $4 end - local.get $4 - local.get $5 - i32.const 2 - i32.or - i32.store - local.get $2 - i32.const 3 - i32.const -1 - i32.xor - i32.and - local.set $8 i32.const 1 drop - local.get $8 - i32.const 12 - i32.ge_u + local.get $4 + i32.const 23 + i32.lt_u if (result i32) - local.get $8 - i32.const 1073741820 + local.get $5 + i32.const 16 i32.lt_u else i32.const 0 @@ -439,128 +489,409 @@ i32.eqz if i32.const 0 - i32.const 160 - i32.const 238 + i32.const 368 + i32.const 284 i32.const 14 call $~lib/builtins/abort unreachable end - i32.const 1 - drop local.get $1 - i32.const 4 - i32.add + i32.load offset=4 + local.set $8 + local.get $1 + i32.load offset=8 + local.set $9 local.get $8 - i32.add - local.get $4 - i32.eq - i32.eqz if - i32.const 0 - i32.const 160 - i32.const 239 - i32.const 14 - call $~lib/builtins/abort - unreachable + local.get $8 + local.get $9 + call $~lib/rt/tlsf/Block#set:next + end + local.get $9 + if + local.get $9 + local.get $8 + call $~lib/rt/tlsf/Block#set:prev end + local.get $1 + local.get $0 + local.set $10 local.get $4 + local.set $6 + local.get $5 + local.set $7 + local.get $10 + local.get $6 i32.const 4 - i32.sub - local.get $1 - i32.store - local.get $8 - i32.const 256 - i32.lt_u + i32.shl + local.get $7 + i32.add + i32.const 2 + i32.shl + i32.add + i32.load offset=96 + i32.eq if - i32.const 0 - local.set $9 - local.get $8 - i32.const 4 - i32.shr_u + local.get $0 + local.set $11 + local.get $4 local.set $10 - else - i32.const 31 - local.get $8 - i32.clz - i32.sub - local.set $9 - local.get $8 + local.get $5 + local.set $6 local.get $9 - i32.const 4 - i32.sub - i32.shr_u - i32.const 1 + local.set $7 + local.get $11 + local.get $10 i32.const 4 i32.shl - i32.xor - local.set $10 + local.get $6 + i32.add + i32.const 2 + i32.shl + i32.add + local.get $7 + i32.store offset=96 local.get $9 - i32.const 8 - i32.const 1 - i32.sub - i32.sub - local.set $9 + i32.eqz + if + local.get $0 + local.set $6 + local.get $4 + local.set $7 + local.get $6 + local.get $7 + i32.const 2 + i32.shl + i32.add + i32.load offset=4 + local.set $6 + local.get $0 + local.set $7 + local.get $4 + local.set $11 + local.get $6 + i32.const 1 + local.get $5 + i32.shl + i32.const -1 + i32.xor + i32.and + local.tee $6 + local.set $10 + local.get $7 + local.get $11 + i32.const 2 + i32.shl + i32.add + local.get $10 + i32.store offset=4 + local.get $6 + i32.eqz + if + local.get $0 + local.get $0 + i32.load + i32.const 1 + local.get $4 + i32.shl + i32.const -1 + i32.xor + i32.and + call $~lib/rt/tlsf/Root#set:flMap + end + end end + ) + (func $~lib/rt/tlsf/insertBlock (param $0 i32) (param $1 i32) + (local $2 i32) + (local $3 i32) + (local $4 i32) + (local $5 i32) + (local $6 i32) + (local $7 i32) + (local $8 i32) + (local $9 i32) + (local $10 i32) + (local $11 i32) + (local $12 i32) + (local $13 i32) i32.const 1 drop - local.get $9 - i32.const 23 - i32.lt_u - if (result i32) - local.get $10 - i32.const 16 - i32.lt_u - else + local.get $1 + i32.eqz + if i32.const 0 + i32.const 368 + i32.const 201 + i32.const 14 + call $~lib/builtins/abort + unreachable end + local.get $1 + i32.load + local.set $2 + i32.const 1 + drop + local.get $2 + i32.const 1 + i32.and i32.eqz if i32.const 0 - i32.const 160 - i32.const 255 + i32.const 368 + i32.const 203 i32.const 14 call $~lib/builtins/abort unreachable end - local.get $0 - local.set $7 - local.get $9 + local.get $1 local.set $3 - local.get $10 - local.set $6 - local.get $7 local.get $3 i32.const 4 - i32.shl - local.get $6 - i32.add - i32.const 2 - i32.shl i32.add - i32.load offset=96 - local.set $11 + local.get $3 + i32.load + i32.const 3 + i32.const -1 + i32.xor + i32.and + i32.add + local.set $4 + local.get $4 + i32.load + local.set $5 + local.get $5 + i32.const 1 + i32.and + if + local.get $0 + local.get $4 + call $~lib/rt/tlsf/removeBlock + local.get $1 + local.get $2 + i32.const 4 + i32.add + local.get $5 + i32.const 3 + i32.const -1 + i32.xor + i32.and + i32.add + local.tee $2 + call $~lib/rt/common/BLOCK#set:mmInfo + local.get $1 + local.set $3 + local.get $3 + i32.const 4 + i32.add + local.get $3 + i32.load + i32.const 3 + i32.const -1 + i32.xor + i32.and + i32.add + local.set $4 + local.get $4 + i32.load + local.set $5 + end + local.get $2 + i32.const 2 + i32.and + if + local.get $1 + local.set $3 + local.get $3 + i32.const 4 + i32.sub + i32.load + local.set $3 + local.get $3 + i32.load + local.set $6 + i32.const 1 + drop + local.get $6 + i32.const 1 + i32.and + i32.eqz + if + i32.const 0 + i32.const 368 + i32.const 221 + i32.const 16 + call $~lib/builtins/abort + unreachable + end + local.get $0 + local.get $3 + call $~lib/rt/tlsf/removeBlock + local.get $3 + local.set $1 + local.get $1 + local.get $6 + i32.const 4 + i32.add + local.get $2 + i32.const 3 + i32.const -1 + i32.xor + i32.and + i32.add + local.tee $2 + call $~lib/rt/common/BLOCK#set:mmInfo + end + local.get $4 + local.get $5 + i32.const 2 + i32.or + call $~lib/rt/common/BLOCK#set:mmInfo + local.get $2 + i32.const 3 + i32.const -1 + i32.xor + i32.and + local.set $7 + i32.const 1 + drop + local.get $7 + i32.const 12 + i32.ge_u + i32.eqz + if + i32.const 0 + i32.const 368 + i32.const 233 + i32.const 14 + call $~lib/builtins/abort + unreachable + end + i32.const 1 + drop + local.get $1 + i32.const 4 + i32.add + local.get $7 + i32.add + local.get $4 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 368 + i32.const 234 + i32.const 14 + call $~lib/builtins/abort + unreachable + end + local.get $4 + i32.const 4 + i32.sub + local.get $1 + i32.store + local.get $7 + i32.const 256 + i32.lt_u + if + i32.const 0 + local.set $8 + local.get $7 + i32.const 4 + i32.shr_u + local.set $9 + else + local.get $7 + local.tee $3 + i32.const 1073741820 + local.tee $6 + local.get $3 + local.get $6 + i32.lt_u + select + local.set $3 + i32.const 31 + local.get $3 + i32.clz + i32.sub + local.set $8 + local.get $3 + local.get $8 + i32.const 4 + i32.sub + i32.shr_u + i32.const 1 + i32.const 4 + i32.shl + i32.xor + local.set $9 + local.get $8 + i32.const 8 + i32.const 1 + i32.sub + i32.sub + local.set $8 + end + i32.const 1 + drop + local.get $8 + i32.const 23 + i32.lt_u + if (result i32) + local.get $9 + i32.const 16 + i32.lt_u + else + i32.const 0 + end + i32.eqz + if + i32.const 0 + i32.const 368 + i32.const 251 + i32.const 14 + call $~lib/builtins/abort + unreachable + end + local.get $0 + local.set $10 + local.get $8 + local.set $3 + local.get $9 + local.set $6 + local.get $10 + local.get $3 + i32.const 4 + i32.shl + local.get $6 + i32.add + i32.const 2 + i32.shl + i32.add + i32.load offset=96 + local.set $11 local.get $1 i32.const 0 - i32.store offset=4 + call $~lib/rt/tlsf/Block#set:prev local.get $1 local.get $11 - i32.store offset=8 + call $~lib/rt/tlsf/Block#set:next local.get $11 if local.get $11 local.get $1 - i32.store offset=4 + call $~lib/rt/tlsf/Block#set:prev end local.get $0 local.set $12 + local.get $8 + local.set $10 local.get $9 - local.set $7 - local.get $10 local.set $3 local.get $1 local.set $6 local.get $12 - local.get $7 + local.get $10 i32.const 4 i32.shl local.get $3 @@ -574,17 +905,17 @@ local.get $0 i32.load i32.const 1 - local.get $9 + local.get $8 i32.shl i32.or - i32.store + call $~lib/rt/tlsf/Root#set:flMap local.get $0 local.set $13 - local.get $9 + local.get $8 local.set $12 local.get $0 local.set $3 - local.get $9 + local.get $8 local.set $6 local.get $3 local.get $6 @@ -593,16 +924,16 @@ i32.add i32.load offset=4 i32.const 1 - local.get $10 + local.get $9 i32.shl i32.or - local.set $7 + local.set $10 local.get $13 local.get $12 i32.const 2 i32.shl i32.add - local.get $7 + local.get $10 i32.store offset=4 ) (func $~lib/rt/tlsf/addMemory (param $0 i32) (param $1 i32) (param $2 i32) (result i32) @@ -621,8 +952,8 @@ i32.eqz if i32.const 0 - i32.const 160 - i32.const 380 + i32.const 368 + i32.const 377 i32.const 14 call $~lib/builtins/abort unreachable @@ -664,8 +995,8 @@ i32.eqz if i32.const 0 - i32.const 160 - i32.const 387 + i32.const 368 + i32.const 384 i32.const 16 call $~lib/builtins/abort unreachable @@ -697,8 +1028,8 @@ i32.eqz if i32.const 0 - i32.const 160 - i32.const 400 + i32.const 368 + i32.const 397 i32.const 5 call $~lib/builtins/abort unreachable @@ -735,13 +1066,13 @@ i32.const 2 i32.and i32.or - i32.store + call $~lib/rt/common/BLOCK#set:mmInfo local.get $8 i32.const 0 - i32.store offset=4 + call $~lib/rt/tlsf/Block#set:prev local.get $8 i32.const 0 - i32.store offset=8 + call $~lib/rt/tlsf/Block#set:next local.get $1 i32.const 4 i32.add @@ -752,7 +1083,7 @@ i32.const 0 i32.const 2 i32.or - i32.store + call $~lib/rt/common/BLOCK#set:mmInfo local.get $0 local.set $9 local.get $4 @@ -779,6 +1110,8 @@ (local $10 i32) (local $11 i32) (local $12 i32) + i32.const 0 + drop global.get $~lib/memory/__heap_base i32.const 15 i32.add @@ -821,7 +1154,7 @@ local.set $3 local.get $3 i32.const 0 - i32.store + call $~lib/rt/tlsf/Root#set:flMap local.get $3 local.set $5 i32.const 0 @@ -909,35 +1242,367 @@ local.get $3 global.set $~lib/rt/tlsf/ROOT ) - (func $~lib/rt/tlsf/computeSize (param $0 i32) (result i32) + (func $~lib/rt/tlsf/checkUsedBlock (param $0 i32) (result i32) + (local $1 i32) local.get $0 - i32.const 12 - i32.le_u + i32.const 4 + i32.sub + local.set $1 + local.get $0 + i32.const 0 + i32.ne if (result i32) - i32.const 12 - else local.get $0 - i32.const 4 - i32.add - i32.const 15 - i32.add i32.const 15 - i32.const -1 - i32.xor i32.and - i32.const 4 - i32.sub + i32.eqz + else + i32.const 0 + end + if (result i32) + local.get $1 + i32.load + i32.const 1 + i32.and + i32.eqz + else + i32.const 0 + end + i32.eqz + if + i32.const 0 + i32.const 368 + i32.const 559 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $1 + ) + (func $~lib/rt/tlsf/freeBlock (param $0 i32) (param $1 i32) + i32.const 0 + drop + local.get $1 + local.get $1 + i32.load + i32.const 1 + i32.or + call $~lib/rt/common/BLOCK#set:mmInfo + local.get $0 + local.get $1 + call $~lib/rt/tlsf/insertBlock + ) + (func $~lib/rt/tlsf/__free (param $0 i32) + local.get $0 + global.get $~lib/memory/__heap_base + i32.lt_u + if + return + end + global.get $~lib/rt/tlsf/ROOT + i32.eqz + if + call $~lib/rt/tlsf/initialize + end + global.get $~lib/rt/tlsf/ROOT + local.get $0 + call $~lib/rt/tlsf/checkUsedBlock + call $~lib/rt/tlsf/freeBlock + ) + (func $~lib/rt/itcms/free (param $0 i32) + local.get $0 + global.get $~lib/memory/__heap_base + i32.lt_u + if + local.get $0 + i32.const 0 + call $~lib/rt/itcms/Object#set:nextWithColor + local.get $0 + i32.const 0 + call $~lib/rt/itcms/Object#set:prev + else + global.get $~lib/rt/itcms/total + local.get $0 + call $~lib/rt/itcms/Object#get:size + i32.sub + global.set $~lib/rt/itcms/total + i32.const 0 + drop + local.get $0 + i32.const 4 + i32.add + call $~lib/rt/tlsf/__free + end + ) + (func $~lib/rt/itcms/step (result i32) + (local $0 i32) + (local $1 i32) + (local $2 i32) + block $break|0 + block $case2|0 + block $case1|0 + block $case0|0 + global.get $~lib/rt/itcms/state + local.set $1 + local.get $1 + i32.const 0 + i32.eq + br_if $case0|0 + local.get $1 + i32.const 1 + i32.eq + br_if $case1|0 + local.get $1 + i32.const 2 + i32.eq + br_if $case2|0 + br $break|0 + end + i32.const 1 + global.set $~lib/rt/itcms/state + i32.const 0 + global.set $~lib/rt/itcms/visitCount + i32.const 0 + call $~lib/rt/itcms/visitRoots + global.get $~lib/rt/itcms/toSpace + global.set $~lib/rt/itcms/iter + global.get $~lib/rt/itcms/visitCount + i32.const 1 + i32.mul + return + end + global.get $~lib/rt/itcms/white + i32.eqz + local.set $1 + global.get $~lib/rt/itcms/iter + call $~lib/rt/itcms/Object#get:next + local.set $0 + loop $while-continue|1 + local.get $0 + global.get $~lib/rt/itcms/toSpace + i32.ne + local.set $2 + local.get $2 + if + local.get $0 + global.set $~lib/rt/itcms/iter + local.get $0 + call $~lib/rt/itcms/Object#get:color + local.get $1 + i32.ne + if + local.get $0 + local.get $1 + call $~lib/rt/itcms/Object#set:color + i32.const 0 + global.set $~lib/rt/itcms/visitCount + local.get $0 + i32.const 20 + i32.add + i32.const 0 + call $~lib/rt/__visit_members + global.get $~lib/rt/itcms/visitCount + i32.const 1 + i32.mul + return + end + local.get $0 + call $~lib/rt/itcms/Object#get:next + local.set $0 + br $while-continue|1 + end + end + i32.const 0 + global.set $~lib/rt/itcms/visitCount + i32.const 0 + call $~lib/rt/itcms/visitRoots + global.get $~lib/rt/itcms/iter + call $~lib/rt/itcms/Object#get:next + local.set $0 + local.get $0 + global.get $~lib/rt/itcms/toSpace + i32.eq + if + i32.const 0 + call $~lib/rt/itcms/visitStack + global.get $~lib/rt/itcms/iter + call $~lib/rt/itcms/Object#get:next + local.set $0 + loop $while-continue|2 + local.get $0 + global.get $~lib/rt/itcms/toSpace + i32.ne + local.set $2 + local.get $2 + if + local.get $0 + call $~lib/rt/itcms/Object#get:color + local.get $1 + i32.ne + if + local.get $0 + local.get $1 + call $~lib/rt/itcms/Object#set:color + local.get $0 + i32.const 20 + i32.add + i32.const 0 + call $~lib/rt/__visit_members + end + local.get $0 + call $~lib/rt/itcms/Object#get:next + local.set $0 + br $while-continue|2 + end + end + global.get $~lib/rt/itcms/fromSpace + local.set $2 + global.get $~lib/rt/itcms/toSpace + global.set $~lib/rt/itcms/fromSpace + local.get $2 + global.set $~lib/rt/itcms/toSpace + local.get $1 + global.set $~lib/rt/itcms/white + local.get $2 + call $~lib/rt/itcms/Object#get:next + global.set $~lib/rt/itcms/iter + i32.const 2 + global.set $~lib/rt/itcms/state + end + global.get $~lib/rt/itcms/visitCount + i32.const 1 + i32.mul + return + end + global.get $~lib/rt/itcms/iter + local.set $0 + local.get $0 + global.get $~lib/rt/itcms/toSpace + i32.ne + if + local.get $0 + call $~lib/rt/itcms/Object#get:next + global.set $~lib/rt/itcms/iter + i32.const 1 + drop + local.get $0 + call $~lib/rt/itcms/Object#get:color + global.get $~lib/rt/itcms/white + i32.eqz + i32.eq + i32.eqz + if + i32.const 0 + i32.const 96 + i32.const 228 + i32.const 20 + call $~lib/builtins/abort + unreachable + end + local.get $0 + call $~lib/rt/itcms/free + i32.const 10 + return + end + global.get $~lib/rt/itcms/toSpace + global.get $~lib/rt/itcms/toSpace + call $~lib/rt/itcms/Object#set:nextWithColor + global.get $~lib/rt/itcms/toSpace + global.get $~lib/rt/itcms/toSpace + call $~lib/rt/itcms/Object#set:prev + i32.const 0 + global.set $~lib/rt/itcms/state + br $break|0 + end + i32.const 0 + ) + (func $~lib/rt/itcms/interrupt + (local $0 i32) + i32.const 0 + drop + i32.const 0 + drop + i32.const 1024 + i32.const 200 + i32.mul + i32.const 100 + i32.div_u + local.set $0 + loop $do-loop|0 + local.get $0 + call $~lib/rt/itcms/step + i32.sub + local.set $0 + global.get $~lib/rt/itcms/state + i32.const 0 + i32.eq + if + i32.const 0 + drop + global.get $~lib/rt/itcms/total + i64.extend_i32_u + i32.const 200 + i64.extend_i32_u + i64.mul + i64.const 100 + i64.div_u + i32.wrap_i64 + i32.const 1024 + i32.add + global.set $~lib/rt/itcms/threshold + i32.const 0 + drop + return + end + local.get $0 + i32.const 0 + i32.gt_s + br_if $do-loop|0 + end + i32.const 0 + drop + global.get $~lib/rt/itcms/total + i32.const 1024 + global.get $~lib/rt/itcms/total + global.get $~lib/rt/itcms/threshold + i32.sub + i32.const 1024 + i32.lt_u + i32.mul + i32.add + global.set $~lib/rt/itcms/threshold + i32.const 0 + drop + ) + (func $~lib/rt/tlsf/computeSize (param $0 i32) (result i32) + local.get $0 + i32.const 12 + i32.le_u + if (result i32) + i32.const 12 + else + local.get $0 + i32.const 4 + i32.add + i32.const 15 + i32.add + i32.const 15 + i32.const -1 + i32.xor + i32.and + i32.const 4 + i32.sub end ) (func $~lib/rt/tlsf/prepareSize (param $0 i32) (result i32) local.get $0 i32.const 1073741820 - i32.ge_u + i32.gt_u if i32.const 32 - i32.const 160 - i32.const 461 - i32.const 30 + i32.const 368 + i32.const 458 + i32.const 29 call $~lib/builtins/abort unreachable end @@ -1019,8 +1684,8 @@ i32.eqz if i32.const 0 - i32.const 160 - i32.const 333 + i32.const 368 + i32.const 330 i32.const 14 call $~lib/builtins/abort unreachable @@ -1084,8 +1749,8 @@ i32.eqz if i32.const 0 - i32.const 160 - i32.const 346 + i32.const 368 + i32.const 343 i32.const 18 call $~lib/builtins/abort unreachable @@ -1235,8 +1900,8 @@ i32.eqz if i32.const 0 - i32.const 160 - i32.const 360 + i32.const 368 + i32.const 357 i32.const 14 call $~lib/builtins/abort unreachable @@ -1261,7 +1926,7 @@ i32.const 2 i32.and i32.or - i32.store + call $~lib/rt/common/BLOCK#set:mmInfo local.get $1 i32.const 4 i32.add @@ -1274,7 +1939,7 @@ i32.sub i32.const 1 i32.or - i32.store + call $~lib/rt/common/BLOCK#set:mmInfo local.get $0 local.get $5 call $~lib/rt/tlsf/insertBlock @@ -1285,7 +1950,7 @@ i32.const -1 i32.xor i32.and - i32.store + call $~lib/rt/common/BLOCK#set:mmInfo local.get $1 local.set $5 local.get $5 @@ -1315,7 +1980,7 @@ i32.const -1 i32.xor i32.and - i32.store + call $~lib/rt/common/BLOCK#set:mmInfo end ) (func $~lib/rt/tlsf/allocateBlock (param $0 i32) (param $1 i32) (result i32) @@ -1344,8 +2009,8 @@ i32.eqz if i32.const 0 - i32.const 160 - i32.const 498 + i32.const 368 + i32.const 496 i32.const 16 call $~lib/builtins/abort unreachable @@ -1364,8 +2029,8 @@ i32.eqz if i32.const 0 - i32.const 160 - i32.const 500 + i32.const 368 + i32.const 498 i32.const 14 call $~lib/builtins/abort unreachable @@ -1393,1751 +2058,462 @@ i32.const 4 i32.add ) - (func $~lib/rt/pure/__new (param $0 i32) (param $1 i32) (result i32) - (local $2 i32) - (local $3 i32) - local.get $0 - i32.const 1073741804 - i32.gt_u - if - i32.const 32 - i32.const 96 - i32.const 275 - i32.const 30 - call $~lib/builtins/abort - unreachable - end - i32.const 16 + (func $~lib/rt/itcms/Object#set:rtId (param $0 i32) (param $1 i32) local.get $0 - i32.add - call $~lib/rt/tlsf/__alloc - local.set $2 - local.get $2 - i32.const 4 - i32.sub - local.set $3 - local.get $3 - i32.const 0 - i32.store offset=4 - local.get $3 - i32.const 0 - i32.store offset=8 - local.get $3 local.get $1 i32.store offset=12 - local.get $3 + ) + (func $~lib/rt/itcms/Object#set:rtSize (param $0 i32) (param $1 i32) local.get $0 + local.get $1 i32.store offset=16 - local.get $2 - i32.const 16 - i32.add ) - (func $~lib/rt/tlsf/checkUsedBlock (param $0 i32) (result i32) - (local $1 i32) - local.get $0 - i32.const 4 - i32.sub - local.set $1 - local.get $0 - i32.const 0 - i32.ne - if (result i32) - local.get $0 - i32.const 15 - i32.and - i32.eqz - else - i32.const 0 - end - if (result i32) - local.get $1 - i32.load - i32.const 1 - i32.and - i32.eqz - else - i32.const 0 - end - i32.eqz - if - i32.const 0 - i32.const 160 - i32.const 563 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $1 - ) - (func $~lib/util/memory/memcpy (param $0 i32) (param $1 i32) (param $2 i32) - (local $3 i32) - (local $4 i32) - (local $5 i32) - (local $6 i32) - loop $while-continue|0 - local.get $2 - if (result i32) - local.get $1 - i32.const 3 - i32.and - else - i32.const 0 - end - local.set $5 - local.get $5 - if - local.get $0 - local.tee $6 - i32.const 1 - i32.add - local.set $0 - local.get $6 - local.get $1 - local.tee $6 - i32.const 1 - i32.add - local.set $1 - local.get $6 - i32.load8_u - i32.store8 - local.get $2 - i32.const 1 - i32.sub - local.set $2 - br $while-continue|0 - end - end - local.get $0 - i32.const 3 - i32.and - i32.const 0 - i32.eq - if - loop $while-continue|1 - local.get $2 - i32.const 16 - i32.ge_u - local.set $5 - local.get $5 - if - local.get $0 - local.get $1 - i32.load - i32.store - local.get $0 - i32.const 4 - i32.add - local.get $1 - i32.const 4 - i32.add - i32.load - i32.store - local.get $0 - i32.const 8 - i32.add - local.get $1 - i32.const 8 - i32.add - i32.load - i32.store - local.get $0 - i32.const 12 - i32.add - local.get $1 - i32.const 12 - i32.add - i32.load - i32.store - local.get $1 - i32.const 16 - i32.add - local.set $1 - local.get $0 - i32.const 16 - i32.add - local.set $0 - local.get $2 - i32.const 16 - i32.sub - local.set $2 - br $while-continue|1 - end - end - local.get $2 - i32.const 8 - i32.and - if - local.get $0 - local.get $1 - i32.load - i32.store - local.get $0 - i32.const 4 - i32.add - local.get $1 - i32.const 4 - i32.add - i32.load - i32.store - local.get $0 - i32.const 8 - i32.add - local.set $0 - local.get $1 - i32.const 8 - i32.add - local.set $1 - end - local.get $2 - i32.const 4 - i32.and - if - local.get $0 - local.get $1 - i32.load - i32.store - local.get $0 - i32.const 4 - i32.add - local.set $0 - local.get $1 - i32.const 4 - i32.add - local.set $1 - end - local.get $2 - i32.const 2 - i32.and - if - local.get $0 - local.get $1 - i32.load16_u - i32.store16 - local.get $0 - i32.const 2 - i32.add - local.set $0 - local.get $1 - i32.const 2 - i32.add - local.set $1 - end - local.get $2 - i32.const 1 - i32.and - if - local.get $0 - local.tee $5 - i32.const 1 - i32.add - local.set $0 - local.get $5 - local.get $1 - local.tee $5 - i32.const 1 - i32.add - local.set $1 - local.get $5 - i32.load8_u - i32.store8 - end - return - end - local.get $2 - i32.const 32 - i32.ge_u - if - block $break|2 - block $case2|2 - block $case1|2 - block $case0|2 - local.get $0 - i32.const 3 - i32.and - local.set $5 - local.get $5 - i32.const 1 - i32.eq - br_if $case0|2 - local.get $5 - i32.const 2 - i32.eq - br_if $case1|2 - local.get $5 - i32.const 3 - i32.eq - br_if $case2|2 - br $break|2 - end - local.get $1 - i32.load - local.set $3 - local.get $0 - local.tee $5 - i32.const 1 - i32.add - local.set $0 - local.get $5 - local.get $1 - local.tee $5 - i32.const 1 - i32.add - local.set $1 - local.get $5 - i32.load8_u - i32.store8 - local.get $0 - local.tee $5 - i32.const 1 - i32.add - local.set $0 - local.get $5 - local.get $1 - local.tee $5 - i32.const 1 - i32.add - local.set $1 - local.get $5 - i32.load8_u - i32.store8 - local.get $0 - local.tee $5 - i32.const 1 - i32.add - local.set $0 - local.get $5 - local.get $1 - local.tee $5 - i32.const 1 - i32.add - local.set $1 - local.get $5 - i32.load8_u - i32.store8 - local.get $2 - i32.const 3 - i32.sub - local.set $2 - loop $while-continue|3 - local.get $2 - i32.const 17 - i32.ge_u - local.set $5 - local.get $5 - if - local.get $1 - i32.const 1 - i32.add - i32.load - local.set $4 - local.get $0 - local.get $3 - i32.const 24 - i32.shr_u - local.get $4 - i32.const 8 - i32.shl - i32.or - i32.store - local.get $1 - i32.const 5 - i32.add - i32.load - local.set $3 - local.get $0 - i32.const 4 - i32.add - local.get $4 - i32.const 24 - i32.shr_u - local.get $3 - i32.const 8 - i32.shl - i32.or - i32.store - local.get $1 - i32.const 9 - i32.add - i32.load - local.set $4 - local.get $0 - i32.const 8 - i32.add - local.get $3 - i32.const 24 - i32.shr_u - local.get $4 - i32.const 8 - i32.shl - i32.or - i32.store - local.get $1 - i32.const 13 - i32.add - i32.load - local.set $3 - local.get $0 - i32.const 12 - i32.add - local.get $4 - i32.const 24 - i32.shr_u - local.get $3 - i32.const 8 - i32.shl - i32.or - i32.store - local.get $1 - i32.const 16 - i32.add - local.set $1 - local.get $0 - i32.const 16 - i32.add - local.set $0 - local.get $2 - i32.const 16 - i32.sub - local.set $2 - br $while-continue|3 - end - end - br $break|2 - end - local.get $1 - i32.load - local.set $3 - local.get $0 - local.tee $5 - i32.const 1 - i32.add - local.set $0 - local.get $5 - local.get $1 - local.tee $5 - i32.const 1 - i32.add - local.set $1 - local.get $5 - i32.load8_u - i32.store8 - local.get $0 - local.tee $5 - i32.const 1 - i32.add - local.set $0 - local.get $5 - local.get $1 - local.tee $5 - i32.const 1 - i32.add - local.set $1 - local.get $5 - i32.load8_u - i32.store8 - local.get $2 - i32.const 2 - i32.sub - local.set $2 - loop $while-continue|4 - local.get $2 - i32.const 18 - i32.ge_u - local.set $5 - local.get $5 - if - local.get $1 - i32.const 2 - i32.add - i32.load - local.set $4 - local.get $0 - local.get $3 - i32.const 16 - i32.shr_u - local.get $4 - i32.const 16 - i32.shl - i32.or - i32.store - local.get $1 - i32.const 6 - i32.add - i32.load - local.set $3 - local.get $0 - i32.const 4 - i32.add - local.get $4 - i32.const 16 - i32.shr_u - local.get $3 - i32.const 16 - i32.shl - i32.or - i32.store - local.get $1 - i32.const 10 - i32.add - i32.load - local.set $4 - local.get $0 - i32.const 8 - i32.add - local.get $3 - i32.const 16 - i32.shr_u - local.get $4 - i32.const 16 - i32.shl - i32.or - i32.store - local.get $1 - i32.const 14 - i32.add - i32.load - local.set $3 - local.get $0 - i32.const 12 - i32.add - local.get $4 - i32.const 16 - i32.shr_u - local.get $3 - i32.const 16 - i32.shl - i32.or - i32.store - local.get $1 - i32.const 16 - i32.add - local.set $1 - local.get $0 - i32.const 16 - i32.add - local.set $0 - local.get $2 - i32.const 16 - i32.sub - local.set $2 - br $while-continue|4 - end - end - br $break|2 - end - local.get $1 - i32.load - local.set $3 - local.get $0 - local.tee $5 - i32.const 1 - i32.add - local.set $0 - local.get $5 - local.get $1 - local.tee $5 - i32.const 1 - i32.add - local.set $1 - local.get $5 - i32.load8_u - i32.store8 - local.get $2 - i32.const 1 - i32.sub - local.set $2 - loop $while-continue|5 - local.get $2 - i32.const 19 - i32.ge_u - local.set $5 - local.get $5 - if - local.get $1 - i32.const 3 - i32.add - i32.load - local.set $4 - local.get $0 - local.get $3 - i32.const 8 - i32.shr_u - local.get $4 - i32.const 24 - i32.shl - i32.or - i32.store - local.get $1 - i32.const 7 - i32.add - i32.load - local.set $3 - local.get $0 - i32.const 4 - i32.add - local.get $4 - i32.const 8 - i32.shr_u - local.get $3 - i32.const 24 - i32.shl - i32.or - i32.store - local.get $1 - i32.const 11 - i32.add - i32.load - local.set $4 - local.get $0 - i32.const 8 - i32.add - local.get $3 - i32.const 8 - i32.shr_u - local.get $4 - i32.const 24 - i32.shl - i32.or - i32.store - local.get $1 - i32.const 15 - i32.add - i32.load - local.set $3 - local.get $0 - i32.const 12 - i32.add - local.get $4 - i32.const 8 - i32.shr_u - local.get $3 - i32.const 24 - i32.shl - i32.or - i32.store - local.get $1 - i32.const 16 - i32.add - local.set $1 - local.get $0 - i32.const 16 - i32.add - local.set $0 - local.get $2 - i32.const 16 - i32.sub - local.set $2 - br $while-continue|5 - end - end - br $break|2 - end - end - local.get $2 - i32.const 16 - i32.and - if - local.get $0 - local.tee $5 - i32.const 1 - i32.add - local.set $0 - local.get $5 - local.get $1 - local.tee $5 - i32.const 1 - i32.add - local.set $1 - local.get $5 - i32.load8_u - i32.store8 - local.get $0 - local.tee $5 - i32.const 1 - i32.add - local.set $0 - local.get $5 - local.get $1 - local.tee $5 - i32.const 1 - i32.add - local.set $1 - local.get $5 - i32.load8_u - i32.store8 - local.get $0 - local.tee $5 - i32.const 1 - i32.add - local.set $0 - local.get $5 - local.get $1 - local.tee $5 - i32.const 1 - i32.add - local.set $1 - local.get $5 - i32.load8_u - i32.store8 - local.get $0 - local.tee $5 - i32.const 1 - i32.add - local.set $0 - local.get $5 - local.get $1 - local.tee $5 - i32.const 1 - i32.add - local.set $1 - local.get $5 - i32.load8_u - i32.store8 - local.get $0 - local.tee $5 - i32.const 1 - i32.add - local.set $0 - local.get $5 - local.get $1 - local.tee $5 - i32.const 1 - i32.add - local.set $1 - local.get $5 - i32.load8_u - i32.store8 - local.get $0 - local.tee $5 - i32.const 1 - i32.add - local.set $0 - local.get $5 - local.get $1 - local.tee $5 - i32.const 1 - i32.add - local.set $1 - local.get $5 - i32.load8_u - i32.store8 - local.get $0 - local.tee $5 - i32.const 1 - i32.add - local.set $0 - local.get $5 - local.get $1 - local.tee $5 - i32.const 1 - i32.add - local.set $1 - local.get $5 - i32.load8_u - i32.store8 - local.get $0 - local.tee $5 - i32.const 1 - i32.add - local.set $0 - local.get $5 - local.get $1 - local.tee $5 - i32.const 1 - i32.add - local.set $1 - local.get $5 - i32.load8_u - i32.store8 - local.get $0 - local.tee $5 - i32.const 1 - i32.add - local.set $0 - local.get $5 - local.get $1 - local.tee $5 - i32.const 1 - i32.add - local.set $1 - local.get $5 - i32.load8_u - i32.store8 - local.get $0 - local.tee $5 - i32.const 1 - i32.add - local.set $0 - local.get $5 - local.get $1 - local.tee $5 - i32.const 1 - i32.add - local.set $1 - local.get $5 - i32.load8_u - i32.store8 - local.get $0 - local.tee $5 - i32.const 1 - i32.add - local.set $0 - local.get $5 - local.get $1 - local.tee $5 - i32.const 1 - i32.add - local.set $1 - local.get $5 - i32.load8_u - i32.store8 - local.get $0 - local.tee $5 - i32.const 1 - i32.add - local.set $0 - local.get $5 - local.get $1 - local.tee $5 - i32.const 1 - i32.add - local.set $1 - local.get $5 - i32.load8_u - i32.store8 - local.get $0 - local.tee $5 - i32.const 1 - i32.add - local.set $0 - local.get $5 - local.get $1 - local.tee $5 - i32.const 1 - i32.add - local.set $1 - local.get $5 - i32.load8_u - i32.store8 - local.get $0 - local.tee $5 - i32.const 1 - i32.add - local.set $0 - local.get $5 - local.get $1 - local.tee $5 - i32.const 1 - i32.add - local.set $1 - local.get $5 - i32.load8_u - i32.store8 - local.get $0 - local.tee $5 - i32.const 1 - i32.add - local.set $0 - local.get $5 - local.get $1 - local.tee $5 - i32.const 1 - i32.add - local.set $1 - local.get $5 - i32.load8_u - i32.store8 - local.get $0 - local.tee $5 - i32.const 1 - i32.add - local.set $0 - local.get $5 - local.get $1 - local.tee $5 - i32.const 1 - i32.add - local.set $1 - local.get $5 - i32.load8_u - i32.store8 - end - local.get $2 - i32.const 8 - i32.and - if - local.get $0 - local.tee $5 - i32.const 1 - i32.add - local.set $0 - local.get $5 - local.get $1 - local.tee $5 - i32.const 1 - i32.add - local.set $1 - local.get $5 - i32.load8_u - i32.store8 - local.get $0 - local.tee $5 - i32.const 1 - i32.add - local.set $0 - local.get $5 - local.get $1 - local.tee $5 - i32.const 1 - i32.add - local.set $1 - local.get $5 - i32.load8_u - i32.store8 - local.get $0 - local.tee $5 - i32.const 1 - i32.add - local.set $0 - local.get $5 - local.get $1 - local.tee $5 - i32.const 1 - i32.add - local.set $1 - local.get $5 - i32.load8_u - i32.store8 - local.get $0 - local.tee $5 - i32.const 1 - i32.add - local.set $0 - local.get $5 - local.get $1 - local.tee $5 - i32.const 1 - i32.add - local.set $1 - local.get $5 - i32.load8_u - i32.store8 - local.get $0 - local.tee $5 - i32.const 1 - i32.add - local.set $0 - local.get $5 - local.get $1 - local.tee $5 - i32.const 1 - i32.add - local.set $1 - local.get $5 - i32.load8_u - i32.store8 - local.get $0 - local.tee $5 - i32.const 1 - i32.add - local.set $0 - local.get $5 - local.get $1 - local.tee $5 - i32.const 1 - i32.add - local.set $1 - local.get $5 - i32.load8_u - i32.store8 - local.get $0 - local.tee $5 - i32.const 1 - i32.add - local.set $0 - local.get $5 - local.get $1 - local.tee $5 - i32.const 1 - i32.add - local.set $1 - local.get $5 - i32.load8_u - i32.store8 - local.get $0 - local.tee $5 - i32.const 1 - i32.add - local.set $0 - local.get $5 - local.get $1 - local.tee $5 - i32.const 1 - i32.add - local.set $1 - local.get $5 - i32.load8_u - i32.store8 - end - local.get $2 - i32.const 4 - i32.and - if - local.get $0 - local.tee $5 - i32.const 1 - i32.add - local.set $0 - local.get $5 - local.get $1 - local.tee $5 - i32.const 1 - i32.add - local.set $1 - local.get $5 - i32.load8_u - i32.store8 - local.get $0 - local.tee $5 - i32.const 1 - i32.add - local.set $0 - local.get $5 - local.get $1 - local.tee $5 - i32.const 1 - i32.add - local.set $1 - local.get $5 - i32.load8_u - i32.store8 - local.get $0 - local.tee $5 - i32.const 1 - i32.add - local.set $0 - local.get $5 - local.get $1 - local.tee $5 - i32.const 1 - i32.add - local.set $1 - local.get $5 - i32.load8_u - i32.store8 - local.get $0 - local.tee $5 - i32.const 1 - i32.add - local.set $0 - local.get $5 - local.get $1 - local.tee $5 - i32.const 1 - i32.add - local.set $1 - local.get $5 - i32.load8_u - i32.store8 - end - local.get $2 - i32.const 2 - i32.and - if - local.get $0 - local.tee $5 - i32.const 1 - i32.add - local.set $0 - local.get $5 - local.get $1 - local.tee $5 - i32.const 1 - i32.add - local.set $1 - local.get $5 - i32.load8_u - i32.store8 - local.get $0 - local.tee $5 - i32.const 1 - i32.add - local.set $0 - local.get $5 - local.get $1 - local.tee $5 - i32.const 1 - i32.add - local.set $1 - local.get $5 - i32.load8_u - i32.store8 - end - local.get $2 - i32.const 1 - i32.and - if - local.get $0 - local.tee $5 - i32.const 1 - i32.add - local.set $0 - local.get $5 - local.get $1 - local.tee $5 - i32.const 1 - i32.add - local.set $1 - local.get $5 - i32.load8_u - i32.store8 - end - ) - (func $~lib/memory/memory.copy (param $0 i32) (param $1 i32) (param $2 i32) - (local $3 i32) - (local $4 i32) - (local $5 i32) - (local $6 i32) - (local $7 i32) - block $~lib/util/memory/memmove|inlined.0 - local.get $0 - local.set $5 - local.get $1 - local.set $4 - local.get $2 - local.set $3 - local.get $5 - local.get $4 - i32.eq - if - br $~lib/util/memory/memmove|inlined.0 - end - i32.const 0 - i32.const 1 - i32.lt_s - drop - local.get $4 - local.get $5 - i32.sub - local.get $3 - i32.sub - i32.const 0 - local.get $3 - i32.const 1 - i32.shl - i32.sub - i32.le_u - if - local.get $5 - local.get $4 - local.get $3 - call $~lib/util/memory/memcpy - br $~lib/util/memory/memmove|inlined.0 - end - local.get $5 - local.get $4 - i32.lt_u - if - i32.const 0 - i32.const 2 - i32.lt_s - drop - local.get $4 - i32.const 7 - i32.and - local.get $5 - i32.const 7 - i32.and - i32.eq - if - loop $while-continue|0 - local.get $5 - i32.const 7 - i32.and - local.set $6 - local.get $6 - if - local.get $3 - i32.eqz - if - br $~lib/util/memory/memmove|inlined.0 - end - local.get $3 - i32.const 1 - i32.sub - local.set $3 - local.get $5 - local.tee $7 - i32.const 1 - i32.add - local.set $5 - local.get $7 - local.get $4 - local.tee $7 - i32.const 1 - i32.add - local.set $4 - local.get $7 - i32.load8_u - i32.store8 - br $while-continue|0 - end - end - loop $while-continue|1 - local.get $3 - i32.const 8 - i32.ge_u - local.set $6 - local.get $6 - if - local.get $5 - local.get $4 - i64.load - i64.store - local.get $3 - i32.const 8 - i32.sub - local.set $3 - local.get $5 - i32.const 8 - i32.add - local.set $5 - local.get $4 - i32.const 8 - i32.add - local.set $4 - br $while-continue|1 - end - end - end - loop $while-continue|2 - local.get $3 - local.set $6 - local.get $6 - if - local.get $5 - local.tee $7 - i32.const 1 - i32.add - local.set $5 - local.get $7 - local.get $4 - local.tee $7 - i32.const 1 - i32.add - local.set $4 - local.get $7 - i32.load8_u - i32.store8 - local.get $3 - i32.const 1 - i32.sub - local.set $3 - br $while-continue|2 - end - end - else - i32.const 0 - i32.const 2 - i32.lt_s - drop - local.get $4 - i32.const 7 - i32.and - local.get $5 - i32.const 7 - i32.and - i32.eq - if - loop $while-continue|3 - local.get $5 - local.get $3 - i32.add - i32.const 7 - i32.and - local.set $6 - local.get $6 - if - local.get $3 - i32.eqz - if - br $~lib/util/memory/memmove|inlined.0 - end - local.get $5 - local.get $3 - i32.const 1 - i32.sub - local.tee $3 - i32.add - local.get $4 - local.get $3 - i32.add - i32.load8_u - i32.store8 - br $while-continue|3 - end - end - loop $while-continue|4 - local.get $3 - i32.const 8 - i32.ge_u - local.set $6 - local.get $6 - if - local.get $3 - i32.const 8 - i32.sub - local.set $3 - local.get $5 - local.get $3 - i32.add - local.get $4 - local.get $3 - i32.add - i64.load - i64.store - br $while-continue|4 - end - end - end - loop $while-continue|5 - local.get $3 - local.set $6 - local.get $6 - if - local.get $5 - local.get $3 - i32.const 1 - i32.sub - local.tee $3 - i32.add - local.get $4 - local.get $3 - i32.add - i32.load8_u - i32.store8 - br $while-continue|5 - end - end - end - end - ) - (func $~lib/rt/tlsf/freeBlock (param $0 i32) (param $1 i32) - local.get $1 - local.get $1 - i32.load - i32.const 1 - i32.or - i32.store - i32.const 0 - drop - local.get $0 - local.get $1 - call $~lib/rt/tlsf/insertBlock - ) - (func $~lib/rt/tlsf/moveBlock (param $0 i32) (param $1 i32) (param $2 i32) (result i32) - (local $3 i32) - local.get $0 - local.get $2 - call $~lib/rt/tlsf/allocateBlock - local.set $3 - local.get $3 - i32.const 4 - i32.add - local.get $1 - i32.const 4 - i32.add - local.get $1 - i32.load - i32.const 3 - i32.const -1 - i32.xor - i32.and - call $~lib/memory/memory.copy - local.get $1 - global.get $~lib/memory/__heap_base - i32.ge_u - if - i32.const 0 - drop - local.get $0 - local.get $1 - call $~lib/rt/tlsf/freeBlock - end - local.get $3 - ) - (func $~lib/rt/tlsf/reallocateBlock (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $~lib/memory/memory.fill (param $0 i32) (param $1 i32) (param $2 i32) (local $3 i32) (local $4 i32) (local $5 i32) (local $6 i32) (local $7 i32) (local $8 i32) - local.get $2 - call $~lib/rt/tlsf/prepareSize - local.set $3 - local.get $1 - i32.load - local.set $4 - local.get $4 - i32.const 3 - i32.const -1 - i32.xor - i32.and - local.set $5 - local.get $3 - local.get $5 - i32.le_u - if + (local $9 i64) + (local $10 i32) + block $~lib/util/memory/memset|inlined.0 local.get $0 + local.set $5 local.get $1 - local.get $3 - call $~lib/rt/tlsf/prepareBlock + local.set $4 + local.get $2 + local.set $3 i32.const 0 + i32.const 1 + i32.gt_s drop - local.get $1 - return - end - local.get $1 - local.set $6 - local.get $6 - i32.const 4 - i32.add - local.get $6 - i32.load - i32.const 3 - i32.const -1 - i32.xor - i32.and - i32.add - local.set $7 - local.get $7 - i32.load - local.set $8 - local.get $8 - i32.const 1 - i32.and - if + local.get $3 + i32.eqz + if + br $~lib/util/memory/memset|inlined.0 + end local.get $5 - i32.const 4 + local.get $3 i32.add - local.get $8 + local.set $6 + local.get $5 + local.get $4 + i32.store8 + local.get $6 + i32.const 1 + i32.sub + local.get $4 + i32.store8 + local.get $3 + i32.const 2 + i32.le_u + if + br $~lib/util/memory/memset|inlined.0 + end + local.get $5 + local.get $4 + i32.store8 offset=1 + local.get $5 + local.get $4 + i32.store8 offset=2 + local.get $6 + i32.const 2 + i32.sub + local.get $4 + i32.store8 + local.get $6 + i32.const 3 + i32.sub + local.get $4 + i32.store8 + local.get $3 + i32.const 6 + i32.le_u + if + br $~lib/util/memory/memset|inlined.0 + end + local.get $5 + local.get $4 + i32.store8 offset=3 + local.get $6 + i32.const 4 + i32.sub + local.get $4 + i32.store8 + local.get $3 + i32.const 8 + i32.le_u + if + br $~lib/util/memory/memset|inlined.0 + end + i32.const 0 + local.get $5 + i32.sub i32.const 3 + i32.and + local.set $7 + local.get $5 + local.get $7 + i32.add + local.set $5 + local.get $3 + local.get $7 + i32.sub + local.set $3 + local.get $3 + i32.const -4 + i32.and + local.set $3 i32.const -1 - i32.xor + i32.const 255 + i32.div_u + local.get $4 + i32.const 255 i32.and + i32.mul + local.set $8 + local.get $5 + local.get $3 i32.add local.set $6 + local.get $5 + local.get $8 + i32.store local.get $6 + i32.const 4 + i32.sub + local.get $8 + i32.store local.get $3 - i32.ge_u + i32.const 8 + i32.le_u if - local.get $0 - local.get $7 - call $~lib/rt/tlsf/removeBlock - local.get $1 - local.get $4 - i32.const 3 - i32.and - local.get $6 - i32.or - i32.store - local.get $0 - local.get $1 + br $~lib/util/memory/memset|inlined.0 + end + local.get $5 + local.get $8 + i32.store offset=4 + local.get $5 + local.get $8 + i32.store offset=8 + local.get $6 + i32.const 12 + i32.sub + local.get $8 + i32.store + local.get $6 + i32.const 8 + i32.sub + local.get $8 + i32.store + local.get $3 + i32.const 24 + i32.le_u + if + br $~lib/util/memory/memset|inlined.0 + end + local.get $5 + local.get $8 + i32.store offset=12 + local.get $5 + local.get $8 + i32.store offset=16 + local.get $5 + local.get $8 + i32.store offset=20 + local.get $5 + local.get $8 + i32.store offset=24 + local.get $6 + i32.const 28 + i32.sub + local.get $8 + i32.store + local.get $6 + i32.const 24 + i32.sub + local.get $8 + i32.store + local.get $6 + i32.const 20 + i32.sub + local.get $8 + i32.store + local.get $6 + i32.const 16 + i32.sub + local.get $8 + i32.store + i32.const 24 + local.get $5 + i32.const 4 + i32.and + i32.add + local.set $7 + local.get $5 + local.get $7 + i32.add + local.set $5 + local.get $3 + local.get $7 + i32.sub + local.set $3 + local.get $8 + i64.extend_i32_u + local.get $8 + i64.extend_i32_u + i64.const 32 + i64.shl + i64.or + local.set $9 + loop $while-continue|0 local.get $3 - call $~lib/rt/tlsf/prepareBlock - i32.const 0 - drop - local.get $1 - return + i32.const 32 + i32.ge_u + local.set $10 + local.get $10 + if + local.get $5 + local.get $9 + i64.store + local.get $5 + local.get $9 + i64.store offset=8 + local.get $5 + local.get $9 + i64.store offset=16 + local.get $5 + local.get $9 + i64.store offset=24 + local.get $3 + i32.const 32 + i32.sub + local.set $3 + local.get $5 + i32.const 32 + i32.add + local.set $5 + br $while-continue|0 + end end end - local.get $0 - local.get $1 - local.get $2 - call $~lib/rt/tlsf/moveBlock - ) - (func $~lib/rt/tlsf/__realloc (param $0 i32) (param $1 i32) (result i32) - global.get $~lib/rt/tlsf/ROOT - i32.eqz - if - call $~lib/rt/tlsf/initialize - end - local.get $0 - global.get $~lib/memory/__heap_base - i32.lt_u - if (result i32) - global.get $~lib/rt/tlsf/ROOT - local.get $0 - call $~lib/rt/tlsf/checkUsedBlock - local.get $1 - call $~lib/rt/tlsf/moveBlock - else - global.get $~lib/rt/tlsf/ROOT - local.get $0 - call $~lib/rt/tlsf/checkUsedBlock - local.get $1 - call $~lib/rt/tlsf/reallocateBlock - end - i32.const 4 - i32.add ) - (func $~lib/rt/pure/__renew (param $0 i32) (param $1 i32) (result i32) + (func $~lib/rt/itcms/__new (param $0 i32) (param $1 i32) (result i32) (local $2 i32) - local.get $1 + (local $3 i32) + local.get $0 i32.const 1073741804 - i32.gt_u + i32.ge_u if i32.const 32 i32.const 96 - i32.const 288 - i32.const 30 + i32.const 260 + i32.const 31 call $~lib/builtins/abort unreachable end - local.get $0 - i32.const 16 - i32.sub + global.get $~lib/rt/itcms/total + global.get $~lib/rt/itcms/threshold + i32.ge_u + if + call $~lib/rt/itcms/interrupt + end i32.const 16 - local.get $1 + local.get $0 i32.add - call $~lib/rt/tlsf/__realloc - local.set $2 - local.get $2 + call $~lib/rt/tlsf/__alloc i32.const 4 i32.sub + local.set $2 + local.get $2 local.get $1 - i32.store offset=16 + call $~lib/rt/itcms/Object#set:rtId local.get $2 - i32.const 16 + local.get $0 + call $~lib/rt/itcms/Object#set:rtSize + local.get $2 + global.get $~lib/rt/itcms/fromSpace + global.get $~lib/rt/itcms/white + call $~lib/rt/itcms/Object#linkTo + global.get $~lib/rt/itcms/total + local.get $2 + call $~lib/rt/itcms/Object#get:size + i32.add + global.set $~lib/rt/itcms/total + local.get $2 + i32.const 20 i32.add + local.set $3 + local.get $3 + i32.const 0 + local.get $0 + call $~lib/memory/memory.fill + local.get $3 ) - (func $~lib/rt/pure/increment (param $0 i32) - (local $1 i32) + (func $~lib/string/String#get:length (param $0 i32) (result i32) local.get $0 - i32.load offset=4 - local.set $1 - local.get $1 - i32.const 268435455 - i32.const -1 - i32.xor - i32.and - local.get $1 + i32.const 20 + i32.sub + i32.load offset=16 i32.const 1 - i32.add - i32.const 268435455 - i32.const -1 - i32.xor - i32.and - i32.eq - i32.eqz - if - i32.const 0 - i32.const 96 - i32.const 109 - i32.const 3 - call $~lib/builtins/abort - unreachable - end + i32.shr_u + ) + (func $~lib/util/string/compareImpl (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (param $4 i32) (result i32) + (local $5 i32) + (local $6 i32) + (local $7 i32) + (local $8 i32) + (local $9 i32) local.get $0 local.get $1 i32.const 1 + i32.shl i32.add - i32.store offset=4 - i32.const 0 - drop + local.set $5 + local.get $2 + local.get $3 i32.const 1 + i32.shl + i32.add + local.set $6 + i32.const 0 + i32.const 2 + i32.lt_s drop - local.get $0 - i32.load - i32.const 1 - i32.and - i32.eqz - i32.eqz - if + local.get $4 + i32.const 4 + i32.ge_u + if (result i32) + local.get $5 + i32.const 7 + i32.and + local.get $6 + i32.const 7 + i32.and + i32.or + i32.eqz + else i32.const 0 - i32.const 96 - i32.const 112 - i32.const 14 - call $~lib/builtins/abort - unreachable end - ) - (func $~lib/rt/pure/__retain (param $0 i32) (result i32) - local.get $0 - global.get $~lib/memory/__heap_base - i32.gt_u if - local.get $0 - i32.const 20 - i32.sub - call $~lib/rt/pure/increment + block $do-break|0 + loop $do-loop|0 + local.get $5 + i64.load + local.get $6 + i64.load + i64.ne + if + br $do-break|0 + end + local.get $5 + i32.const 8 + i32.add + local.set $5 + local.get $6 + i32.const 8 + i32.add + local.set $6 + local.get $4 + i32.const 4 + i32.sub + local.set $4 + local.get $4 + i32.const 4 + i32.ge_u + br_if $do-loop|0 + end + end end - local.get $0 - ) - (func $~lib/rt/pure/__release (param $0 i32) - local.get $0 - global.get $~lib/memory/__heap_base - i32.gt_u - if - local.get $0 - i32.const 20 + loop $while-continue|1 + local.get $4 + local.tee $7 + i32.const 1 i32.sub - call $~lib/rt/pure/decrement - end - ) - (func $rc/rereturn/Ref#constructor (param $0 i32) (result i32) - local.get $0 - i32.eqz - if - i32.const 0 - i32.const 3 - call $~lib/rt/pure/__new - call $~lib/rt/pure/__retain - local.set $0 - end - local.get $0 - ) - (func $rc/rereturn/getRef (result i32) - i32.const 0 - call $rc/rereturn/Ref#constructor - ) - (func $rc/rereturn/rereturnRef (result i32) - call $rc/rereturn/getRef - ) - (func $start:rc/rereturn - call $rc/rereturn/rereturnRef - call $~lib/rt/pure/__release - ) - (func $~lib/rt/pure/finalize (param $0 i32) - i32.const 0 - drop - global.get $~lib/rt/tlsf/ROOT - local.get $0 - call $~lib/rt/tlsf/freeBlock - ) - (func $~lib/rt/pure/decrement (param $0 i32) - (local $1 i32) - (local $2 i32) - local.get $0 - i32.load offset=4 - local.set $1 - local.get $1 - i32.const 268435455 - i32.and - local.set $2 - i32.const 0 - drop - i32.const 1 - drop - local.get $0 - i32.load - i32.const 1 - i32.and - i32.eqz - i32.eqz - if - i32.const 0 - i32.const 96 - i32.const 122 - i32.const 14 - call $~lib/builtins/abort - unreachable + local.set $4 + local.get $7 + local.set $7 + local.get $7 + if + local.get $5 + i32.load16_u + local.set $8 + local.get $6 + i32.load16_u + local.set $9 + local.get $8 + local.get $9 + i32.ne + if + local.get $8 + local.get $9 + i32.sub + return + end + local.get $5 + i32.const 2 + i32.add + local.set $5 + local.get $6 + i32.const 2 + i32.add + local.set $6 + br $while-continue|1 + end end - local.get $2 - i32.const 1 + i32.const 0 + ) + (func $~lib/string/String.__eq (param $0 i32) (param $1 i32) (result i32) + (local $2 i32) + local.get $0 + local.get $1 i32.eq if - local.get $0 - i32.const 20 - i32.add - i32.const 1 - call $~lib/rt/__visit_members i32.const 1 - drop + return + end + local.get $0 + i32.const 0 + i32.eq + if (result i32) i32.const 1 - drop - local.get $1 - i32.const -2147483648 - i32.and - i32.eqz - i32.eqz - if - i32.const 0 - i32.const 96 - i32.const 126 - i32.const 18 - call $~lib/builtins/abort - unreachable - end - local.get $0 - call $~lib/rt/pure/finalize else - i32.const 1 - drop - local.get $2 - i32.const 0 - i32.gt_u - i32.eqz - if - i32.const 0 - i32.const 96 - i32.const 136 - i32.const 16 - call $~lib/builtins/abort - unreachable - end - i32.const 1 - drop - local.get $0 local.get $1 - i32.const 268435455 - i32.const -1 - i32.xor - i32.and - local.get $2 - i32.const 1 - i32.sub - i32.or - i32.store offset=4 + i32.const 0 + i32.eq end - ) - (func $~start - call $start:rc/rereturn - ) - (func $~lib/rt/pure/__visit (param $0 i32) (param $1 i32) - local.get $0 - global.get $~lib/memory/__heap_base - i32.lt_u if + i32.const 0 return end - i32.const 1 - drop - i32.const 1 - drop + local.get $0 + call $~lib/string/String#get:length + local.set $2 + local.get $2 local.get $1 - i32.const 1 - i32.eq - i32.eqz + call $~lib/string/String#get:length + i32.ne if i32.const 0 - i32.const 96 - i32.const 69 - i32.const 16 - call $~lib/builtins/abort - unreachable + return end local.get $0 - i32.const 20 - i32.sub - call $~lib/rt/pure/decrement - ) - (func $~lib/arraybuffer/ArrayBuffer~visit (param $0 i32) (param $1 i32) - nop + i32.const 0 + local.get $1 + i32.const 0 + local.get $2 + call $~lib/util/string/compareImpl + i32.eqz ) - (func $~lib/string/String~visit (param $0 i32) (param $1 i32) - nop + (func $~lib/rt/__visit_globals (param $0 i32) + (local $1 i32) + i32.const 224 + local.get $0 + call $~lib/rt/itcms/__visit + i32.const 32 + local.get $0 + call $~lib/rt/itcms/__visit ) (func $~lib/arraybuffer/ArrayBufferView~visit (param $0 i32) (param $1 i32) (local $2 i32) @@ -3147,44 +2523,305 @@ if local.get $2 local.get $1 - call $~lib/rt/pure/__visit + call $~lib/rt/itcms/__visit end ) - (func $rc/rereturn/Ref~visit (param $0 i32) (param $1 i32) - nop - ) (func $~lib/rt/__visit_members (param $0 i32) (param $1 i32) block $invalid - block $rc/rereturn/Ref - block $~lib/arraybuffer/ArrayBufferView - block $~lib/string/String - block $~lib/arraybuffer/ArrayBuffer - local.get $0 - i32.const 8 - i32.sub - i32.load - br_table $~lib/arraybuffer/ArrayBuffer $~lib/string/String $~lib/arraybuffer/ArrayBufferView $rc/rereturn/Ref $invalid + block $issues/2166/Test2166Ref2 + block $issues/2166/Test2166Ref1<~lib/string/String> + block $~lib/arraybuffer/ArrayBufferView + block $~lib/string/String + block $~lib/arraybuffer/ArrayBuffer + local.get $0 + i32.const 8 + i32.sub + i32.load + br_table $~lib/arraybuffer/ArrayBuffer $~lib/string/String $~lib/arraybuffer/ArrayBufferView $issues/2166/Test2166Ref1<~lib/string/String> $issues/2166/Test2166Ref2 $invalid + end + return end - local.get $0 - local.get $1 - call $~lib/arraybuffer/ArrayBuffer~visit return end local.get $0 local.get $1 - call $~lib/string/String~visit + call $~lib/arraybuffer/ArrayBufferView~visit return end - local.get $0 - local.get $1 - call $~lib/arraybuffer/ArrayBufferView~visit return end - local.get $0 - local.get $1 - call $rc/rereturn/Ref~visit return end unreachable ) + (func $~start + call $start:issues/2166 + ) + (func $~stack_check + global.get $~lib/memory/__stack_pointer + global.get $~lib/memory/__data_end + i32.lt_s + if + i32.const 17056 + i32.const 17104 + i32.const 1 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + ) + (func $issues/2166/Test2166Ref1<~lib/string/String>#fn (param $0 i32) (param $1 i32) (param $2 i32) + (local $3 i32) + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.sub + global.set $~lib/memory/__stack_pointer + call $~stack_check + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store + i32.const 464 + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store + local.get $3 + i32.const 464 + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store offset=4 + local.get $3 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 496 + i32.const 9 + i32.const 5 + call $~lib/builtins/abort + unreachable + end + i32.const 544 + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store + local.get $3 + i32.const 544 + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store offset=4 + local.get $3 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 496 + i32.const 10 + i32.const 5 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + ) + (func $issues/2166/testfunc2166 + (local $0 i32) + (local $1 i32) + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.sub + global.set $~lib/memory/__stack_pointer + call $~stack_check + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store + global.get $~lib/memory/__stack_pointer + i32.const 0 + call $issues/2166/Test2166Ref1<~lib/string/String>#constructor + local.tee $0 + i32.store + local.get $0 + i32.const 432 + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store offset=4 + local.get $1 + i32.const 1 + call $issues/2166/Test2166Ref1<~lib/string/String>#fn + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + ) + (func $issues/2166/Test2166Ref2#constructor (param $0 i32) (result i32) + (local $1 i32) + global.get $~lib/memory/__stack_pointer + i32.const 12 + i32.sub + global.set $~lib/memory/__stack_pointer + call $~stack_check + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store offset=8 + local.get $0 + i32.eqz + if + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.const 4 + call $~lib/rt/itcms/__new + local.tee $0 + i32.store + end + i32.const 544 + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store offset=4 + local.get $1 + i32.const 544 + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store offset=8 + local.get $1 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 496 + i32.const 18 + i32.const 5 + call $~lib/builtins/abort + unreachable + end + local.get $0 + local.set $1 + global.get $~lib/memory/__stack_pointer + i32.const 12 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $1 + ) + (func $issues/2166/Test2166Ref2#bar<~lib/string/String> (param $0 i32) (param $1 i32) + (local $2 i32) + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.sub + global.set $~lib/memory/__stack_pointer + call $~stack_check + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store + i32.const 464 + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store + local.get $2 + i32.const 464 + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store offset=4 + local.get $2 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 496 + i32.const 22 + i32.const 5 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + ) + (func $start:issues/2166 + (local $0 i32) + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.sub + global.set $~lib/memory/__stack_pointer + call $~stack_check + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store + memory.size + i32.const 16 + i32.shl + global.get $~lib/memory/__heap_base + i32.sub + i32.const 1 + i32.shr_u + global.set $~lib/rt/itcms/threshold + i32.const 144 + call $~lib/rt/itcms/initLazy + global.set $~lib/rt/itcms/pinSpace + i32.const 176 + call $~lib/rt/itcms/initLazy + global.set $~lib/rt/itcms/toSpace + i32.const 320 + call $~lib/rt/itcms/initLazy + global.set $~lib/rt/itcms/fromSpace + call $issues/2166/testfunc2166 + i32.const 0 + call $issues/2166/Test2166Ref2#constructor + local.set $0 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store + local.get $0 + i32.const 576 + local.set $0 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store offset=4 + local.get $0 + call $issues/2166/Test2166Ref2#bar<~lib/string/String> + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + ) + (func $issues/2166/Test2166Ref1<~lib/string/String>#constructor (param $0 i32) (result i32) + (local $1 i32) + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.sub + global.set $~lib/memory/__stack_pointer + call $~stack_check + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store + local.get $0 + i32.eqz + if + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.const 3 + call $~lib/rt/itcms/__new + local.tee $0 + i32.store + end + local.get $0 + local.set $1 + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $1 + ) ) diff --git a/tests/compiler/logical.optimized.wat b/tests/compiler/logical.optimized.wat index 61a435064f..9d588d0b05 100644 --- a/tests/compiler/logical.optimized.wat +++ b/tests/compiler/logical.optimized.wat @@ -595,12 +595,12 @@ (local $0 i32) (local $1 i32) memory.size - local.tee $0 + local.tee $1 i32.const 0 i32.le_s if (result i32) i32.const 1 - local.get $0 + local.get $1 i32.sub memory.grow i32.const 0 @@ -618,11 +618,11 @@ i32.const 0 i32.store loop $for-loop|0 - local.get $1 + local.get $0 i32.const 23 i32.lt_u if - local.get $1 + local.get $0 i32.const 2 i32.shl i32.const 17920 @@ -630,14 +630,14 @@ i32.const 0 i32.store offset=4 i32.const 0 - local.set $0 + local.set $1 loop $for-loop|1 - local.get $0 + local.get $1 i32.const 16 i32.lt_u if - local.get $0 local.get $1 + local.get $0 i32.const 4 i32.shl i32.add @@ -647,17 +647,17 @@ i32.add i32.const 0 i32.store offset=96 - local.get $0 + local.get $1 i32.const 1 i32.add - local.set $0 + local.set $1 br $for-loop|1 end end - local.get $1 + local.get $0 i32.const 1 i32.add - local.set $1 + local.set $0 br $for-loop|0 end end @@ -1407,19 +1407,19 @@ local.get $0 i32.const 20 i32.sub - local.tee $0 + local.tee $1 i32.load offset=4 i32.const 3 i32.and i32.eq if global.get $~lib/rt/itcms/iter - local.get $0 + local.get $1 i32.eq if - local.get $0 + local.get $1 i32.load offset=8 - local.tee $1 + local.tee $0 i32.eqz if i32.const 0 @@ -1429,22 +1429,22 @@ call $~lib/builtins/abort unreachable end - local.get $1 + local.get $0 global.set $~lib/rt/itcms/iter end block $__inlined_func$~lib/rt/itcms/Object#unlink - local.get $0 + local.get $1 i32.load offset=4 i32.const -4 i32.and - local.tee $1 + local.tee $0 i32.eqz if i32.const 0 - local.get $0 + local.get $1 i32.const 17908 i32.lt_u - local.get $0 + local.get $1 i32.load offset=8 select i32.eqz @@ -1458,7 +1458,7 @@ end br $__inlined_func$~lib/rt/itcms/Object#unlink end - local.get $0 + local.get $1 i32.load offset=8 local.tee $2 i32.eqz @@ -1470,7 +1470,7 @@ call $~lib/builtins/abort unreachable end - local.get $1 + local.get $0 local.get $2 i32.store offset=8 local.get $2 @@ -1478,15 +1478,15 @@ i32.load offset=4 i32.const 3 i32.and - local.get $1 + local.get $0 i32.or i32.store offset=4 end global.get $~lib/rt/itcms/toSpace local.set $2 - local.get $0 + local.get $1 i32.load offset=12 - local.tee $1 + local.tee $0 i32.const 1 i32.le_u if (result i32) @@ -1494,7 +1494,7 @@ else i32.const 1488 i32.load - local.get $1 + local.get $0 i32.lt_u if i32.const 1296 @@ -1504,7 +1504,7 @@ call $~lib/builtins/abort unreachable end - local.get $1 + local.get $0 i32.const 3 i32.shl i32.const 1492 @@ -1522,25 +1522,25 @@ local.set $3 local.get $2 i32.load offset=8 - local.set $1 - local.get $0 + local.set $0 + local.get $1 local.get $2 local.get $3 i32.or i32.store offset=4 - local.get $0 local.get $1 + local.get $0 i32.store offset=8 - local.get $1 - local.get $1 + local.get $0 + local.get $0 i32.load offset=4 i32.const 3 i32.and - local.get $0 + local.get $1 i32.or i32.store offset=4 local.get $2 - local.get $0 + local.get $1 i32.store offset=8 global.get $~lib/rt/itcms/visitCount i32.const 1 diff --git a/tests/compiler/managed-cast.optimized.wat b/tests/compiler/managed-cast.optimized.wat index 4f8758408a..874b65e297 100644 --- a/tests/compiler/managed-cast.optimized.wat +++ b/tests/compiler/managed-cast.optimized.wat @@ -599,12 +599,12 @@ (local $0 i32) (local $1 i32) memory.size - local.tee $0 + local.tee $1 i32.const 0 i32.le_s if (result i32) i32.const 1 - local.get $0 + local.get $1 i32.sub memory.grow i32.const 0 @@ -622,11 +622,11 @@ i32.const 0 i32.store loop $for-loop|0 - local.get $1 + local.get $0 i32.const 23 i32.lt_u if - local.get $1 + local.get $0 i32.const 2 i32.shl i32.const 18064 @@ -634,14 +634,14 @@ i32.const 0 i32.store offset=4 i32.const 0 - local.set $0 + local.set $1 loop $for-loop|1 - local.get $0 + local.get $1 i32.const 16 i32.lt_u if - local.get $0 local.get $1 + local.get $0 i32.const 4 i32.shl i32.add @@ -651,17 +651,17 @@ i32.add i32.const 0 i32.store offset=96 - local.get $0 + local.get $1 i32.const 1 i32.add - local.set $0 + local.set $1 br $for-loop|1 end end - local.get $1 + local.get $0 i32.const 1 i32.add - local.set $1 + local.set $0 br $for-loop|0 end end @@ -1740,19 +1740,19 @@ local.get $0 i32.const 20 i32.sub - local.tee $0 + local.tee $1 i32.load offset=4 i32.const 3 i32.and i32.eq if global.get $~lib/rt/itcms/iter - local.get $0 + local.get $1 i32.eq if - local.get $0 + local.get $1 i32.load offset=8 - local.tee $1 + local.tee $0 i32.eqz if i32.const 0 @@ -1762,22 +1762,22 @@ call $~lib/builtins/abort unreachable end - local.get $1 + local.get $0 global.set $~lib/rt/itcms/iter end block $__inlined_func$~lib/rt/itcms/Object#unlink - local.get $0 + local.get $1 i32.load offset=4 i32.const -4 i32.and - local.tee $1 + local.tee $0 i32.eqz if i32.const 0 - local.get $0 + local.get $1 i32.const 18060 i32.lt_u - local.get $0 + local.get $1 i32.load offset=8 select i32.eqz @@ -1791,7 +1791,7 @@ end br $__inlined_func$~lib/rt/itcms/Object#unlink end - local.get $0 + local.get $1 i32.load offset=8 local.tee $2 i32.eqz @@ -1803,7 +1803,7 @@ call $~lib/builtins/abort unreachable end - local.get $1 + local.get $0 local.get $2 i32.store offset=8 local.get $2 @@ -1811,15 +1811,15 @@ i32.load offset=4 i32.const 3 i32.and - local.get $1 + local.get $0 i32.or i32.store offset=4 end global.get $~lib/rt/itcms/toSpace local.set $2 - local.get $0 + local.get $1 i32.load offset=12 - local.tee $1 + local.tee $0 i32.const 1 i32.le_u if (result i32) @@ -1827,7 +1827,7 @@ else i32.const 1632 i32.load - local.get $1 + local.get $0 i32.lt_u if i32.const 1248 @@ -1837,7 +1837,7 @@ call $~lib/builtins/abort unreachable end - local.get $1 + local.get $0 i32.const 3 i32.shl i32.const 1636 @@ -1855,25 +1855,25 @@ local.set $3 local.get $2 i32.load offset=8 - local.set $1 - local.get $0 + local.set $0 + local.get $1 local.get $2 local.get $3 i32.or i32.store offset=4 - local.get $0 local.get $1 + local.get $0 i32.store offset=8 - local.get $1 - local.get $1 + local.get $0 + local.get $0 i32.load offset=4 i32.const 3 i32.and - local.get $0 + local.get $1 i32.or i32.store offset=4 local.get $2 - local.get $0 + local.get $1 i32.store offset=8 global.get $~lib/rt/itcms/visitCount i32.const 1 diff --git a/tests/compiler/memset.optimized.wat b/tests/compiler/memset.optimized.wat index d6cd1e275c..f65e7bbefe 100644 --- a/tests/compiler/memset.optimized.wat +++ b/tests/compiler/memset.optimized.wat @@ -1,7 +1,7 @@ (module + (type $i32_i32_i32_=>_none (func (param i32 i32 i32))) (type $i32_i32_i32_i32_=>_none (func (param i32 i32 i32 i32))) (type $none_=>_none (func)) - (type $i32_i32_i32_=>_none (func (param i32 i32 i32))) (import "env" "abort" (func $~lib/builtins/abort (param i32 i32 i32 i32))) (global $memset/dest (mut i32) (i32.const 0)) (memory $0 1) @@ -9,13 +9,212 @@ (data (i32.const 1048) "\01\00\00\00\12\00\00\00m\00e\00m\00s\00e\00t\00.\00t\00s") (export "memory" (memory $0)) (start $~start) + (func $memset/memset (param $0 i32) (param $1 i32) (param $2 i32) + (local $3 i64) + (local $4 i32) + block $folding-inner0 + local.get $2 + i32.eqz + br_if $folding-inner0 + local.get $0 + local.get $1 + i32.store8 + local.get $0 + local.get $2 + i32.add + i32.const 1 + i32.sub + local.get $1 + i32.store8 + local.get $2 + i32.const 2 + i32.le_u + br_if $folding-inner0 + local.get $0 + local.get $1 + i32.store8 offset=1 + local.get $0 + local.get $1 + i32.store8 offset=2 + local.get $0 + local.get $2 + i32.add + local.tee $4 + i32.const 2 + i32.sub + local.get $1 + i32.store8 + local.get $4 + i32.const 3 + i32.sub + local.get $1 + i32.store8 + local.get $2 + i32.const 6 + i32.le_u + br_if $folding-inner0 + local.get $0 + local.get $1 + i32.store8 offset=3 + local.get $0 + local.get $2 + i32.add + i32.const 4 + i32.sub + local.get $1 + i32.store8 + local.get $2 + i32.const 8 + i32.le_u + br_if $folding-inner0 + local.get $0 + i32.const 0 + local.get $0 + i32.sub + i32.const 3 + i32.and + local.tee $4 + i32.add + local.tee $0 + local.get $1 + i32.const 255 + i32.and + i32.const 16843009 + i32.mul + local.tee $1 + i32.store + local.get $0 + local.get $2 + local.get $4 + i32.sub + i32.const -4 + i32.and + local.tee $2 + i32.add + i32.const 4 + i32.sub + local.get $1 + i32.store + local.get $2 + i32.const 8 + i32.le_u + br_if $folding-inner0 + local.get $0 + local.get $1 + i32.store offset=4 + local.get $0 + local.get $1 + i32.store offset=8 + local.get $0 + local.get $2 + i32.add + local.tee $4 + i32.const 12 + i32.sub + local.get $1 + i32.store + local.get $4 + i32.const 8 + i32.sub + local.get $1 + i32.store + local.get $2 + i32.const 24 + i32.le_u + br_if $folding-inner0 + local.get $0 + local.get $1 + i32.store offset=12 + local.get $0 + local.get $1 + i32.store offset=16 + local.get $0 + local.get $1 + i32.store offset=20 + local.get $0 + local.get $1 + i32.store offset=24 + local.get $0 + local.get $2 + i32.add + local.tee $4 + i32.const 28 + i32.sub + local.get $1 + i32.store + local.get $4 + i32.const 24 + i32.sub + local.get $1 + i32.store + local.get $4 + i32.const 20 + i32.sub + local.get $1 + i32.store + local.get $4 + i32.const 16 + i32.sub + local.get $1 + i32.store + local.get $0 + local.get $0 + i32.const 4 + i32.and + i32.const 24 + i32.add + local.tee $4 + i32.add + local.set $0 + local.get $2 + local.get $4 + i32.sub + local.set $2 + local.get $1 + i64.extend_i32_u + local.tee $3 + i64.const 32 + i64.shl + local.get $3 + i64.or + local.set $3 + loop $while-continue|0 + local.get $2 + i32.const 32 + i32.ge_u + if + local.get $0 + local.get $3 + i64.store + local.get $0 + local.get $3 + i64.store offset=8 + local.get $0 + local.get $3 + i64.store offset=16 + local.get $0 + local.get $3 + i64.store offset=24 + local.get $2 + i32.const 32 + i32.sub + local.set $2 + local.get $0 + i32.const 32 + i32.add + local.set $0 + br $while-continue|0 + end + end + end + ) (func $~start i32.const 17468 global.set $memset/dest i32.const 17468 i32.const 1 i32.const 16 - call $byn-split-outlined-A$memset/memset + call $memset/memset global.get $memset/dest i32.load8_u i32.const 1 @@ -45,7 +244,7 @@ i32.add i32.const 2 i32.const 14 - call $byn-split-outlined-A$memset/memset + call $memset/memset global.get $memset/dest i32.load8_u i32.const 1 @@ -95,208 +294,4 @@ unreachable end ) - (func $byn-split-outlined-A$memset/memset (param $0 i32) (param $1 i32) (param $2 i32) - (local $3 i64) - (local $4 i32) - local.get $0 - local.get $1 - i32.store8 - local.get $0 - local.get $2 - i32.add - i32.const 1 - i32.sub - local.get $1 - i32.store8 - local.get $2 - i32.const 2 - i32.le_u - if - return - end - local.get $0 - local.get $1 - i32.store8 offset=1 - local.get $0 - local.get $1 - i32.store8 offset=2 - local.get $0 - local.get $2 - i32.add - local.tee $4 - i32.const 2 - i32.sub - local.get $1 - i32.store8 - local.get $4 - i32.const 3 - i32.sub - local.get $1 - i32.store8 - local.get $2 - i32.const 6 - i32.le_u - if - return - end - local.get $0 - local.get $1 - i32.store8 offset=3 - local.get $0 - local.get $2 - i32.add - i32.const 4 - i32.sub - local.get $1 - i32.store8 - local.get $2 - i32.const 8 - i32.le_u - if - return - end - local.get $0 - i32.const 0 - local.get $0 - i32.sub - i32.const 3 - i32.and - local.tee $4 - i32.add - local.tee $0 - local.get $1 - i32.const 255 - i32.and - i32.const 16843009 - i32.mul - local.tee $1 - i32.store - local.get $0 - local.get $2 - local.get $4 - i32.sub - i32.const -4 - i32.and - local.tee $2 - i32.add - i32.const 4 - i32.sub - local.get $1 - i32.store - local.get $2 - i32.const 8 - i32.le_u - if - return - end - local.get $0 - local.get $1 - i32.store offset=4 - local.get $0 - local.get $1 - i32.store offset=8 - local.get $0 - local.get $2 - i32.add - local.tee $4 - i32.const 12 - i32.sub - local.get $1 - i32.store - local.get $4 - i32.const 8 - i32.sub - local.get $1 - i32.store - local.get $2 - i32.const 24 - i32.le_u - if - return - end - local.get $0 - local.get $1 - i32.store offset=12 - local.get $0 - local.get $1 - i32.store offset=16 - local.get $0 - local.get $1 - i32.store offset=20 - local.get $0 - local.get $1 - i32.store offset=24 - local.get $0 - local.get $2 - i32.add - local.tee $4 - i32.const 28 - i32.sub - local.get $1 - i32.store - local.get $4 - i32.const 24 - i32.sub - local.get $1 - i32.store - local.get $4 - i32.const 20 - i32.sub - local.get $1 - i32.store - local.get $4 - i32.const 16 - i32.sub - local.get $1 - i32.store - local.get $0 - local.get $0 - i32.const 4 - i32.and - i32.const 24 - i32.add - local.tee $4 - i32.add - local.set $0 - local.get $2 - local.get $4 - i32.sub - local.set $2 - local.get $1 - i64.extend_i32_u - local.tee $3 - i64.const 32 - i64.shl - local.get $3 - i64.or - local.set $3 - loop $while-continue|0 - local.get $2 - i32.const 32 - i32.ge_u - if - local.get $0 - local.get $3 - i64.store - local.get $0 - local.get $3 - i64.store offset=8 - local.get $0 - local.get $3 - i64.store offset=16 - local.get $0 - local.get $3 - i64.store offset=24 - local.get $2 - i32.const 32 - i32.sub - local.set $2 - local.get $0 - i32.const 32 - i32.add - local.set $0 - br $while-continue|0 - end - end - ) ) diff --git a/tests/compiler/new.optimized.wat b/tests/compiler/new.optimized.wat index 4d3a04ae76..63c45a9f98 100644 --- a/tests/compiler/new.optimized.wat +++ b/tests/compiler/new.optimized.wat @@ -635,12 +635,12 @@ (local $0 i32) (local $1 i32) memory.size - local.tee $0 + local.tee $1 i32.const 0 i32.le_s if (result i32) i32.const 1 - local.get $0 + local.get $1 i32.sub memory.grow i32.const 0 @@ -658,11 +658,11 @@ i32.const 0 i32.store loop $for-loop|0 - local.get $1 + local.get $0 i32.const 23 i32.lt_u if - local.get $1 + local.get $0 i32.const 2 i32.shl i32.const 17888 @@ -670,14 +670,14 @@ i32.const 0 i32.store offset=4 i32.const 0 - local.set $0 + local.set $1 loop $for-loop|1 - local.get $0 + local.get $1 i32.const 16 i32.lt_u if - local.get $0 local.get $1 + local.get $0 i32.const 4 i32.shl i32.add @@ -687,17 +687,17 @@ i32.add i32.const 0 i32.store offset=96 - local.get $0 + local.get $1 i32.const 1 i32.add - local.set $0 + local.set $1 br $for-loop|1 end end - local.get $1 + local.get $0 i32.const 1 i32.add - local.set $1 + local.set $0 br $for-loop|0 end end @@ -1540,19 +1540,19 @@ local.get $0 i32.const 20 i32.sub - local.tee $0 + local.tee $1 i32.load offset=4 i32.const 3 i32.and i32.eq if global.get $~lib/rt/itcms/iter - local.get $0 + local.get $1 i32.eq if - local.get $0 + local.get $1 i32.load offset=8 - local.tee $1 + local.tee $0 i32.eqz if i32.const 0 @@ -1562,22 +1562,22 @@ call $~lib/builtins/abort unreachable end - local.get $1 + local.get $0 global.set $~lib/rt/itcms/iter end block $__inlined_func$~lib/rt/itcms/Object#unlink - local.get $0 + local.get $1 i32.load offset=4 i32.const -4 i32.and - local.tee $1 + local.tee $0 i32.eqz if i32.const 0 - local.get $0 + local.get $1 i32.const 17884 i32.lt_u - local.get $0 + local.get $1 i32.load offset=8 select i32.eqz @@ -1591,7 +1591,7 @@ end br $__inlined_func$~lib/rt/itcms/Object#unlink end - local.get $0 + local.get $1 i32.load offset=8 local.tee $2 i32.eqz @@ -1603,7 +1603,7 @@ call $~lib/builtins/abort unreachable end - local.get $1 + local.get $0 local.get $2 i32.store offset=8 local.get $2 @@ -1611,15 +1611,15 @@ i32.load offset=4 i32.const 3 i32.and - local.get $1 + local.get $0 i32.or i32.store offset=4 end global.get $~lib/rt/itcms/toSpace local.set $2 - local.get $0 + local.get $1 i32.load offset=12 - local.tee $1 + local.tee $0 i32.const 1 i32.le_u if (result i32) @@ -1627,7 +1627,7 @@ else i32.const 1440 i32.load - local.get $1 + local.get $0 i32.lt_u if i32.const 1248 @@ -1637,7 +1637,7 @@ call $~lib/builtins/abort unreachable end - local.get $1 + local.get $0 i32.const 3 i32.shl i32.const 1444 @@ -1655,25 +1655,25 @@ local.set $3 local.get $2 i32.load offset=8 - local.set $1 - local.get $0 + local.set $0 + local.get $1 local.get $2 local.get $3 i32.or i32.store offset=4 - local.get $0 local.get $1 + local.get $0 i32.store offset=8 - local.get $1 - local.get $1 + local.get $0 + local.get $0 i32.load offset=4 i32.const 3 i32.and - local.get $0 + local.get $1 i32.or i32.store offset=4 local.get $2 - local.get $0 + local.get $1 i32.store offset=8 global.get $~lib/rt/itcms/visitCount i32.const 1 diff --git a/tests/compiler/number.optimized.wat b/tests/compiler/number.optimized.wat index 9ab69d4538..35ace370a2 100644 --- a/tests/compiler/number.optimized.wat +++ b/tests/compiler/number.optimized.wat @@ -642,12 +642,12 @@ (local $0 i32) (local $1 i32) memory.size - local.tee $0 + local.tee $1 i32.const 0 i32.le_s if (result i32) i32.const 1 - local.get $0 + local.get $1 i32.sub memory.grow i32.const 0 @@ -665,11 +665,11 @@ i32.const 0 i32.store loop $for-loop|0 - local.get $1 + local.get $0 i32.const 23 i32.lt_u if - local.get $1 + local.get $0 i32.const 2 i32.shl i32.const 21072 @@ -677,14 +677,14 @@ i32.const 0 i32.store offset=4 i32.const 0 - local.set $0 + local.set $1 loop $for-loop|1 - local.get $0 + local.get $1 i32.const 16 i32.lt_u if - local.get $0 local.get $1 + local.get $0 i32.const 4 i32.shl i32.add @@ -694,17 +694,17 @@ i32.add i32.const 0 i32.store offset=96 - local.get $0 + local.get $1 i32.const 1 i32.add - local.set $0 + local.set $1 br $for-loop|1 end end - local.get $1 + local.get $0 i32.const 1 i32.add - local.set $1 + local.set $0 br $for-loop|0 end end @@ -3362,7 +3362,7 @@ local.get $0 i32.const 1 i32.eq - if (result i32) + if i32.const 3458 i32.const 101 i32.store16 @@ -3437,9 +3437,6 @@ local.get $1 select i32.store16 - local.get $0 - i32.const 2 - i32.add else i32.const 3460 i32.const 3458 @@ -3535,9 +3532,11 @@ local.get $0 local.get $1 i32.add - i32.const 2 - i32.add + local.set $0 end + local.get $0 + i32.const 2 + i32.add end end end @@ -4023,19 +4022,19 @@ local.get $0 i32.const 20 i32.sub - local.tee $0 + local.tee $1 i32.load offset=4 i32.const 3 i32.and i32.eq if global.get $~lib/rt/itcms/iter - local.get $0 + local.get $1 i32.eq if - local.get $0 + local.get $1 i32.load offset=8 - local.tee $1 + local.tee $0 i32.eqz if i32.const 0 @@ -4045,22 +4044,22 @@ call $~lib/builtins/abort unreachable end - local.get $1 + local.get $0 global.set $~lib/rt/itcms/iter end block $__inlined_func$~lib/rt/itcms/Object#unlink - local.get $0 + local.get $1 i32.load offset=4 i32.const -4 i32.and - local.tee $1 + local.tee $0 i32.eqz if i32.const 0 - local.get $0 + local.get $1 i32.const 21068 i32.lt_u - local.get $0 + local.get $1 i32.load offset=8 select i32.eqz @@ -4074,7 +4073,7 @@ end br $__inlined_func$~lib/rt/itcms/Object#unlink end - local.get $0 + local.get $1 i32.load offset=8 local.tee $2 i32.eqz @@ -4086,7 +4085,7 @@ call $~lib/builtins/abort unreachable end - local.get $1 + local.get $0 local.get $2 i32.store offset=8 local.get $2 @@ -4094,15 +4093,15 @@ i32.load offset=4 i32.const 3 i32.and - local.get $1 + local.get $0 i32.or i32.store offset=4 end global.get $~lib/rt/itcms/toSpace local.set $2 - local.get $0 + local.get $1 i32.load offset=12 - local.tee $1 + local.tee $0 i32.const 1 i32.le_u if (result i32) @@ -4110,7 +4109,7 @@ else i32.const 4656 i32.load - local.get $1 + local.get $0 i32.lt_u if i32.const 1472 @@ -4120,7 +4119,7 @@ call $~lib/builtins/abort unreachable end - local.get $1 + local.get $0 i32.const 3 i32.shl i32.const 4660 @@ -4138,25 +4137,25 @@ local.set $3 local.get $2 i32.load offset=8 - local.set $1 - local.get $0 + local.set $0 + local.get $1 local.get $2 local.get $3 i32.or i32.store offset=4 - local.get $0 local.get $1 + local.get $0 i32.store offset=8 - local.get $1 - local.get $1 + local.get $0 + local.get $0 i32.load offset=4 i32.const 3 i32.and - local.get $0 + local.get $1 i32.or i32.store offset=4 local.get $2 - local.get $0 + local.get $1 i32.store offset=8 global.get $~lib/rt/itcms/visitCount i32.const 1 diff --git a/tests/compiler/object-literal.optimized.wat b/tests/compiler/object-literal.optimized.wat index 735ea92ee8..6d37812722 100644 --- a/tests/compiler/object-literal.optimized.wat +++ b/tests/compiler/object-literal.optimized.wat @@ -739,12 +739,12 @@ (local $0 i32) (local $1 i32) memory.size - local.tee $0 + local.tee $1 i32.const 0 i32.le_s if (result i32) i32.const 1 - local.get $0 + local.get $1 i32.sub memory.grow i32.const 0 @@ -762,11 +762,11 @@ i32.const 0 i32.store loop $for-loop|0 - local.get $1 + local.get $0 i32.const 23 i32.lt_u if - local.get $1 + local.get $0 i32.const 2 i32.shl i32.const 18160 @@ -774,14 +774,14 @@ i32.const 0 i32.store offset=4 i32.const 0 - local.set $0 + local.set $1 loop $for-loop|1 - local.get $0 + local.get $1 i32.const 16 i32.lt_u if - local.get $0 local.get $1 + local.get $0 i32.const 4 i32.shl i32.add @@ -791,17 +791,17 @@ i32.add i32.const 0 i32.store offset=96 - local.get $0 + local.get $1 i32.const 1 i32.add - local.set $0 + local.set $1 br $for-loop|1 end end - local.get $1 + local.get $0 i32.const 1 i32.add - local.set $1 + local.set $0 br $for-loop|0 end end diff --git a/tests/compiler/optional-typeparameters.optimized.wat b/tests/compiler/optional-typeparameters.optimized.wat index 99cfd40ab5..1deb071c38 100644 --- a/tests/compiler/optional-typeparameters.optimized.wat +++ b/tests/compiler/optional-typeparameters.optimized.wat @@ -607,12 +607,12 @@ (local $0 i32) (local $1 i32) memory.size - local.tee $0 + local.tee $1 i32.const 0 i32.le_s if (result i32) i32.const 1 - local.get $0 + local.get $1 i32.sub memory.grow i32.const 0 @@ -630,11 +630,11 @@ i32.const 0 i32.store loop $for-loop|0 - local.get $1 + local.get $0 i32.const 23 i32.lt_u if - local.get $1 + local.get $0 i32.const 2 i32.shl i32.const 17872 @@ -642,14 +642,14 @@ i32.const 0 i32.store offset=4 i32.const 0 - local.set $0 + local.set $1 loop $for-loop|1 - local.get $0 + local.get $1 i32.const 16 i32.lt_u if - local.get $0 local.get $1 + local.get $0 i32.const 4 i32.shl i32.add @@ -659,17 +659,17 @@ i32.add i32.const 0 i32.store offset=96 - local.get $0 + local.get $1 i32.const 1 i32.add - local.set $0 + local.set $1 br $for-loop|1 end end - local.get $1 + local.get $0 i32.const 1 i32.add - local.set $1 + local.set $0 br $for-loop|0 end end @@ -1384,19 +1384,19 @@ local.get $0 i32.const 20 i32.sub - local.tee $0 + local.tee $1 i32.load offset=4 i32.const 3 i32.and i32.eq if global.get $~lib/rt/itcms/iter - local.get $0 + local.get $1 i32.eq if - local.get $0 + local.get $1 i32.load offset=8 - local.tee $1 + local.tee $0 i32.eqz if i32.const 0 @@ -1406,22 +1406,22 @@ call $~lib/builtins/abort unreachable end - local.get $1 + local.get $0 global.set $~lib/rt/itcms/iter end block $__inlined_func$~lib/rt/itcms/Object#unlink - local.get $0 + local.get $1 i32.load offset=4 i32.const -4 i32.and - local.tee $1 + local.tee $0 i32.eqz if i32.const 0 - local.get $0 + local.get $1 i32.const 17868 i32.lt_u - local.get $0 + local.get $1 i32.load offset=8 select i32.eqz @@ -1435,7 +1435,7 @@ end br $__inlined_func$~lib/rt/itcms/Object#unlink end - local.get $0 + local.get $1 i32.load offset=8 local.tee $2 i32.eqz @@ -1447,7 +1447,7 @@ call $~lib/builtins/abort unreachable end - local.get $1 + local.get $0 local.get $2 i32.store offset=8 local.get $2 @@ -1455,15 +1455,15 @@ i32.load offset=4 i32.const 3 i32.and - local.get $1 + local.get $0 i32.or i32.store offset=4 end global.get $~lib/rt/itcms/toSpace local.set $2 - local.get $0 + local.get $1 i32.load offset=12 - local.tee $1 + local.tee $0 i32.const 1 i32.le_u if (result i32) @@ -1471,7 +1471,7 @@ else i32.const 1440 i32.load - local.get $1 + local.get $0 i32.lt_u if i32.const 1248 @@ -1481,7 +1481,7 @@ call $~lib/builtins/abort unreachable end - local.get $1 + local.get $0 i32.const 3 i32.shl i32.const 1444 @@ -1499,25 +1499,25 @@ local.set $3 local.get $2 i32.load offset=8 - local.set $1 - local.get $0 + local.set $0 + local.get $1 local.get $2 local.get $3 i32.or i32.store offset=4 - local.get $0 local.get $1 + local.get $0 i32.store offset=8 - local.get $1 - local.get $1 + local.get $0 + local.get $0 i32.load offset=4 i32.const 3 i32.and - local.get $0 + local.get $1 i32.or i32.store offset=4 local.get $2 - local.get $0 + local.get $1 i32.store offset=8 global.get $~lib/rt/itcms/visitCount i32.const 1 diff --git a/tests/compiler/possibly-null.optimized.wat b/tests/compiler/possibly-null.optimized.wat index 0b5ec9002c..42cc8af75c 100644 --- a/tests/compiler/possibly-null.optimized.wat +++ b/tests/compiler/possibly-null.optimized.wat @@ -1,20 +1,20 @@ (module - (type $i32_=>_none (func (param i32))) (type $i32_i32_=>_none (func (param i32 i32))) + (type $i32_=>_none (func (param i32))) (type $i32_i32_i32_i32_=>_none (func (param i32 i32 i32 i32))) (import "env" "abort" (func $~lib/builtins/abort (param i32 i32 i32 i32))) (global $~lib/memory/__stack_pointer (mut i32) (i32.const 17408)) (memory $0 0) (export "memory" (memory $0)) (export "testTrue" (func $export:possibly-null/testTrue)) - (export "testFalseElse" (func $export:possibly-null/testFalseElse)) - (export "testFalseContinuation" (func $export:possibly-null/testFalseElse)) + (export "testFalseElse" (func $export:possibly-null/testTrue)) + (export "testFalseContinuation" (func $export:possibly-null/testTrue)) (export "testNeNull" (func $export:possibly-null/testTrue)) - (export "testEqNullElse" (func $export:possibly-null/testFalseElse)) - (export "testEqNullContinuation" (func $export:possibly-null/testFalseElse)) + (export "testEqNullElse" (func $export:possibly-null/testTrue)) + (export "testEqNullContinuation" (func $export:possibly-null/testTrue)) (export "testNotEqNull" (func $export:possibly-null/testTrue)) - (export "testNotNeNullElse" (func $export:possibly-null/testFalseElse)) - (export "testNotNeNullContinuation" (func $export:possibly-null/testFalseElse)) + (export "testNotNeNullElse" (func $export:possibly-null/testTrue)) + (export "testNotNeNullContinuation" (func $export:possibly-null/testTrue)) (export "testWhile" (func $export:possibly-null/testWhile)) (export "testWhile2" (func $export:possibly-null/testWhile2)) (export "testWhile3" (func $export:possibly-null/testWhile3)) @@ -50,35 +50,6 @@ i32.add global.set $~lib/memory/__stack_pointer ) - (func $export:possibly-null/testFalseElse (param $0 i32) - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.sub - global.set $~lib/memory/__stack_pointer - global.get $~lib/memory/__stack_pointer - i32.const 1024 - i32.lt_s - if - i32.const 17440 - i32.const 17488 - i32.const 1 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store - block $__inlined_func$possibly-null/testFalseElse - local.get $0 - i32.eqz - br_if $__inlined_func$possibly-null/testFalseElse - end - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - ) (func $export:possibly-null/testWhile (param $0 i32) global.get $~lib/memory/__stack_pointer i32.const 4 diff --git a/tests/compiler/rc/global-init.optimized.wat b/tests/compiler/rc/global-init.optimized.wat deleted file mode 100644 index 61764a130e..0000000000 --- a/tests/compiler/rc/global-init.optimized.wat +++ /dev/null @@ -1,7 +0,0 @@ -(module - (memory $0 1) - (data (i32.const 1036) "\1c\00\00\00\01\00\00\00\00\00\00\00\01") - (data (i32.const 1068) "<\00\00\00\01\00\00\00\00\00\00\00\01\00\00\00\1e\00\00\00~\00l\00i\00b\00/\00r\00t\00/\00p\00u\00r\00e\00.\00t\00s") - (data (i32.const 1132) "<\00\00\00\01\00\00\00\00\00\00\00\01\00\00\00\1e\00\00\00~\00l\00i\00b\00/\00r\00t\00/\00t\00l\00s\00f\00.\00t\00s") - (export "memory" (memory $0)) -) diff --git a/tests/compiler/rc/global-init.untouched.wat b/tests/compiler/rc/global-init.untouched.wat deleted file mode 100644 index eeab740011..0000000000 --- a/tests/compiler/rc/global-init.untouched.wat +++ /dev/null @@ -1,893 +0,0 @@ -(module - (type $i32_i32_=>_none (func (param i32 i32))) - (type $i32_=>_none (func (param i32))) - (type $none_=>_none (func)) - (type $i32_i32_i32_i32_=>_none (func (param i32 i32 i32 i32))) - (type $none_=>_i32 (func (result i32))) - (type $i32_=>_i32 (func (param i32) (result i32))) - (import "env" "abort" (func $~lib/builtins/abort (param i32 i32 i32 i32))) - (memory $0 1) - (data (i32.const 12) "\1c\00\00\00\01\00\00\00\00\00\00\00\01\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 44) "<\00\00\00\01\00\00\00\00\00\00\00\01\00\00\00\1e\00\00\00~\00l\00i\00b\00/\00r\00t\00/\00p\00u\00r\00e\00.\00t\00s\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 108) "<\00\00\00\01\00\00\00\00\00\00\00\01\00\00\00\1e\00\00\00~\00l\00i\00b\00/\00r\00t\00/\00t\00l\00s\00f\00.\00t\00s\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") - (table $0 1 funcref) - (global $rc/global-init/a (mut i32) (i32.const 0)) - (global $rc/global-init/b (mut i32) (i32.const 0)) - (global $~lib/rt/tlsf/ROOT (mut i32) (i32.const 0)) - (global $~lib/memory/__heap_base i32 (i32.const 172)) - (export "memory" (memory $0)) - (start $~start) - (func $rc/global-init/getRef (result i32) - i32.const 32 - ) - (func $~lib/rt/pure/increment (param $0 i32) - (local $1 i32) - local.get $0 - i32.load offset=4 - local.set $1 - local.get $1 - i32.const 268435455 - i32.const -1 - i32.xor - i32.and - local.get $1 - i32.const 1 - i32.add - i32.const 268435455 - i32.const -1 - i32.xor - i32.and - i32.eq - i32.eqz - if - i32.const 0 - i32.const 64 - i32.const 109 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $0 - local.get $1 - i32.const 1 - i32.add - i32.store offset=4 - i32.const 0 - drop - i32.const 1 - drop - local.get $0 - i32.load - i32.const 1 - i32.and - i32.eqz - i32.eqz - if - i32.const 0 - i32.const 64 - i32.const 112 - i32.const 14 - call $~lib/builtins/abort - unreachable - end - ) - (func $~lib/rt/pure/__retain (param $0 i32) (result i32) - local.get $0 - global.get $~lib/memory/__heap_base - i32.gt_u - if - local.get $0 - i32.const 20 - i32.sub - call $~lib/rt/pure/increment - end - local.get $0 - ) - (func $~lib/rt/pure/__release (param $0 i32) - local.get $0 - global.get $~lib/memory/__heap_base - i32.gt_u - if - local.get $0 - i32.const 20 - i32.sub - call $~lib/rt/pure/decrement - end - ) - (func $start:rc/global-init - (local $0 i32) - (local $1 i32) - call $rc/global-init/getRef - global.set $rc/global-init/a - call $rc/global-init/getRef - global.set $rc/global-init/b - i32.const 0 - local.tee $0 - global.get $rc/global-init/a - local.tee $1 - i32.ne - if - local.get $0 - call $~lib/rt/pure/__retain - local.set $0 - local.get $1 - call $~lib/rt/pure/__release - end - local.get $0 - global.set $rc/global-init/a - i32.const 0 - local.tee $1 - global.get $rc/global-init/b - local.tee $0 - i32.ne - if - local.get $1 - call $~lib/rt/pure/__retain - local.set $1 - local.get $0 - call $~lib/rt/pure/__release - end - local.get $1 - global.set $rc/global-init/b - ) - (func $~lib/rt/tlsf/removeBlock (param $0 i32) (param $1 i32) - (local $2 i32) - (local $3 i32) - (local $4 i32) - (local $5 i32) - (local $6 i32) - (local $7 i32) - (local $8 i32) - (local $9 i32) - (local $10 i32) - (local $11 i32) - local.get $1 - i32.load - local.set $2 - i32.const 1 - drop - local.get $2 - i32.const 1 - i32.and - i32.eqz - if - i32.const 0 - i32.const 128 - i32.const 272 - i32.const 14 - call $~lib/builtins/abort - unreachable - end - local.get $2 - i32.const 3 - i32.const -1 - i32.xor - i32.and - local.set $3 - i32.const 1 - drop - local.get $3 - i32.const 12 - i32.ge_u - if (result i32) - local.get $3 - i32.const 1073741820 - i32.lt_u - else - i32.const 0 - end - i32.eqz - if - i32.const 0 - i32.const 128 - i32.const 274 - i32.const 14 - call $~lib/builtins/abort - unreachable - end - local.get $3 - i32.const 256 - i32.lt_u - if - i32.const 0 - local.set $4 - local.get $3 - i32.const 4 - i32.shr_u - local.set $5 - else - i32.const 31 - local.get $3 - i32.clz - i32.sub - local.set $4 - local.get $3 - local.get $4 - i32.const 4 - i32.sub - i32.shr_u - i32.const 1 - i32.const 4 - i32.shl - i32.xor - local.set $5 - local.get $4 - i32.const 8 - i32.const 1 - i32.sub - i32.sub - local.set $4 - end - i32.const 1 - drop - local.get $4 - i32.const 23 - i32.lt_u - if (result i32) - local.get $5 - i32.const 16 - i32.lt_u - else - i32.const 0 - end - i32.eqz - if - i32.const 0 - i32.const 128 - i32.const 287 - i32.const 14 - call $~lib/builtins/abort - unreachable - end - local.get $1 - i32.load offset=4 - local.set $6 - local.get $1 - i32.load offset=8 - local.set $7 - local.get $6 - if - local.get $6 - local.get $7 - i32.store offset=8 - end - local.get $7 - if - local.get $7 - local.get $6 - i32.store offset=4 - end - local.get $1 - local.get $0 - local.set $10 - local.get $4 - local.set $9 - local.get $5 - local.set $8 - local.get $10 - local.get $9 - i32.const 4 - i32.shl - local.get $8 - i32.add - i32.const 2 - i32.shl - i32.add - i32.load offset=96 - i32.eq - if - local.get $0 - local.set $11 - local.get $4 - local.set $10 - local.get $5 - local.set $9 - local.get $7 - local.set $8 - local.get $11 - local.get $10 - i32.const 4 - i32.shl - local.get $9 - i32.add - i32.const 2 - i32.shl - i32.add - local.get $8 - i32.store offset=96 - local.get $7 - i32.eqz - if - local.get $0 - local.set $9 - local.get $4 - local.set $8 - local.get $9 - local.get $8 - i32.const 2 - i32.shl - i32.add - i32.load offset=4 - local.set $9 - local.get $0 - local.set $8 - local.get $4 - local.set $11 - local.get $9 - i32.const 1 - local.get $5 - i32.shl - i32.const -1 - i32.xor - i32.and - local.tee $9 - local.set $10 - local.get $8 - local.get $11 - i32.const 2 - i32.shl - i32.add - local.get $10 - i32.store offset=4 - local.get $9 - i32.eqz - if - local.get $0 - local.get $0 - i32.load - i32.const 1 - local.get $4 - i32.shl - i32.const -1 - i32.xor - i32.and - i32.store - end - end - end - ) - (func $~lib/rt/tlsf/insertBlock (param $0 i32) (param $1 i32) - (local $2 i32) - (local $3 i32) - (local $4 i32) - (local $5 i32) - (local $6 i32) - (local $7 i32) - (local $8 i32) - (local $9 i32) - (local $10 i32) - (local $11 i32) - (local $12 i32) - (local $13 i32) - i32.const 1 - drop - local.get $1 - i32.eqz - if - i32.const 0 - i32.const 128 - i32.const 200 - i32.const 14 - call $~lib/builtins/abort - unreachable - end - local.get $1 - i32.load - local.set $2 - i32.const 1 - drop - local.get $2 - i32.const 1 - i32.and - i32.eqz - if - i32.const 0 - i32.const 128 - i32.const 202 - i32.const 14 - call $~lib/builtins/abort - unreachable - end - local.get $1 - local.set $3 - local.get $3 - i32.const 4 - i32.add - local.get $3 - i32.load - i32.const 3 - i32.const -1 - i32.xor - i32.and - i32.add - local.set $4 - local.get $4 - i32.load - local.set $5 - local.get $5 - i32.const 1 - i32.and - if - local.get $2 - i32.const 3 - i32.const -1 - i32.xor - i32.and - i32.const 4 - i32.add - local.get $5 - i32.const 3 - i32.const -1 - i32.xor - i32.and - i32.add - local.set $3 - local.get $3 - i32.const 1073741820 - i32.lt_u - if - local.get $0 - local.get $4 - call $~lib/rt/tlsf/removeBlock - local.get $1 - local.get $2 - i32.const 3 - i32.and - local.get $3 - i32.or - local.tee $2 - i32.store - local.get $1 - local.set $6 - local.get $6 - i32.const 4 - i32.add - local.get $6 - i32.load - i32.const 3 - i32.const -1 - i32.xor - i32.and - i32.add - local.set $4 - local.get $4 - i32.load - local.set $5 - end - end - local.get $2 - i32.const 2 - i32.and - if - local.get $1 - local.set $6 - local.get $6 - i32.const 4 - i32.sub - i32.load - local.set $6 - local.get $6 - i32.load - local.set $3 - i32.const 1 - drop - local.get $3 - i32.const 1 - i32.and - i32.eqz - if - i32.const 0 - i32.const 128 - i32.const 223 - i32.const 16 - call $~lib/builtins/abort - unreachable - end - local.get $3 - i32.const 3 - i32.const -1 - i32.xor - i32.and - i32.const 4 - i32.add - local.get $2 - i32.const 3 - i32.const -1 - i32.xor - i32.and - i32.add - local.set $7 - local.get $7 - i32.const 1073741820 - i32.lt_u - if - local.get $0 - local.get $6 - call $~lib/rt/tlsf/removeBlock - local.get $6 - local.get $3 - i32.const 3 - i32.and - local.get $7 - i32.or - local.tee $2 - i32.store - local.get $6 - local.set $1 - end - end - local.get $4 - local.get $5 - i32.const 2 - i32.or - i32.store - local.get $2 - i32.const 3 - i32.const -1 - i32.xor - i32.and - local.set $8 - i32.const 1 - drop - local.get $8 - i32.const 12 - i32.ge_u - if (result i32) - local.get $8 - i32.const 1073741820 - i32.lt_u - else - i32.const 0 - end - i32.eqz - if - i32.const 0 - i32.const 128 - i32.const 238 - i32.const 14 - call $~lib/builtins/abort - unreachable - end - i32.const 1 - drop - local.get $1 - i32.const 4 - i32.add - local.get $8 - i32.add - local.get $4 - i32.eq - i32.eqz - if - i32.const 0 - i32.const 128 - i32.const 239 - i32.const 14 - call $~lib/builtins/abort - unreachable - end - local.get $4 - i32.const 4 - i32.sub - local.get $1 - i32.store - local.get $8 - i32.const 256 - i32.lt_u - if - i32.const 0 - local.set $9 - local.get $8 - i32.const 4 - i32.shr_u - local.set $10 - else - i32.const 31 - local.get $8 - i32.clz - i32.sub - local.set $9 - local.get $8 - local.get $9 - i32.const 4 - i32.sub - i32.shr_u - i32.const 1 - i32.const 4 - i32.shl - i32.xor - local.set $10 - local.get $9 - i32.const 8 - i32.const 1 - i32.sub - i32.sub - local.set $9 - end - i32.const 1 - drop - local.get $9 - i32.const 23 - i32.lt_u - if (result i32) - local.get $10 - i32.const 16 - i32.lt_u - else - i32.const 0 - end - i32.eqz - if - i32.const 0 - i32.const 128 - i32.const 255 - i32.const 14 - call $~lib/builtins/abort - unreachable - end - local.get $0 - local.set $7 - local.get $9 - local.set $3 - local.get $10 - local.set $6 - local.get $7 - local.get $3 - i32.const 4 - i32.shl - local.get $6 - i32.add - i32.const 2 - i32.shl - i32.add - i32.load offset=96 - local.set $11 - local.get $1 - i32.const 0 - i32.store offset=4 - local.get $1 - local.get $11 - i32.store offset=8 - local.get $11 - if - local.get $11 - local.get $1 - i32.store offset=4 - end - local.get $0 - local.set $12 - local.get $9 - local.set $7 - local.get $10 - local.set $3 - local.get $1 - local.set $6 - local.get $12 - local.get $7 - i32.const 4 - i32.shl - local.get $3 - i32.add - i32.const 2 - i32.shl - i32.add - local.get $6 - i32.store offset=96 - local.get $0 - local.get $0 - i32.load - i32.const 1 - local.get $9 - i32.shl - i32.or - i32.store - local.get $0 - local.set $13 - local.get $9 - local.set $12 - local.get $0 - local.set $3 - local.get $9 - local.set $6 - local.get $3 - local.get $6 - i32.const 2 - i32.shl - i32.add - i32.load offset=4 - i32.const 1 - local.get $10 - i32.shl - i32.or - local.set $7 - local.get $13 - local.get $12 - i32.const 2 - i32.shl - i32.add - local.get $7 - i32.store offset=4 - ) - (func $~lib/rt/tlsf/freeBlock (param $0 i32) (param $1 i32) - local.get $1 - local.get $1 - i32.load - i32.const 1 - i32.or - i32.store - i32.const 0 - drop - local.get $0 - local.get $1 - call $~lib/rt/tlsf/insertBlock - ) - (func $~lib/rt/pure/finalize (param $0 i32) - i32.const 0 - drop - global.get $~lib/rt/tlsf/ROOT - local.get $0 - call $~lib/rt/tlsf/freeBlock - ) - (func $~lib/rt/pure/decrement (param $0 i32) - (local $1 i32) - (local $2 i32) - local.get $0 - i32.load offset=4 - local.set $1 - local.get $1 - i32.const 268435455 - i32.and - local.set $2 - i32.const 0 - drop - i32.const 1 - drop - local.get $0 - i32.load - i32.const 1 - i32.and - i32.eqz - i32.eqz - if - i32.const 0 - i32.const 64 - i32.const 122 - i32.const 14 - call $~lib/builtins/abort - unreachable - end - local.get $2 - i32.const 1 - i32.eq - if - local.get $0 - i32.const 20 - i32.add - i32.const 1 - call $~lib/rt/__visit_members - i32.const 1 - drop - i32.const 1 - drop - local.get $1 - i32.const -2147483648 - i32.and - i32.eqz - i32.eqz - if - i32.const 0 - i32.const 64 - i32.const 126 - i32.const 18 - call $~lib/builtins/abort - unreachable - end - local.get $0 - call $~lib/rt/pure/finalize - else - i32.const 1 - drop - local.get $2 - i32.const 0 - i32.gt_u - i32.eqz - if - i32.const 0 - i32.const 64 - i32.const 136 - i32.const 16 - call $~lib/builtins/abort - unreachable - end - i32.const 1 - drop - local.get $0 - local.get $1 - i32.const 268435455 - i32.const -1 - i32.xor - i32.and - local.get $2 - i32.const 1 - i32.sub - i32.or - i32.store offset=4 - end - ) - (func $~start - call $start:rc/global-init - ) - (func $~lib/rt/pure/__visit (param $0 i32) (param $1 i32) - local.get $0 - global.get $~lib/memory/__heap_base - i32.lt_u - if - return - end - i32.const 1 - drop - i32.const 1 - drop - local.get $1 - i32.const 1 - i32.eq - i32.eqz - if - i32.const 0 - i32.const 64 - i32.const 69 - i32.const 16 - call $~lib/builtins/abort - unreachable - end - local.get $0 - i32.const 20 - i32.sub - call $~lib/rt/pure/decrement - ) - (func $~lib/arraybuffer/ArrayBuffer~visit (param $0 i32) (param $1 i32) - nop - ) - (func $~lib/string/String~visit (param $0 i32) (param $1 i32) - nop - ) - (func $~lib/arraybuffer/ArrayBufferView~visit (param $0 i32) (param $1 i32) - (local $2 i32) - local.get $0 - i32.load - local.tee $2 - if - local.get $2 - local.get $1 - call $~lib/rt/pure/__visit - end - ) - (func $~lib/rt/__visit_members (param $0 i32) (param $1 i32) - block $invalid - block $~lib/arraybuffer/ArrayBufferView - block $~lib/string/String - block $~lib/arraybuffer/ArrayBuffer - local.get $0 - i32.const 8 - i32.sub - i32.load - br_table $~lib/arraybuffer/ArrayBuffer $~lib/string/String $~lib/arraybuffer/ArrayBufferView $invalid - end - local.get $0 - local.get $1 - call $~lib/arraybuffer/ArrayBuffer~visit - return - end - local.get $0 - local.get $1 - call $~lib/string/String~visit - return - end - local.get $0 - local.get $1 - call $~lib/arraybuffer/ArrayBufferView~visit - return - end - unreachable - ) -) diff --git a/tests/compiler/rc/local-init.optimized.wat b/tests/compiler/rc/local-init.optimized.wat deleted file mode 100644 index 8b7010d3f2..0000000000 --- a/tests/compiler/rc/local-init.optimized.wat +++ /dev/null @@ -1,1022 +0,0 @@ -(module - (type $i32_i32_=>_none (func (param i32 i32))) - (type $i32_=>_i32 (func (param i32) (result i32))) - (type $none_=>_none (func)) - (type $i32_=>_none (func (param i32))) - (type $i32_i32_i32_=>_none (func (param i32 i32 i32))) - (type $i32_i32_i32_i32_=>_none (func (param i32 i32 i32 i32))) - (type $none_=>_i32 (func (result i32))) - (import "env" "abort" (func $~lib/builtins/abort (param i32 i32 i32 i32))) - (memory $0 1) - (data (i32.const 1036) "\1c\00\00\00\01\00\00\00\00\00\00\00\01") - (data (i32.const 1068) "<\00\00\00\01\00\00\00\00\00\00\00\01\00\00\00(\00\00\00a\00l\00l\00o\00c\00a\00t\00i\00o\00n\00 \00t\00o\00o\00 \00l\00a\00r\00g\00e") - (data (i32.const 1132) "<\00\00\00\01\00\00\00\00\00\00\00\01\00\00\00\1e\00\00\00~\00l\00i\00b\00/\00r\00t\00/\00p\00u\00r\00e\00.\00t\00s") - (data (i32.const 1196) "<\00\00\00\01\00\00\00\00\00\00\00\01\00\00\00\1e\00\00\00~\00l\00i\00b\00/\00r\00t\00/\00t\00l\00s\00f\00.\00t\00s") - (global $~lib/rt/tlsf/ROOT (mut i32) (i32.const 0)) - (export "memory" (memory $0)) - (start $~start) - (func $~lib/rt/tlsf/removeBlock (param $0 i32) (param $1 i32) - (local $2 i32) - (local $3 i32) - (local $4 i32) - (local $5 i32) - local.get $1 - i32.load - local.tee $2 - i32.const 1 - i32.and - i32.eqz - if - i32.const 0 - i32.const 1216 - i32.const 272 - i32.const 14 - call $~lib/builtins/abort - unreachable - end - local.get $2 - i32.const -4 - i32.and - local.tee $2 - i32.const 1073741820 - i32.lt_u - i32.const 0 - local.get $2 - i32.const 12 - i32.ge_u - select - i32.eqz - if - i32.const 0 - i32.const 1216 - i32.const 274 - i32.const 14 - call $~lib/builtins/abort - unreachable - end - local.get $2 - i32.const 256 - i32.lt_u - if - local.get $2 - i32.const 4 - i32.shr_u - local.set $2 - else - local.get $2 - i32.const 31 - local.get $2 - i32.clz - i32.sub - local.tee $3 - i32.const 4 - i32.sub - i32.shr_u - i32.const 16 - i32.xor - local.set $2 - local.get $3 - i32.const 7 - i32.sub - local.set $3 - end - local.get $2 - i32.const 16 - i32.lt_u - i32.const 0 - local.get $3 - i32.const 23 - i32.lt_u - select - i32.eqz - if - i32.const 0 - i32.const 1216 - i32.const 287 - i32.const 14 - call $~lib/builtins/abort - unreachable - end - local.get $1 - i32.load offset=8 - local.set $4 - local.get $1 - i32.load offset=4 - local.tee $5 - if - local.get $5 - local.get $4 - i32.store offset=8 - end - local.get $4 - if - local.get $4 - local.get $5 - i32.store offset=4 - end - local.get $1 - local.get $0 - local.get $2 - local.get $3 - i32.const 4 - i32.shl - i32.add - i32.const 2 - i32.shl - i32.add - i32.load offset=96 - i32.eq - if - local.get $0 - local.get $2 - local.get $3 - i32.const 4 - i32.shl - i32.add - i32.const 2 - i32.shl - i32.add - local.get $4 - i32.store offset=96 - local.get $4 - i32.eqz - if - local.get $0 - local.get $3 - i32.const 2 - i32.shl - i32.add - local.tee $4 - i32.load offset=4 - i32.const -2 - local.get $2 - i32.rotl - i32.and - local.set $1 - local.get $4 - local.get $1 - i32.store offset=4 - local.get $1 - i32.eqz - if - local.get $0 - local.get $0 - i32.load - i32.const -2 - local.get $3 - i32.rotl - i32.and - i32.store - end - end - end - ) - (func $~lib/rt/tlsf/insertBlock (param $0 i32) (param $1 i32) - (local $2 i32) - (local $3 i32) - (local $4 i32) - (local $5 i32) - (local $6 i32) - (local $7 i32) - (local $8 i32) - local.get $1 - i32.eqz - if - i32.const 0 - i32.const 1216 - i32.const 200 - i32.const 14 - call $~lib/builtins/abort - unreachable - end - local.get $1 - i32.load - local.tee $4 - i32.const 1 - i32.and - i32.eqz - if - i32.const 0 - i32.const 1216 - i32.const 202 - i32.const 14 - call $~lib/builtins/abort - unreachable - end - local.get $1 - i32.const 4 - i32.add - local.get $1 - i32.load - i32.const -4 - i32.and - i32.add - local.tee $5 - i32.load - local.tee $2 - i32.const 1 - i32.and - if - local.get $4 - i32.const -4 - i32.and - i32.const 4 - i32.add - local.get $2 - i32.const -4 - i32.and - i32.add - local.tee $3 - i32.const 1073741820 - i32.lt_u - if - local.get $0 - local.get $5 - call $~lib/rt/tlsf/removeBlock - local.get $1 - local.get $3 - local.get $4 - i32.const 3 - i32.and - i32.or - local.tee $4 - i32.store - local.get $1 - i32.const 4 - i32.add - local.get $1 - i32.load - i32.const -4 - i32.and - i32.add - local.tee $5 - i32.load - local.set $2 - end - end - local.get $4 - i32.const 2 - i32.and - if - local.get $1 - i32.const 4 - i32.sub - i32.load - local.tee $3 - i32.load - local.tee $7 - i32.const 1 - i32.and - i32.eqz - if - i32.const 0 - i32.const 1216 - i32.const 223 - i32.const 16 - call $~lib/builtins/abort - unreachable - end - local.get $7 - i32.const -4 - i32.and - i32.const 4 - i32.add - local.get $4 - i32.const -4 - i32.and - i32.add - local.tee $8 - i32.const 1073741820 - i32.lt_u - if (result i32) - local.get $0 - local.get $3 - call $~lib/rt/tlsf/removeBlock - local.get $3 - local.get $8 - local.get $7 - i32.const 3 - i32.and - i32.or - local.tee $4 - i32.store - local.get $3 - else - local.get $1 - end - local.set $1 - end - local.get $5 - local.get $2 - i32.const 2 - i32.or - i32.store - local.get $4 - i32.const -4 - i32.and - local.tee $3 - i32.const 1073741820 - i32.lt_u - i32.const 0 - local.get $3 - i32.const 12 - i32.ge_u - select - i32.eqz - if - i32.const 0 - i32.const 1216 - i32.const 238 - i32.const 14 - call $~lib/builtins/abort - unreachable - end - local.get $3 - local.get $1 - i32.const 4 - i32.add - i32.add - local.get $5 - i32.ne - if - i32.const 0 - i32.const 1216 - i32.const 239 - i32.const 14 - call $~lib/builtins/abort - unreachable - end - local.get $5 - i32.const 4 - i32.sub - local.get $1 - i32.store - local.get $3 - i32.const 256 - i32.lt_u - if - local.get $3 - i32.const 4 - i32.shr_u - local.set $3 - else - local.get $3 - i32.const 31 - local.get $3 - i32.clz - i32.sub - local.tee $4 - i32.const 4 - i32.sub - i32.shr_u - i32.const 16 - i32.xor - local.set $3 - local.get $4 - i32.const 7 - i32.sub - local.set $6 - end - local.get $3 - i32.const 16 - i32.lt_u - i32.const 0 - local.get $6 - i32.const 23 - i32.lt_u - select - i32.eqz - if - i32.const 0 - i32.const 1216 - i32.const 255 - i32.const 14 - call $~lib/builtins/abort - unreachable - end - local.get $0 - local.get $3 - local.get $6 - i32.const 4 - i32.shl - i32.add - i32.const 2 - i32.shl - i32.add - i32.load offset=96 - local.set $4 - local.get $1 - i32.const 0 - i32.store offset=4 - local.get $1 - local.get $4 - i32.store offset=8 - local.get $4 - if - local.get $4 - local.get $1 - i32.store offset=4 - end - local.get $0 - local.get $3 - local.get $6 - i32.const 4 - i32.shl - i32.add - i32.const 2 - i32.shl - i32.add - local.get $1 - i32.store offset=96 - local.get $0 - local.get $0 - i32.load - i32.const 1 - local.get $6 - i32.shl - i32.or - i32.store - local.get $0 - local.get $6 - i32.const 2 - i32.shl - i32.add - local.tee $0 - local.get $0 - i32.load offset=4 - i32.const 1 - local.get $3 - i32.shl - i32.or - i32.store offset=4 - ) - (func $~lib/rt/tlsf/addMemory (param $0 i32) (param $1 i32) (param $2 i32) - (local $3 i32) - (local $4 i32) - local.get $1 - local.get $2 - i32.gt_u - if - i32.const 0 - i32.const 1216 - i32.const 380 - i32.const 14 - call $~lib/builtins/abort - unreachable - end - local.get $1 - i32.const 19 - i32.add - i32.const -16 - i32.and - i32.const 4 - i32.sub - local.set $1 - local.get $2 - i32.const -16 - i32.and - local.get $0 - i32.load offset=1568 - local.tee $2 - if - local.get $1 - local.get $2 - i32.const 4 - i32.add - i32.lt_u - if - i32.const 0 - i32.const 1216 - i32.const 387 - i32.const 16 - call $~lib/builtins/abort - unreachable - end - local.get $2 - local.get $1 - i32.const 16 - i32.sub - i32.eq - if - local.get $2 - i32.load - local.set $4 - local.get $1 - i32.const 16 - i32.sub - local.set $1 - end - else - local.get $1 - local.get $0 - i32.const 1572 - i32.add - i32.lt_u - if - i32.const 0 - i32.const 1216 - i32.const 400 - i32.const 5 - call $~lib/builtins/abort - unreachable - end - end - local.get $1 - i32.sub - local.tee $2 - i32.const 20 - i32.lt_u - if - return - end - local.get $1 - local.get $4 - i32.const 2 - i32.and - local.get $2 - i32.const 8 - i32.sub - local.tee $2 - i32.const 1 - i32.or - i32.or - i32.store - local.get $1 - i32.const 0 - i32.store offset=4 - local.get $1 - i32.const 0 - i32.store offset=8 - local.get $2 - local.get $1 - i32.const 4 - i32.add - i32.add - local.tee $2 - i32.const 2 - i32.store - local.get $0 - local.get $2 - i32.store offset=1568 - local.get $0 - local.get $1 - call $~lib/rt/tlsf/insertBlock - ) - (func $~lib/rt/tlsf/searchBlock (param $0 i32) (result i32) - (local $1 i32) - (local $2 i32) - local.get $0 - i32.load offset=4 - i32.const -2 - i32.and - local.tee $2 - if (result i32) - local.get $0 - local.get $2 - i32.ctz - i32.const 2 - i32.shl - i32.add - i32.load offset=96 - else - local.get $0 - i32.load - i32.const -2 - i32.and - local.tee $1 - if (result i32) - local.get $0 - local.get $1 - i32.ctz - local.tee $1 - i32.const 2 - i32.shl - i32.add - i32.load offset=4 - local.tee $2 - i32.eqz - if - i32.const 0 - i32.const 1216 - i32.const 346 - i32.const 18 - call $~lib/builtins/abort - unreachable - end - local.get $0 - local.get $2 - i32.ctz - local.get $1 - i32.const 4 - i32.shl - i32.add - i32.const 2 - i32.shl - i32.add - i32.load offset=96 - else - i32.const 0 - end - end - ) - (func $~lib/rt/tlsf/allocateBlock (param $0 i32) (result i32) - (local $1 i32) - (local $2 i32) - (local $3 i32) - local.get $0 - call $~lib/rt/tlsf/searchBlock - local.tee $1 - i32.eqz - if - i32.const 4 - memory.size - local.tee $2 - i32.const 16 - i32.shl - i32.const 4 - i32.sub - local.get $0 - i32.load offset=1568 - i32.ne - i32.shl - i32.const 65563 - i32.add - i32.const -65536 - i32.and - i32.const 16 - i32.shr_u - local.set $1 - local.get $2 - local.get $1 - local.get $1 - local.get $2 - i32.lt_s - select - memory.grow - i32.const 0 - i32.lt_s - if - local.get $1 - memory.grow - i32.const 0 - i32.lt_s - if - unreachable - end - end - local.get $0 - local.get $2 - i32.const 16 - i32.shl - memory.size - i32.const 16 - i32.shl - call $~lib/rt/tlsf/addMemory - local.get $0 - call $~lib/rt/tlsf/searchBlock - local.tee $1 - i32.eqz - if - i32.const 0 - i32.const 1216 - i32.const 498 - i32.const 16 - call $~lib/builtins/abort - unreachable - end - end - local.get $1 - i32.load - i32.const -4 - i32.and - i32.const 28 - i32.lt_u - if - i32.const 0 - i32.const 1216 - i32.const 500 - i32.const 14 - call $~lib/builtins/abort - unreachable - end - local.get $0 - local.get $1 - call $~lib/rt/tlsf/removeBlock - local.get $1 - i32.load - local.tee $2 - i32.const -4 - i32.and - i32.const 28 - i32.sub - local.tee $3 - i32.const 16 - i32.ge_u - if - local.get $1 - local.get $2 - i32.const 2 - i32.and - i32.const 28 - i32.or - i32.store - local.get $1 - i32.const 32 - i32.add - local.tee $2 - local.get $3 - i32.const 4 - i32.sub - i32.const 1 - i32.or - i32.store - local.get $0 - local.get $2 - call $~lib/rt/tlsf/insertBlock - else - local.get $1 - local.get $2 - i32.const -2 - i32.and - i32.store - 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 $0 - local.get $1 - i32.load - i32.const -4 - i32.and - i32.add - i32.load - i32.const -3 - i32.and - i32.store - end - local.get $1 - ) - (func $~lib/rt/pure/__new (result i32) - (local $0 i32) - (local $1 i32) - global.get $~lib/rt/tlsf/ROOT - i32.eqz - if - memory.size - local.tee $1 - i32.const 1 - i32.lt_s - if (result i32) - i32.const 1 - local.get $1 - i32.sub - memory.grow - i32.const 0 - i32.lt_s - else - i32.const 0 - end - if - unreachable - end - i32.const 1264 - i32.const 0 - i32.store - i32.const 2832 - i32.const 0 - i32.store - loop $for-loop|0 - local.get $0 - i32.const 23 - i32.lt_u - if - local.get $0 - i32.const 2 - i32.shl - i32.const 1264 - i32.add - i32.const 0 - i32.store offset=4 - i32.const 0 - local.set $1 - loop $for-loop|1 - local.get $1 - i32.const 16 - i32.lt_u - if - local.get $1 - local.get $0 - i32.const 4 - i32.shl - i32.add - i32.const 2 - i32.shl - i32.const 1264 - i32.add - i32.const 0 - i32.store offset=96 - local.get $1 - i32.const 1 - i32.add - local.set $1 - br $for-loop|1 - end - end - local.get $0 - i32.const 1 - i32.add - local.set $0 - br $for-loop|0 - end - end - i32.const 1264 - i32.const 2836 - memory.size - i32.const 16 - i32.shl - call $~lib/rt/tlsf/addMemory - i32.const 1264 - global.set $~lib/rt/tlsf/ROOT - end - global.get $~lib/rt/tlsf/ROOT - call $~lib/rt/tlsf/allocateBlock - i32.const 4 - i32.add - local.tee $1 - i32.const 4 - i32.sub - local.tee $0 - i32.const 0 - i32.store offset=4 - local.get $0 - i32.const 0 - i32.store offset=8 - local.get $0 - i32.const 3 - i32.store offset=12 - local.get $0 - i32.const 0 - i32.store offset=16 - local.get $1 - i32.const 16 - i32.add - ) - (func $~lib/rt/pure/decrement (param $0 i32) - (local $1 i32) - (local $2 i32) - local.get $0 - i32.load offset=4 - local.tee $2 - i32.const 268435455 - i32.and - local.set $1 - local.get $0 - i32.load - i32.const 1 - i32.and - if - i32.const 0 - i32.const 1152 - i32.const 122 - i32.const 14 - call $~lib/builtins/abort - unreachable - end - local.get $1 - i32.const 1 - i32.eq - if - block $__inlined_func$~lib/rt/__visit_members - block $invalid - block $~lib/arraybuffer/ArrayBufferView - local.get $0 - i32.const 12 - i32.add - i32.load - br_table $__inlined_func$~lib/rt/__visit_members $__inlined_func$~lib/rt/__visit_members $~lib/arraybuffer/ArrayBufferView $__inlined_func$~lib/rt/__visit_members $invalid - end - local.get $0 - i32.load offset=20 - local.tee $1 - if - local.get $1 - i32.const 1260 - i32.ge_u - if - local.get $1 - i32.const 20 - i32.sub - call $~lib/rt/pure/decrement - end - end - br $__inlined_func$~lib/rt/__visit_members - end - unreachable - end - local.get $2 - i32.const -2147483648 - i32.and - if - i32.const 0 - i32.const 1152 - i32.const 126 - i32.const 18 - call $~lib/builtins/abort - unreachable - end - local.get $0 - local.get $0 - i32.load - i32.const 1 - i32.or - i32.store - global.get $~lib/rt/tlsf/ROOT - local.get $0 - call $~lib/rt/tlsf/insertBlock - else - local.get $1 - i32.eqz - if - i32.const 0 - i32.const 1152 - i32.const 136 - i32.const 16 - call $~lib/builtins/abort - unreachable - end - local.get $0 - local.get $1 - i32.const 1 - i32.sub - local.get $2 - i32.const -268435456 - i32.and - i32.or - i32.store offset=4 - end - ) - (func $~start - (local $0 i32) - (local $1 i32) - (local $2 i32) - call $~lib/rt/pure/__new - local.tee $0 - i32.const 1260 - i32.gt_u - if - local.get $0 - i32.const 20 - i32.sub - local.tee $1 - i32.load offset=4 - local.tee $2 - i32.const -268435456 - i32.and - local.get $2 - i32.const 1 - i32.add - i32.const -268435456 - i32.and - i32.ne - if - i32.const 0 - i32.const 1152 - i32.const 109 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $1 - local.get $2 - i32.const 1 - i32.add - i32.store offset=4 - local.get $1 - i32.load - i32.const 1 - i32.and - if - i32.const 0 - i32.const 1152 - i32.const 112 - i32.const 14 - call $~lib/builtins/abort - unreachable - end - end - local.get $0 - i32.const 1260 - i32.gt_u - if - local.get $0 - i32.const 20 - i32.sub - call $~lib/rt/pure/decrement - end - ) -) diff --git a/tests/compiler/rc/local-init.untouched.wat b/tests/compiler/rc/local-init.untouched.wat deleted file mode 100644 index 5d93529efb..0000000000 --- a/tests/compiler/rc/local-init.untouched.wat +++ /dev/null @@ -1,1724 +0,0 @@ -(module - (type $i32_i32_=>_none (func (param i32 i32))) - (type $i32_=>_i32 (func (param i32) (result i32))) - (type $i32_=>_none (func (param i32))) - (type $none_=>_none (func)) - (type $i32_i32_=>_i32 (func (param i32 i32) (result i32))) - (type $i32_i32_i32_=>_none (func (param i32 i32 i32))) - (type $i32_i32_i32_i32_=>_none (func (param i32 i32 i32 i32))) - (type $none_=>_i32 (func (result i32))) - (type $i32_i32_i32_=>_i32 (func (param i32 i32 i32) (result i32))) - (import "env" "abort" (func $~lib/builtins/abort (param i32 i32 i32 i32))) - (memory $0 1) - (data (i32.const 12) "\1c\00\00\00\01\00\00\00\00\00\00\00\01\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 44) "<\00\00\00\01\00\00\00\00\00\00\00\01\00\00\00(\00\00\00a\00l\00l\00o\00c\00a\00t\00i\00o\00n\00 \00t\00o\00o\00 \00l\00a\00r\00g\00e\00\00\00\00\00") - (data (i32.const 108) "<\00\00\00\01\00\00\00\00\00\00\00\01\00\00\00\1e\00\00\00~\00l\00i\00b\00/\00r\00t\00/\00p\00u\00r\00e\00.\00t\00s\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 172) "<\00\00\00\01\00\00\00\00\00\00\00\01\00\00\00\1e\00\00\00~\00l\00i\00b\00/\00r\00t\00/\00t\00l\00s\00f\00.\00t\00s\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") - (table $0 1 funcref) - (global $~lib/rt/tlsf/ROOT (mut i32) (i32.const 0)) - (global $~lib/ASC_LOW_MEMORY_LIMIT i32 (i32.const 0)) - (global $~lib/memory/__heap_base i32 (i32.const 236)) - (export "memory" (memory $0)) - (start $~start) - (func $~lib/rt/pure/__release (param $0 i32) - local.get $0 - global.get $~lib/memory/__heap_base - i32.gt_u - if - local.get $0 - i32.const 20 - i32.sub - call $~lib/rt/pure/decrement - end - ) - (func $rc/local-init/getRef (result i32) - i32.const 32 - ) - (func $~lib/rt/tlsf/removeBlock (param $0 i32) (param $1 i32) - (local $2 i32) - (local $3 i32) - (local $4 i32) - (local $5 i32) - (local $6 i32) - (local $7 i32) - (local $8 i32) - (local $9 i32) - (local $10 i32) - (local $11 i32) - local.get $1 - i32.load - local.set $2 - i32.const 1 - drop - local.get $2 - i32.const 1 - i32.and - i32.eqz - if - i32.const 0 - i32.const 192 - i32.const 272 - i32.const 14 - call $~lib/builtins/abort - unreachable - end - local.get $2 - i32.const 3 - i32.const -1 - i32.xor - i32.and - local.set $3 - i32.const 1 - drop - local.get $3 - i32.const 12 - i32.ge_u - if (result i32) - local.get $3 - i32.const 1073741820 - i32.lt_u - else - i32.const 0 - end - i32.eqz - if - i32.const 0 - i32.const 192 - i32.const 274 - i32.const 14 - call $~lib/builtins/abort - unreachable - end - local.get $3 - i32.const 256 - i32.lt_u - if - i32.const 0 - local.set $4 - local.get $3 - i32.const 4 - i32.shr_u - local.set $5 - else - i32.const 31 - local.get $3 - i32.clz - i32.sub - local.set $4 - local.get $3 - local.get $4 - i32.const 4 - i32.sub - i32.shr_u - i32.const 1 - i32.const 4 - i32.shl - i32.xor - local.set $5 - local.get $4 - i32.const 8 - i32.const 1 - i32.sub - i32.sub - local.set $4 - end - i32.const 1 - drop - local.get $4 - i32.const 23 - i32.lt_u - if (result i32) - local.get $5 - i32.const 16 - i32.lt_u - else - i32.const 0 - end - i32.eqz - if - i32.const 0 - i32.const 192 - i32.const 287 - i32.const 14 - call $~lib/builtins/abort - unreachable - end - local.get $1 - i32.load offset=4 - local.set $6 - local.get $1 - i32.load offset=8 - local.set $7 - local.get $6 - if - local.get $6 - local.get $7 - i32.store offset=8 - end - local.get $7 - if - local.get $7 - local.get $6 - i32.store offset=4 - end - local.get $1 - local.get $0 - local.set $10 - local.get $4 - local.set $9 - local.get $5 - local.set $8 - local.get $10 - local.get $9 - i32.const 4 - i32.shl - local.get $8 - i32.add - i32.const 2 - i32.shl - i32.add - i32.load offset=96 - i32.eq - if - local.get $0 - local.set $11 - local.get $4 - local.set $10 - local.get $5 - local.set $9 - local.get $7 - local.set $8 - local.get $11 - local.get $10 - i32.const 4 - i32.shl - local.get $9 - i32.add - i32.const 2 - i32.shl - i32.add - local.get $8 - i32.store offset=96 - local.get $7 - i32.eqz - if - local.get $0 - local.set $9 - local.get $4 - local.set $8 - local.get $9 - local.get $8 - i32.const 2 - i32.shl - i32.add - i32.load offset=4 - local.set $9 - local.get $0 - local.set $8 - local.get $4 - local.set $11 - local.get $9 - i32.const 1 - local.get $5 - i32.shl - i32.const -1 - i32.xor - i32.and - local.tee $9 - local.set $10 - local.get $8 - local.get $11 - i32.const 2 - i32.shl - i32.add - local.get $10 - i32.store offset=4 - local.get $9 - i32.eqz - if - local.get $0 - local.get $0 - i32.load - i32.const 1 - local.get $4 - i32.shl - i32.const -1 - i32.xor - i32.and - i32.store - end - end - end - ) - (func $~lib/rt/tlsf/insertBlock (param $0 i32) (param $1 i32) - (local $2 i32) - (local $3 i32) - (local $4 i32) - (local $5 i32) - (local $6 i32) - (local $7 i32) - (local $8 i32) - (local $9 i32) - (local $10 i32) - (local $11 i32) - (local $12 i32) - (local $13 i32) - i32.const 1 - drop - local.get $1 - i32.eqz - if - i32.const 0 - i32.const 192 - i32.const 200 - i32.const 14 - call $~lib/builtins/abort - unreachable - end - local.get $1 - i32.load - local.set $2 - i32.const 1 - drop - local.get $2 - i32.const 1 - i32.and - i32.eqz - if - i32.const 0 - i32.const 192 - i32.const 202 - i32.const 14 - call $~lib/builtins/abort - unreachable - end - local.get $1 - local.set $3 - local.get $3 - i32.const 4 - i32.add - local.get $3 - i32.load - i32.const 3 - i32.const -1 - i32.xor - i32.and - i32.add - local.set $4 - local.get $4 - i32.load - local.set $5 - local.get $5 - i32.const 1 - i32.and - if - local.get $2 - i32.const 3 - i32.const -1 - i32.xor - i32.and - i32.const 4 - i32.add - local.get $5 - i32.const 3 - i32.const -1 - i32.xor - i32.and - i32.add - local.set $3 - local.get $3 - i32.const 1073741820 - i32.lt_u - if - local.get $0 - local.get $4 - call $~lib/rt/tlsf/removeBlock - local.get $1 - local.get $2 - i32.const 3 - i32.and - local.get $3 - i32.or - local.tee $2 - i32.store - local.get $1 - local.set $6 - local.get $6 - i32.const 4 - i32.add - local.get $6 - i32.load - i32.const 3 - i32.const -1 - i32.xor - i32.and - i32.add - local.set $4 - local.get $4 - i32.load - local.set $5 - end - end - local.get $2 - i32.const 2 - i32.and - if - local.get $1 - local.set $6 - local.get $6 - i32.const 4 - i32.sub - i32.load - local.set $6 - local.get $6 - i32.load - local.set $3 - i32.const 1 - drop - local.get $3 - i32.const 1 - i32.and - i32.eqz - if - i32.const 0 - i32.const 192 - i32.const 223 - i32.const 16 - call $~lib/builtins/abort - unreachable - end - local.get $3 - i32.const 3 - i32.const -1 - i32.xor - i32.and - i32.const 4 - i32.add - local.get $2 - i32.const 3 - i32.const -1 - i32.xor - i32.and - i32.add - local.set $7 - local.get $7 - i32.const 1073741820 - i32.lt_u - if - local.get $0 - local.get $6 - call $~lib/rt/tlsf/removeBlock - local.get $6 - local.get $3 - i32.const 3 - i32.and - local.get $7 - i32.or - local.tee $2 - i32.store - local.get $6 - local.set $1 - end - end - local.get $4 - local.get $5 - i32.const 2 - i32.or - i32.store - local.get $2 - i32.const 3 - i32.const -1 - i32.xor - i32.and - local.set $8 - i32.const 1 - drop - local.get $8 - i32.const 12 - i32.ge_u - if (result i32) - local.get $8 - i32.const 1073741820 - i32.lt_u - else - i32.const 0 - end - i32.eqz - if - i32.const 0 - i32.const 192 - i32.const 238 - i32.const 14 - call $~lib/builtins/abort - unreachable - end - i32.const 1 - drop - local.get $1 - i32.const 4 - i32.add - local.get $8 - i32.add - local.get $4 - i32.eq - i32.eqz - if - i32.const 0 - i32.const 192 - i32.const 239 - i32.const 14 - call $~lib/builtins/abort - unreachable - end - local.get $4 - i32.const 4 - i32.sub - local.get $1 - i32.store - local.get $8 - i32.const 256 - i32.lt_u - if - i32.const 0 - local.set $9 - local.get $8 - i32.const 4 - i32.shr_u - local.set $10 - else - i32.const 31 - local.get $8 - i32.clz - i32.sub - local.set $9 - local.get $8 - local.get $9 - i32.const 4 - i32.sub - i32.shr_u - i32.const 1 - i32.const 4 - i32.shl - i32.xor - local.set $10 - local.get $9 - i32.const 8 - i32.const 1 - i32.sub - i32.sub - local.set $9 - end - i32.const 1 - drop - local.get $9 - i32.const 23 - i32.lt_u - if (result i32) - local.get $10 - i32.const 16 - i32.lt_u - else - i32.const 0 - end - i32.eqz - if - i32.const 0 - i32.const 192 - i32.const 255 - i32.const 14 - call $~lib/builtins/abort - unreachable - end - local.get $0 - local.set $7 - local.get $9 - local.set $3 - local.get $10 - local.set $6 - local.get $7 - local.get $3 - i32.const 4 - i32.shl - local.get $6 - i32.add - i32.const 2 - i32.shl - i32.add - i32.load offset=96 - local.set $11 - local.get $1 - i32.const 0 - i32.store offset=4 - local.get $1 - local.get $11 - i32.store offset=8 - local.get $11 - if - local.get $11 - local.get $1 - i32.store offset=4 - end - local.get $0 - local.set $12 - local.get $9 - local.set $7 - local.get $10 - local.set $3 - local.get $1 - local.set $6 - local.get $12 - local.get $7 - i32.const 4 - i32.shl - local.get $3 - i32.add - i32.const 2 - i32.shl - i32.add - local.get $6 - i32.store offset=96 - local.get $0 - local.get $0 - i32.load - i32.const 1 - local.get $9 - i32.shl - i32.or - i32.store - local.get $0 - local.set $13 - local.get $9 - local.set $12 - local.get $0 - local.set $3 - local.get $9 - local.set $6 - local.get $3 - local.get $6 - i32.const 2 - i32.shl - i32.add - i32.load offset=4 - i32.const 1 - local.get $10 - i32.shl - i32.or - local.set $7 - local.get $13 - local.get $12 - i32.const 2 - i32.shl - i32.add - local.get $7 - i32.store offset=4 - ) - (func $~lib/rt/tlsf/addMemory (param $0 i32) (param $1 i32) (param $2 i32) (result i32) - (local $3 i32) - (local $4 i32) - (local $5 i32) - (local $6 i32) - (local $7 i32) - (local $8 i32) - (local $9 i32) - i32.const 1 - drop - local.get $1 - local.get $2 - i32.le_u - i32.eqz - if - i32.const 0 - i32.const 192 - i32.const 380 - i32.const 14 - call $~lib/builtins/abort - unreachable - end - local.get $1 - i32.const 4 - i32.add - i32.const 15 - i32.add - i32.const 15 - i32.const -1 - i32.xor - i32.and - i32.const 4 - i32.sub - local.set $1 - local.get $2 - i32.const 15 - i32.const -1 - i32.xor - i32.and - local.set $2 - local.get $0 - local.set $3 - local.get $3 - i32.load offset=1568 - local.set $4 - i32.const 0 - local.set $5 - local.get $4 - if - i32.const 1 - drop - local.get $1 - local.get $4 - i32.const 4 - i32.add - i32.ge_u - i32.eqz - if - i32.const 0 - i32.const 192 - i32.const 387 - i32.const 16 - call $~lib/builtins/abort - unreachable - end - local.get $1 - i32.const 16 - i32.sub - local.get $4 - i32.eq - if - local.get $1 - i32.const 16 - i32.sub - local.set $1 - local.get $4 - i32.load - local.set $5 - else - nop - end - else - i32.const 1 - drop - local.get $1 - local.get $0 - i32.const 1572 - i32.add - i32.ge_u - i32.eqz - if - i32.const 0 - i32.const 192 - i32.const 400 - i32.const 5 - call $~lib/builtins/abort - unreachable - end - end - local.get $2 - local.get $1 - i32.sub - local.set $6 - local.get $6 - i32.const 4 - i32.const 12 - i32.add - i32.const 4 - i32.add - i32.lt_u - if - i32.const 0 - return - end - local.get $6 - i32.const 2 - i32.const 4 - i32.mul - i32.sub - local.set $7 - local.get $1 - local.set $8 - local.get $8 - local.get $7 - i32.const 1 - i32.or - local.get $5 - i32.const 2 - i32.and - i32.or - i32.store - local.get $8 - i32.const 0 - i32.store offset=4 - local.get $8 - i32.const 0 - i32.store offset=8 - local.get $1 - i32.const 4 - i32.add - local.get $7 - i32.add - local.set $4 - local.get $4 - i32.const 0 - i32.const 2 - i32.or - i32.store - local.get $0 - local.set $9 - local.get $4 - local.set $3 - local.get $9 - local.get $3 - i32.store offset=1568 - local.get $0 - local.get $8 - call $~lib/rt/tlsf/insertBlock - i32.const 1 - ) - (func $~lib/rt/tlsf/initialize - (local $0 i32) - (local $1 i32) - (local $2 i32) - (local $3 i32) - (local $4 i32) - (local $5 i32) - (local $6 i32) - (local $7 i32) - (local $8 i32) - (local $9 i32) - (local $10 i32) - (local $11 i32) - (local $12 i32) - global.get $~lib/memory/__heap_base - i32.const 15 - i32.add - i32.const 15 - i32.const -1 - i32.xor - i32.and - local.set $0 - memory.size - local.set $1 - local.get $0 - i32.const 1572 - i32.add - i32.const 65535 - i32.add - i32.const 65535 - i32.const -1 - i32.xor - i32.and - i32.const 16 - i32.shr_u - local.set $2 - local.get $2 - local.get $1 - i32.gt_s - if (result i32) - local.get $2 - local.get $1 - i32.sub - memory.grow - i32.const 0 - i32.lt_s - else - i32.const 0 - end - if - unreachable - end - local.get $0 - local.set $3 - local.get $3 - i32.const 0 - i32.store - local.get $3 - local.set $5 - i32.const 0 - local.set $4 - local.get $5 - local.get $4 - i32.store offset=1568 - i32.const 0 - local.set $5 - loop $for-loop|0 - local.get $5 - i32.const 23 - i32.lt_u - local.set $4 - local.get $4 - if - local.get $3 - local.set $8 - local.get $5 - local.set $7 - i32.const 0 - local.set $6 - local.get $8 - local.get $7 - i32.const 2 - i32.shl - i32.add - local.get $6 - i32.store offset=4 - i32.const 0 - local.set $8 - loop $for-loop|1 - local.get $8 - i32.const 16 - i32.lt_u - local.set $7 - local.get $7 - if - local.get $3 - local.set $11 - local.get $5 - local.set $10 - local.get $8 - local.set $9 - i32.const 0 - local.set $6 - local.get $11 - local.get $10 - i32.const 4 - i32.shl - local.get $9 - i32.add - i32.const 2 - i32.shl - i32.add - local.get $6 - i32.store offset=96 - local.get $8 - i32.const 1 - i32.add - local.set $8 - br $for-loop|1 - end - end - local.get $5 - i32.const 1 - i32.add - local.set $5 - br $for-loop|0 - end - end - local.get $0 - i32.const 1572 - i32.add - local.set $12 - i32.const 0 - drop - local.get $3 - local.get $12 - memory.size - i32.const 16 - i32.shl - call $~lib/rt/tlsf/addMemory - drop - local.get $3 - global.set $~lib/rt/tlsf/ROOT - ) - (func $~lib/rt/tlsf/computeSize (param $0 i32) (result i32) - local.get $0 - i32.const 12 - i32.le_u - if (result i32) - i32.const 12 - else - local.get $0 - i32.const 4 - i32.add - i32.const 15 - i32.add - i32.const 15 - i32.const -1 - i32.xor - i32.and - i32.const 4 - i32.sub - end - ) - (func $~lib/rt/tlsf/prepareSize (param $0 i32) (result i32) - local.get $0 - i32.const 1073741820 - i32.ge_u - if - i32.const 64 - i32.const 192 - i32.const 461 - i32.const 30 - call $~lib/builtins/abort - unreachable - end - local.get $0 - call $~lib/rt/tlsf/computeSize - ) - (func $~lib/rt/tlsf/searchBlock (param $0 i32) (param $1 i32) (result i32) - (local $2 i32) - (local $3 i32) - (local $4 i32) - (local $5 i32) - (local $6 i32) - (local $7 i32) - (local $8 i32) - (local $9 i32) - local.get $1 - i32.const 256 - i32.lt_u - if - i32.const 0 - local.set $2 - local.get $1 - i32.const 4 - i32.shr_u - local.set $3 - else - local.get $1 - i32.const 536870910 - i32.lt_u - if (result i32) - local.get $1 - i32.const 1 - i32.const 27 - local.get $1 - i32.clz - i32.sub - i32.shl - i32.add - i32.const 1 - i32.sub - else - local.get $1 - end - local.set $4 - i32.const 31 - local.get $4 - i32.clz - i32.sub - local.set $2 - local.get $4 - local.get $2 - i32.const 4 - i32.sub - i32.shr_u - i32.const 1 - i32.const 4 - i32.shl - i32.xor - local.set $3 - local.get $2 - i32.const 8 - i32.const 1 - i32.sub - i32.sub - local.set $2 - end - i32.const 1 - drop - local.get $2 - i32.const 23 - i32.lt_u - if (result i32) - local.get $3 - i32.const 16 - i32.lt_u - else - i32.const 0 - end - i32.eqz - if - i32.const 0 - i32.const 192 - i32.const 333 - i32.const 14 - call $~lib/builtins/abort - unreachable - end - local.get $0 - local.set $5 - local.get $2 - local.set $4 - local.get $5 - local.get $4 - i32.const 2 - i32.shl - i32.add - i32.load offset=4 - i32.const 0 - i32.const -1 - i32.xor - local.get $3 - i32.shl - i32.and - local.set $6 - i32.const 0 - local.set $7 - local.get $6 - i32.eqz - if - local.get $0 - i32.load - i32.const 0 - i32.const -1 - i32.xor - local.get $2 - i32.const 1 - i32.add - i32.shl - i32.and - local.set $5 - local.get $5 - i32.eqz - if - i32.const 0 - local.set $7 - else - local.get $5 - i32.ctz - local.set $2 - local.get $0 - local.set $8 - local.get $2 - local.set $4 - local.get $8 - local.get $4 - i32.const 2 - i32.shl - i32.add - i32.load offset=4 - local.set $6 - i32.const 1 - drop - local.get $6 - i32.eqz - if - i32.const 0 - i32.const 192 - i32.const 346 - i32.const 18 - call $~lib/builtins/abort - unreachable - end - local.get $0 - local.set $9 - local.get $2 - local.set $8 - local.get $6 - i32.ctz - local.set $4 - local.get $9 - local.get $8 - i32.const 4 - i32.shl - local.get $4 - i32.add - i32.const 2 - i32.shl - i32.add - i32.load offset=96 - local.set $7 - end - else - local.get $0 - local.set $9 - local.get $2 - local.set $8 - local.get $6 - i32.ctz - local.set $4 - local.get $9 - local.get $8 - i32.const 4 - i32.shl - local.get $4 - i32.add - i32.const 2 - i32.shl - i32.add - i32.load offset=96 - local.set $7 - end - local.get $7 - ) - (func $~lib/rt/tlsf/growMemory (param $0 i32) (param $1 i32) - (local $2 i32) - (local $3 i32) - (local $4 i32) - (local $5 i32) - (local $6 i32) - (local $7 i32) - i32.const 0 - drop - local.get $1 - i32.const 536870910 - i32.lt_u - if - local.get $1 - i32.const 1 - i32.const 27 - local.get $1 - i32.clz - i32.sub - i32.shl - i32.const 1 - i32.sub - i32.add - local.set $1 - end - memory.size - local.set $2 - local.get $1 - i32.const 4 - local.get $2 - i32.const 16 - i32.shl - i32.const 4 - i32.sub - local.get $0 - local.set $3 - local.get $3 - i32.load offset=1568 - i32.ne - i32.shl - i32.add - local.set $1 - local.get $1 - i32.const 65535 - i32.add - i32.const 65535 - i32.const -1 - i32.xor - i32.and - i32.const 16 - i32.shr_u - local.set $4 - local.get $2 - local.tee $3 - local.get $4 - local.tee $5 - local.get $3 - local.get $5 - i32.gt_s - select - local.set $6 - local.get $6 - memory.grow - i32.const 0 - i32.lt_s - if - local.get $4 - memory.grow - i32.const 0 - i32.lt_s - if - unreachable - end - end - memory.size - local.set $7 - local.get $0 - local.get $2 - i32.const 16 - i32.shl - local.get $7 - i32.const 16 - i32.shl - call $~lib/rt/tlsf/addMemory - drop - ) - (func $~lib/rt/tlsf/prepareBlock (param $0 i32) (param $1 i32) (param $2 i32) - (local $3 i32) - (local $4 i32) - (local $5 i32) - local.get $1 - i32.load - local.set $3 - i32.const 1 - drop - local.get $2 - i32.const 4 - i32.add - i32.const 15 - i32.and - i32.eqz - i32.eqz - if - i32.const 0 - i32.const 192 - i32.const 360 - i32.const 14 - call $~lib/builtins/abort - unreachable - end - local.get $3 - i32.const 3 - i32.const -1 - i32.xor - i32.and - local.get $2 - i32.sub - local.set $4 - local.get $4 - i32.const 4 - i32.const 12 - i32.add - i32.ge_u - if - local.get $1 - local.get $2 - local.get $3 - i32.const 2 - i32.and - i32.or - i32.store - local.get $1 - i32.const 4 - i32.add - local.get $2 - i32.add - local.set $5 - local.get $5 - local.get $4 - i32.const 4 - i32.sub - i32.const 1 - i32.or - i32.store - local.get $0 - local.get $5 - call $~lib/rt/tlsf/insertBlock - else - local.get $1 - local.get $3 - i32.const 1 - i32.const -1 - i32.xor - i32.and - i32.store - local.get $1 - local.set $5 - local.get $5 - i32.const 4 - i32.add - local.get $5 - i32.load - i32.const 3 - i32.const -1 - i32.xor - i32.and - i32.add - local.get $1 - local.set $5 - local.get $5 - i32.const 4 - i32.add - local.get $5 - i32.load - i32.const 3 - i32.const -1 - i32.xor - i32.and - i32.add - i32.load - i32.const 2 - i32.const -1 - i32.xor - i32.and - i32.store - end - ) - (func $~lib/rt/tlsf/allocateBlock (param $0 i32) (param $1 i32) (result i32) - (local $2 i32) - (local $3 i32) - local.get $1 - call $~lib/rt/tlsf/prepareSize - local.set $2 - local.get $0 - local.get $2 - call $~lib/rt/tlsf/searchBlock - local.set $3 - local.get $3 - i32.eqz - if - local.get $0 - local.get $2 - call $~lib/rt/tlsf/growMemory - local.get $0 - local.get $2 - call $~lib/rt/tlsf/searchBlock - local.set $3 - i32.const 1 - drop - local.get $3 - i32.eqz - if - i32.const 0 - i32.const 192 - i32.const 498 - i32.const 16 - call $~lib/builtins/abort - unreachable - end - end - i32.const 1 - drop - local.get $3 - i32.load - i32.const 3 - i32.const -1 - i32.xor - i32.and - local.get $2 - i32.ge_u - i32.eqz - if - i32.const 0 - i32.const 192 - i32.const 500 - i32.const 14 - call $~lib/builtins/abort - unreachable - end - local.get $0 - local.get $3 - call $~lib/rt/tlsf/removeBlock - local.get $0 - local.get $3 - local.get $2 - call $~lib/rt/tlsf/prepareBlock - i32.const 0 - drop - local.get $3 - ) - (func $~lib/rt/tlsf/__alloc (param $0 i32) (result i32) - global.get $~lib/rt/tlsf/ROOT - i32.eqz - if - call $~lib/rt/tlsf/initialize - end - global.get $~lib/rt/tlsf/ROOT - local.get $0 - call $~lib/rt/tlsf/allocateBlock - i32.const 4 - i32.add - ) - (func $~lib/rt/pure/__new (param $0 i32) (param $1 i32) (result i32) - (local $2 i32) - (local $3 i32) - local.get $0 - i32.const 1073741804 - i32.gt_u - if - i32.const 64 - i32.const 128 - i32.const 275 - i32.const 30 - call $~lib/builtins/abort - unreachable - end - i32.const 16 - local.get $0 - i32.add - call $~lib/rt/tlsf/__alloc - local.set $2 - local.get $2 - i32.const 4 - i32.sub - local.set $3 - local.get $3 - i32.const 0 - i32.store offset=4 - local.get $3 - i32.const 0 - i32.store offset=8 - local.get $3 - local.get $1 - i32.store offset=12 - local.get $3 - local.get $0 - i32.store offset=16 - local.get $2 - i32.const 16 - i32.add - ) - (func $~lib/rt/pure/increment (param $0 i32) - (local $1 i32) - local.get $0 - i32.load offset=4 - local.set $1 - local.get $1 - i32.const 268435455 - i32.const -1 - i32.xor - i32.and - local.get $1 - i32.const 1 - i32.add - i32.const 268435455 - i32.const -1 - i32.xor - i32.and - i32.eq - i32.eqz - if - i32.const 0 - i32.const 128 - i32.const 109 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $0 - local.get $1 - i32.const 1 - i32.add - i32.store offset=4 - i32.const 0 - drop - i32.const 1 - drop - local.get $0 - i32.load - i32.const 1 - i32.and - i32.eqz - i32.eqz - if - i32.const 0 - i32.const 128 - i32.const 112 - i32.const 14 - call $~lib/builtins/abort - unreachable - end - ) - (func $~lib/rt/pure/__retain (param $0 i32) (result i32) - local.get $0 - global.get $~lib/memory/__heap_base - i32.gt_u - if - local.get $0 - i32.const 20 - i32.sub - call $~lib/rt/pure/increment - end - local.get $0 - ) - (func $rc/local-init/Ref#constructor (param $0 i32) (result i32) - local.get $0 - i32.eqz - if - i32.const 0 - i32.const 3 - call $~lib/rt/pure/__new - call $~lib/rt/pure/__retain - local.set $0 - end - local.get $0 - ) - (func $start:rc/local-init - (local $0 i32) - i32.const 32 - local.set $0 - local.get $0 - call $~lib/rt/pure/__release - call $rc/local-init/getRef - local.set $0 - local.get $0 - call $~lib/rt/pure/__release - i32.const 0 - call $rc/local-init/Ref#constructor - local.set $0 - local.get $0 - call $~lib/rt/pure/__release - ) - (func $~lib/rt/tlsf/freeBlock (param $0 i32) (param $1 i32) - local.get $1 - local.get $1 - i32.load - i32.const 1 - i32.or - i32.store - i32.const 0 - drop - local.get $0 - local.get $1 - call $~lib/rt/tlsf/insertBlock - ) - (func $~lib/rt/pure/finalize (param $0 i32) - i32.const 0 - drop - global.get $~lib/rt/tlsf/ROOT - local.get $0 - call $~lib/rt/tlsf/freeBlock - ) - (func $~lib/rt/pure/decrement (param $0 i32) - (local $1 i32) - (local $2 i32) - local.get $0 - i32.load offset=4 - local.set $1 - local.get $1 - i32.const 268435455 - i32.and - local.set $2 - i32.const 0 - drop - i32.const 1 - drop - local.get $0 - i32.load - i32.const 1 - i32.and - i32.eqz - i32.eqz - if - i32.const 0 - i32.const 128 - i32.const 122 - i32.const 14 - call $~lib/builtins/abort - unreachable - end - local.get $2 - i32.const 1 - i32.eq - if - local.get $0 - i32.const 20 - i32.add - i32.const 1 - call $~lib/rt/__visit_members - i32.const 1 - drop - i32.const 1 - drop - local.get $1 - i32.const -2147483648 - i32.and - i32.eqz - i32.eqz - if - i32.const 0 - i32.const 128 - i32.const 126 - i32.const 18 - call $~lib/builtins/abort - unreachable - end - local.get $0 - call $~lib/rt/pure/finalize - else - i32.const 1 - drop - local.get $2 - i32.const 0 - i32.gt_u - i32.eqz - if - i32.const 0 - i32.const 128 - i32.const 136 - i32.const 16 - call $~lib/builtins/abort - unreachable - end - i32.const 1 - drop - local.get $0 - local.get $1 - i32.const 268435455 - i32.const -1 - i32.xor - i32.and - local.get $2 - i32.const 1 - i32.sub - i32.or - i32.store offset=4 - end - ) - (func $~start - call $start:rc/local-init - ) - (func $~lib/rt/pure/__visit (param $0 i32) (param $1 i32) - local.get $0 - global.get $~lib/memory/__heap_base - i32.lt_u - if - return - end - i32.const 1 - drop - i32.const 1 - drop - local.get $1 - i32.const 1 - i32.eq - i32.eqz - if - i32.const 0 - i32.const 128 - i32.const 69 - i32.const 16 - call $~lib/builtins/abort - unreachable - end - local.get $0 - i32.const 20 - i32.sub - call $~lib/rt/pure/decrement - ) - (func $~lib/arraybuffer/ArrayBuffer~visit (param $0 i32) (param $1 i32) - nop - ) - (func $~lib/string/String~visit (param $0 i32) (param $1 i32) - nop - ) - (func $~lib/arraybuffer/ArrayBufferView~visit (param $0 i32) (param $1 i32) - (local $2 i32) - local.get $0 - i32.load - local.tee $2 - if - local.get $2 - local.get $1 - call $~lib/rt/pure/__visit - end - ) - (func $rc/local-init/Ref~visit (param $0 i32) (param $1 i32) - nop - ) - (func $~lib/rt/__visit_members (param $0 i32) (param $1 i32) - block $invalid - block $rc/local-init/Ref - block $~lib/arraybuffer/ArrayBufferView - block $~lib/string/String - block $~lib/arraybuffer/ArrayBuffer - local.get $0 - i32.const 8 - i32.sub - i32.load - br_table $~lib/arraybuffer/ArrayBuffer $~lib/string/String $~lib/arraybuffer/ArrayBufferView $rc/local-init/Ref $invalid - end - local.get $0 - local.get $1 - call $~lib/arraybuffer/ArrayBuffer~visit - return - end - local.get $0 - local.get $1 - call $~lib/string/String~visit - return - end - local.get $0 - local.get $1 - call $~lib/arraybuffer/ArrayBufferView~visit - return - end - local.get $0 - local.get $1 - call $rc/local-init/Ref~visit - return - end - unreachable - ) -) diff --git a/tests/compiler/rc/logical-and-mismatch.optimized.wat b/tests/compiler/rc/logical-and-mismatch.optimized.wat deleted file mode 100644 index e76fceb0c1..0000000000 --- a/tests/compiler/rc/logical-and-mismatch.optimized.wat +++ /dev/null @@ -1,1065 +0,0 @@ -(module - (type $i32_=>_i32 (func (param i32) (result i32))) - (type $i32_=>_none (func (param i32))) - (type $i32_i32_=>_none (func (param i32 i32))) - (type $none_=>_none (func)) - (type $i32_i32_i32_=>_none (func (param i32 i32 i32))) - (type $i32_i32_i32_i32_=>_none (func (param i32 i32 i32 i32))) - (type $none_=>_i32 (func (result i32))) - (import "env" "abort" (func $~lib/builtins/abort (param i32 i32 i32 i32))) - (memory $0 1) - (data (i32.const 1036) "<\00\00\00\01\00\00\00\00\00\00\00\01\00\00\00(\00\00\00a\00l\00l\00o\00c\00a\00t\00i\00o\00n\00 \00t\00o\00o\00 \00l\00a\00r\00g\00e") - (data (i32.const 1100) "<\00\00\00\01\00\00\00\00\00\00\00\01\00\00\00\1e\00\00\00~\00l\00i\00b\00/\00r\00t\00/\00p\00u\00r\00e\00.\00t\00s") - (data (i32.const 1164) "<\00\00\00\01\00\00\00\00\00\00\00\01\00\00\00\1e\00\00\00~\00l\00i\00b\00/\00r\00t\00/\00t\00l\00s\00f\00.\00t\00s") - (global $~lib/rt/tlsf/ROOT (mut i32) (i32.const 0)) - (global $rc/logical-and-mismatch/gloRef (mut i32) (i32.const 0)) - (export "memory" (memory $0)) - (start $~start) - (func $~lib/rt/tlsf/removeBlock (param $0 i32) (param $1 i32) - (local $2 i32) - (local $3 i32) - (local $4 i32) - (local $5 i32) - local.get $1 - i32.load - local.tee $2 - i32.const 1 - i32.and - i32.eqz - if - i32.const 0 - i32.const 1184 - i32.const 272 - i32.const 14 - call $~lib/builtins/abort - unreachable - end - local.get $2 - i32.const -4 - i32.and - local.tee $2 - i32.const 1073741820 - i32.lt_u - i32.const 0 - local.get $2 - i32.const 12 - i32.ge_u - select - i32.eqz - if - i32.const 0 - i32.const 1184 - i32.const 274 - i32.const 14 - call $~lib/builtins/abort - unreachable - end - local.get $2 - i32.const 256 - i32.lt_u - if - local.get $2 - i32.const 4 - i32.shr_u - local.set $2 - else - local.get $2 - i32.const 31 - local.get $2 - i32.clz - i32.sub - local.tee $3 - i32.const 4 - i32.sub - i32.shr_u - i32.const 16 - i32.xor - local.set $2 - local.get $3 - i32.const 7 - i32.sub - local.set $3 - end - local.get $2 - i32.const 16 - i32.lt_u - i32.const 0 - local.get $3 - i32.const 23 - i32.lt_u - select - i32.eqz - if - i32.const 0 - i32.const 1184 - i32.const 287 - i32.const 14 - call $~lib/builtins/abort - unreachable - end - local.get $1 - i32.load offset=8 - local.set $4 - local.get $1 - i32.load offset=4 - local.tee $5 - if - local.get $5 - local.get $4 - i32.store offset=8 - end - local.get $4 - if - local.get $4 - local.get $5 - i32.store offset=4 - end - local.get $1 - local.get $0 - local.get $2 - local.get $3 - i32.const 4 - i32.shl - i32.add - i32.const 2 - i32.shl - i32.add - i32.load offset=96 - i32.eq - if - local.get $0 - local.get $2 - local.get $3 - i32.const 4 - i32.shl - i32.add - i32.const 2 - i32.shl - i32.add - local.get $4 - i32.store offset=96 - local.get $4 - i32.eqz - if - local.get $0 - local.get $3 - i32.const 2 - i32.shl - i32.add - local.tee $4 - i32.load offset=4 - i32.const -2 - local.get $2 - i32.rotl - i32.and - local.set $1 - local.get $4 - local.get $1 - i32.store offset=4 - local.get $1 - i32.eqz - if - local.get $0 - local.get $0 - i32.load - i32.const -2 - local.get $3 - i32.rotl - i32.and - i32.store - end - end - end - ) - (func $~lib/rt/tlsf/insertBlock (param $0 i32) (param $1 i32) - (local $2 i32) - (local $3 i32) - (local $4 i32) - (local $5 i32) - (local $6 i32) - (local $7 i32) - (local $8 i32) - local.get $1 - i32.eqz - if - i32.const 0 - i32.const 1184 - i32.const 200 - i32.const 14 - call $~lib/builtins/abort - unreachable - end - local.get $1 - i32.load - local.tee $4 - i32.const 1 - i32.and - i32.eqz - if - i32.const 0 - i32.const 1184 - i32.const 202 - i32.const 14 - call $~lib/builtins/abort - unreachable - end - local.get $1 - i32.const 4 - i32.add - local.get $1 - i32.load - i32.const -4 - i32.and - i32.add - local.tee $5 - i32.load - local.tee $2 - i32.const 1 - i32.and - if - local.get $4 - i32.const -4 - i32.and - i32.const 4 - i32.add - local.get $2 - i32.const -4 - i32.and - i32.add - local.tee $3 - i32.const 1073741820 - i32.lt_u - if - local.get $0 - local.get $5 - call $~lib/rt/tlsf/removeBlock - local.get $1 - local.get $3 - local.get $4 - i32.const 3 - i32.and - i32.or - local.tee $4 - i32.store - local.get $1 - i32.const 4 - i32.add - local.get $1 - i32.load - i32.const -4 - i32.and - i32.add - local.tee $5 - i32.load - local.set $2 - end - end - local.get $4 - i32.const 2 - i32.and - if - local.get $1 - i32.const 4 - i32.sub - i32.load - local.tee $3 - i32.load - local.tee $7 - i32.const 1 - i32.and - i32.eqz - if - i32.const 0 - i32.const 1184 - i32.const 223 - i32.const 16 - call $~lib/builtins/abort - unreachable - end - local.get $7 - i32.const -4 - i32.and - i32.const 4 - i32.add - local.get $4 - i32.const -4 - i32.and - i32.add - local.tee $8 - i32.const 1073741820 - i32.lt_u - if (result i32) - local.get $0 - local.get $3 - call $~lib/rt/tlsf/removeBlock - local.get $3 - local.get $8 - local.get $7 - i32.const 3 - i32.and - i32.or - local.tee $4 - i32.store - local.get $3 - else - local.get $1 - end - local.set $1 - end - local.get $5 - local.get $2 - i32.const 2 - i32.or - i32.store - local.get $4 - i32.const -4 - i32.and - local.tee $3 - i32.const 1073741820 - i32.lt_u - i32.const 0 - local.get $3 - i32.const 12 - i32.ge_u - select - i32.eqz - if - i32.const 0 - i32.const 1184 - i32.const 238 - i32.const 14 - call $~lib/builtins/abort - unreachable - end - local.get $3 - local.get $1 - i32.const 4 - i32.add - i32.add - local.get $5 - i32.ne - if - i32.const 0 - i32.const 1184 - i32.const 239 - i32.const 14 - call $~lib/builtins/abort - unreachable - end - local.get $5 - i32.const 4 - i32.sub - local.get $1 - i32.store - local.get $3 - i32.const 256 - i32.lt_u - if - local.get $3 - i32.const 4 - i32.shr_u - local.set $3 - else - local.get $3 - i32.const 31 - local.get $3 - i32.clz - i32.sub - local.tee $4 - i32.const 4 - i32.sub - i32.shr_u - i32.const 16 - i32.xor - local.set $3 - local.get $4 - i32.const 7 - i32.sub - local.set $6 - end - local.get $3 - i32.const 16 - i32.lt_u - i32.const 0 - local.get $6 - i32.const 23 - i32.lt_u - select - i32.eqz - if - i32.const 0 - i32.const 1184 - i32.const 255 - i32.const 14 - call $~lib/builtins/abort - unreachable - end - local.get $0 - local.get $3 - local.get $6 - i32.const 4 - i32.shl - i32.add - i32.const 2 - i32.shl - i32.add - i32.load offset=96 - local.set $4 - local.get $1 - i32.const 0 - i32.store offset=4 - local.get $1 - local.get $4 - i32.store offset=8 - local.get $4 - if - local.get $4 - local.get $1 - i32.store offset=4 - end - local.get $0 - local.get $3 - local.get $6 - i32.const 4 - i32.shl - i32.add - i32.const 2 - i32.shl - i32.add - local.get $1 - i32.store offset=96 - local.get $0 - local.get $0 - i32.load - i32.const 1 - local.get $6 - i32.shl - i32.or - i32.store - local.get $0 - local.get $6 - i32.const 2 - i32.shl - i32.add - local.tee $0 - local.get $0 - i32.load offset=4 - i32.const 1 - local.get $3 - i32.shl - i32.or - i32.store offset=4 - ) - (func $~lib/rt/tlsf/addMemory (param $0 i32) (param $1 i32) (param $2 i32) - (local $3 i32) - (local $4 i32) - local.get $1 - local.get $2 - i32.gt_u - if - i32.const 0 - i32.const 1184 - i32.const 380 - i32.const 14 - call $~lib/builtins/abort - unreachable - end - local.get $1 - i32.const 19 - i32.add - i32.const -16 - i32.and - i32.const 4 - i32.sub - local.set $1 - local.get $2 - i32.const -16 - i32.and - local.get $0 - i32.load offset=1568 - local.tee $2 - if - local.get $1 - local.get $2 - i32.const 4 - i32.add - i32.lt_u - if - i32.const 0 - i32.const 1184 - i32.const 387 - i32.const 16 - call $~lib/builtins/abort - unreachable - end - local.get $2 - local.get $1 - i32.const 16 - i32.sub - i32.eq - if - local.get $2 - i32.load - local.set $4 - local.get $1 - i32.const 16 - i32.sub - local.set $1 - end - else - local.get $1 - local.get $0 - i32.const 1572 - i32.add - i32.lt_u - if - i32.const 0 - i32.const 1184 - i32.const 400 - i32.const 5 - call $~lib/builtins/abort - unreachable - end - end - local.get $1 - i32.sub - local.tee $2 - i32.const 20 - i32.lt_u - if - return - end - local.get $1 - local.get $4 - i32.const 2 - i32.and - local.get $2 - i32.const 8 - i32.sub - local.tee $2 - i32.const 1 - i32.or - i32.or - i32.store - local.get $1 - i32.const 0 - i32.store offset=4 - local.get $1 - i32.const 0 - i32.store offset=8 - local.get $2 - local.get $1 - i32.const 4 - i32.add - i32.add - local.tee $2 - i32.const 2 - i32.store - local.get $0 - local.get $2 - i32.store offset=1568 - local.get $0 - local.get $1 - call $~lib/rt/tlsf/insertBlock - ) - (func $~lib/rt/tlsf/searchBlock (param $0 i32) (result i32) - (local $1 i32) - (local $2 i32) - local.get $0 - i32.load offset=4 - i32.const -2 - i32.and - local.tee $2 - if (result i32) - local.get $0 - local.get $2 - i32.ctz - i32.const 2 - i32.shl - i32.add - i32.load offset=96 - else - local.get $0 - i32.load - i32.const -2 - i32.and - local.tee $1 - if (result i32) - local.get $0 - local.get $1 - i32.ctz - local.tee $1 - i32.const 2 - i32.shl - i32.add - i32.load offset=4 - local.tee $2 - i32.eqz - if - i32.const 0 - i32.const 1184 - i32.const 346 - i32.const 18 - call $~lib/builtins/abort - unreachable - end - local.get $0 - local.get $2 - i32.ctz - local.get $1 - i32.const 4 - i32.shl - i32.add - i32.const 2 - i32.shl - i32.add - i32.load offset=96 - else - i32.const 0 - end - end - ) - (func $~lib/rt/tlsf/allocateBlock (param $0 i32) (result i32) - (local $1 i32) - (local $2 i32) - (local $3 i32) - local.get $0 - call $~lib/rt/tlsf/searchBlock - local.tee $1 - i32.eqz - if - i32.const 4 - memory.size - local.tee $2 - i32.const 16 - i32.shl - i32.const 4 - i32.sub - local.get $0 - i32.load offset=1568 - i32.ne - i32.shl - i32.const 65563 - i32.add - i32.const -65536 - i32.and - i32.const 16 - i32.shr_u - local.set $1 - local.get $2 - local.get $1 - local.get $1 - local.get $2 - i32.lt_s - select - memory.grow - i32.const 0 - i32.lt_s - if - local.get $1 - memory.grow - i32.const 0 - i32.lt_s - if - unreachable - end - end - local.get $0 - local.get $2 - i32.const 16 - i32.shl - memory.size - i32.const 16 - i32.shl - call $~lib/rt/tlsf/addMemory - local.get $0 - call $~lib/rt/tlsf/searchBlock - local.tee $1 - i32.eqz - if - i32.const 0 - i32.const 1184 - i32.const 498 - i32.const 16 - call $~lib/builtins/abort - unreachable - end - end - local.get $1 - i32.load - i32.const -4 - i32.and - i32.const 28 - i32.lt_u - if - i32.const 0 - i32.const 1184 - i32.const 500 - i32.const 14 - call $~lib/builtins/abort - unreachable - end - local.get $0 - local.get $1 - call $~lib/rt/tlsf/removeBlock - local.get $1 - i32.load - local.tee $2 - i32.const -4 - i32.and - i32.const 28 - i32.sub - local.tee $3 - i32.const 16 - i32.ge_u - if - local.get $1 - local.get $2 - i32.const 2 - i32.and - i32.const 28 - i32.or - i32.store - local.get $1 - i32.const 32 - i32.add - local.tee $2 - local.get $3 - i32.const 4 - i32.sub - i32.const 1 - i32.or - i32.store - local.get $0 - local.get $2 - call $~lib/rt/tlsf/insertBlock - else - local.get $1 - local.get $2 - i32.const -2 - i32.and - i32.store - 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 $0 - local.get $1 - i32.load - i32.const -4 - i32.and - i32.add - i32.load - i32.const -3 - i32.and - i32.store - end - local.get $1 - ) - (func $~lib/rt/pure/__new (result i32) - (local $0 i32) - (local $1 i32) - global.get $~lib/rt/tlsf/ROOT - i32.eqz - if - memory.size - local.tee $1 - i32.const 1 - i32.lt_s - if (result i32) - i32.const 1 - local.get $1 - i32.sub - memory.grow - i32.const 0 - i32.lt_s - else - i32.const 0 - end - if - unreachable - end - i32.const 1232 - i32.const 0 - i32.store - i32.const 2800 - i32.const 0 - i32.store - loop $for-loop|0 - local.get $0 - i32.const 23 - i32.lt_u - if - local.get $0 - i32.const 2 - i32.shl - i32.const 1232 - i32.add - i32.const 0 - i32.store offset=4 - i32.const 0 - local.set $1 - loop $for-loop|1 - local.get $1 - i32.const 16 - i32.lt_u - if - local.get $1 - local.get $0 - i32.const 4 - i32.shl - i32.add - i32.const 2 - i32.shl - i32.const 1232 - i32.add - i32.const 0 - i32.store offset=96 - local.get $1 - i32.const 1 - i32.add - local.set $1 - br $for-loop|1 - end - end - local.get $0 - i32.const 1 - i32.add - local.set $0 - br $for-loop|0 - end - end - i32.const 1232 - i32.const 2804 - memory.size - i32.const 16 - i32.shl - call $~lib/rt/tlsf/addMemory - i32.const 1232 - global.set $~lib/rt/tlsf/ROOT - end - global.get $~lib/rt/tlsf/ROOT - call $~lib/rt/tlsf/allocateBlock - i32.const 4 - i32.add - local.tee $1 - i32.const 4 - i32.sub - local.tee $0 - i32.const 0 - i32.store offset=4 - local.get $0 - i32.const 0 - i32.store offset=8 - local.get $0 - i32.const 3 - i32.store offset=12 - local.get $0 - i32.const 0 - i32.store offset=16 - local.get $1 - i32.const 16 - i32.add - ) - (func $~lib/rt/pure/__retain (param $0 i32) (result i32) - (local $1 i32) - (local $2 i32) - local.get $0 - i32.const 1228 - i32.gt_u - if - local.get $0 - i32.const 20 - i32.sub - local.tee $1 - i32.load offset=4 - local.tee $2 - i32.const -268435456 - i32.and - local.get $2 - i32.const 1 - i32.add - i32.const -268435456 - i32.and - i32.ne - if - i32.const 0 - i32.const 1120 - i32.const 109 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $1 - local.get $2 - i32.const 1 - i32.add - i32.store offset=4 - local.get $1 - i32.load - i32.const 1 - i32.and - if - i32.const 0 - i32.const 1120 - i32.const 112 - i32.const 14 - call $~lib/builtins/abort - unreachable - end - end - local.get $0 - ) - (func $~lib/rt/pure/__release (param $0 i32) - local.get $0 - i32.const 1228 - i32.gt_u - if - local.get $0 - i32.const 20 - i32.sub - call $~lib/rt/pure/decrement - end - ) - (func $~lib/rt/pure/decrement (param $0 i32) - (local $1 i32) - (local $2 i32) - local.get $0 - i32.load offset=4 - local.tee $2 - i32.const 268435455 - i32.and - local.set $1 - local.get $0 - i32.load - i32.const 1 - i32.and - if - i32.const 0 - i32.const 1120 - i32.const 122 - i32.const 14 - call $~lib/builtins/abort - unreachable - end - local.get $1 - i32.const 1 - i32.eq - if - block $__inlined_func$~lib/rt/__visit_members - block $invalid - block $~lib/arraybuffer/ArrayBufferView - local.get $0 - i32.const 12 - i32.add - i32.load - br_table $__inlined_func$~lib/rt/__visit_members $__inlined_func$~lib/rt/__visit_members $~lib/arraybuffer/ArrayBufferView $__inlined_func$~lib/rt/__visit_members $invalid - end - local.get $0 - i32.load offset=20 - local.tee $1 - if - local.get $1 - i32.const 1228 - i32.ge_u - if - local.get $1 - i32.const 20 - i32.sub - call $~lib/rt/pure/decrement - end - end - br $__inlined_func$~lib/rt/__visit_members - end - unreachable - end - local.get $2 - i32.const -2147483648 - i32.and - if - i32.const 0 - i32.const 1120 - i32.const 126 - i32.const 18 - call $~lib/builtins/abort - unreachable - end - local.get $0 - local.get $0 - i32.load - i32.const 1 - i32.or - i32.store - global.get $~lib/rt/tlsf/ROOT - local.get $0 - call $~lib/rt/tlsf/insertBlock - else - local.get $1 - i32.eqz - if - i32.const 0 - i32.const 1120 - i32.const 136 - i32.const 16 - call $~lib/builtins/abort - unreachable - end - local.get $0 - local.get $1 - i32.const 1 - i32.sub - local.get $2 - i32.const -268435456 - i32.and - i32.or - i32.store offset=4 - end - ) - (func $~start - (local $0 i32) - call $~lib/rt/pure/__new - call $~lib/rt/pure/__retain - global.set $rc/logical-and-mismatch/gloRef - call $~lib/rt/pure/__new - call $~lib/rt/pure/__retain - local.tee $0 - if (result i32) - local.get $0 - call $~lib/rt/pure/__release - global.get $rc/logical-and-mismatch/gloRef - call $~lib/rt/pure/__retain - else - local.get $0 - end - call $~lib/rt/pure/__release - global.get $rc/logical-and-mismatch/gloRef - local.tee $0 - if (result i32) - call $~lib/rt/pure/__new - call $~lib/rt/pure/__retain - else - local.get $0 - call $~lib/rt/pure/__retain - end - call $~lib/rt/pure/__release - call $~lib/rt/pure/__new - call $~lib/rt/pure/__retain - local.tee $0 - if (result i32) - local.get $0 - call $~lib/rt/pure/__release - call $~lib/rt/pure/__new - call $~lib/rt/pure/__retain - else - local.get $0 - end - call $~lib/rt/pure/__release - global.get $rc/logical-and-mismatch/gloRef - call $~lib/rt/pure/__release - ) -) diff --git a/tests/compiler/rc/logical-and-mismatch.untouched.wat b/tests/compiler/rc/logical-and-mismatch.untouched.wat deleted file mode 100644 index af09857aeb..0000000000 --- a/tests/compiler/rc/logical-and-mismatch.untouched.wat +++ /dev/null @@ -1,1764 +0,0 @@ -(module - (type $i32_i32_=>_none (func (param i32 i32))) - (type $i32_=>_i32 (func (param i32) (result i32))) - (type $i32_=>_none (func (param i32))) - (type $none_=>_none (func)) - (type $i32_i32_=>_i32 (func (param i32 i32) (result i32))) - (type $i32_i32_i32_=>_none (func (param i32 i32 i32))) - (type $i32_i32_i32_i32_=>_none (func (param i32 i32 i32 i32))) - (type $none_=>_i32 (func (result i32))) - (type $i32_i32_i32_=>_i32 (func (param i32 i32 i32) (result i32))) - (import "env" "abort" (func $~lib/builtins/abort (param i32 i32 i32 i32))) - (memory $0 1) - (data (i32.const 12) "<\00\00\00\01\00\00\00\00\00\00\00\01\00\00\00(\00\00\00a\00l\00l\00o\00c\00a\00t\00i\00o\00n\00 \00t\00o\00o\00 \00l\00a\00r\00g\00e\00\00\00\00\00") - (data (i32.const 76) "<\00\00\00\01\00\00\00\00\00\00\00\01\00\00\00\1e\00\00\00~\00l\00i\00b\00/\00r\00t\00/\00p\00u\00r\00e\00.\00t\00s\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 140) "<\00\00\00\01\00\00\00\00\00\00\00\01\00\00\00\1e\00\00\00~\00l\00i\00b\00/\00r\00t\00/\00t\00l\00s\00f\00.\00t\00s\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") - (table $0 1 funcref) - (global $~lib/rt/tlsf/ROOT (mut i32) (i32.const 0)) - (global $~lib/ASC_LOW_MEMORY_LIMIT i32 (i32.const 0)) - (global $rc/logical-and-mismatch/gloRef (mut i32) (i32.const 0)) - (global $~lib/memory/__heap_base i32 (i32.const 204)) - (export "memory" (memory $0)) - (start $~start) - (func $~lib/rt/tlsf/removeBlock (param $0 i32) (param $1 i32) - (local $2 i32) - (local $3 i32) - (local $4 i32) - (local $5 i32) - (local $6 i32) - (local $7 i32) - (local $8 i32) - (local $9 i32) - (local $10 i32) - (local $11 i32) - local.get $1 - i32.load - local.set $2 - i32.const 1 - drop - local.get $2 - i32.const 1 - i32.and - i32.eqz - if - i32.const 0 - i32.const 160 - i32.const 272 - i32.const 14 - call $~lib/builtins/abort - unreachable - end - local.get $2 - i32.const 3 - i32.const -1 - i32.xor - i32.and - local.set $3 - i32.const 1 - drop - local.get $3 - i32.const 12 - i32.ge_u - if (result i32) - local.get $3 - i32.const 1073741820 - i32.lt_u - else - i32.const 0 - end - i32.eqz - if - i32.const 0 - i32.const 160 - i32.const 274 - i32.const 14 - call $~lib/builtins/abort - unreachable - end - local.get $3 - i32.const 256 - i32.lt_u - if - i32.const 0 - local.set $4 - local.get $3 - i32.const 4 - i32.shr_u - local.set $5 - else - i32.const 31 - local.get $3 - i32.clz - i32.sub - local.set $4 - local.get $3 - local.get $4 - i32.const 4 - i32.sub - i32.shr_u - i32.const 1 - i32.const 4 - i32.shl - i32.xor - local.set $5 - local.get $4 - i32.const 8 - i32.const 1 - i32.sub - i32.sub - local.set $4 - end - i32.const 1 - drop - local.get $4 - i32.const 23 - i32.lt_u - if (result i32) - local.get $5 - i32.const 16 - i32.lt_u - else - i32.const 0 - end - i32.eqz - if - i32.const 0 - i32.const 160 - i32.const 287 - i32.const 14 - call $~lib/builtins/abort - unreachable - end - local.get $1 - i32.load offset=4 - local.set $6 - local.get $1 - i32.load offset=8 - local.set $7 - local.get $6 - if - local.get $6 - local.get $7 - i32.store offset=8 - end - local.get $7 - if - local.get $7 - local.get $6 - i32.store offset=4 - end - local.get $1 - local.get $0 - local.set $10 - local.get $4 - local.set $9 - local.get $5 - local.set $8 - local.get $10 - local.get $9 - i32.const 4 - i32.shl - local.get $8 - i32.add - i32.const 2 - i32.shl - i32.add - i32.load offset=96 - i32.eq - if - local.get $0 - local.set $11 - local.get $4 - local.set $10 - local.get $5 - local.set $9 - local.get $7 - local.set $8 - local.get $11 - local.get $10 - i32.const 4 - i32.shl - local.get $9 - i32.add - i32.const 2 - i32.shl - i32.add - local.get $8 - i32.store offset=96 - local.get $7 - i32.eqz - if - local.get $0 - local.set $9 - local.get $4 - local.set $8 - local.get $9 - local.get $8 - i32.const 2 - i32.shl - i32.add - i32.load offset=4 - local.set $9 - local.get $0 - local.set $8 - local.get $4 - local.set $11 - local.get $9 - i32.const 1 - local.get $5 - i32.shl - i32.const -1 - i32.xor - i32.and - local.tee $9 - local.set $10 - local.get $8 - local.get $11 - i32.const 2 - i32.shl - i32.add - local.get $10 - i32.store offset=4 - local.get $9 - i32.eqz - if - local.get $0 - local.get $0 - i32.load - i32.const 1 - local.get $4 - i32.shl - i32.const -1 - i32.xor - i32.and - i32.store - end - end - end - ) - (func $~lib/rt/tlsf/insertBlock (param $0 i32) (param $1 i32) - (local $2 i32) - (local $3 i32) - (local $4 i32) - (local $5 i32) - (local $6 i32) - (local $7 i32) - (local $8 i32) - (local $9 i32) - (local $10 i32) - (local $11 i32) - (local $12 i32) - (local $13 i32) - i32.const 1 - drop - local.get $1 - i32.eqz - if - i32.const 0 - i32.const 160 - i32.const 200 - i32.const 14 - call $~lib/builtins/abort - unreachable - end - local.get $1 - i32.load - local.set $2 - i32.const 1 - drop - local.get $2 - i32.const 1 - i32.and - i32.eqz - if - i32.const 0 - i32.const 160 - i32.const 202 - i32.const 14 - call $~lib/builtins/abort - unreachable - end - local.get $1 - local.set $3 - local.get $3 - i32.const 4 - i32.add - local.get $3 - i32.load - i32.const 3 - i32.const -1 - i32.xor - i32.and - i32.add - local.set $4 - local.get $4 - i32.load - local.set $5 - local.get $5 - i32.const 1 - i32.and - if - local.get $2 - i32.const 3 - i32.const -1 - i32.xor - i32.and - i32.const 4 - i32.add - local.get $5 - i32.const 3 - i32.const -1 - i32.xor - i32.and - i32.add - local.set $3 - local.get $3 - i32.const 1073741820 - i32.lt_u - if - local.get $0 - local.get $4 - call $~lib/rt/tlsf/removeBlock - local.get $1 - local.get $2 - i32.const 3 - i32.and - local.get $3 - i32.or - local.tee $2 - i32.store - local.get $1 - local.set $6 - local.get $6 - i32.const 4 - i32.add - local.get $6 - i32.load - i32.const 3 - i32.const -1 - i32.xor - i32.and - i32.add - local.set $4 - local.get $4 - i32.load - local.set $5 - end - end - local.get $2 - i32.const 2 - i32.and - if - local.get $1 - local.set $6 - local.get $6 - i32.const 4 - i32.sub - i32.load - local.set $6 - local.get $6 - i32.load - local.set $3 - i32.const 1 - drop - local.get $3 - i32.const 1 - i32.and - i32.eqz - if - i32.const 0 - i32.const 160 - i32.const 223 - i32.const 16 - call $~lib/builtins/abort - unreachable - end - local.get $3 - i32.const 3 - i32.const -1 - i32.xor - i32.and - i32.const 4 - i32.add - local.get $2 - i32.const 3 - i32.const -1 - i32.xor - i32.and - i32.add - local.set $7 - local.get $7 - i32.const 1073741820 - i32.lt_u - if - local.get $0 - local.get $6 - call $~lib/rt/tlsf/removeBlock - local.get $6 - local.get $3 - i32.const 3 - i32.and - local.get $7 - i32.or - local.tee $2 - i32.store - local.get $6 - local.set $1 - end - end - local.get $4 - local.get $5 - i32.const 2 - i32.or - i32.store - local.get $2 - i32.const 3 - i32.const -1 - i32.xor - i32.and - local.set $8 - i32.const 1 - drop - local.get $8 - i32.const 12 - i32.ge_u - if (result i32) - local.get $8 - i32.const 1073741820 - i32.lt_u - else - i32.const 0 - end - i32.eqz - if - i32.const 0 - i32.const 160 - i32.const 238 - i32.const 14 - call $~lib/builtins/abort - unreachable - end - i32.const 1 - drop - local.get $1 - i32.const 4 - i32.add - local.get $8 - i32.add - local.get $4 - i32.eq - i32.eqz - if - i32.const 0 - i32.const 160 - i32.const 239 - i32.const 14 - call $~lib/builtins/abort - unreachable - end - local.get $4 - i32.const 4 - i32.sub - local.get $1 - i32.store - local.get $8 - i32.const 256 - i32.lt_u - if - i32.const 0 - local.set $9 - local.get $8 - i32.const 4 - i32.shr_u - local.set $10 - else - i32.const 31 - local.get $8 - i32.clz - i32.sub - local.set $9 - local.get $8 - local.get $9 - i32.const 4 - i32.sub - i32.shr_u - i32.const 1 - i32.const 4 - i32.shl - i32.xor - local.set $10 - local.get $9 - i32.const 8 - i32.const 1 - i32.sub - i32.sub - local.set $9 - end - i32.const 1 - drop - local.get $9 - i32.const 23 - i32.lt_u - if (result i32) - local.get $10 - i32.const 16 - i32.lt_u - else - i32.const 0 - end - i32.eqz - if - i32.const 0 - i32.const 160 - i32.const 255 - i32.const 14 - call $~lib/builtins/abort - unreachable - end - local.get $0 - local.set $7 - local.get $9 - local.set $3 - local.get $10 - local.set $6 - local.get $7 - local.get $3 - i32.const 4 - i32.shl - local.get $6 - i32.add - i32.const 2 - i32.shl - i32.add - i32.load offset=96 - local.set $11 - local.get $1 - i32.const 0 - i32.store offset=4 - local.get $1 - local.get $11 - i32.store offset=8 - local.get $11 - if - local.get $11 - local.get $1 - i32.store offset=4 - end - local.get $0 - local.set $12 - local.get $9 - local.set $7 - local.get $10 - local.set $3 - local.get $1 - local.set $6 - local.get $12 - local.get $7 - i32.const 4 - i32.shl - local.get $3 - i32.add - i32.const 2 - i32.shl - i32.add - local.get $6 - i32.store offset=96 - local.get $0 - local.get $0 - i32.load - i32.const 1 - local.get $9 - i32.shl - i32.or - i32.store - local.get $0 - local.set $13 - local.get $9 - local.set $12 - local.get $0 - local.set $3 - local.get $9 - local.set $6 - local.get $3 - local.get $6 - i32.const 2 - i32.shl - i32.add - i32.load offset=4 - i32.const 1 - local.get $10 - i32.shl - i32.or - local.set $7 - local.get $13 - local.get $12 - i32.const 2 - i32.shl - i32.add - local.get $7 - i32.store offset=4 - ) - (func $~lib/rt/tlsf/addMemory (param $0 i32) (param $1 i32) (param $2 i32) (result i32) - (local $3 i32) - (local $4 i32) - (local $5 i32) - (local $6 i32) - (local $7 i32) - (local $8 i32) - (local $9 i32) - i32.const 1 - drop - local.get $1 - local.get $2 - i32.le_u - i32.eqz - if - i32.const 0 - i32.const 160 - i32.const 380 - i32.const 14 - call $~lib/builtins/abort - unreachable - end - local.get $1 - i32.const 4 - i32.add - i32.const 15 - i32.add - i32.const 15 - i32.const -1 - i32.xor - i32.and - i32.const 4 - i32.sub - local.set $1 - local.get $2 - i32.const 15 - i32.const -1 - i32.xor - i32.and - local.set $2 - local.get $0 - local.set $3 - local.get $3 - i32.load offset=1568 - local.set $4 - i32.const 0 - local.set $5 - local.get $4 - if - i32.const 1 - drop - local.get $1 - local.get $4 - i32.const 4 - i32.add - i32.ge_u - i32.eqz - if - i32.const 0 - i32.const 160 - i32.const 387 - i32.const 16 - call $~lib/builtins/abort - unreachable - end - local.get $1 - i32.const 16 - i32.sub - local.get $4 - i32.eq - if - local.get $1 - i32.const 16 - i32.sub - local.set $1 - local.get $4 - i32.load - local.set $5 - else - nop - end - else - i32.const 1 - drop - local.get $1 - local.get $0 - i32.const 1572 - i32.add - i32.ge_u - i32.eqz - if - i32.const 0 - i32.const 160 - i32.const 400 - i32.const 5 - call $~lib/builtins/abort - unreachable - end - end - local.get $2 - local.get $1 - i32.sub - local.set $6 - local.get $6 - i32.const 4 - i32.const 12 - i32.add - i32.const 4 - i32.add - i32.lt_u - if - i32.const 0 - return - end - local.get $6 - i32.const 2 - i32.const 4 - i32.mul - i32.sub - local.set $7 - local.get $1 - local.set $8 - local.get $8 - local.get $7 - i32.const 1 - i32.or - local.get $5 - i32.const 2 - i32.and - i32.or - i32.store - local.get $8 - i32.const 0 - i32.store offset=4 - local.get $8 - i32.const 0 - i32.store offset=8 - local.get $1 - i32.const 4 - i32.add - local.get $7 - i32.add - local.set $4 - local.get $4 - i32.const 0 - i32.const 2 - i32.or - i32.store - local.get $0 - local.set $9 - local.get $4 - local.set $3 - local.get $9 - local.get $3 - i32.store offset=1568 - local.get $0 - local.get $8 - call $~lib/rt/tlsf/insertBlock - i32.const 1 - ) - (func $~lib/rt/tlsf/initialize - (local $0 i32) - (local $1 i32) - (local $2 i32) - (local $3 i32) - (local $4 i32) - (local $5 i32) - (local $6 i32) - (local $7 i32) - (local $8 i32) - (local $9 i32) - (local $10 i32) - (local $11 i32) - (local $12 i32) - global.get $~lib/memory/__heap_base - i32.const 15 - i32.add - i32.const 15 - i32.const -1 - i32.xor - i32.and - local.set $0 - memory.size - local.set $1 - local.get $0 - i32.const 1572 - i32.add - i32.const 65535 - i32.add - i32.const 65535 - i32.const -1 - i32.xor - i32.and - i32.const 16 - i32.shr_u - local.set $2 - local.get $2 - local.get $1 - i32.gt_s - if (result i32) - local.get $2 - local.get $1 - i32.sub - memory.grow - i32.const 0 - i32.lt_s - else - i32.const 0 - end - if - unreachable - end - local.get $0 - local.set $3 - local.get $3 - i32.const 0 - i32.store - local.get $3 - local.set $5 - i32.const 0 - local.set $4 - local.get $5 - local.get $4 - i32.store offset=1568 - i32.const 0 - local.set $5 - loop $for-loop|0 - local.get $5 - i32.const 23 - i32.lt_u - local.set $4 - local.get $4 - if - local.get $3 - local.set $8 - local.get $5 - local.set $7 - i32.const 0 - local.set $6 - local.get $8 - local.get $7 - i32.const 2 - i32.shl - i32.add - local.get $6 - i32.store offset=4 - i32.const 0 - local.set $8 - loop $for-loop|1 - local.get $8 - i32.const 16 - i32.lt_u - local.set $7 - local.get $7 - if - local.get $3 - local.set $11 - local.get $5 - local.set $10 - local.get $8 - local.set $9 - i32.const 0 - local.set $6 - local.get $11 - local.get $10 - i32.const 4 - i32.shl - local.get $9 - i32.add - i32.const 2 - i32.shl - i32.add - local.get $6 - i32.store offset=96 - local.get $8 - i32.const 1 - i32.add - local.set $8 - br $for-loop|1 - end - end - local.get $5 - i32.const 1 - i32.add - local.set $5 - br $for-loop|0 - end - end - local.get $0 - i32.const 1572 - i32.add - local.set $12 - i32.const 0 - drop - local.get $3 - local.get $12 - memory.size - i32.const 16 - i32.shl - call $~lib/rt/tlsf/addMemory - drop - local.get $3 - global.set $~lib/rt/tlsf/ROOT - ) - (func $~lib/rt/tlsf/computeSize (param $0 i32) (result i32) - local.get $0 - i32.const 12 - i32.le_u - if (result i32) - i32.const 12 - else - local.get $0 - i32.const 4 - i32.add - i32.const 15 - i32.add - i32.const 15 - i32.const -1 - i32.xor - i32.and - i32.const 4 - i32.sub - end - ) - (func $~lib/rt/tlsf/prepareSize (param $0 i32) (result i32) - local.get $0 - i32.const 1073741820 - i32.ge_u - if - i32.const 32 - i32.const 160 - i32.const 461 - i32.const 30 - call $~lib/builtins/abort - unreachable - end - local.get $0 - call $~lib/rt/tlsf/computeSize - ) - (func $~lib/rt/tlsf/searchBlock (param $0 i32) (param $1 i32) (result i32) - (local $2 i32) - (local $3 i32) - (local $4 i32) - (local $5 i32) - (local $6 i32) - (local $7 i32) - (local $8 i32) - (local $9 i32) - local.get $1 - i32.const 256 - i32.lt_u - if - i32.const 0 - local.set $2 - local.get $1 - i32.const 4 - i32.shr_u - local.set $3 - else - local.get $1 - i32.const 536870910 - i32.lt_u - if (result i32) - local.get $1 - i32.const 1 - i32.const 27 - local.get $1 - i32.clz - i32.sub - i32.shl - i32.add - i32.const 1 - i32.sub - else - local.get $1 - end - local.set $4 - i32.const 31 - local.get $4 - i32.clz - i32.sub - local.set $2 - local.get $4 - local.get $2 - i32.const 4 - i32.sub - i32.shr_u - i32.const 1 - i32.const 4 - i32.shl - i32.xor - local.set $3 - local.get $2 - i32.const 8 - i32.const 1 - i32.sub - i32.sub - local.set $2 - end - i32.const 1 - drop - local.get $2 - i32.const 23 - i32.lt_u - if (result i32) - local.get $3 - i32.const 16 - i32.lt_u - else - i32.const 0 - end - i32.eqz - if - i32.const 0 - i32.const 160 - i32.const 333 - i32.const 14 - call $~lib/builtins/abort - unreachable - end - local.get $0 - local.set $5 - local.get $2 - local.set $4 - local.get $5 - local.get $4 - i32.const 2 - i32.shl - i32.add - i32.load offset=4 - i32.const 0 - i32.const -1 - i32.xor - local.get $3 - i32.shl - i32.and - local.set $6 - i32.const 0 - local.set $7 - local.get $6 - i32.eqz - if - local.get $0 - i32.load - i32.const 0 - i32.const -1 - i32.xor - local.get $2 - i32.const 1 - i32.add - i32.shl - i32.and - local.set $5 - local.get $5 - i32.eqz - if - i32.const 0 - local.set $7 - else - local.get $5 - i32.ctz - local.set $2 - local.get $0 - local.set $8 - local.get $2 - local.set $4 - local.get $8 - local.get $4 - i32.const 2 - i32.shl - i32.add - i32.load offset=4 - local.set $6 - i32.const 1 - drop - local.get $6 - i32.eqz - if - i32.const 0 - i32.const 160 - i32.const 346 - i32.const 18 - call $~lib/builtins/abort - unreachable - end - local.get $0 - local.set $9 - local.get $2 - local.set $8 - local.get $6 - i32.ctz - local.set $4 - local.get $9 - local.get $8 - i32.const 4 - i32.shl - local.get $4 - i32.add - i32.const 2 - i32.shl - i32.add - i32.load offset=96 - local.set $7 - end - else - local.get $0 - local.set $9 - local.get $2 - local.set $8 - local.get $6 - i32.ctz - local.set $4 - local.get $9 - local.get $8 - i32.const 4 - i32.shl - local.get $4 - i32.add - i32.const 2 - i32.shl - i32.add - i32.load offset=96 - local.set $7 - end - local.get $7 - ) - (func $~lib/rt/tlsf/growMemory (param $0 i32) (param $1 i32) - (local $2 i32) - (local $3 i32) - (local $4 i32) - (local $5 i32) - (local $6 i32) - (local $7 i32) - i32.const 0 - drop - local.get $1 - i32.const 536870910 - i32.lt_u - if - local.get $1 - i32.const 1 - i32.const 27 - local.get $1 - i32.clz - i32.sub - i32.shl - i32.const 1 - i32.sub - i32.add - local.set $1 - end - memory.size - local.set $2 - local.get $1 - i32.const 4 - local.get $2 - i32.const 16 - i32.shl - i32.const 4 - i32.sub - local.get $0 - local.set $3 - local.get $3 - i32.load offset=1568 - i32.ne - i32.shl - i32.add - local.set $1 - local.get $1 - i32.const 65535 - i32.add - i32.const 65535 - i32.const -1 - i32.xor - i32.and - i32.const 16 - i32.shr_u - local.set $4 - local.get $2 - local.tee $3 - local.get $4 - local.tee $5 - local.get $3 - local.get $5 - i32.gt_s - select - local.set $6 - local.get $6 - memory.grow - i32.const 0 - i32.lt_s - if - local.get $4 - memory.grow - i32.const 0 - i32.lt_s - if - unreachable - end - end - memory.size - local.set $7 - local.get $0 - local.get $2 - i32.const 16 - i32.shl - local.get $7 - i32.const 16 - i32.shl - call $~lib/rt/tlsf/addMemory - drop - ) - (func $~lib/rt/tlsf/prepareBlock (param $0 i32) (param $1 i32) (param $2 i32) - (local $3 i32) - (local $4 i32) - (local $5 i32) - local.get $1 - i32.load - local.set $3 - i32.const 1 - drop - local.get $2 - i32.const 4 - i32.add - i32.const 15 - i32.and - i32.eqz - i32.eqz - if - i32.const 0 - i32.const 160 - i32.const 360 - i32.const 14 - call $~lib/builtins/abort - unreachable - end - local.get $3 - i32.const 3 - i32.const -1 - i32.xor - i32.and - local.get $2 - i32.sub - local.set $4 - local.get $4 - i32.const 4 - i32.const 12 - i32.add - i32.ge_u - if - local.get $1 - local.get $2 - local.get $3 - i32.const 2 - i32.and - i32.or - i32.store - local.get $1 - i32.const 4 - i32.add - local.get $2 - i32.add - local.set $5 - local.get $5 - local.get $4 - i32.const 4 - i32.sub - i32.const 1 - i32.or - i32.store - local.get $0 - local.get $5 - call $~lib/rt/tlsf/insertBlock - else - local.get $1 - local.get $3 - i32.const 1 - i32.const -1 - i32.xor - i32.and - i32.store - local.get $1 - local.set $5 - local.get $5 - i32.const 4 - i32.add - local.get $5 - i32.load - i32.const 3 - i32.const -1 - i32.xor - i32.and - i32.add - local.get $1 - local.set $5 - local.get $5 - i32.const 4 - i32.add - local.get $5 - i32.load - i32.const 3 - i32.const -1 - i32.xor - i32.and - i32.add - i32.load - i32.const 2 - i32.const -1 - i32.xor - i32.and - i32.store - end - ) - (func $~lib/rt/tlsf/allocateBlock (param $0 i32) (param $1 i32) (result i32) - (local $2 i32) - (local $3 i32) - local.get $1 - call $~lib/rt/tlsf/prepareSize - local.set $2 - local.get $0 - local.get $2 - call $~lib/rt/tlsf/searchBlock - local.set $3 - local.get $3 - i32.eqz - if - local.get $0 - local.get $2 - call $~lib/rt/tlsf/growMemory - local.get $0 - local.get $2 - call $~lib/rt/tlsf/searchBlock - local.set $3 - i32.const 1 - drop - local.get $3 - i32.eqz - if - i32.const 0 - i32.const 160 - i32.const 498 - i32.const 16 - call $~lib/builtins/abort - unreachable - end - end - i32.const 1 - drop - local.get $3 - i32.load - i32.const 3 - i32.const -1 - i32.xor - i32.and - local.get $2 - i32.ge_u - i32.eqz - if - i32.const 0 - i32.const 160 - i32.const 500 - i32.const 14 - call $~lib/builtins/abort - unreachable - end - local.get $0 - local.get $3 - call $~lib/rt/tlsf/removeBlock - local.get $0 - local.get $3 - local.get $2 - call $~lib/rt/tlsf/prepareBlock - i32.const 0 - drop - local.get $3 - ) - (func $~lib/rt/tlsf/__alloc (param $0 i32) (result i32) - global.get $~lib/rt/tlsf/ROOT - i32.eqz - if - call $~lib/rt/tlsf/initialize - end - global.get $~lib/rt/tlsf/ROOT - local.get $0 - call $~lib/rt/tlsf/allocateBlock - i32.const 4 - i32.add - ) - (func $~lib/rt/pure/__new (param $0 i32) (param $1 i32) (result i32) - (local $2 i32) - (local $3 i32) - local.get $0 - i32.const 1073741804 - i32.gt_u - if - i32.const 32 - i32.const 96 - i32.const 275 - i32.const 30 - call $~lib/builtins/abort - unreachable - end - i32.const 16 - local.get $0 - i32.add - call $~lib/rt/tlsf/__alloc - local.set $2 - local.get $2 - i32.const 4 - i32.sub - local.set $3 - local.get $3 - i32.const 0 - i32.store offset=4 - local.get $3 - i32.const 0 - i32.store offset=8 - local.get $3 - local.get $1 - i32.store offset=12 - local.get $3 - local.get $0 - i32.store offset=16 - local.get $2 - i32.const 16 - i32.add - ) - (func $~lib/rt/pure/increment (param $0 i32) - (local $1 i32) - local.get $0 - i32.load offset=4 - local.set $1 - local.get $1 - i32.const 268435455 - i32.const -1 - i32.xor - i32.and - local.get $1 - i32.const 1 - i32.add - i32.const 268435455 - i32.const -1 - i32.xor - i32.and - i32.eq - i32.eqz - if - i32.const 0 - i32.const 96 - i32.const 109 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $0 - local.get $1 - i32.const 1 - i32.add - i32.store offset=4 - i32.const 0 - drop - i32.const 1 - drop - local.get $0 - i32.load - i32.const 1 - i32.and - i32.eqz - i32.eqz - if - i32.const 0 - i32.const 96 - i32.const 112 - i32.const 14 - call $~lib/builtins/abort - unreachable - end - ) - (func $~lib/rt/pure/__retain (param $0 i32) (result i32) - local.get $0 - global.get $~lib/memory/__heap_base - i32.gt_u - if - local.get $0 - i32.const 20 - i32.sub - call $~lib/rt/pure/increment - end - local.get $0 - ) - (func $rc/logical-and-mismatch/Ref#constructor (param $0 i32) (result i32) - local.get $0 - i32.eqz - if - i32.const 0 - i32.const 3 - call $~lib/rt/pure/__new - call $~lib/rt/pure/__retain - local.set $0 - end - local.get $0 - ) - (func $rc/logical-and-mismatch/getRef (result i32) - i32.const 0 - call $rc/logical-and-mismatch/Ref#constructor - ) - (func $~lib/rt/pure/__release (param $0 i32) - local.get $0 - global.get $~lib/memory/__heap_base - i32.gt_u - if - local.get $0 - i32.const 20 - i32.sub - call $~lib/rt/pure/decrement - end - ) - (func $start:rc/logical-and-mismatch - (local $0 i32) - i32.const 0 - call $rc/logical-and-mismatch/Ref#constructor - global.set $rc/logical-and-mismatch/gloRef - call $rc/logical-and-mismatch/getRef - local.tee $0 - if (result i32) - local.get $0 - call $~lib/rt/pure/__release - global.get $rc/logical-and-mismatch/gloRef - call $~lib/rt/pure/__retain - else - local.get $0 - end - local.set $0 - local.get $0 - call $~lib/rt/pure/__release - global.get $rc/logical-and-mismatch/gloRef - local.tee $0 - if (result i32) - call $rc/logical-and-mismatch/getRef - else - local.get $0 - call $~lib/rt/pure/__retain - end - local.set $0 - local.get $0 - call $~lib/rt/pure/__release - call $rc/logical-and-mismatch/getRef - local.tee $0 - if (result i32) - local.get $0 - call $~lib/rt/pure/__release - call $rc/logical-and-mismatch/getRef - else - local.get $0 - end - local.set $0 - local.get $0 - call $~lib/rt/pure/__release - global.get $rc/logical-and-mismatch/gloRef - local.tee $0 - if (result i32) - global.get $rc/logical-and-mismatch/gloRef - else - local.get $0 - end - call $~lib/rt/pure/__retain - local.set $0 - local.get $0 - call $~lib/rt/pure/__release - global.get $rc/logical-and-mismatch/gloRef - call $~lib/rt/pure/__release - ) - (func $~lib/rt/tlsf/freeBlock (param $0 i32) (param $1 i32) - local.get $1 - local.get $1 - i32.load - i32.const 1 - i32.or - i32.store - i32.const 0 - drop - local.get $0 - local.get $1 - call $~lib/rt/tlsf/insertBlock - ) - (func $~lib/rt/pure/finalize (param $0 i32) - i32.const 0 - drop - global.get $~lib/rt/tlsf/ROOT - local.get $0 - call $~lib/rt/tlsf/freeBlock - ) - (func $~lib/rt/pure/decrement (param $0 i32) - (local $1 i32) - (local $2 i32) - local.get $0 - i32.load offset=4 - local.set $1 - local.get $1 - i32.const 268435455 - i32.and - local.set $2 - i32.const 0 - drop - i32.const 1 - drop - local.get $0 - i32.load - i32.const 1 - i32.and - i32.eqz - i32.eqz - if - i32.const 0 - i32.const 96 - i32.const 122 - i32.const 14 - call $~lib/builtins/abort - unreachable - end - local.get $2 - i32.const 1 - i32.eq - if - local.get $0 - i32.const 20 - i32.add - i32.const 1 - call $~lib/rt/__visit_members - i32.const 1 - drop - i32.const 1 - drop - local.get $1 - i32.const -2147483648 - i32.and - i32.eqz - i32.eqz - if - i32.const 0 - i32.const 96 - i32.const 126 - i32.const 18 - call $~lib/builtins/abort - unreachable - end - local.get $0 - call $~lib/rt/pure/finalize - else - i32.const 1 - drop - local.get $2 - i32.const 0 - i32.gt_u - i32.eqz - if - i32.const 0 - i32.const 96 - i32.const 136 - i32.const 16 - call $~lib/builtins/abort - unreachable - end - i32.const 1 - drop - local.get $0 - local.get $1 - i32.const 268435455 - i32.const -1 - i32.xor - i32.and - local.get $2 - i32.const 1 - i32.sub - i32.or - i32.store offset=4 - end - ) - (func $~start - call $start:rc/logical-and-mismatch - ) - (func $~lib/rt/pure/__visit (param $0 i32) (param $1 i32) - local.get $0 - global.get $~lib/memory/__heap_base - i32.lt_u - if - return - end - i32.const 1 - drop - i32.const 1 - drop - local.get $1 - i32.const 1 - i32.eq - i32.eqz - if - i32.const 0 - i32.const 96 - i32.const 69 - i32.const 16 - call $~lib/builtins/abort - unreachable - end - local.get $0 - i32.const 20 - i32.sub - call $~lib/rt/pure/decrement - ) - (func $~lib/arraybuffer/ArrayBuffer~visit (param $0 i32) (param $1 i32) - nop - ) - (func $~lib/string/String~visit (param $0 i32) (param $1 i32) - nop - ) - (func $~lib/arraybuffer/ArrayBufferView~visit (param $0 i32) (param $1 i32) - (local $2 i32) - local.get $0 - i32.load - local.tee $2 - if - local.get $2 - local.get $1 - call $~lib/rt/pure/__visit - end - ) - (func $rc/logical-and-mismatch/Ref~visit (param $0 i32) (param $1 i32) - nop - ) - (func $~lib/rt/__visit_members (param $0 i32) (param $1 i32) - block $invalid - block $rc/logical-and-mismatch/Ref - block $~lib/arraybuffer/ArrayBufferView - block $~lib/string/String - block $~lib/arraybuffer/ArrayBuffer - local.get $0 - i32.const 8 - i32.sub - i32.load - br_table $~lib/arraybuffer/ArrayBuffer $~lib/string/String $~lib/arraybuffer/ArrayBufferView $rc/logical-and-mismatch/Ref $invalid - end - local.get $0 - local.get $1 - call $~lib/arraybuffer/ArrayBuffer~visit - return - end - local.get $0 - local.get $1 - call $~lib/string/String~visit - return - end - local.get $0 - local.get $1 - call $~lib/arraybuffer/ArrayBufferView~visit - return - end - local.get $0 - local.get $1 - call $rc/logical-and-mismatch/Ref~visit - return - end - unreachable - ) -) diff --git a/tests/compiler/rc/logical-or-mismatch.optimized.wat b/tests/compiler/rc/logical-or-mismatch.optimized.wat deleted file mode 100644 index 63848023ea..0000000000 --- a/tests/compiler/rc/logical-or-mismatch.optimized.wat +++ /dev/null @@ -1,1065 +0,0 @@ -(module - (type $i32_=>_i32 (func (param i32) (result i32))) - (type $i32_=>_none (func (param i32))) - (type $i32_i32_=>_none (func (param i32 i32))) - (type $none_=>_none (func)) - (type $i32_i32_i32_=>_none (func (param i32 i32 i32))) - (type $i32_i32_i32_i32_=>_none (func (param i32 i32 i32 i32))) - (type $none_=>_i32 (func (result i32))) - (import "env" "abort" (func $~lib/builtins/abort (param i32 i32 i32 i32))) - (memory $0 1) - (data (i32.const 1036) "<\00\00\00\01\00\00\00\00\00\00\00\01\00\00\00(\00\00\00a\00l\00l\00o\00c\00a\00t\00i\00o\00n\00 \00t\00o\00o\00 \00l\00a\00r\00g\00e") - (data (i32.const 1100) "<\00\00\00\01\00\00\00\00\00\00\00\01\00\00\00\1e\00\00\00~\00l\00i\00b\00/\00r\00t\00/\00p\00u\00r\00e\00.\00t\00s") - (data (i32.const 1164) "<\00\00\00\01\00\00\00\00\00\00\00\01\00\00\00\1e\00\00\00~\00l\00i\00b\00/\00r\00t\00/\00t\00l\00s\00f\00.\00t\00s") - (global $~lib/rt/tlsf/ROOT (mut i32) (i32.const 0)) - (global $rc/logical-or-mismatch/gloRef (mut i32) (i32.const 0)) - (export "memory" (memory $0)) - (start $~start) - (func $~lib/rt/tlsf/removeBlock (param $0 i32) (param $1 i32) - (local $2 i32) - (local $3 i32) - (local $4 i32) - (local $5 i32) - local.get $1 - i32.load - local.tee $2 - i32.const 1 - i32.and - i32.eqz - if - i32.const 0 - i32.const 1184 - i32.const 272 - i32.const 14 - call $~lib/builtins/abort - unreachable - end - local.get $2 - i32.const -4 - i32.and - local.tee $2 - i32.const 1073741820 - i32.lt_u - i32.const 0 - local.get $2 - i32.const 12 - i32.ge_u - select - i32.eqz - if - i32.const 0 - i32.const 1184 - i32.const 274 - i32.const 14 - call $~lib/builtins/abort - unreachable - end - local.get $2 - i32.const 256 - i32.lt_u - if - local.get $2 - i32.const 4 - i32.shr_u - local.set $2 - else - local.get $2 - i32.const 31 - local.get $2 - i32.clz - i32.sub - local.tee $3 - i32.const 4 - i32.sub - i32.shr_u - i32.const 16 - i32.xor - local.set $2 - local.get $3 - i32.const 7 - i32.sub - local.set $3 - end - local.get $2 - i32.const 16 - i32.lt_u - i32.const 0 - local.get $3 - i32.const 23 - i32.lt_u - select - i32.eqz - if - i32.const 0 - i32.const 1184 - i32.const 287 - i32.const 14 - call $~lib/builtins/abort - unreachable - end - local.get $1 - i32.load offset=8 - local.set $4 - local.get $1 - i32.load offset=4 - local.tee $5 - if - local.get $5 - local.get $4 - i32.store offset=8 - end - local.get $4 - if - local.get $4 - local.get $5 - i32.store offset=4 - end - local.get $1 - local.get $0 - local.get $2 - local.get $3 - i32.const 4 - i32.shl - i32.add - i32.const 2 - i32.shl - i32.add - i32.load offset=96 - i32.eq - if - local.get $0 - local.get $2 - local.get $3 - i32.const 4 - i32.shl - i32.add - i32.const 2 - i32.shl - i32.add - local.get $4 - i32.store offset=96 - local.get $4 - i32.eqz - if - local.get $0 - local.get $3 - i32.const 2 - i32.shl - i32.add - local.tee $4 - i32.load offset=4 - i32.const -2 - local.get $2 - i32.rotl - i32.and - local.set $1 - local.get $4 - local.get $1 - i32.store offset=4 - local.get $1 - i32.eqz - if - local.get $0 - local.get $0 - i32.load - i32.const -2 - local.get $3 - i32.rotl - i32.and - i32.store - end - end - end - ) - (func $~lib/rt/tlsf/insertBlock (param $0 i32) (param $1 i32) - (local $2 i32) - (local $3 i32) - (local $4 i32) - (local $5 i32) - (local $6 i32) - (local $7 i32) - (local $8 i32) - local.get $1 - i32.eqz - if - i32.const 0 - i32.const 1184 - i32.const 200 - i32.const 14 - call $~lib/builtins/abort - unreachable - end - local.get $1 - i32.load - local.tee $4 - i32.const 1 - i32.and - i32.eqz - if - i32.const 0 - i32.const 1184 - i32.const 202 - i32.const 14 - call $~lib/builtins/abort - unreachable - end - local.get $1 - i32.const 4 - i32.add - local.get $1 - i32.load - i32.const -4 - i32.and - i32.add - local.tee $5 - i32.load - local.tee $2 - i32.const 1 - i32.and - if - local.get $4 - i32.const -4 - i32.and - i32.const 4 - i32.add - local.get $2 - i32.const -4 - i32.and - i32.add - local.tee $3 - i32.const 1073741820 - i32.lt_u - if - local.get $0 - local.get $5 - call $~lib/rt/tlsf/removeBlock - local.get $1 - local.get $3 - local.get $4 - i32.const 3 - i32.and - i32.or - local.tee $4 - i32.store - local.get $1 - i32.const 4 - i32.add - local.get $1 - i32.load - i32.const -4 - i32.and - i32.add - local.tee $5 - i32.load - local.set $2 - end - end - local.get $4 - i32.const 2 - i32.and - if - local.get $1 - i32.const 4 - i32.sub - i32.load - local.tee $3 - i32.load - local.tee $7 - i32.const 1 - i32.and - i32.eqz - if - i32.const 0 - i32.const 1184 - i32.const 223 - i32.const 16 - call $~lib/builtins/abort - unreachable - end - local.get $7 - i32.const -4 - i32.and - i32.const 4 - i32.add - local.get $4 - i32.const -4 - i32.and - i32.add - local.tee $8 - i32.const 1073741820 - i32.lt_u - if (result i32) - local.get $0 - local.get $3 - call $~lib/rt/tlsf/removeBlock - local.get $3 - local.get $8 - local.get $7 - i32.const 3 - i32.and - i32.or - local.tee $4 - i32.store - local.get $3 - else - local.get $1 - end - local.set $1 - end - local.get $5 - local.get $2 - i32.const 2 - i32.or - i32.store - local.get $4 - i32.const -4 - i32.and - local.tee $3 - i32.const 1073741820 - i32.lt_u - i32.const 0 - local.get $3 - i32.const 12 - i32.ge_u - select - i32.eqz - if - i32.const 0 - i32.const 1184 - i32.const 238 - i32.const 14 - call $~lib/builtins/abort - unreachable - end - local.get $3 - local.get $1 - i32.const 4 - i32.add - i32.add - local.get $5 - i32.ne - if - i32.const 0 - i32.const 1184 - i32.const 239 - i32.const 14 - call $~lib/builtins/abort - unreachable - end - local.get $5 - i32.const 4 - i32.sub - local.get $1 - i32.store - local.get $3 - i32.const 256 - i32.lt_u - if - local.get $3 - i32.const 4 - i32.shr_u - local.set $3 - else - local.get $3 - i32.const 31 - local.get $3 - i32.clz - i32.sub - local.tee $4 - i32.const 4 - i32.sub - i32.shr_u - i32.const 16 - i32.xor - local.set $3 - local.get $4 - i32.const 7 - i32.sub - local.set $6 - end - local.get $3 - i32.const 16 - i32.lt_u - i32.const 0 - local.get $6 - i32.const 23 - i32.lt_u - select - i32.eqz - if - i32.const 0 - i32.const 1184 - i32.const 255 - i32.const 14 - call $~lib/builtins/abort - unreachable - end - local.get $0 - local.get $3 - local.get $6 - i32.const 4 - i32.shl - i32.add - i32.const 2 - i32.shl - i32.add - i32.load offset=96 - local.set $4 - local.get $1 - i32.const 0 - i32.store offset=4 - local.get $1 - local.get $4 - i32.store offset=8 - local.get $4 - if - local.get $4 - local.get $1 - i32.store offset=4 - end - local.get $0 - local.get $3 - local.get $6 - i32.const 4 - i32.shl - i32.add - i32.const 2 - i32.shl - i32.add - local.get $1 - i32.store offset=96 - local.get $0 - local.get $0 - i32.load - i32.const 1 - local.get $6 - i32.shl - i32.or - i32.store - local.get $0 - local.get $6 - i32.const 2 - i32.shl - i32.add - local.tee $0 - local.get $0 - i32.load offset=4 - i32.const 1 - local.get $3 - i32.shl - i32.or - i32.store offset=4 - ) - (func $~lib/rt/tlsf/addMemory (param $0 i32) (param $1 i32) (param $2 i32) - (local $3 i32) - (local $4 i32) - local.get $1 - local.get $2 - i32.gt_u - if - i32.const 0 - i32.const 1184 - i32.const 380 - i32.const 14 - call $~lib/builtins/abort - unreachable - end - local.get $1 - i32.const 19 - i32.add - i32.const -16 - i32.and - i32.const 4 - i32.sub - local.set $1 - local.get $2 - i32.const -16 - i32.and - local.get $0 - i32.load offset=1568 - local.tee $2 - if - local.get $1 - local.get $2 - i32.const 4 - i32.add - i32.lt_u - if - i32.const 0 - i32.const 1184 - i32.const 387 - i32.const 16 - call $~lib/builtins/abort - unreachable - end - local.get $2 - local.get $1 - i32.const 16 - i32.sub - i32.eq - if - local.get $2 - i32.load - local.set $4 - local.get $1 - i32.const 16 - i32.sub - local.set $1 - end - else - local.get $1 - local.get $0 - i32.const 1572 - i32.add - i32.lt_u - if - i32.const 0 - i32.const 1184 - i32.const 400 - i32.const 5 - call $~lib/builtins/abort - unreachable - end - end - local.get $1 - i32.sub - local.tee $2 - i32.const 20 - i32.lt_u - if - return - end - local.get $1 - local.get $4 - i32.const 2 - i32.and - local.get $2 - i32.const 8 - i32.sub - local.tee $2 - i32.const 1 - i32.or - i32.or - i32.store - local.get $1 - i32.const 0 - i32.store offset=4 - local.get $1 - i32.const 0 - i32.store offset=8 - local.get $2 - local.get $1 - i32.const 4 - i32.add - i32.add - local.tee $2 - i32.const 2 - i32.store - local.get $0 - local.get $2 - i32.store offset=1568 - local.get $0 - local.get $1 - call $~lib/rt/tlsf/insertBlock - ) - (func $~lib/rt/tlsf/searchBlock (param $0 i32) (result i32) - (local $1 i32) - (local $2 i32) - local.get $0 - i32.load offset=4 - i32.const -2 - i32.and - local.tee $2 - if (result i32) - local.get $0 - local.get $2 - i32.ctz - i32.const 2 - i32.shl - i32.add - i32.load offset=96 - else - local.get $0 - i32.load - i32.const -2 - i32.and - local.tee $1 - if (result i32) - local.get $0 - local.get $1 - i32.ctz - local.tee $1 - i32.const 2 - i32.shl - i32.add - i32.load offset=4 - local.tee $2 - i32.eqz - if - i32.const 0 - i32.const 1184 - i32.const 346 - i32.const 18 - call $~lib/builtins/abort - unreachable - end - local.get $0 - local.get $2 - i32.ctz - local.get $1 - i32.const 4 - i32.shl - i32.add - i32.const 2 - i32.shl - i32.add - i32.load offset=96 - else - i32.const 0 - end - end - ) - (func $~lib/rt/tlsf/allocateBlock (param $0 i32) (result i32) - (local $1 i32) - (local $2 i32) - (local $3 i32) - local.get $0 - call $~lib/rt/tlsf/searchBlock - local.tee $1 - i32.eqz - if - i32.const 4 - memory.size - local.tee $2 - i32.const 16 - i32.shl - i32.const 4 - i32.sub - local.get $0 - i32.load offset=1568 - i32.ne - i32.shl - i32.const 65563 - i32.add - i32.const -65536 - i32.and - i32.const 16 - i32.shr_u - local.set $1 - local.get $2 - local.get $1 - local.get $1 - local.get $2 - i32.lt_s - select - memory.grow - i32.const 0 - i32.lt_s - if - local.get $1 - memory.grow - i32.const 0 - i32.lt_s - if - unreachable - end - end - local.get $0 - local.get $2 - i32.const 16 - i32.shl - memory.size - i32.const 16 - i32.shl - call $~lib/rt/tlsf/addMemory - local.get $0 - call $~lib/rt/tlsf/searchBlock - local.tee $1 - i32.eqz - if - i32.const 0 - i32.const 1184 - i32.const 498 - i32.const 16 - call $~lib/builtins/abort - unreachable - end - end - local.get $1 - i32.load - i32.const -4 - i32.and - i32.const 28 - i32.lt_u - if - i32.const 0 - i32.const 1184 - i32.const 500 - i32.const 14 - call $~lib/builtins/abort - unreachable - end - local.get $0 - local.get $1 - call $~lib/rt/tlsf/removeBlock - local.get $1 - i32.load - local.tee $2 - i32.const -4 - i32.and - i32.const 28 - i32.sub - local.tee $3 - i32.const 16 - i32.ge_u - if - local.get $1 - local.get $2 - i32.const 2 - i32.and - i32.const 28 - i32.or - i32.store - local.get $1 - i32.const 32 - i32.add - local.tee $2 - local.get $3 - i32.const 4 - i32.sub - i32.const 1 - i32.or - i32.store - local.get $0 - local.get $2 - call $~lib/rt/tlsf/insertBlock - else - local.get $1 - local.get $2 - i32.const -2 - i32.and - i32.store - 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 $0 - local.get $1 - i32.load - i32.const -4 - i32.and - i32.add - i32.load - i32.const -3 - i32.and - i32.store - end - local.get $1 - ) - (func $~lib/rt/pure/__new (result i32) - (local $0 i32) - (local $1 i32) - global.get $~lib/rt/tlsf/ROOT - i32.eqz - if - memory.size - local.tee $1 - i32.const 1 - i32.lt_s - if (result i32) - i32.const 1 - local.get $1 - i32.sub - memory.grow - i32.const 0 - i32.lt_s - else - i32.const 0 - end - if - unreachable - end - i32.const 1232 - i32.const 0 - i32.store - i32.const 2800 - i32.const 0 - i32.store - loop $for-loop|0 - local.get $0 - i32.const 23 - i32.lt_u - if - local.get $0 - i32.const 2 - i32.shl - i32.const 1232 - i32.add - i32.const 0 - i32.store offset=4 - i32.const 0 - local.set $1 - loop $for-loop|1 - local.get $1 - i32.const 16 - i32.lt_u - if - local.get $1 - local.get $0 - i32.const 4 - i32.shl - i32.add - i32.const 2 - i32.shl - i32.const 1232 - i32.add - i32.const 0 - i32.store offset=96 - local.get $1 - i32.const 1 - i32.add - local.set $1 - br $for-loop|1 - end - end - local.get $0 - i32.const 1 - i32.add - local.set $0 - br $for-loop|0 - end - end - i32.const 1232 - i32.const 2804 - memory.size - i32.const 16 - i32.shl - call $~lib/rt/tlsf/addMemory - i32.const 1232 - global.set $~lib/rt/tlsf/ROOT - end - global.get $~lib/rt/tlsf/ROOT - call $~lib/rt/tlsf/allocateBlock - i32.const 4 - i32.add - local.tee $1 - i32.const 4 - i32.sub - local.tee $0 - i32.const 0 - i32.store offset=4 - local.get $0 - i32.const 0 - i32.store offset=8 - local.get $0 - i32.const 3 - i32.store offset=12 - local.get $0 - i32.const 0 - i32.store offset=16 - local.get $1 - i32.const 16 - i32.add - ) - (func $~lib/rt/pure/__retain (param $0 i32) (result i32) - (local $1 i32) - (local $2 i32) - local.get $0 - i32.const 1228 - i32.gt_u - if - local.get $0 - i32.const 20 - i32.sub - local.tee $1 - i32.load offset=4 - local.tee $2 - i32.const -268435456 - i32.and - local.get $2 - i32.const 1 - i32.add - i32.const -268435456 - i32.and - i32.ne - if - i32.const 0 - i32.const 1120 - i32.const 109 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $1 - local.get $2 - i32.const 1 - i32.add - i32.store offset=4 - local.get $1 - i32.load - i32.const 1 - i32.and - if - i32.const 0 - i32.const 1120 - i32.const 112 - i32.const 14 - call $~lib/builtins/abort - unreachable - end - end - local.get $0 - ) - (func $~lib/rt/pure/__release (param $0 i32) - local.get $0 - i32.const 1228 - i32.gt_u - if - local.get $0 - i32.const 20 - i32.sub - call $~lib/rt/pure/decrement - end - ) - (func $~lib/rt/pure/decrement (param $0 i32) - (local $1 i32) - (local $2 i32) - local.get $0 - i32.load offset=4 - local.tee $2 - i32.const 268435455 - i32.and - local.set $1 - local.get $0 - i32.load - i32.const 1 - i32.and - if - i32.const 0 - i32.const 1120 - i32.const 122 - i32.const 14 - call $~lib/builtins/abort - unreachable - end - local.get $1 - i32.const 1 - i32.eq - if - block $__inlined_func$~lib/rt/__visit_members - block $invalid - block $~lib/arraybuffer/ArrayBufferView - local.get $0 - i32.const 12 - i32.add - i32.load - br_table $__inlined_func$~lib/rt/__visit_members $__inlined_func$~lib/rt/__visit_members $~lib/arraybuffer/ArrayBufferView $__inlined_func$~lib/rt/__visit_members $invalid - end - local.get $0 - i32.load offset=20 - local.tee $1 - if - local.get $1 - i32.const 1228 - i32.ge_u - if - local.get $1 - i32.const 20 - i32.sub - call $~lib/rt/pure/decrement - end - end - br $__inlined_func$~lib/rt/__visit_members - end - unreachable - end - local.get $2 - i32.const -2147483648 - i32.and - if - i32.const 0 - i32.const 1120 - i32.const 126 - i32.const 18 - call $~lib/builtins/abort - unreachable - end - local.get $0 - local.get $0 - i32.load - i32.const 1 - i32.or - i32.store - global.get $~lib/rt/tlsf/ROOT - local.get $0 - call $~lib/rt/tlsf/insertBlock - else - local.get $1 - i32.eqz - if - i32.const 0 - i32.const 1120 - i32.const 136 - i32.const 16 - call $~lib/builtins/abort - unreachable - end - local.get $0 - local.get $1 - i32.const 1 - i32.sub - local.get $2 - i32.const -268435456 - i32.and - i32.or - i32.store offset=4 - end - ) - (func $~start - (local $0 i32) - call $~lib/rt/pure/__new - call $~lib/rt/pure/__retain - global.set $rc/logical-or-mismatch/gloRef - call $~lib/rt/pure/__new - call $~lib/rt/pure/__retain - local.tee $0 - if (result i32) - local.get $0 - else - local.get $0 - call $~lib/rt/pure/__release - global.get $rc/logical-or-mismatch/gloRef - call $~lib/rt/pure/__retain - end - call $~lib/rt/pure/__release - global.get $rc/logical-or-mismatch/gloRef - local.tee $0 - if (result i32) - local.get $0 - call $~lib/rt/pure/__retain - else - call $~lib/rt/pure/__new - call $~lib/rt/pure/__retain - end - call $~lib/rt/pure/__release - call $~lib/rt/pure/__new - call $~lib/rt/pure/__retain - local.tee $0 - if (result i32) - local.get $0 - else - local.get $0 - call $~lib/rt/pure/__release - call $~lib/rt/pure/__new - call $~lib/rt/pure/__retain - end - call $~lib/rt/pure/__release - global.get $rc/logical-or-mismatch/gloRef - call $~lib/rt/pure/__release - ) -) diff --git a/tests/compiler/rc/logical-or-mismatch.untouched.wat b/tests/compiler/rc/logical-or-mismatch.untouched.wat deleted file mode 100644 index 0c47e96b11..0000000000 --- a/tests/compiler/rc/logical-or-mismatch.untouched.wat +++ /dev/null @@ -1,1764 +0,0 @@ -(module - (type $i32_i32_=>_none (func (param i32 i32))) - (type $i32_=>_i32 (func (param i32) (result i32))) - (type $i32_=>_none (func (param i32))) - (type $none_=>_none (func)) - (type $i32_i32_=>_i32 (func (param i32 i32) (result i32))) - (type $i32_i32_i32_=>_none (func (param i32 i32 i32))) - (type $i32_i32_i32_i32_=>_none (func (param i32 i32 i32 i32))) - (type $none_=>_i32 (func (result i32))) - (type $i32_i32_i32_=>_i32 (func (param i32 i32 i32) (result i32))) - (import "env" "abort" (func $~lib/builtins/abort (param i32 i32 i32 i32))) - (memory $0 1) - (data (i32.const 12) "<\00\00\00\01\00\00\00\00\00\00\00\01\00\00\00(\00\00\00a\00l\00l\00o\00c\00a\00t\00i\00o\00n\00 \00t\00o\00o\00 \00l\00a\00r\00g\00e\00\00\00\00\00") - (data (i32.const 76) "<\00\00\00\01\00\00\00\00\00\00\00\01\00\00\00\1e\00\00\00~\00l\00i\00b\00/\00r\00t\00/\00p\00u\00r\00e\00.\00t\00s\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 140) "<\00\00\00\01\00\00\00\00\00\00\00\01\00\00\00\1e\00\00\00~\00l\00i\00b\00/\00r\00t\00/\00t\00l\00s\00f\00.\00t\00s\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") - (table $0 1 funcref) - (global $~lib/rt/tlsf/ROOT (mut i32) (i32.const 0)) - (global $~lib/ASC_LOW_MEMORY_LIMIT i32 (i32.const 0)) - (global $rc/logical-or-mismatch/gloRef (mut i32) (i32.const 0)) - (global $~lib/memory/__heap_base i32 (i32.const 204)) - (export "memory" (memory $0)) - (start $~start) - (func $~lib/rt/tlsf/removeBlock (param $0 i32) (param $1 i32) - (local $2 i32) - (local $3 i32) - (local $4 i32) - (local $5 i32) - (local $6 i32) - (local $7 i32) - (local $8 i32) - (local $9 i32) - (local $10 i32) - (local $11 i32) - local.get $1 - i32.load - local.set $2 - i32.const 1 - drop - local.get $2 - i32.const 1 - i32.and - i32.eqz - if - i32.const 0 - i32.const 160 - i32.const 272 - i32.const 14 - call $~lib/builtins/abort - unreachable - end - local.get $2 - i32.const 3 - i32.const -1 - i32.xor - i32.and - local.set $3 - i32.const 1 - drop - local.get $3 - i32.const 12 - i32.ge_u - if (result i32) - local.get $3 - i32.const 1073741820 - i32.lt_u - else - i32.const 0 - end - i32.eqz - if - i32.const 0 - i32.const 160 - i32.const 274 - i32.const 14 - call $~lib/builtins/abort - unreachable - end - local.get $3 - i32.const 256 - i32.lt_u - if - i32.const 0 - local.set $4 - local.get $3 - i32.const 4 - i32.shr_u - local.set $5 - else - i32.const 31 - local.get $3 - i32.clz - i32.sub - local.set $4 - local.get $3 - local.get $4 - i32.const 4 - i32.sub - i32.shr_u - i32.const 1 - i32.const 4 - i32.shl - i32.xor - local.set $5 - local.get $4 - i32.const 8 - i32.const 1 - i32.sub - i32.sub - local.set $4 - end - i32.const 1 - drop - local.get $4 - i32.const 23 - i32.lt_u - if (result i32) - local.get $5 - i32.const 16 - i32.lt_u - else - i32.const 0 - end - i32.eqz - if - i32.const 0 - i32.const 160 - i32.const 287 - i32.const 14 - call $~lib/builtins/abort - unreachable - end - local.get $1 - i32.load offset=4 - local.set $6 - local.get $1 - i32.load offset=8 - local.set $7 - local.get $6 - if - local.get $6 - local.get $7 - i32.store offset=8 - end - local.get $7 - if - local.get $7 - local.get $6 - i32.store offset=4 - end - local.get $1 - local.get $0 - local.set $10 - local.get $4 - local.set $9 - local.get $5 - local.set $8 - local.get $10 - local.get $9 - i32.const 4 - i32.shl - local.get $8 - i32.add - i32.const 2 - i32.shl - i32.add - i32.load offset=96 - i32.eq - if - local.get $0 - local.set $11 - local.get $4 - local.set $10 - local.get $5 - local.set $9 - local.get $7 - local.set $8 - local.get $11 - local.get $10 - i32.const 4 - i32.shl - local.get $9 - i32.add - i32.const 2 - i32.shl - i32.add - local.get $8 - i32.store offset=96 - local.get $7 - i32.eqz - if - local.get $0 - local.set $9 - local.get $4 - local.set $8 - local.get $9 - local.get $8 - i32.const 2 - i32.shl - i32.add - i32.load offset=4 - local.set $9 - local.get $0 - local.set $8 - local.get $4 - local.set $11 - local.get $9 - i32.const 1 - local.get $5 - i32.shl - i32.const -1 - i32.xor - i32.and - local.tee $9 - local.set $10 - local.get $8 - local.get $11 - i32.const 2 - i32.shl - i32.add - local.get $10 - i32.store offset=4 - local.get $9 - i32.eqz - if - local.get $0 - local.get $0 - i32.load - i32.const 1 - local.get $4 - i32.shl - i32.const -1 - i32.xor - i32.and - i32.store - end - end - end - ) - (func $~lib/rt/tlsf/insertBlock (param $0 i32) (param $1 i32) - (local $2 i32) - (local $3 i32) - (local $4 i32) - (local $5 i32) - (local $6 i32) - (local $7 i32) - (local $8 i32) - (local $9 i32) - (local $10 i32) - (local $11 i32) - (local $12 i32) - (local $13 i32) - i32.const 1 - drop - local.get $1 - i32.eqz - if - i32.const 0 - i32.const 160 - i32.const 200 - i32.const 14 - call $~lib/builtins/abort - unreachable - end - local.get $1 - i32.load - local.set $2 - i32.const 1 - drop - local.get $2 - i32.const 1 - i32.and - i32.eqz - if - i32.const 0 - i32.const 160 - i32.const 202 - i32.const 14 - call $~lib/builtins/abort - unreachable - end - local.get $1 - local.set $3 - local.get $3 - i32.const 4 - i32.add - local.get $3 - i32.load - i32.const 3 - i32.const -1 - i32.xor - i32.and - i32.add - local.set $4 - local.get $4 - i32.load - local.set $5 - local.get $5 - i32.const 1 - i32.and - if - local.get $2 - i32.const 3 - i32.const -1 - i32.xor - i32.and - i32.const 4 - i32.add - local.get $5 - i32.const 3 - i32.const -1 - i32.xor - i32.and - i32.add - local.set $3 - local.get $3 - i32.const 1073741820 - i32.lt_u - if - local.get $0 - local.get $4 - call $~lib/rt/tlsf/removeBlock - local.get $1 - local.get $2 - i32.const 3 - i32.and - local.get $3 - i32.or - local.tee $2 - i32.store - local.get $1 - local.set $6 - local.get $6 - i32.const 4 - i32.add - local.get $6 - i32.load - i32.const 3 - i32.const -1 - i32.xor - i32.and - i32.add - local.set $4 - local.get $4 - i32.load - local.set $5 - end - end - local.get $2 - i32.const 2 - i32.and - if - local.get $1 - local.set $6 - local.get $6 - i32.const 4 - i32.sub - i32.load - local.set $6 - local.get $6 - i32.load - local.set $3 - i32.const 1 - drop - local.get $3 - i32.const 1 - i32.and - i32.eqz - if - i32.const 0 - i32.const 160 - i32.const 223 - i32.const 16 - call $~lib/builtins/abort - unreachable - end - local.get $3 - i32.const 3 - i32.const -1 - i32.xor - i32.and - i32.const 4 - i32.add - local.get $2 - i32.const 3 - i32.const -1 - i32.xor - i32.and - i32.add - local.set $7 - local.get $7 - i32.const 1073741820 - i32.lt_u - if - local.get $0 - local.get $6 - call $~lib/rt/tlsf/removeBlock - local.get $6 - local.get $3 - i32.const 3 - i32.and - local.get $7 - i32.or - local.tee $2 - i32.store - local.get $6 - local.set $1 - end - end - local.get $4 - local.get $5 - i32.const 2 - i32.or - i32.store - local.get $2 - i32.const 3 - i32.const -1 - i32.xor - i32.and - local.set $8 - i32.const 1 - drop - local.get $8 - i32.const 12 - i32.ge_u - if (result i32) - local.get $8 - i32.const 1073741820 - i32.lt_u - else - i32.const 0 - end - i32.eqz - if - i32.const 0 - i32.const 160 - i32.const 238 - i32.const 14 - call $~lib/builtins/abort - unreachable - end - i32.const 1 - drop - local.get $1 - i32.const 4 - i32.add - local.get $8 - i32.add - local.get $4 - i32.eq - i32.eqz - if - i32.const 0 - i32.const 160 - i32.const 239 - i32.const 14 - call $~lib/builtins/abort - unreachable - end - local.get $4 - i32.const 4 - i32.sub - local.get $1 - i32.store - local.get $8 - i32.const 256 - i32.lt_u - if - i32.const 0 - local.set $9 - local.get $8 - i32.const 4 - i32.shr_u - local.set $10 - else - i32.const 31 - local.get $8 - i32.clz - i32.sub - local.set $9 - local.get $8 - local.get $9 - i32.const 4 - i32.sub - i32.shr_u - i32.const 1 - i32.const 4 - i32.shl - i32.xor - local.set $10 - local.get $9 - i32.const 8 - i32.const 1 - i32.sub - i32.sub - local.set $9 - end - i32.const 1 - drop - local.get $9 - i32.const 23 - i32.lt_u - if (result i32) - local.get $10 - i32.const 16 - i32.lt_u - else - i32.const 0 - end - i32.eqz - if - i32.const 0 - i32.const 160 - i32.const 255 - i32.const 14 - call $~lib/builtins/abort - unreachable - end - local.get $0 - local.set $7 - local.get $9 - local.set $3 - local.get $10 - local.set $6 - local.get $7 - local.get $3 - i32.const 4 - i32.shl - local.get $6 - i32.add - i32.const 2 - i32.shl - i32.add - i32.load offset=96 - local.set $11 - local.get $1 - i32.const 0 - i32.store offset=4 - local.get $1 - local.get $11 - i32.store offset=8 - local.get $11 - if - local.get $11 - local.get $1 - i32.store offset=4 - end - local.get $0 - local.set $12 - local.get $9 - local.set $7 - local.get $10 - local.set $3 - local.get $1 - local.set $6 - local.get $12 - local.get $7 - i32.const 4 - i32.shl - local.get $3 - i32.add - i32.const 2 - i32.shl - i32.add - local.get $6 - i32.store offset=96 - local.get $0 - local.get $0 - i32.load - i32.const 1 - local.get $9 - i32.shl - i32.or - i32.store - local.get $0 - local.set $13 - local.get $9 - local.set $12 - local.get $0 - local.set $3 - local.get $9 - local.set $6 - local.get $3 - local.get $6 - i32.const 2 - i32.shl - i32.add - i32.load offset=4 - i32.const 1 - local.get $10 - i32.shl - i32.or - local.set $7 - local.get $13 - local.get $12 - i32.const 2 - i32.shl - i32.add - local.get $7 - i32.store offset=4 - ) - (func $~lib/rt/tlsf/addMemory (param $0 i32) (param $1 i32) (param $2 i32) (result i32) - (local $3 i32) - (local $4 i32) - (local $5 i32) - (local $6 i32) - (local $7 i32) - (local $8 i32) - (local $9 i32) - i32.const 1 - drop - local.get $1 - local.get $2 - i32.le_u - i32.eqz - if - i32.const 0 - i32.const 160 - i32.const 380 - i32.const 14 - call $~lib/builtins/abort - unreachable - end - local.get $1 - i32.const 4 - i32.add - i32.const 15 - i32.add - i32.const 15 - i32.const -1 - i32.xor - i32.and - i32.const 4 - i32.sub - local.set $1 - local.get $2 - i32.const 15 - i32.const -1 - i32.xor - i32.and - local.set $2 - local.get $0 - local.set $3 - local.get $3 - i32.load offset=1568 - local.set $4 - i32.const 0 - local.set $5 - local.get $4 - if - i32.const 1 - drop - local.get $1 - local.get $4 - i32.const 4 - i32.add - i32.ge_u - i32.eqz - if - i32.const 0 - i32.const 160 - i32.const 387 - i32.const 16 - call $~lib/builtins/abort - unreachable - end - local.get $1 - i32.const 16 - i32.sub - local.get $4 - i32.eq - if - local.get $1 - i32.const 16 - i32.sub - local.set $1 - local.get $4 - i32.load - local.set $5 - else - nop - end - else - i32.const 1 - drop - local.get $1 - local.get $0 - i32.const 1572 - i32.add - i32.ge_u - i32.eqz - if - i32.const 0 - i32.const 160 - i32.const 400 - i32.const 5 - call $~lib/builtins/abort - unreachable - end - end - local.get $2 - local.get $1 - i32.sub - local.set $6 - local.get $6 - i32.const 4 - i32.const 12 - i32.add - i32.const 4 - i32.add - i32.lt_u - if - i32.const 0 - return - end - local.get $6 - i32.const 2 - i32.const 4 - i32.mul - i32.sub - local.set $7 - local.get $1 - local.set $8 - local.get $8 - local.get $7 - i32.const 1 - i32.or - local.get $5 - i32.const 2 - i32.and - i32.or - i32.store - local.get $8 - i32.const 0 - i32.store offset=4 - local.get $8 - i32.const 0 - i32.store offset=8 - local.get $1 - i32.const 4 - i32.add - local.get $7 - i32.add - local.set $4 - local.get $4 - i32.const 0 - i32.const 2 - i32.or - i32.store - local.get $0 - local.set $9 - local.get $4 - local.set $3 - local.get $9 - local.get $3 - i32.store offset=1568 - local.get $0 - local.get $8 - call $~lib/rt/tlsf/insertBlock - i32.const 1 - ) - (func $~lib/rt/tlsf/initialize - (local $0 i32) - (local $1 i32) - (local $2 i32) - (local $3 i32) - (local $4 i32) - (local $5 i32) - (local $6 i32) - (local $7 i32) - (local $8 i32) - (local $9 i32) - (local $10 i32) - (local $11 i32) - (local $12 i32) - global.get $~lib/memory/__heap_base - i32.const 15 - i32.add - i32.const 15 - i32.const -1 - i32.xor - i32.and - local.set $0 - memory.size - local.set $1 - local.get $0 - i32.const 1572 - i32.add - i32.const 65535 - i32.add - i32.const 65535 - i32.const -1 - i32.xor - i32.and - i32.const 16 - i32.shr_u - local.set $2 - local.get $2 - local.get $1 - i32.gt_s - if (result i32) - local.get $2 - local.get $1 - i32.sub - memory.grow - i32.const 0 - i32.lt_s - else - i32.const 0 - end - if - unreachable - end - local.get $0 - local.set $3 - local.get $3 - i32.const 0 - i32.store - local.get $3 - local.set $5 - i32.const 0 - local.set $4 - local.get $5 - local.get $4 - i32.store offset=1568 - i32.const 0 - local.set $5 - loop $for-loop|0 - local.get $5 - i32.const 23 - i32.lt_u - local.set $4 - local.get $4 - if - local.get $3 - local.set $8 - local.get $5 - local.set $7 - i32.const 0 - local.set $6 - local.get $8 - local.get $7 - i32.const 2 - i32.shl - i32.add - local.get $6 - i32.store offset=4 - i32.const 0 - local.set $8 - loop $for-loop|1 - local.get $8 - i32.const 16 - i32.lt_u - local.set $7 - local.get $7 - if - local.get $3 - local.set $11 - local.get $5 - local.set $10 - local.get $8 - local.set $9 - i32.const 0 - local.set $6 - local.get $11 - local.get $10 - i32.const 4 - i32.shl - local.get $9 - i32.add - i32.const 2 - i32.shl - i32.add - local.get $6 - i32.store offset=96 - local.get $8 - i32.const 1 - i32.add - local.set $8 - br $for-loop|1 - end - end - local.get $5 - i32.const 1 - i32.add - local.set $5 - br $for-loop|0 - end - end - local.get $0 - i32.const 1572 - i32.add - local.set $12 - i32.const 0 - drop - local.get $3 - local.get $12 - memory.size - i32.const 16 - i32.shl - call $~lib/rt/tlsf/addMemory - drop - local.get $3 - global.set $~lib/rt/tlsf/ROOT - ) - (func $~lib/rt/tlsf/computeSize (param $0 i32) (result i32) - local.get $0 - i32.const 12 - i32.le_u - if (result i32) - i32.const 12 - else - local.get $0 - i32.const 4 - i32.add - i32.const 15 - i32.add - i32.const 15 - i32.const -1 - i32.xor - i32.and - i32.const 4 - i32.sub - end - ) - (func $~lib/rt/tlsf/prepareSize (param $0 i32) (result i32) - local.get $0 - i32.const 1073741820 - i32.ge_u - if - i32.const 32 - i32.const 160 - i32.const 461 - i32.const 30 - call $~lib/builtins/abort - unreachable - end - local.get $0 - call $~lib/rt/tlsf/computeSize - ) - (func $~lib/rt/tlsf/searchBlock (param $0 i32) (param $1 i32) (result i32) - (local $2 i32) - (local $3 i32) - (local $4 i32) - (local $5 i32) - (local $6 i32) - (local $7 i32) - (local $8 i32) - (local $9 i32) - local.get $1 - i32.const 256 - i32.lt_u - if - i32.const 0 - local.set $2 - local.get $1 - i32.const 4 - i32.shr_u - local.set $3 - else - local.get $1 - i32.const 536870910 - i32.lt_u - if (result i32) - local.get $1 - i32.const 1 - i32.const 27 - local.get $1 - i32.clz - i32.sub - i32.shl - i32.add - i32.const 1 - i32.sub - else - local.get $1 - end - local.set $4 - i32.const 31 - local.get $4 - i32.clz - i32.sub - local.set $2 - local.get $4 - local.get $2 - i32.const 4 - i32.sub - i32.shr_u - i32.const 1 - i32.const 4 - i32.shl - i32.xor - local.set $3 - local.get $2 - i32.const 8 - i32.const 1 - i32.sub - i32.sub - local.set $2 - end - i32.const 1 - drop - local.get $2 - i32.const 23 - i32.lt_u - if (result i32) - local.get $3 - i32.const 16 - i32.lt_u - else - i32.const 0 - end - i32.eqz - if - i32.const 0 - i32.const 160 - i32.const 333 - i32.const 14 - call $~lib/builtins/abort - unreachable - end - local.get $0 - local.set $5 - local.get $2 - local.set $4 - local.get $5 - local.get $4 - i32.const 2 - i32.shl - i32.add - i32.load offset=4 - i32.const 0 - i32.const -1 - i32.xor - local.get $3 - i32.shl - i32.and - local.set $6 - i32.const 0 - local.set $7 - local.get $6 - i32.eqz - if - local.get $0 - i32.load - i32.const 0 - i32.const -1 - i32.xor - local.get $2 - i32.const 1 - i32.add - i32.shl - i32.and - local.set $5 - local.get $5 - i32.eqz - if - i32.const 0 - local.set $7 - else - local.get $5 - i32.ctz - local.set $2 - local.get $0 - local.set $8 - local.get $2 - local.set $4 - local.get $8 - local.get $4 - i32.const 2 - i32.shl - i32.add - i32.load offset=4 - local.set $6 - i32.const 1 - drop - local.get $6 - i32.eqz - if - i32.const 0 - i32.const 160 - i32.const 346 - i32.const 18 - call $~lib/builtins/abort - unreachable - end - local.get $0 - local.set $9 - local.get $2 - local.set $8 - local.get $6 - i32.ctz - local.set $4 - local.get $9 - local.get $8 - i32.const 4 - i32.shl - local.get $4 - i32.add - i32.const 2 - i32.shl - i32.add - i32.load offset=96 - local.set $7 - end - else - local.get $0 - local.set $9 - local.get $2 - local.set $8 - local.get $6 - i32.ctz - local.set $4 - local.get $9 - local.get $8 - i32.const 4 - i32.shl - local.get $4 - i32.add - i32.const 2 - i32.shl - i32.add - i32.load offset=96 - local.set $7 - end - local.get $7 - ) - (func $~lib/rt/tlsf/growMemory (param $0 i32) (param $1 i32) - (local $2 i32) - (local $3 i32) - (local $4 i32) - (local $5 i32) - (local $6 i32) - (local $7 i32) - i32.const 0 - drop - local.get $1 - i32.const 536870910 - i32.lt_u - if - local.get $1 - i32.const 1 - i32.const 27 - local.get $1 - i32.clz - i32.sub - i32.shl - i32.const 1 - i32.sub - i32.add - local.set $1 - end - memory.size - local.set $2 - local.get $1 - i32.const 4 - local.get $2 - i32.const 16 - i32.shl - i32.const 4 - i32.sub - local.get $0 - local.set $3 - local.get $3 - i32.load offset=1568 - i32.ne - i32.shl - i32.add - local.set $1 - local.get $1 - i32.const 65535 - i32.add - i32.const 65535 - i32.const -1 - i32.xor - i32.and - i32.const 16 - i32.shr_u - local.set $4 - local.get $2 - local.tee $3 - local.get $4 - local.tee $5 - local.get $3 - local.get $5 - i32.gt_s - select - local.set $6 - local.get $6 - memory.grow - i32.const 0 - i32.lt_s - if - local.get $4 - memory.grow - i32.const 0 - i32.lt_s - if - unreachable - end - end - memory.size - local.set $7 - local.get $0 - local.get $2 - i32.const 16 - i32.shl - local.get $7 - i32.const 16 - i32.shl - call $~lib/rt/tlsf/addMemory - drop - ) - (func $~lib/rt/tlsf/prepareBlock (param $0 i32) (param $1 i32) (param $2 i32) - (local $3 i32) - (local $4 i32) - (local $5 i32) - local.get $1 - i32.load - local.set $3 - i32.const 1 - drop - local.get $2 - i32.const 4 - i32.add - i32.const 15 - i32.and - i32.eqz - i32.eqz - if - i32.const 0 - i32.const 160 - i32.const 360 - i32.const 14 - call $~lib/builtins/abort - unreachable - end - local.get $3 - i32.const 3 - i32.const -1 - i32.xor - i32.and - local.get $2 - i32.sub - local.set $4 - local.get $4 - i32.const 4 - i32.const 12 - i32.add - i32.ge_u - if - local.get $1 - local.get $2 - local.get $3 - i32.const 2 - i32.and - i32.or - i32.store - local.get $1 - i32.const 4 - i32.add - local.get $2 - i32.add - local.set $5 - local.get $5 - local.get $4 - i32.const 4 - i32.sub - i32.const 1 - i32.or - i32.store - local.get $0 - local.get $5 - call $~lib/rt/tlsf/insertBlock - else - local.get $1 - local.get $3 - i32.const 1 - i32.const -1 - i32.xor - i32.and - i32.store - local.get $1 - local.set $5 - local.get $5 - i32.const 4 - i32.add - local.get $5 - i32.load - i32.const 3 - i32.const -1 - i32.xor - i32.and - i32.add - local.get $1 - local.set $5 - local.get $5 - i32.const 4 - i32.add - local.get $5 - i32.load - i32.const 3 - i32.const -1 - i32.xor - i32.and - i32.add - i32.load - i32.const 2 - i32.const -1 - i32.xor - i32.and - i32.store - end - ) - (func $~lib/rt/tlsf/allocateBlock (param $0 i32) (param $1 i32) (result i32) - (local $2 i32) - (local $3 i32) - local.get $1 - call $~lib/rt/tlsf/prepareSize - local.set $2 - local.get $0 - local.get $2 - call $~lib/rt/tlsf/searchBlock - local.set $3 - local.get $3 - i32.eqz - if - local.get $0 - local.get $2 - call $~lib/rt/tlsf/growMemory - local.get $0 - local.get $2 - call $~lib/rt/tlsf/searchBlock - local.set $3 - i32.const 1 - drop - local.get $3 - i32.eqz - if - i32.const 0 - i32.const 160 - i32.const 498 - i32.const 16 - call $~lib/builtins/abort - unreachable - end - end - i32.const 1 - drop - local.get $3 - i32.load - i32.const 3 - i32.const -1 - i32.xor - i32.and - local.get $2 - i32.ge_u - i32.eqz - if - i32.const 0 - i32.const 160 - i32.const 500 - i32.const 14 - call $~lib/builtins/abort - unreachable - end - local.get $0 - local.get $3 - call $~lib/rt/tlsf/removeBlock - local.get $0 - local.get $3 - local.get $2 - call $~lib/rt/tlsf/prepareBlock - i32.const 0 - drop - local.get $3 - ) - (func $~lib/rt/tlsf/__alloc (param $0 i32) (result i32) - global.get $~lib/rt/tlsf/ROOT - i32.eqz - if - call $~lib/rt/tlsf/initialize - end - global.get $~lib/rt/tlsf/ROOT - local.get $0 - call $~lib/rt/tlsf/allocateBlock - i32.const 4 - i32.add - ) - (func $~lib/rt/pure/__new (param $0 i32) (param $1 i32) (result i32) - (local $2 i32) - (local $3 i32) - local.get $0 - i32.const 1073741804 - i32.gt_u - if - i32.const 32 - i32.const 96 - i32.const 275 - i32.const 30 - call $~lib/builtins/abort - unreachable - end - i32.const 16 - local.get $0 - i32.add - call $~lib/rt/tlsf/__alloc - local.set $2 - local.get $2 - i32.const 4 - i32.sub - local.set $3 - local.get $3 - i32.const 0 - i32.store offset=4 - local.get $3 - i32.const 0 - i32.store offset=8 - local.get $3 - local.get $1 - i32.store offset=12 - local.get $3 - local.get $0 - i32.store offset=16 - local.get $2 - i32.const 16 - i32.add - ) - (func $~lib/rt/pure/increment (param $0 i32) - (local $1 i32) - local.get $0 - i32.load offset=4 - local.set $1 - local.get $1 - i32.const 268435455 - i32.const -1 - i32.xor - i32.and - local.get $1 - i32.const 1 - i32.add - i32.const 268435455 - i32.const -1 - i32.xor - i32.and - i32.eq - i32.eqz - if - i32.const 0 - i32.const 96 - i32.const 109 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $0 - local.get $1 - i32.const 1 - i32.add - i32.store offset=4 - i32.const 0 - drop - i32.const 1 - drop - local.get $0 - i32.load - i32.const 1 - i32.and - i32.eqz - i32.eqz - if - i32.const 0 - i32.const 96 - i32.const 112 - i32.const 14 - call $~lib/builtins/abort - unreachable - end - ) - (func $~lib/rt/pure/__retain (param $0 i32) (result i32) - local.get $0 - global.get $~lib/memory/__heap_base - i32.gt_u - if - local.get $0 - i32.const 20 - i32.sub - call $~lib/rt/pure/increment - end - local.get $0 - ) - (func $rc/logical-or-mismatch/Ref#constructor (param $0 i32) (result i32) - local.get $0 - i32.eqz - if - i32.const 0 - i32.const 3 - call $~lib/rt/pure/__new - call $~lib/rt/pure/__retain - local.set $0 - end - local.get $0 - ) - (func $rc/logical-or-mismatch/getRef (result i32) - i32.const 0 - call $rc/logical-or-mismatch/Ref#constructor - ) - (func $~lib/rt/pure/__release (param $0 i32) - local.get $0 - global.get $~lib/memory/__heap_base - i32.gt_u - if - local.get $0 - i32.const 20 - i32.sub - call $~lib/rt/pure/decrement - end - ) - (func $start:rc/logical-or-mismatch - (local $0 i32) - i32.const 0 - call $rc/logical-or-mismatch/Ref#constructor - global.set $rc/logical-or-mismatch/gloRef - call $rc/logical-or-mismatch/getRef - local.tee $0 - if (result i32) - local.get $0 - else - local.get $0 - call $~lib/rt/pure/__release - global.get $rc/logical-or-mismatch/gloRef - call $~lib/rt/pure/__retain - end - local.set $0 - local.get $0 - call $~lib/rt/pure/__release - global.get $rc/logical-or-mismatch/gloRef - local.tee $0 - if (result i32) - local.get $0 - call $~lib/rt/pure/__retain - else - call $rc/logical-or-mismatch/getRef - end - local.set $0 - local.get $0 - call $~lib/rt/pure/__release - call $rc/logical-or-mismatch/getRef - local.tee $0 - if (result i32) - local.get $0 - else - local.get $0 - call $~lib/rt/pure/__release - call $rc/logical-or-mismatch/getRef - end - local.set $0 - local.get $0 - call $~lib/rt/pure/__release - global.get $rc/logical-or-mismatch/gloRef - local.tee $0 - if (result i32) - local.get $0 - else - global.get $rc/logical-or-mismatch/gloRef - end - call $~lib/rt/pure/__retain - local.set $0 - local.get $0 - call $~lib/rt/pure/__release - global.get $rc/logical-or-mismatch/gloRef - call $~lib/rt/pure/__release - ) - (func $~lib/rt/tlsf/freeBlock (param $0 i32) (param $1 i32) - local.get $1 - local.get $1 - i32.load - i32.const 1 - i32.or - i32.store - i32.const 0 - drop - local.get $0 - local.get $1 - call $~lib/rt/tlsf/insertBlock - ) - (func $~lib/rt/pure/finalize (param $0 i32) - i32.const 0 - drop - global.get $~lib/rt/tlsf/ROOT - local.get $0 - call $~lib/rt/tlsf/freeBlock - ) - (func $~lib/rt/pure/decrement (param $0 i32) - (local $1 i32) - (local $2 i32) - local.get $0 - i32.load offset=4 - local.set $1 - local.get $1 - i32.const 268435455 - i32.and - local.set $2 - i32.const 0 - drop - i32.const 1 - drop - local.get $0 - i32.load - i32.const 1 - i32.and - i32.eqz - i32.eqz - if - i32.const 0 - i32.const 96 - i32.const 122 - i32.const 14 - call $~lib/builtins/abort - unreachable - end - local.get $2 - i32.const 1 - i32.eq - if - local.get $0 - i32.const 20 - i32.add - i32.const 1 - call $~lib/rt/__visit_members - i32.const 1 - drop - i32.const 1 - drop - local.get $1 - i32.const -2147483648 - i32.and - i32.eqz - i32.eqz - if - i32.const 0 - i32.const 96 - i32.const 126 - i32.const 18 - call $~lib/builtins/abort - unreachable - end - local.get $0 - call $~lib/rt/pure/finalize - else - i32.const 1 - drop - local.get $2 - i32.const 0 - i32.gt_u - i32.eqz - if - i32.const 0 - i32.const 96 - i32.const 136 - i32.const 16 - call $~lib/builtins/abort - unreachable - end - i32.const 1 - drop - local.get $0 - local.get $1 - i32.const 268435455 - i32.const -1 - i32.xor - i32.and - local.get $2 - i32.const 1 - i32.sub - i32.or - i32.store offset=4 - end - ) - (func $~start - call $start:rc/logical-or-mismatch - ) - (func $~lib/rt/pure/__visit (param $0 i32) (param $1 i32) - local.get $0 - global.get $~lib/memory/__heap_base - i32.lt_u - if - return - end - i32.const 1 - drop - i32.const 1 - drop - local.get $1 - i32.const 1 - i32.eq - i32.eqz - if - i32.const 0 - i32.const 96 - i32.const 69 - i32.const 16 - call $~lib/builtins/abort - unreachable - end - local.get $0 - i32.const 20 - i32.sub - call $~lib/rt/pure/decrement - ) - (func $~lib/arraybuffer/ArrayBuffer~visit (param $0 i32) (param $1 i32) - nop - ) - (func $~lib/string/String~visit (param $0 i32) (param $1 i32) - nop - ) - (func $~lib/arraybuffer/ArrayBufferView~visit (param $0 i32) (param $1 i32) - (local $2 i32) - local.get $0 - i32.load - local.tee $2 - if - local.get $2 - local.get $1 - call $~lib/rt/pure/__visit - end - ) - (func $rc/logical-or-mismatch/Ref~visit (param $0 i32) (param $1 i32) - nop - ) - (func $~lib/rt/__visit_members (param $0 i32) (param $1 i32) - block $invalid - block $rc/logical-or-mismatch/Ref - block $~lib/arraybuffer/ArrayBufferView - block $~lib/string/String - block $~lib/arraybuffer/ArrayBuffer - local.get $0 - i32.const 8 - i32.sub - i32.load - br_table $~lib/arraybuffer/ArrayBuffer $~lib/string/String $~lib/arraybuffer/ArrayBufferView $rc/logical-or-mismatch/Ref $invalid - end - local.get $0 - local.get $1 - call $~lib/arraybuffer/ArrayBuffer~visit - return - end - local.get $0 - local.get $1 - call $~lib/string/String~visit - return - end - local.get $0 - local.get $1 - call $~lib/arraybuffer/ArrayBufferView~visit - return - end - local.get $0 - local.get $1 - call $rc/logical-or-mismatch/Ref~visit - return - end - unreachable - ) -) diff --git a/tests/compiler/rc/optimize.optimized.wat b/tests/compiler/rc/optimize.optimized.wat deleted file mode 100644 index 525a0872fb..0000000000 --- a/tests/compiler/rc/optimize.optimized.wat +++ /dev/null @@ -1,1356 +0,0 @@ -(module - (type $i32_i32_=>_none (func (param i32 i32))) - (type $i32_=>_none (func (param i32))) - (type $i32_i32_=>_i32 (func (param i32 i32) (result i32))) - (type $i32_i32_i32_=>_none (func (param i32 i32 i32))) - (type $none_=>_none (func)) - (type $i32_=>_i32 (func (param i32) (result i32))) - (type $i32_i32_i32_i32_=>_none (func (param i32 i32 i32 i32))) - (type $none_=>_i32 (func (result i32))) - (import "env" "abort" (func $~lib/builtins/abort (param i32 i32 i32 i32))) - (memory $0 1) - (data (i32.const 1036) "<\00\00\00\01\00\00\00\00\00\00\00\01\00\00\00\1e\00\00\00~\00l\00i\00b\00/\00r\00t\00/\00p\00u\00r\00e\00.\00t\00s") - (data (i32.const 1100) "<\00\00\00\01\00\00\00\00\00\00\00\01\00\00\00(\00\00\00a\00l\00l\00o\00c\00a\00t\00i\00o\00n\00 \00t\00o\00o\00 \00l\00a\00r\00g\00e") - (data (i32.const 1164) "<\00\00\00\01\00\00\00\00\00\00\00\01\00\00\00\1e\00\00\00~\00l\00i\00b\00/\00r\00t\00/\00t\00l\00s\00f\00.\00t\00s") - (data (i32.const 1228) "\1c\00\00\00\01\00\00\00\00\00\00\00\01\00\00\00\02\00\00\00a") - (global $~lib/rt/tlsf/ROOT (mut i32) (i32.const 0)) - (export "memory" (memory $0)) - (export "eliminated_v" (func $rc/optimize/eliminated_v)) - (export "eliminated_vi" (func $rc/optimize/eliminated_vi)) - (export "eliminated_vii" (func $rc/optimize/eliminated_vii)) - (export "eliminated_viii" (func $rc/optimize/eliminated_viii)) - (export "eliminated_rr" (func $rc/optimize/eliminated_rr)) - (export "getRef" (func $rc/optimize/getRef)) - (export "OptimizeARC.eliminates.linearArgument" (func $rc/optimize/eliminated_vi)) - (export "OptimizeARC.eliminates.linearLocal" (func $rc/optimize/eliminated_vi)) - (export "OptimizeARC.eliminates.linearChain" (func $rc/optimize/OptimizeARC.eliminates.linearChain)) - (export "OptimizeARC.eliminates.balancedReleases" (func $rc/optimize/eliminated_vii)) - (export "OptimizeARC.eliminates.partialReleases" (func $rc/optimize/OptimizeARC.eliminates.partialReleases)) - (export "OptimizeARC.eliminates.balancedRetains" (func $rc/optimize/eliminated_viii)) - (export "OptimizeARC.eliminates.balancedInsideLoop" (func $rc/optimize/OptimizeARC.eliminates.balancedInsideLoop)) - (export "OptimizeARC.eliminates.balancedOutsideLoop" (func $rc/optimize/eliminated_vii)) - (export "OptimizeARC.eliminates.balancedInsideOutsideLoop" (func $rc/optimize/OptimizeARC.eliminates.balancedInsideOutsideLoop)) - (export "OptimizeARC.eliminates.balancedInsideOutsideLoopWithBranch" (func $rc/optimize/OptimizeARC.eliminates.balancedInsideOutsideLoopWithBranch)) - (export "OptimizeARC.eliminates.replace" (func $rc/optimize/OptimizeARC.eliminates.replace)) - (export "OptimizeARC.eliminates.replaceAlreadyRetained" (func $rc/optimize/eliminated_rr)) - (export "OptimizeARC.keeps.partialRetains" (func $rc/optimize/OptimizeARC.keeps.partialRetains)) - (export "OptimizeARC.keeps.reachesReturn" (func $rc/optimize/OptimizeARC.keeps.reachesReturn)) - (export "FinalizeARC.eliminates.unnecessaryAllocation" (func $rc/optimize/FinalizeARC.eliminates.unnecessaryAllocation)) - (export "FinalizeARC.eliminates.unnecessaryPair" (func $rc/optimize/eliminated_vi)) - (export "FinalizeARC.eliminates.unnecessaryStaticPair" (func $rc/optimize/eliminated_v)) - (export "FinalizeARC.eliminates.unnecessaryStaticRetain" (func $rc/optimize/eliminated_v)) - (export "FinalizeARC.eliminates.unnecessaryStaticRelease" (func $rc/optimize/eliminated_v)) - (export "FinalizeARC.keeps.dynamicRetain" (func $rc/optimize/FinalizeARC.keeps.dynamicRetain)) - (export "FinalizeARC.keeps.dynamicRelease" (func $rc/optimize/FinalizeARC.keeps.dynamicRelease)) - (func $rc/optimize/eliminated_v - nop - ) - (func $rc/optimize/eliminated_vi (param $0 i32) - nop - ) - (func $rc/optimize/eliminated_vii (param $0 i32) (param $1 i32) - nop - ) - (func $rc/optimize/eliminated_viii (param $0 i32) (param $1 i32) (param $2 i32) - nop - ) - (func $~lib/rt/pure/__retain (param $0 i32) (result i32) - (local $1 i32) - (local $2 i32) - local.get $0 - i32.const 1260 - i32.gt_u - if - local.get $0 - i32.const 20 - i32.sub - local.tee $1 - i32.load offset=4 - local.tee $2 - i32.const -268435456 - i32.and - local.get $2 - i32.const 1 - i32.add - i32.const -268435456 - i32.and - i32.ne - if - i32.const 0 - i32.const 1056 - i32.const 109 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $1 - local.get $2 - i32.const 1 - i32.add - i32.store offset=4 - local.get $1 - i32.load - i32.const 1 - i32.and - if - i32.const 0 - i32.const 1056 - i32.const 112 - i32.const 14 - call $~lib/builtins/abort - unreachable - end - end - local.get $0 - ) - (func $~lib/rt/tlsf/removeBlock (param $0 i32) (param $1 i32) - (local $2 i32) - (local $3 i32) - (local $4 i32) - (local $5 i32) - local.get $1 - i32.load - local.tee $2 - i32.const 1 - i32.and - i32.eqz - if - i32.const 0 - i32.const 1184 - i32.const 272 - i32.const 14 - call $~lib/builtins/abort - unreachable - end - local.get $2 - i32.const -4 - i32.and - local.tee $2 - i32.const 1073741820 - i32.lt_u - i32.const 0 - local.get $2 - i32.const 12 - i32.ge_u - select - i32.eqz - if - i32.const 0 - i32.const 1184 - i32.const 274 - i32.const 14 - call $~lib/builtins/abort - unreachable - end - local.get $2 - i32.const 256 - i32.lt_u - if - local.get $2 - i32.const 4 - i32.shr_u - local.set $2 - else - local.get $2 - i32.const 31 - local.get $2 - i32.clz - i32.sub - local.tee $3 - i32.const 4 - i32.sub - i32.shr_u - i32.const 16 - i32.xor - local.set $2 - local.get $3 - i32.const 7 - i32.sub - local.set $3 - end - local.get $2 - i32.const 16 - i32.lt_u - i32.const 0 - local.get $3 - i32.const 23 - i32.lt_u - select - i32.eqz - if - i32.const 0 - i32.const 1184 - i32.const 287 - i32.const 14 - call $~lib/builtins/abort - unreachable - end - local.get $1 - i32.load offset=8 - local.set $4 - local.get $1 - i32.load offset=4 - local.tee $5 - if - local.get $5 - local.get $4 - i32.store offset=8 - end - local.get $4 - if - local.get $4 - local.get $5 - i32.store offset=4 - end - local.get $1 - local.get $0 - local.get $2 - local.get $3 - i32.const 4 - i32.shl - i32.add - i32.const 2 - i32.shl - i32.add - i32.load offset=96 - i32.eq - if - local.get $0 - local.get $2 - local.get $3 - i32.const 4 - i32.shl - i32.add - i32.const 2 - i32.shl - i32.add - local.get $4 - i32.store offset=96 - local.get $4 - i32.eqz - if - local.get $0 - local.get $3 - i32.const 2 - i32.shl - i32.add - local.tee $4 - i32.load offset=4 - i32.const -2 - local.get $2 - i32.rotl - i32.and - local.set $1 - local.get $4 - local.get $1 - i32.store offset=4 - local.get $1 - i32.eqz - if - local.get $0 - local.get $0 - i32.load - i32.const -2 - local.get $3 - i32.rotl - i32.and - i32.store - end - end - end - ) - (func $~lib/rt/tlsf/insertBlock (param $0 i32) (param $1 i32) - (local $2 i32) - (local $3 i32) - (local $4 i32) - (local $5 i32) - (local $6 i32) - (local $7 i32) - (local $8 i32) - local.get $1 - i32.eqz - if - i32.const 0 - i32.const 1184 - i32.const 200 - i32.const 14 - call $~lib/builtins/abort - unreachable - end - local.get $1 - i32.load - local.tee $4 - i32.const 1 - i32.and - i32.eqz - if - i32.const 0 - i32.const 1184 - i32.const 202 - i32.const 14 - call $~lib/builtins/abort - unreachable - end - local.get $1 - i32.const 4 - i32.add - local.get $1 - i32.load - i32.const -4 - i32.and - i32.add - local.tee $5 - i32.load - local.tee $2 - i32.const 1 - i32.and - if - local.get $4 - i32.const -4 - i32.and - i32.const 4 - i32.add - local.get $2 - i32.const -4 - i32.and - i32.add - local.tee $3 - i32.const 1073741820 - i32.lt_u - if - local.get $0 - local.get $5 - call $~lib/rt/tlsf/removeBlock - local.get $1 - local.get $3 - local.get $4 - i32.const 3 - i32.and - i32.or - local.tee $4 - i32.store - local.get $1 - i32.const 4 - i32.add - local.get $1 - i32.load - i32.const -4 - i32.and - i32.add - local.tee $5 - i32.load - local.set $2 - end - end - local.get $4 - i32.const 2 - i32.and - if - local.get $1 - i32.const 4 - i32.sub - i32.load - local.tee $3 - i32.load - local.tee $7 - i32.const 1 - i32.and - i32.eqz - if - i32.const 0 - i32.const 1184 - i32.const 223 - i32.const 16 - call $~lib/builtins/abort - unreachable - end - local.get $7 - i32.const -4 - i32.and - i32.const 4 - i32.add - local.get $4 - i32.const -4 - i32.and - i32.add - local.tee $8 - i32.const 1073741820 - i32.lt_u - if (result i32) - local.get $0 - local.get $3 - call $~lib/rt/tlsf/removeBlock - local.get $3 - local.get $8 - local.get $7 - i32.const 3 - i32.and - i32.or - local.tee $4 - i32.store - local.get $3 - else - local.get $1 - end - local.set $1 - end - local.get $5 - local.get $2 - i32.const 2 - i32.or - i32.store - local.get $4 - i32.const -4 - i32.and - local.tee $3 - i32.const 1073741820 - i32.lt_u - i32.const 0 - local.get $3 - i32.const 12 - i32.ge_u - select - i32.eqz - if - i32.const 0 - i32.const 1184 - i32.const 238 - i32.const 14 - call $~lib/builtins/abort - unreachable - end - local.get $3 - local.get $1 - i32.const 4 - i32.add - i32.add - local.get $5 - i32.ne - if - i32.const 0 - i32.const 1184 - i32.const 239 - i32.const 14 - call $~lib/builtins/abort - unreachable - end - local.get $5 - i32.const 4 - i32.sub - local.get $1 - i32.store - local.get $3 - i32.const 256 - i32.lt_u - if - local.get $3 - i32.const 4 - i32.shr_u - local.set $3 - else - local.get $3 - i32.const 31 - local.get $3 - i32.clz - i32.sub - local.tee $4 - i32.const 4 - i32.sub - i32.shr_u - i32.const 16 - i32.xor - local.set $3 - local.get $4 - i32.const 7 - i32.sub - local.set $6 - end - local.get $3 - i32.const 16 - i32.lt_u - i32.const 0 - local.get $6 - i32.const 23 - i32.lt_u - select - i32.eqz - if - i32.const 0 - i32.const 1184 - i32.const 255 - i32.const 14 - call $~lib/builtins/abort - unreachable - end - local.get $0 - local.get $3 - local.get $6 - i32.const 4 - i32.shl - i32.add - i32.const 2 - i32.shl - i32.add - i32.load offset=96 - local.set $4 - local.get $1 - i32.const 0 - i32.store offset=4 - local.get $1 - local.get $4 - i32.store offset=8 - local.get $4 - if - local.get $4 - local.get $1 - i32.store offset=4 - end - local.get $0 - local.get $3 - local.get $6 - i32.const 4 - i32.shl - i32.add - i32.const 2 - i32.shl - i32.add - local.get $1 - i32.store offset=96 - local.get $0 - local.get $0 - i32.load - i32.const 1 - local.get $6 - i32.shl - i32.or - i32.store - local.get $0 - local.get $6 - i32.const 2 - i32.shl - i32.add - local.tee $0 - local.get $0 - i32.load offset=4 - i32.const 1 - local.get $3 - i32.shl - i32.or - i32.store offset=4 - ) - (func $~lib/rt/tlsf/addMemory (param $0 i32) (param $1 i32) (param $2 i32) - (local $3 i32) - (local $4 i32) - local.get $1 - local.get $2 - i32.gt_u - if - i32.const 0 - i32.const 1184 - i32.const 380 - i32.const 14 - call $~lib/builtins/abort - unreachable - end - local.get $1 - i32.const 19 - i32.add - i32.const -16 - i32.and - i32.const 4 - i32.sub - local.set $1 - local.get $2 - i32.const -16 - i32.and - local.get $0 - i32.load offset=1568 - local.tee $2 - if - local.get $1 - local.get $2 - i32.const 4 - i32.add - i32.lt_u - if - i32.const 0 - i32.const 1184 - i32.const 387 - i32.const 16 - call $~lib/builtins/abort - unreachable - end - local.get $2 - local.get $1 - i32.const 16 - i32.sub - i32.eq - if - local.get $2 - i32.load - local.set $4 - local.get $1 - i32.const 16 - i32.sub - local.set $1 - end - else - local.get $1 - local.get $0 - i32.const 1572 - i32.add - i32.lt_u - if - i32.const 0 - i32.const 1184 - i32.const 400 - i32.const 5 - call $~lib/builtins/abort - unreachable - end - end - local.get $1 - i32.sub - local.tee $2 - i32.const 20 - i32.lt_u - if - return - end - local.get $1 - local.get $4 - i32.const 2 - i32.and - local.get $2 - i32.const 8 - i32.sub - local.tee $2 - i32.const 1 - i32.or - i32.or - i32.store - local.get $1 - i32.const 0 - i32.store offset=4 - local.get $1 - i32.const 0 - i32.store offset=8 - local.get $2 - local.get $1 - i32.const 4 - i32.add - i32.add - local.tee $2 - i32.const 2 - i32.store - local.get $0 - local.get $2 - i32.store offset=1568 - local.get $0 - local.get $1 - call $~lib/rt/tlsf/insertBlock - ) - (func $~lib/rt/tlsf/searchBlock (param $0 i32) (param $1 i32) (result i32) - (local $2 i32) - local.get $1 - i32.const 256 - i32.lt_u - if - local.get $1 - i32.const 4 - i32.shr_u - local.set $1 - else - i32.const 31 - local.get $1 - i32.const 1 - i32.const 27 - local.get $1 - i32.clz - i32.sub - i32.shl - i32.add - i32.const 1 - i32.sub - local.get $1 - local.get $1 - i32.const 536870910 - i32.lt_u - select - local.tee $1 - i32.clz - i32.sub - local.set $2 - local.get $1 - local.get $2 - i32.const 4 - i32.sub - i32.shr_u - i32.const 16 - i32.xor - local.set $1 - local.get $2 - i32.const 7 - i32.sub - local.set $2 - end - local.get $1 - i32.const 16 - i32.lt_u - i32.const 0 - local.get $2 - i32.const 23 - i32.lt_u - select - i32.eqz - if - i32.const 0 - i32.const 1184 - i32.const 333 - i32.const 14 - call $~lib/builtins/abort - unreachable - end - local.get $0 - local.get $2 - i32.const 2 - i32.shl - i32.add - i32.load offset=4 - i32.const -1 - local.get $1 - i32.shl - i32.and - local.tee $1 - if (result i32) - local.get $0 - local.get $1 - i32.ctz - local.get $2 - i32.const 4 - i32.shl - i32.add - i32.const 2 - i32.shl - i32.add - i32.load offset=96 - else - local.get $0 - i32.load - i32.const -1 - local.get $2 - i32.const 1 - i32.add - i32.shl - i32.and - local.tee $1 - if (result i32) - local.get $0 - local.get $1 - i32.ctz - local.tee $1 - i32.const 2 - i32.shl - i32.add - i32.load offset=4 - local.tee $2 - i32.eqz - if - i32.const 0 - i32.const 1184 - i32.const 346 - i32.const 18 - call $~lib/builtins/abort - unreachable - end - local.get $0 - local.get $2 - i32.ctz - local.get $1 - i32.const 4 - i32.shl - i32.add - i32.const 2 - i32.shl - i32.add - i32.load offset=96 - else - i32.const 0 - end - end - ) - (func $~lib/rt/tlsf/allocateBlock (param $0 i32) (param $1 i32) (result i32) - (local $2 i32) - (local $3 i32) - (local $4 i32) - local.get $1 - i32.const 1073741820 - i32.ge_u - if - i32.const 1120 - i32.const 1184 - i32.const 461 - i32.const 30 - call $~lib/builtins/abort - unreachable - end - local.get $0 - i32.const 12 - local.get $1 - i32.const 19 - i32.add - i32.const -16 - i32.and - i32.const 4 - i32.sub - local.get $1 - i32.const 12 - i32.le_u - select - local.tee $2 - call $~lib/rt/tlsf/searchBlock - local.tee $1 - i32.eqz - if - i32.const 4 - memory.size - local.tee $1 - i32.const 16 - i32.shl - i32.const 4 - i32.sub - local.get $0 - i32.load offset=1568 - i32.ne - i32.shl - local.get $2 - i32.const 1 - i32.const 27 - local.get $2 - i32.clz - i32.sub - i32.shl - i32.const 1 - i32.sub - i32.add - local.get $2 - local.get $2 - i32.const 536870910 - i32.lt_u - select - i32.add - i32.const 65535 - i32.add - i32.const -65536 - i32.and - i32.const 16 - i32.shr_u - local.set $3 - local.get $1 - local.get $3 - local.get $1 - local.get $3 - i32.gt_s - select - memory.grow - i32.const 0 - i32.lt_s - if - local.get $3 - memory.grow - i32.const 0 - i32.lt_s - if - unreachable - end - end - local.get $0 - local.get $1 - i32.const 16 - i32.shl - memory.size - i32.const 16 - i32.shl - call $~lib/rt/tlsf/addMemory - local.get $0 - local.get $2 - call $~lib/rt/tlsf/searchBlock - local.tee $1 - i32.eqz - if - i32.const 0 - i32.const 1184 - i32.const 498 - i32.const 16 - call $~lib/builtins/abort - unreachable - end - end - local.get $2 - local.get $1 - i32.load - i32.const -4 - i32.and - i32.gt_u - if - i32.const 0 - i32.const 1184 - i32.const 500 - i32.const 14 - call $~lib/builtins/abort - unreachable - end - local.get $0 - local.get $1 - call $~lib/rt/tlsf/removeBlock - local.get $1 - i32.load - local.set $3 - local.get $2 - i32.const 4 - i32.add - i32.const 15 - i32.and - if - i32.const 0 - i32.const 1184 - i32.const 360 - i32.const 14 - call $~lib/builtins/abort - unreachable - end - local.get $3 - i32.const -4 - i32.and - local.get $2 - i32.sub - local.tee $4 - i32.const 16 - i32.ge_u - if - local.get $1 - local.get $2 - local.get $3 - i32.const 2 - i32.and - i32.or - i32.store - local.get $2 - local.get $1 - i32.const 4 - i32.add - i32.add - local.tee $2 - local.get $4 - i32.const 4 - i32.sub - i32.const 1 - i32.or - i32.store - local.get $0 - local.get $2 - call $~lib/rt/tlsf/insertBlock - else - local.get $1 - local.get $3 - i32.const -2 - i32.and - i32.store - 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 $0 - local.get $1 - i32.load - i32.const -4 - i32.and - i32.add - i32.load - i32.const -3 - i32.and - i32.store - end - local.get $1 - ) - (func $~lib/rt/pure/__new (param $0 i32) (param $1 i32) (result i32) - (local $2 i32) - (local $3 i32) - local.get $0 - i32.const 1073741804 - i32.gt_u - if - i32.const 1120 - i32.const 1056 - i32.const 275 - i32.const 30 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/rt/tlsf/ROOT - i32.eqz - if - memory.size - local.tee $3 - i32.const 1 - i32.lt_s - if (result i32) - i32.const 1 - local.get $3 - i32.sub - memory.grow - i32.const 0 - i32.lt_s - else - i32.const 0 - end - if - unreachable - end - i32.const 1264 - i32.const 0 - i32.store - i32.const 2832 - i32.const 0 - i32.store - loop $for-loop|0 - local.get $2 - i32.const 23 - i32.lt_u - if - local.get $2 - i32.const 2 - i32.shl - i32.const 1264 - i32.add - i32.const 0 - i32.store offset=4 - i32.const 0 - local.set $3 - loop $for-loop|1 - local.get $3 - i32.const 16 - i32.lt_u - if - local.get $3 - local.get $2 - i32.const 4 - i32.shl - i32.add - i32.const 2 - i32.shl - i32.const 1264 - i32.add - i32.const 0 - i32.store offset=96 - local.get $3 - i32.const 1 - i32.add - local.set $3 - br $for-loop|1 - end - end - local.get $2 - i32.const 1 - i32.add - local.set $2 - br $for-loop|0 - end - end - i32.const 1264 - i32.const 2836 - memory.size - i32.const 16 - i32.shl - call $~lib/rt/tlsf/addMemory - i32.const 1264 - global.set $~lib/rt/tlsf/ROOT - end - global.get $~lib/rt/tlsf/ROOT - local.get $0 - i32.const 16 - i32.add - call $~lib/rt/tlsf/allocateBlock - i32.const 4 - i32.add - local.tee $3 - i32.const 4 - i32.sub - local.tee $2 - i32.const 0 - i32.store offset=4 - local.get $2 - i32.const 0 - i32.store offset=8 - local.get $2 - local.get $1 - i32.store offset=12 - local.get $2 - local.get $0 - i32.store offset=16 - local.get $3 - i32.const 16 - i32.add - ) - (func $rc/optimize/getRef (result i32) - i32.const 0 - i32.const 3 - call $~lib/rt/pure/__new - call $~lib/rt/pure/__retain - ) - (func $~lib/rt/pure/__release (param $0 i32) - local.get $0 - i32.const 1260 - i32.gt_u - if - local.get $0 - i32.const 20 - i32.sub - call $~lib/rt/pure/decrement - end - ) - (func $rc/optimize/eliminated_rr (param $0 i32) (result i32) - (local $1 i32) - local.get $0 - call $~lib/rt/pure/__retain - i32.const 0 - i32.const 3 - call $~lib/rt/pure/__new - call $~lib/rt/pure/__retain - local.set $1 - call $~lib/rt/pure/__release - local.get $1 - ) - (func $rc/optimize/OptimizeARC.eliminates.linearChain (param $0 i32) - local.get $0 - call $~lib/rt/pure/__retain - local.tee $0 - call $~lib/rt/pure/__retain - call $~lib/rt/pure/__release - local.get $0 - call $~lib/rt/pure/__release - ) - (func $rc/optimize/OptimizeARC.eliminates.partialReleases (param $0 i32) (param $1 i32) - local.get $0 - call $~lib/rt/pure/__retain - local.set $0 - local.get $1 - if - local.get $0 - call $~lib/rt/pure/__release - end - ) - (func $rc/optimize/OptimizeARC.eliminates.balancedInsideLoop (param $0 i32) (param $1 i32) - loop $while-continue|0 - local.get $1 - if - local.get $0 - call $~lib/rt/pure/__retain - local.tee $0 - call $~lib/rt/pure/__release - br $while-continue|0 - end - end - ) - (func $rc/optimize/OptimizeARC.eliminates.balancedInsideOutsideLoop (param $0 i32) (param $1 i32) - local.get $0 - call $~lib/rt/pure/__retain - local.set $0 - loop $while-continue|0 - local.get $1 - if - local.get $0 - call $~lib/rt/pure/__release - local.get $0 - call $~lib/rt/pure/__retain - local.set $0 - br $while-continue|0 - end - end - local.get $0 - call $~lib/rt/pure/__release - ) - (func $rc/optimize/OptimizeARC.eliminates.balancedInsideOutsideLoopWithBranch (param $0 i32) (param $1 i32) (param $2 i32) - local.get $0 - call $~lib/rt/pure/__retain - local.set $0 - loop $while-continue|0 - local.get $1 - if - local.get $2 - if - local.get $0 - call $~lib/rt/pure/__release - return - end - local.get $0 - call $~lib/rt/pure/__release - local.get $0 - call $~lib/rt/pure/__retain - local.set $0 - br $while-continue|0 - end - end - local.get $0 - call $~lib/rt/pure/__release - ) - (func $rc/optimize/OptimizeARC.eliminates.replace (param $0 i32) (param $1 i32) - (local $2 i32) - local.get $0 - call $~lib/rt/pure/__retain - local.tee $0 - local.get $1 - call $~lib/rt/pure/__retain - local.tee $2 - local.tee $1 - i32.ne - if - local.get $1 - call $~lib/rt/pure/__retain - local.set $1 - local.get $0 - call $~lib/rt/pure/__release - end - local.get $1 - call $~lib/rt/pure/__release - local.get $2 - call $~lib/rt/pure/__release - ) - (func $rc/optimize/OptimizeARC.keeps.partialRetains (param $0 i32) (param $1 i32) - local.get $1 - if (result i32) - local.get $0 - call $~lib/rt/pure/__retain - else - local.get $0 - end - call $~lib/rt/pure/__release - ) - (func $rc/optimize/OptimizeARC.keeps.reachesReturn (param $0 i32) (param $1 i32) (result i32) - local.get $0 - call $~lib/rt/pure/__retain - local.set $0 - local.get $1 - if - local.get $0 - return - end - local.get $0 - call $~lib/rt/pure/__release - i32.const 0 - ) - (func $rc/optimize/FinalizeARC.eliminates.unnecessaryAllocation - i32.const 1 - i32.const 0 - call $~lib/rt/pure/__new - drop - ) - (func $rc/optimize/FinalizeARC.keeps.dynamicRetain (param $0 i32) - local.get $0 - call $~lib/rt/pure/__retain - drop - ) - (func $rc/optimize/FinalizeARC.keeps.dynamicRelease (param $0 i32) - local.get $0 - call $~lib/rt/pure/__release - ) - (func $~lib/rt/pure/decrement (param $0 i32) - (local $1 i32) - (local $2 i32) - local.get $0 - i32.load offset=4 - local.tee $2 - i32.const 268435455 - i32.and - local.set $1 - local.get $0 - i32.load - i32.const 1 - i32.and - if - i32.const 0 - i32.const 1056 - i32.const 122 - i32.const 14 - call $~lib/builtins/abort - unreachable - end - local.get $1 - i32.const 1 - i32.eq - if - block $__inlined_func$~lib/rt/__visit_members - block $invalid - block $~lib/arraybuffer/ArrayBufferView - local.get $0 - i32.const 12 - i32.add - i32.load - br_table $__inlined_func$~lib/rt/__visit_members $__inlined_func$~lib/rt/__visit_members $~lib/arraybuffer/ArrayBufferView $__inlined_func$~lib/rt/__visit_members $invalid - end - local.get $0 - i32.load offset=20 - local.tee $1 - if - local.get $1 - i32.const 1260 - i32.ge_u - if - local.get $1 - i32.const 20 - i32.sub - call $~lib/rt/pure/decrement - end - end - br $__inlined_func$~lib/rt/__visit_members - end - unreachable - end - local.get $2 - i32.const -2147483648 - i32.and - if - i32.const 0 - i32.const 1056 - i32.const 126 - i32.const 18 - call $~lib/builtins/abort - unreachable - end - local.get $0 - local.get $0 - i32.load - i32.const 1 - i32.or - i32.store - global.get $~lib/rt/tlsf/ROOT - local.get $0 - call $~lib/rt/tlsf/insertBlock - else - local.get $1 - i32.eqz - if - i32.const 0 - i32.const 1056 - i32.const 136 - i32.const 16 - call $~lib/builtins/abort - unreachable - end - local.get $0 - local.get $1 - i32.const 1 - i32.sub - local.get $2 - i32.const -268435456 - i32.and - i32.or - i32.store offset=4 - end - ) -) diff --git a/tests/compiler/rc/optimize.untouched.wat b/tests/compiler/rc/optimize.untouched.wat deleted file mode 100644 index c54f11e3ce..0000000000 --- a/tests/compiler/rc/optimize.untouched.wat +++ /dev/null @@ -1,2016 +0,0 @@ -(module - (type $i32_i32_=>_none (func (param i32 i32))) - (type $i32_=>_none (func (param i32))) - (type $i32_=>_i32 (func (param i32) (result i32))) - (type $none_=>_none (func)) - (type $i32_i32_i32_=>_none (func (param i32 i32 i32))) - (type $i32_i32_=>_i32 (func (param i32 i32) (result i32))) - (type $i32_i32_i32_i32_=>_none (func (param i32 i32 i32 i32))) - (type $none_=>_i32 (func (result i32))) - (type $i32_i32_i32_=>_i32 (func (param i32 i32 i32) (result i32))) - (import "env" "abort" (func $~lib/builtins/abort (param i32 i32 i32 i32))) - (memory $0 1) - (data (i32.const 12) "<\00\00\00\01\00\00\00\00\00\00\00\01\00\00\00\1e\00\00\00~\00l\00i\00b\00/\00r\00t\00/\00p\00u\00r\00e\00.\00t\00s\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 76) "<\00\00\00\01\00\00\00\00\00\00\00\01\00\00\00(\00\00\00a\00l\00l\00o\00c\00a\00t\00i\00o\00n\00 \00t\00o\00o\00 \00l\00a\00r\00g\00e\00\00\00\00\00") - (data (i32.const 140) "<\00\00\00\01\00\00\00\00\00\00\00\01\00\00\00\1e\00\00\00~\00l\00i\00b\00/\00r\00t\00/\00t\00l\00s\00f\00.\00t\00s\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 204) "\1c\00\00\00\01\00\00\00\00\00\00\00\01\00\00\00\02\00\00\00a\00\00\00\00\00\00\00\00\00\00\00") - (table $0 1 funcref) - (global $~lib/rt/tlsf/ROOT (mut i32) (i32.const 0)) - (global $~lib/ASC_LOW_MEMORY_LIMIT i32 (i32.const 0)) - (global $~lib/memory/__heap_base i32 (i32.const 236)) - (export "memory" (memory $0)) - (export "eliminated_v" (func $rc/optimize/eliminated_v)) - (export "eliminated_vi" (func $rc/optimize/eliminated_vi)) - (export "eliminated_vii" (func $rc/optimize/eliminated_vii)) - (export "eliminated_viii" (func $rc/optimize/eliminated_viii)) - (export "eliminated_rr" (func $rc/optimize/eliminated_rr)) - (export "getRef" (func $rc/optimize/getRef)) - (export "OptimizeARC.eliminates.linearArgument" (func $rc/optimize/OptimizeARC.eliminates.linearArgument)) - (export "OptimizeARC.eliminates.linearLocal" (func $rc/optimize/OptimizeARC.eliminates.linearLocal)) - (export "OptimizeARC.eliminates.linearChain" (func $rc/optimize/OptimizeARC.eliminates.linearChain)) - (export "OptimizeARC.eliminates.balancedReleases" (func $rc/optimize/OptimizeARC.eliminates.balancedReleases)) - (export "OptimizeARC.eliminates.partialReleases" (func $rc/optimize/OptimizeARC.eliminates.partialReleases)) - (export "OptimizeARC.eliminates.balancedRetains" (func $rc/optimize/OptimizeARC.eliminates.balancedRetains)) - (export "OptimizeARC.eliminates.balancedInsideLoop" (func $rc/optimize/OptimizeARC.eliminates.balancedInsideLoop)) - (export "OptimizeARC.eliminates.balancedOutsideLoop" (func $rc/optimize/OptimizeARC.eliminates.balancedOutsideLoop)) - (export "OptimizeARC.eliminates.balancedInsideOutsideLoop" (func $rc/optimize/OptimizeARC.eliminates.balancedInsideOutsideLoop)) - (export "OptimizeARC.eliminates.balancedInsideOutsideLoopWithBranch" (func $rc/optimize/OptimizeARC.eliminates.balancedInsideOutsideLoopWithBranch)) - (export "OptimizeARC.eliminates.replace" (func $rc/optimize/OptimizeARC.eliminates.replace)) - (export "OptimizeARC.eliminates.replaceAlreadyRetained" (func $rc/optimize/OptimizeARC.eliminates.replaceAlreadyRetained)) - (export "OptimizeARC.keeps.partialRetains" (func $rc/optimize/OptimizeARC.keeps.partialRetains)) - (export "OptimizeARC.keeps.reachesReturn" (func $rc/optimize/OptimizeARC.keeps.reachesReturn)) - (export "FinalizeARC.eliminates.unnecessaryAllocation" (func $rc/optimize/FinalizeARC.eliminates.unnecessaryAllocation)) - (export "FinalizeARC.eliminates.unnecessaryPair" (func $rc/optimize/FinalizeARC.eliminates.unnecessaryPair)) - (export "FinalizeARC.eliminates.unnecessaryStaticPair" (func $rc/optimize/FinalizeARC.eliminates.unnecessaryStaticPair)) - (export "FinalizeARC.eliminates.unnecessaryStaticRetain" (func $rc/optimize/FinalizeARC.eliminates.unnecessaryStaticRetain)) - (export "FinalizeARC.eliminates.unnecessaryStaticRelease" (func $rc/optimize/FinalizeARC.eliminates.unnecessaryStaticRelease)) - (export "FinalizeARC.keeps.dynamicRetain" (func $rc/optimize/FinalizeARC.keeps.dynamicRetain)) - (export "FinalizeARC.keeps.dynamicRelease" (func $rc/optimize/FinalizeARC.keeps.dynamicRelease)) - (func $rc/optimize/eliminated_v - nop - ) - (func $rc/optimize/eliminated_vi (param $0 i32) - nop - ) - (func $rc/optimize/eliminated_vii (param $0 i32) (param $1 i32) - nop - ) - (func $rc/optimize/eliminated_viii (param $0 i32) (param $1 i32) (param $2 i32) - nop - ) - (func $~lib/rt/pure/increment (param $0 i32) - (local $1 i32) - local.get $0 - i32.load offset=4 - local.set $1 - local.get $1 - i32.const 268435455 - i32.const -1 - i32.xor - i32.and - local.get $1 - i32.const 1 - i32.add - i32.const 268435455 - i32.const -1 - i32.xor - i32.and - i32.eq - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 109 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $0 - local.get $1 - i32.const 1 - i32.add - i32.store offset=4 - i32.const 0 - drop - i32.const 1 - drop - local.get $0 - i32.load - i32.const 1 - i32.and - i32.eqz - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 112 - i32.const 14 - call $~lib/builtins/abort - unreachable - end - ) - (func $~lib/rt/pure/__retain (param $0 i32) (result i32) - local.get $0 - global.get $~lib/memory/__heap_base - i32.gt_u - if - local.get $0 - i32.const 20 - i32.sub - call $~lib/rt/pure/increment - end - local.get $0 - ) - (func $~lib/rt/tlsf/removeBlock (param $0 i32) (param $1 i32) - (local $2 i32) - (local $3 i32) - (local $4 i32) - (local $5 i32) - (local $6 i32) - (local $7 i32) - (local $8 i32) - (local $9 i32) - (local $10 i32) - (local $11 i32) - local.get $1 - i32.load - local.set $2 - i32.const 1 - drop - local.get $2 - i32.const 1 - i32.and - i32.eqz - if - i32.const 0 - i32.const 160 - i32.const 272 - i32.const 14 - call $~lib/builtins/abort - unreachable - end - local.get $2 - i32.const 3 - i32.const -1 - i32.xor - i32.and - local.set $3 - i32.const 1 - drop - local.get $3 - i32.const 12 - i32.ge_u - if (result i32) - local.get $3 - i32.const 1073741820 - i32.lt_u - else - i32.const 0 - end - i32.eqz - if - i32.const 0 - i32.const 160 - i32.const 274 - i32.const 14 - call $~lib/builtins/abort - unreachable - end - local.get $3 - i32.const 256 - i32.lt_u - if - i32.const 0 - local.set $4 - local.get $3 - i32.const 4 - i32.shr_u - local.set $5 - else - i32.const 31 - local.get $3 - i32.clz - i32.sub - local.set $4 - local.get $3 - local.get $4 - i32.const 4 - i32.sub - i32.shr_u - i32.const 1 - i32.const 4 - i32.shl - i32.xor - local.set $5 - local.get $4 - i32.const 8 - i32.const 1 - i32.sub - i32.sub - local.set $4 - end - i32.const 1 - drop - local.get $4 - i32.const 23 - i32.lt_u - if (result i32) - local.get $5 - i32.const 16 - i32.lt_u - else - i32.const 0 - end - i32.eqz - if - i32.const 0 - i32.const 160 - i32.const 287 - i32.const 14 - call $~lib/builtins/abort - unreachable - end - local.get $1 - i32.load offset=4 - local.set $6 - local.get $1 - i32.load offset=8 - local.set $7 - local.get $6 - if - local.get $6 - local.get $7 - i32.store offset=8 - end - local.get $7 - if - local.get $7 - local.get $6 - i32.store offset=4 - end - local.get $1 - local.get $0 - local.set $10 - local.get $4 - local.set $9 - local.get $5 - local.set $8 - local.get $10 - local.get $9 - i32.const 4 - i32.shl - local.get $8 - i32.add - i32.const 2 - i32.shl - i32.add - i32.load offset=96 - i32.eq - if - local.get $0 - local.set $11 - local.get $4 - local.set $10 - local.get $5 - local.set $9 - local.get $7 - local.set $8 - local.get $11 - local.get $10 - i32.const 4 - i32.shl - local.get $9 - i32.add - i32.const 2 - i32.shl - i32.add - local.get $8 - i32.store offset=96 - local.get $7 - i32.eqz - if - local.get $0 - local.set $9 - local.get $4 - local.set $8 - local.get $9 - local.get $8 - i32.const 2 - i32.shl - i32.add - i32.load offset=4 - local.set $9 - local.get $0 - local.set $8 - local.get $4 - local.set $11 - local.get $9 - i32.const 1 - local.get $5 - i32.shl - i32.const -1 - i32.xor - i32.and - local.tee $9 - local.set $10 - local.get $8 - local.get $11 - i32.const 2 - i32.shl - i32.add - local.get $10 - i32.store offset=4 - local.get $9 - i32.eqz - if - local.get $0 - local.get $0 - i32.load - i32.const 1 - local.get $4 - i32.shl - i32.const -1 - i32.xor - i32.and - i32.store - end - end - end - ) - (func $~lib/rt/tlsf/insertBlock (param $0 i32) (param $1 i32) - (local $2 i32) - (local $3 i32) - (local $4 i32) - (local $5 i32) - (local $6 i32) - (local $7 i32) - (local $8 i32) - (local $9 i32) - (local $10 i32) - (local $11 i32) - (local $12 i32) - (local $13 i32) - i32.const 1 - drop - local.get $1 - i32.eqz - if - i32.const 0 - i32.const 160 - i32.const 200 - i32.const 14 - call $~lib/builtins/abort - unreachable - end - local.get $1 - i32.load - local.set $2 - i32.const 1 - drop - local.get $2 - i32.const 1 - i32.and - i32.eqz - if - i32.const 0 - i32.const 160 - i32.const 202 - i32.const 14 - call $~lib/builtins/abort - unreachable - end - local.get $1 - local.set $3 - local.get $3 - i32.const 4 - i32.add - local.get $3 - i32.load - i32.const 3 - i32.const -1 - i32.xor - i32.and - i32.add - local.set $4 - local.get $4 - i32.load - local.set $5 - local.get $5 - i32.const 1 - i32.and - if - local.get $2 - i32.const 3 - i32.const -1 - i32.xor - i32.and - i32.const 4 - i32.add - local.get $5 - i32.const 3 - i32.const -1 - i32.xor - i32.and - i32.add - local.set $3 - local.get $3 - i32.const 1073741820 - i32.lt_u - if - local.get $0 - local.get $4 - call $~lib/rt/tlsf/removeBlock - local.get $1 - local.get $2 - i32.const 3 - i32.and - local.get $3 - i32.or - local.tee $2 - i32.store - local.get $1 - local.set $6 - local.get $6 - i32.const 4 - i32.add - local.get $6 - i32.load - i32.const 3 - i32.const -1 - i32.xor - i32.and - i32.add - local.set $4 - local.get $4 - i32.load - local.set $5 - end - end - local.get $2 - i32.const 2 - i32.and - if - local.get $1 - local.set $6 - local.get $6 - i32.const 4 - i32.sub - i32.load - local.set $6 - local.get $6 - i32.load - local.set $3 - i32.const 1 - drop - local.get $3 - i32.const 1 - i32.and - i32.eqz - if - i32.const 0 - i32.const 160 - i32.const 223 - i32.const 16 - call $~lib/builtins/abort - unreachable - end - local.get $3 - i32.const 3 - i32.const -1 - i32.xor - i32.and - i32.const 4 - i32.add - local.get $2 - i32.const 3 - i32.const -1 - i32.xor - i32.and - i32.add - local.set $7 - local.get $7 - i32.const 1073741820 - i32.lt_u - if - local.get $0 - local.get $6 - call $~lib/rt/tlsf/removeBlock - local.get $6 - local.get $3 - i32.const 3 - i32.and - local.get $7 - i32.or - local.tee $2 - i32.store - local.get $6 - local.set $1 - end - end - local.get $4 - local.get $5 - i32.const 2 - i32.or - i32.store - local.get $2 - i32.const 3 - i32.const -1 - i32.xor - i32.and - local.set $8 - i32.const 1 - drop - local.get $8 - i32.const 12 - i32.ge_u - if (result i32) - local.get $8 - i32.const 1073741820 - i32.lt_u - else - i32.const 0 - end - i32.eqz - if - i32.const 0 - i32.const 160 - i32.const 238 - i32.const 14 - call $~lib/builtins/abort - unreachable - end - i32.const 1 - drop - local.get $1 - i32.const 4 - i32.add - local.get $8 - i32.add - local.get $4 - i32.eq - i32.eqz - if - i32.const 0 - i32.const 160 - i32.const 239 - i32.const 14 - call $~lib/builtins/abort - unreachable - end - local.get $4 - i32.const 4 - i32.sub - local.get $1 - i32.store - local.get $8 - i32.const 256 - i32.lt_u - if - i32.const 0 - local.set $9 - local.get $8 - i32.const 4 - i32.shr_u - local.set $10 - else - i32.const 31 - local.get $8 - i32.clz - i32.sub - local.set $9 - local.get $8 - local.get $9 - i32.const 4 - i32.sub - i32.shr_u - i32.const 1 - i32.const 4 - i32.shl - i32.xor - local.set $10 - local.get $9 - i32.const 8 - i32.const 1 - i32.sub - i32.sub - local.set $9 - end - i32.const 1 - drop - local.get $9 - i32.const 23 - i32.lt_u - if (result i32) - local.get $10 - i32.const 16 - i32.lt_u - else - i32.const 0 - end - i32.eqz - if - i32.const 0 - i32.const 160 - i32.const 255 - i32.const 14 - call $~lib/builtins/abort - unreachable - end - local.get $0 - local.set $7 - local.get $9 - local.set $3 - local.get $10 - local.set $6 - local.get $7 - local.get $3 - i32.const 4 - i32.shl - local.get $6 - i32.add - i32.const 2 - i32.shl - i32.add - i32.load offset=96 - local.set $11 - local.get $1 - i32.const 0 - i32.store offset=4 - local.get $1 - local.get $11 - i32.store offset=8 - local.get $11 - if - local.get $11 - local.get $1 - i32.store offset=4 - end - local.get $0 - local.set $12 - local.get $9 - local.set $7 - local.get $10 - local.set $3 - local.get $1 - local.set $6 - local.get $12 - local.get $7 - i32.const 4 - i32.shl - local.get $3 - i32.add - i32.const 2 - i32.shl - i32.add - local.get $6 - i32.store offset=96 - local.get $0 - local.get $0 - i32.load - i32.const 1 - local.get $9 - i32.shl - i32.or - i32.store - local.get $0 - local.set $13 - local.get $9 - local.set $12 - local.get $0 - local.set $3 - local.get $9 - local.set $6 - local.get $3 - local.get $6 - i32.const 2 - i32.shl - i32.add - i32.load offset=4 - i32.const 1 - local.get $10 - i32.shl - i32.or - local.set $7 - local.get $13 - local.get $12 - i32.const 2 - i32.shl - i32.add - local.get $7 - i32.store offset=4 - ) - (func $~lib/rt/tlsf/addMemory (param $0 i32) (param $1 i32) (param $2 i32) (result i32) - (local $3 i32) - (local $4 i32) - (local $5 i32) - (local $6 i32) - (local $7 i32) - (local $8 i32) - (local $9 i32) - i32.const 1 - drop - local.get $1 - local.get $2 - i32.le_u - i32.eqz - if - i32.const 0 - i32.const 160 - i32.const 380 - i32.const 14 - call $~lib/builtins/abort - unreachable - end - local.get $1 - i32.const 4 - i32.add - i32.const 15 - i32.add - i32.const 15 - i32.const -1 - i32.xor - i32.and - i32.const 4 - i32.sub - local.set $1 - local.get $2 - i32.const 15 - i32.const -1 - i32.xor - i32.and - local.set $2 - local.get $0 - local.set $3 - local.get $3 - i32.load offset=1568 - local.set $4 - i32.const 0 - local.set $5 - local.get $4 - if - i32.const 1 - drop - local.get $1 - local.get $4 - i32.const 4 - i32.add - i32.ge_u - i32.eqz - if - i32.const 0 - i32.const 160 - i32.const 387 - i32.const 16 - call $~lib/builtins/abort - unreachable - end - local.get $1 - i32.const 16 - i32.sub - local.get $4 - i32.eq - if - local.get $1 - i32.const 16 - i32.sub - local.set $1 - local.get $4 - i32.load - local.set $5 - else - nop - end - else - i32.const 1 - drop - local.get $1 - local.get $0 - i32.const 1572 - i32.add - i32.ge_u - i32.eqz - if - i32.const 0 - i32.const 160 - i32.const 400 - i32.const 5 - call $~lib/builtins/abort - unreachable - end - end - local.get $2 - local.get $1 - i32.sub - local.set $6 - local.get $6 - i32.const 4 - i32.const 12 - i32.add - i32.const 4 - i32.add - i32.lt_u - if - i32.const 0 - return - end - local.get $6 - i32.const 2 - i32.const 4 - i32.mul - i32.sub - local.set $7 - local.get $1 - local.set $8 - local.get $8 - local.get $7 - i32.const 1 - i32.or - local.get $5 - i32.const 2 - i32.and - i32.or - i32.store - local.get $8 - i32.const 0 - i32.store offset=4 - local.get $8 - i32.const 0 - i32.store offset=8 - local.get $1 - i32.const 4 - i32.add - local.get $7 - i32.add - local.set $4 - local.get $4 - i32.const 0 - i32.const 2 - i32.or - i32.store - local.get $0 - local.set $9 - local.get $4 - local.set $3 - local.get $9 - local.get $3 - i32.store offset=1568 - local.get $0 - local.get $8 - call $~lib/rt/tlsf/insertBlock - i32.const 1 - ) - (func $~lib/rt/tlsf/initialize - (local $0 i32) - (local $1 i32) - (local $2 i32) - (local $3 i32) - (local $4 i32) - (local $5 i32) - (local $6 i32) - (local $7 i32) - (local $8 i32) - (local $9 i32) - (local $10 i32) - (local $11 i32) - (local $12 i32) - global.get $~lib/memory/__heap_base - i32.const 15 - i32.add - i32.const 15 - i32.const -1 - i32.xor - i32.and - local.set $0 - memory.size - local.set $1 - local.get $0 - i32.const 1572 - i32.add - i32.const 65535 - i32.add - i32.const 65535 - i32.const -1 - i32.xor - i32.and - i32.const 16 - i32.shr_u - local.set $2 - local.get $2 - local.get $1 - i32.gt_s - if (result i32) - local.get $2 - local.get $1 - i32.sub - memory.grow - i32.const 0 - i32.lt_s - else - i32.const 0 - end - if - unreachable - end - local.get $0 - local.set $3 - local.get $3 - i32.const 0 - i32.store - local.get $3 - local.set $5 - i32.const 0 - local.set $4 - local.get $5 - local.get $4 - i32.store offset=1568 - i32.const 0 - local.set $5 - loop $for-loop|0 - local.get $5 - i32.const 23 - i32.lt_u - local.set $4 - local.get $4 - if - local.get $3 - local.set $8 - local.get $5 - local.set $7 - i32.const 0 - local.set $6 - local.get $8 - local.get $7 - i32.const 2 - i32.shl - i32.add - local.get $6 - i32.store offset=4 - i32.const 0 - local.set $8 - loop $for-loop|1 - local.get $8 - i32.const 16 - i32.lt_u - local.set $7 - local.get $7 - if - local.get $3 - local.set $11 - local.get $5 - local.set $10 - local.get $8 - local.set $9 - i32.const 0 - local.set $6 - local.get $11 - local.get $10 - i32.const 4 - i32.shl - local.get $9 - i32.add - i32.const 2 - i32.shl - i32.add - local.get $6 - i32.store offset=96 - local.get $8 - i32.const 1 - i32.add - local.set $8 - br $for-loop|1 - end - end - local.get $5 - i32.const 1 - i32.add - local.set $5 - br $for-loop|0 - end - end - local.get $0 - i32.const 1572 - i32.add - local.set $12 - i32.const 0 - drop - local.get $3 - local.get $12 - memory.size - i32.const 16 - i32.shl - call $~lib/rt/tlsf/addMemory - drop - local.get $3 - global.set $~lib/rt/tlsf/ROOT - ) - (func $~lib/rt/tlsf/computeSize (param $0 i32) (result i32) - local.get $0 - i32.const 12 - i32.le_u - if (result i32) - i32.const 12 - else - local.get $0 - i32.const 4 - i32.add - i32.const 15 - i32.add - i32.const 15 - i32.const -1 - i32.xor - i32.and - i32.const 4 - i32.sub - end - ) - (func $~lib/rt/tlsf/prepareSize (param $0 i32) (result i32) - local.get $0 - i32.const 1073741820 - i32.ge_u - if - i32.const 96 - i32.const 160 - i32.const 461 - i32.const 30 - call $~lib/builtins/abort - unreachable - end - local.get $0 - call $~lib/rt/tlsf/computeSize - ) - (func $~lib/rt/tlsf/searchBlock (param $0 i32) (param $1 i32) (result i32) - (local $2 i32) - (local $3 i32) - (local $4 i32) - (local $5 i32) - (local $6 i32) - (local $7 i32) - (local $8 i32) - (local $9 i32) - local.get $1 - i32.const 256 - i32.lt_u - if - i32.const 0 - local.set $2 - local.get $1 - i32.const 4 - i32.shr_u - local.set $3 - else - local.get $1 - i32.const 536870910 - i32.lt_u - if (result i32) - local.get $1 - i32.const 1 - i32.const 27 - local.get $1 - i32.clz - i32.sub - i32.shl - i32.add - i32.const 1 - i32.sub - else - local.get $1 - end - local.set $4 - i32.const 31 - local.get $4 - i32.clz - i32.sub - local.set $2 - local.get $4 - local.get $2 - i32.const 4 - i32.sub - i32.shr_u - i32.const 1 - i32.const 4 - i32.shl - i32.xor - local.set $3 - local.get $2 - i32.const 8 - i32.const 1 - i32.sub - i32.sub - local.set $2 - end - i32.const 1 - drop - local.get $2 - i32.const 23 - i32.lt_u - if (result i32) - local.get $3 - i32.const 16 - i32.lt_u - else - i32.const 0 - end - i32.eqz - if - i32.const 0 - i32.const 160 - i32.const 333 - i32.const 14 - call $~lib/builtins/abort - unreachable - end - local.get $0 - local.set $5 - local.get $2 - local.set $4 - local.get $5 - local.get $4 - i32.const 2 - i32.shl - i32.add - i32.load offset=4 - i32.const 0 - i32.const -1 - i32.xor - local.get $3 - i32.shl - i32.and - local.set $6 - i32.const 0 - local.set $7 - local.get $6 - i32.eqz - if - local.get $0 - i32.load - i32.const 0 - i32.const -1 - i32.xor - local.get $2 - i32.const 1 - i32.add - i32.shl - i32.and - local.set $5 - local.get $5 - i32.eqz - if - i32.const 0 - local.set $7 - else - local.get $5 - i32.ctz - local.set $2 - local.get $0 - local.set $8 - local.get $2 - local.set $4 - local.get $8 - local.get $4 - i32.const 2 - i32.shl - i32.add - i32.load offset=4 - local.set $6 - i32.const 1 - drop - local.get $6 - i32.eqz - if - i32.const 0 - i32.const 160 - i32.const 346 - i32.const 18 - call $~lib/builtins/abort - unreachable - end - local.get $0 - local.set $9 - local.get $2 - local.set $8 - local.get $6 - i32.ctz - local.set $4 - local.get $9 - local.get $8 - i32.const 4 - i32.shl - local.get $4 - i32.add - i32.const 2 - i32.shl - i32.add - i32.load offset=96 - local.set $7 - end - else - local.get $0 - local.set $9 - local.get $2 - local.set $8 - local.get $6 - i32.ctz - local.set $4 - local.get $9 - local.get $8 - i32.const 4 - i32.shl - local.get $4 - i32.add - i32.const 2 - i32.shl - i32.add - i32.load offset=96 - local.set $7 - end - local.get $7 - ) - (func $~lib/rt/tlsf/growMemory (param $0 i32) (param $1 i32) - (local $2 i32) - (local $3 i32) - (local $4 i32) - (local $5 i32) - (local $6 i32) - (local $7 i32) - i32.const 0 - drop - local.get $1 - i32.const 536870910 - i32.lt_u - if - local.get $1 - i32.const 1 - i32.const 27 - local.get $1 - i32.clz - i32.sub - i32.shl - i32.const 1 - i32.sub - i32.add - local.set $1 - end - memory.size - local.set $2 - local.get $1 - i32.const 4 - local.get $2 - i32.const 16 - i32.shl - i32.const 4 - i32.sub - local.get $0 - local.set $3 - local.get $3 - i32.load offset=1568 - i32.ne - i32.shl - i32.add - local.set $1 - local.get $1 - i32.const 65535 - i32.add - i32.const 65535 - i32.const -1 - i32.xor - i32.and - i32.const 16 - i32.shr_u - local.set $4 - local.get $2 - local.tee $3 - local.get $4 - local.tee $5 - local.get $3 - local.get $5 - i32.gt_s - select - local.set $6 - local.get $6 - memory.grow - i32.const 0 - i32.lt_s - if - local.get $4 - memory.grow - i32.const 0 - i32.lt_s - if - unreachable - end - end - memory.size - local.set $7 - local.get $0 - local.get $2 - i32.const 16 - i32.shl - local.get $7 - i32.const 16 - i32.shl - call $~lib/rt/tlsf/addMemory - drop - ) - (func $~lib/rt/tlsf/prepareBlock (param $0 i32) (param $1 i32) (param $2 i32) - (local $3 i32) - (local $4 i32) - (local $5 i32) - local.get $1 - i32.load - local.set $3 - i32.const 1 - drop - local.get $2 - i32.const 4 - i32.add - i32.const 15 - i32.and - i32.eqz - i32.eqz - if - i32.const 0 - i32.const 160 - i32.const 360 - i32.const 14 - call $~lib/builtins/abort - unreachable - end - local.get $3 - i32.const 3 - i32.const -1 - i32.xor - i32.and - local.get $2 - i32.sub - local.set $4 - local.get $4 - i32.const 4 - i32.const 12 - i32.add - i32.ge_u - if - local.get $1 - local.get $2 - local.get $3 - i32.const 2 - i32.and - i32.or - i32.store - local.get $1 - i32.const 4 - i32.add - local.get $2 - i32.add - local.set $5 - local.get $5 - local.get $4 - i32.const 4 - i32.sub - i32.const 1 - i32.or - i32.store - local.get $0 - local.get $5 - call $~lib/rt/tlsf/insertBlock - else - local.get $1 - local.get $3 - i32.const 1 - i32.const -1 - i32.xor - i32.and - i32.store - local.get $1 - local.set $5 - local.get $5 - i32.const 4 - i32.add - local.get $5 - i32.load - i32.const 3 - i32.const -1 - i32.xor - i32.and - i32.add - local.get $1 - local.set $5 - local.get $5 - i32.const 4 - i32.add - local.get $5 - i32.load - i32.const 3 - i32.const -1 - i32.xor - i32.and - i32.add - i32.load - i32.const 2 - i32.const -1 - i32.xor - i32.and - i32.store - end - ) - (func $~lib/rt/tlsf/allocateBlock (param $0 i32) (param $1 i32) (result i32) - (local $2 i32) - (local $3 i32) - local.get $1 - call $~lib/rt/tlsf/prepareSize - local.set $2 - local.get $0 - local.get $2 - call $~lib/rt/tlsf/searchBlock - local.set $3 - local.get $3 - i32.eqz - if - local.get $0 - local.get $2 - call $~lib/rt/tlsf/growMemory - local.get $0 - local.get $2 - call $~lib/rt/tlsf/searchBlock - local.set $3 - i32.const 1 - drop - local.get $3 - i32.eqz - if - i32.const 0 - i32.const 160 - i32.const 498 - i32.const 16 - call $~lib/builtins/abort - unreachable - end - end - i32.const 1 - drop - local.get $3 - i32.load - i32.const 3 - i32.const -1 - i32.xor - i32.and - local.get $2 - i32.ge_u - i32.eqz - if - i32.const 0 - i32.const 160 - i32.const 500 - i32.const 14 - call $~lib/builtins/abort - unreachable - end - local.get $0 - local.get $3 - call $~lib/rt/tlsf/removeBlock - local.get $0 - local.get $3 - local.get $2 - call $~lib/rt/tlsf/prepareBlock - i32.const 0 - drop - local.get $3 - ) - (func $~lib/rt/tlsf/__alloc (param $0 i32) (result i32) - global.get $~lib/rt/tlsf/ROOT - i32.eqz - if - call $~lib/rt/tlsf/initialize - end - global.get $~lib/rt/tlsf/ROOT - local.get $0 - call $~lib/rt/tlsf/allocateBlock - i32.const 4 - i32.add - ) - (func $~lib/rt/pure/__new (param $0 i32) (param $1 i32) (result i32) - (local $2 i32) - (local $3 i32) - local.get $0 - i32.const 1073741804 - i32.gt_u - if - i32.const 96 - i32.const 32 - i32.const 275 - i32.const 30 - call $~lib/builtins/abort - unreachable - end - i32.const 16 - local.get $0 - i32.add - call $~lib/rt/tlsf/__alloc - local.set $2 - local.get $2 - i32.const 4 - i32.sub - local.set $3 - local.get $3 - i32.const 0 - i32.store offset=4 - local.get $3 - i32.const 0 - i32.store offset=8 - local.get $3 - local.get $1 - i32.store offset=12 - local.get $3 - local.get $0 - i32.store offset=16 - local.get $2 - i32.const 16 - i32.add - ) - (func $rc/optimize/Ref#constructor (param $0 i32) (result i32) - local.get $0 - i32.eqz - if - i32.const 0 - i32.const 3 - call $~lib/rt/pure/__new - call $~lib/rt/pure/__retain - local.set $0 - end - local.get $0 - ) - (func $rc/optimize/getRef (result i32) - i32.const 0 - call $rc/optimize/Ref#constructor - ) - (func $~lib/rt/pure/__release (param $0 i32) - local.get $0 - global.get $~lib/memory/__heap_base - i32.gt_u - if - local.get $0 - i32.const 20 - i32.sub - call $~lib/rt/pure/decrement - end - ) - (func $rc/optimize/eliminated_rr (param $0 i32) (result i32) - (local $1 i32) - local.get $0 - call $~lib/rt/pure/__retain - local.set $0 - call $rc/optimize/getRef - local.set $1 - local.get $0 - call $~lib/rt/pure/__release - local.get $1 - ) - (func $rc/optimize/OptimizeARC.eliminates.linearArgument (param $0 i32) - local.get $0 - call $~lib/rt/pure/__retain - local.set $0 - local.get $0 - call $~lib/rt/pure/__release - ) - (func $rc/optimize/OptimizeARC.eliminates.linearLocal (param $0 i32) - (local $1 i32) - local.get $0 - call $~lib/rt/pure/__retain - local.set $1 - local.get $1 - call $~lib/rt/pure/__release - ) - (func $rc/optimize/OptimizeARC.eliminates.linearChain (param $0 i32) - (local $1 i32) - (local $2 i32) - (local $3 i32) - local.get $0 - call $~lib/rt/pure/__retain - local.set $1 - local.get $1 - call $~lib/rt/pure/__retain - local.set $2 - local.get $2 - call $~lib/rt/pure/__retain - local.set $3 - local.get $3 - call $~lib/rt/pure/__release - local.get $2 - call $~lib/rt/pure/__release - local.get $1 - call $~lib/rt/pure/__release - ) - (func $rc/optimize/OptimizeARC.eliminates.balancedReleases (param $0 i32) (param $1 i32) - (local $2 i32) - local.get $0 - call $~lib/rt/pure/__retain - local.set $2 - local.get $1 - if - local.get $2 - call $~lib/rt/pure/__release - else - local.get $2 - call $~lib/rt/pure/__release - end - ) - (func $rc/optimize/OptimizeARC.eliminates.partialReleases (param $0 i32) (param $1 i32) - (local $2 i32) - local.get $0 - call $~lib/rt/pure/__retain - local.set $2 - local.get $1 - if - local.get $2 - call $~lib/rt/pure/__release - end - ) - (func $rc/optimize/OptimizeARC.eliminates.balancedRetains (param $0 i32) (param $1 i32) (param $2 i32) - (local $3 i32) - local.get $1 - if - local.get $2 - if - local.get $0 - call $~lib/rt/pure/__retain - local.set $3 - else - local.get $0 - call $~lib/rt/pure/__retain - local.set $3 - end - else - local.get $0 - call $~lib/rt/pure/__retain - local.set $3 - end - local.get $3 - call $~lib/rt/pure/__release - ) - (func $rc/optimize/OptimizeARC.eliminates.balancedInsideLoop (param $0 i32) (param $1 i32) - (local $2 i32) - loop $while-continue|0 - local.get $1 - local.set $2 - local.get $2 - if - local.get $0 - call $~lib/rt/pure/__retain - local.set $0 - local.get $0 - call $~lib/rt/pure/__release - br $while-continue|0 - end - end - ) - (func $rc/optimize/OptimizeARC.eliminates.balancedOutsideLoop (param $0 i32) (param $1 i32) - (local $2 i32) - local.get $0 - call $~lib/rt/pure/__retain - local.set $0 - loop $while-continue|0 - local.get $1 - local.set $2 - local.get $2 - if - br $while-continue|0 - end - end - local.get $0 - call $~lib/rt/pure/__release - ) - (func $rc/optimize/OptimizeARC.eliminates.balancedInsideOutsideLoop (param $0 i32) (param $1 i32) - (local $2 i32) - local.get $0 - call $~lib/rt/pure/__retain - local.set $0 - loop $while-continue|0 - local.get $1 - local.set $2 - local.get $2 - if - local.get $0 - call $~lib/rt/pure/__release - local.get $0 - call $~lib/rt/pure/__retain - local.set $0 - br $while-continue|0 - end - end - local.get $0 - call $~lib/rt/pure/__release - ) - (func $rc/optimize/OptimizeARC.eliminates.balancedInsideOutsideLoopWithBranch (param $0 i32) (param $1 i32) (param $2 i32) - (local $3 i32) - local.get $0 - call $~lib/rt/pure/__retain - local.set $0 - loop $while-continue|0 - local.get $1 - local.set $3 - local.get $3 - if - local.get $2 - if - local.get $0 - call $~lib/rt/pure/__release - return - end - local.get $0 - call $~lib/rt/pure/__release - local.get $0 - call $~lib/rt/pure/__retain - local.set $0 - br $while-continue|0 - end - end - local.get $0 - call $~lib/rt/pure/__release - ) - (func $rc/optimize/OptimizeARC.eliminates.replace (param $0 i32) (param $1 i32) - (local $2 i32) - (local $3 i32) - local.get $0 - call $~lib/rt/pure/__retain - local.set $0 - local.get $1 - call $~lib/rt/pure/__retain - local.set $1 - local.get $1 - local.tee $2 - local.get $0 - local.tee $3 - i32.ne - if - local.get $2 - call $~lib/rt/pure/__retain - local.set $2 - local.get $3 - call $~lib/rt/pure/__release - end - local.get $2 - local.set $0 - local.get $0 - call $~lib/rt/pure/__release - local.get $1 - call $~lib/rt/pure/__release - ) - (func $rc/optimize/OptimizeARC.eliminates.replaceAlreadyRetained (param $0 i32) (result i32) - (local $1 i32) - local.get $0 - call $~lib/rt/pure/__retain - local.set $0 - call $rc/optimize/getRef - local.set $1 - local.get $0 - call $~lib/rt/pure/__release - local.get $1 - local.set $0 - local.get $0 - ) - (func $rc/optimize/OptimizeARC.keeps.partialRetains (param $0 i32) (param $1 i32) - local.get $1 - if - local.get $0 - call $~lib/rt/pure/__retain - local.set $0 - end - local.get $0 - call $~lib/rt/pure/__release - ) - (func $rc/optimize/OptimizeARC.keeps.reachesReturn (param $0 i32) (param $1 i32) (result i32) - local.get $0 - call $~lib/rt/pure/__retain - local.set $0 - local.get $1 - if - local.get $0 - return - end - local.get $0 - call $~lib/rt/pure/__release - i32.const 0 - ) - (func $rc/optimize/FinalizeARC.eliminates.unnecessaryAllocation - i32.const 1 - i32.const 0 - call $~lib/rt/pure/__new - call $~lib/rt/pure/__retain - call $~lib/rt/pure/__release - ) - (func $rc/optimize/FinalizeARC.eliminates.unnecessaryPair (param $0 i32) - local.get $0 - call $~lib/rt/pure/__retain - call $~lib/rt/pure/__release - ) - (func $rc/optimize/FinalizeARC.eliminates.unnecessaryStaticPair - i32.const 224 - call $~lib/rt/pure/__retain - call $~lib/rt/pure/__release - ) - (func $rc/optimize/FinalizeARC.eliminates.unnecessaryStaticRetain - i32.const 224 - call $~lib/rt/pure/__retain - drop - ) - (func $rc/optimize/FinalizeARC.eliminates.unnecessaryStaticRelease - i32.const 224 - call $~lib/rt/pure/__release - ) - (func $rc/optimize/FinalizeARC.keeps.dynamicRetain (param $0 i32) - local.get $0 - call $~lib/rt/pure/__retain - local.set $0 - ) - (func $rc/optimize/FinalizeARC.keeps.dynamicRelease (param $0 i32) - local.get $0 - call $~lib/rt/pure/__release - ) - (func $~lib/rt/tlsf/freeBlock (param $0 i32) (param $1 i32) - local.get $1 - local.get $1 - i32.load - i32.const 1 - i32.or - i32.store - i32.const 0 - drop - local.get $0 - local.get $1 - call $~lib/rt/tlsf/insertBlock - ) - (func $~lib/rt/pure/finalize (param $0 i32) - i32.const 0 - drop - global.get $~lib/rt/tlsf/ROOT - local.get $0 - call $~lib/rt/tlsf/freeBlock - ) - (func $~lib/rt/pure/decrement (param $0 i32) - (local $1 i32) - (local $2 i32) - local.get $0 - i32.load offset=4 - local.set $1 - local.get $1 - i32.const 268435455 - i32.and - local.set $2 - i32.const 0 - drop - i32.const 1 - drop - local.get $0 - i32.load - i32.const 1 - i32.and - i32.eqz - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 122 - i32.const 14 - call $~lib/builtins/abort - unreachable - end - local.get $2 - i32.const 1 - i32.eq - if - local.get $0 - i32.const 20 - i32.add - i32.const 1 - call $~lib/rt/__visit_members - i32.const 1 - drop - i32.const 1 - drop - local.get $1 - i32.const -2147483648 - i32.and - i32.eqz - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 126 - i32.const 18 - call $~lib/builtins/abort - unreachable - end - local.get $0 - call $~lib/rt/pure/finalize - else - i32.const 1 - drop - local.get $2 - i32.const 0 - i32.gt_u - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 136 - i32.const 16 - call $~lib/builtins/abort - unreachable - end - i32.const 1 - drop - local.get $0 - local.get $1 - i32.const 268435455 - i32.const -1 - i32.xor - i32.and - local.get $2 - i32.const 1 - i32.sub - i32.or - i32.store offset=4 - end - ) - (func $~lib/rt/pure/__visit (param $0 i32) (param $1 i32) - local.get $0 - global.get $~lib/memory/__heap_base - i32.lt_u - if - return - end - i32.const 1 - drop - i32.const 1 - drop - local.get $1 - i32.const 1 - i32.eq - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 69 - i32.const 16 - call $~lib/builtins/abort - unreachable - end - local.get $0 - i32.const 20 - i32.sub - call $~lib/rt/pure/decrement - ) - (func $~lib/arraybuffer/ArrayBuffer~visit (param $0 i32) (param $1 i32) - nop - ) - (func $~lib/string/String~visit (param $0 i32) (param $1 i32) - nop - ) - (func $~lib/arraybuffer/ArrayBufferView~visit (param $0 i32) (param $1 i32) - (local $2 i32) - local.get $0 - i32.load - local.tee $2 - if - local.get $2 - local.get $1 - call $~lib/rt/pure/__visit - end - ) - (func $rc/optimize/Ref~visit (param $0 i32) (param $1 i32) - nop - ) - (func $~lib/rt/__visit_members (param $0 i32) (param $1 i32) - block $invalid - block $rc/optimize/Ref - block $~lib/arraybuffer/ArrayBufferView - block $~lib/string/String - block $~lib/arraybuffer/ArrayBuffer - local.get $0 - i32.const 8 - i32.sub - i32.load - br_table $~lib/arraybuffer/ArrayBuffer $~lib/string/String $~lib/arraybuffer/ArrayBufferView $rc/optimize/Ref $invalid - end - local.get $0 - local.get $1 - call $~lib/arraybuffer/ArrayBuffer~visit - return - end - local.get $0 - local.get $1 - call $~lib/string/String~visit - return - end - local.get $0 - local.get $1 - call $~lib/arraybuffer/ArrayBufferView~visit - return - end - local.get $0 - local.get $1 - call $rc/optimize/Ref~visit - return - end - unreachable - ) -) diff --git a/tests/compiler/rc/rereturn.optimized.wat b/tests/compiler/rc/rereturn.optimized.wat deleted file mode 100644 index ff02b7c603..0000000000 --- a/tests/compiler/rc/rereturn.optimized.wat +++ /dev/null @@ -1,1557 +0,0 @@ -(module - (type $i32_i32_=>_i32 (func (param i32 i32) (result i32))) - (type $i32_i32_=>_none (func (param i32 i32))) - (type $i32_i32_i32_=>_none (func (param i32 i32 i32))) - (type $i32_=>_i32 (func (param i32) (result i32))) - (type $none_=>_none (func)) - (type $i32_=>_none (func (param i32))) - (type $i32_i32_i32_i32_=>_none (func (param i32 i32 i32 i32))) - (type $i32_i32_i32_=>_i32 (func (param i32 i32 i32) (result i32))) - (import "env" "abort" (func $~lib/builtins/abort (param i32 i32 i32 i32))) - (memory $0 1) - (data (i32.const 1036) "<\00\00\00\01\00\00\00\00\00\00\00\01\00\00\00(\00\00\00a\00l\00l\00o\00c\00a\00t\00i\00o\00n\00 \00t\00o\00o\00 \00l\00a\00r\00g\00e") - (data (i32.const 1100) "<\00\00\00\01\00\00\00\00\00\00\00\01\00\00\00\1e\00\00\00~\00l\00i\00b\00/\00r\00t\00/\00p\00u\00r\00e\00.\00t\00s") - (data (i32.const 1164) "<\00\00\00\01\00\00\00\00\00\00\00\01\00\00\00\1e\00\00\00~\00l\00i\00b\00/\00r\00t\00/\00t\00l\00s\00f\00.\00t\00s") - (data (i32.const 1232) "\04\00\00\00 \00\00\00\00\00\00\00 \00\00\00\00\00\00\00 \00\00\00\00\00\00\00 ") - (global $~lib/rt/tlsf/ROOT (mut i32) (i32.const 0)) - (global $~lib/rt/__rtti_base i32 (i32.const 1232)) - (export "memory" (memory $0)) - (export "__new" (func $~lib/rt/pure/__new)) - (export "__renew" (func $~lib/rt/pure/__renew)) - (export "__retain" (func $~lib/rt/pure/__retain)) - (export "__release" (func $~lib/rt/pure/__release)) - (export "__rtti_base" (global $~lib/rt/__rtti_base)) - (start $~start) - (func $~lib/rt/tlsf/removeBlock (param $0 i32) (param $1 i32) - (local $2 i32) - (local $3 i32) - (local $4 i32) - (local $5 i32) - local.get $1 - i32.load - local.tee $2 - i32.const 1 - i32.and - i32.eqz - if - i32.const 0 - i32.const 1184 - i32.const 272 - i32.const 14 - call $~lib/builtins/abort - unreachable - end - local.get $2 - i32.const -4 - i32.and - local.tee $2 - i32.const 1073741820 - i32.lt_u - i32.const 0 - local.get $2 - i32.const 12 - i32.ge_u - select - i32.eqz - if - i32.const 0 - i32.const 1184 - i32.const 274 - i32.const 14 - call $~lib/builtins/abort - unreachable - end - local.get $2 - i32.const 256 - i32.lt_u - if - local.get $2 - i32.const 4 - i32.shr_u - local.set $2 - else - local.get $2 - i32.const 31 - local.get $2 - i32.clz - i32.sub - local.tee $3 - i32.const 4 - i32.sub - i32.shr_u - i32.const 16 - i32.xor - local.set $2 - local.get $3 - i32.const 7 - i32.sub - local.set $3 - end - local.get $2 - i32.const 16 - i32.lt_u - i32.const 0 - local.get $3 - i32.const 23 - i32.lt_u - select - i32.eqz - if - i32.const 0 - i32.const 1184 - i32.const 287 - i32.const 14 - call $~lib/builtins/abort - unreachable - end - local.get $1 - i32.load offset=8 - local.set $4 - local.get $1 - i32.load offset=4 - local.tee $5 - if - local.get $5 - local.get $4 - i32.store offset=8 - end - local.get $4 - if - local.get $4 - local.get $5 - i32.store offset=4 - end - local.get $1 - local.get $0 - local.get $2 - local.get $3 - i32.const 4 - i32.shl - i32.add - i32.const 2 - i32.shl - i32.add - i32.load offset=96 - i32.eq - if - local.get $0 - local.get $2 - local.get $3 - i32.const 4 - i32.shl - i32.add - i32.const 2 - i32.shl - i32.add - local.get $4 - i32.store offset=96 - local.get $4 - i32.eqz - if - local.get $0 - local.get $3 - i32.const 2 - i32.shl - i32.add - local.tee $4 - i32.load offset=4 - i32.const -2 - local.get $2 - i32.rotl - i32.and - local.set $1 - local.get $4 - local.get $1 - i32.store offset=4 - local.get $1 - i32.eqz - if - local.get $0 - local.get $0 - i32.load - i32.const -2 - local.get $3 - i32.rotl - i32.and - i32.store - end - end - end - ) - (func $~lib/rt/tlsf/insertBlock (param $0 i32) (param $1 i32) - (local $2 i32) - (local $3 i32) - (local $4 i32) - (local $5 i32) - (local $6 i32) - (local $7 i32) - (local $8 i32) - local.get $1 - i32.eqz - if - i32.const 0 - i32.const 1184 - i32.const 200 - i32.const 14 - call $~lib/builtins/abort - unreachable - end - local.get $1 - i32.load - local.tee $4 - i32.const 1 - i32.and - i32.eqz - if - i32.const 0 - i32.const 1184 - i32.const 202 - i32.const 14 - call $~lib/builtins/abort - unreachable - end - local.get $1 - i32.const 4 - i32.add - local.get $1 - i32.load - i32.const -4 - i32.and - i32.add - local.tee $5 - i32.load - local.tee $2 - i32.const 1 - i32.and - if - local.get $4 - i32.const -4 - i32.and - i32.const 4 - i32.add - local.get $2 - i32.const -4 - i32.and - i32.add - local.tee $3 - i32.const 1073741820 - i32.lt_u - if - local.get $0 - local.get $5 - call $~lib/rt/tlsf/removeBlock - local.get $1 - local.get $3 - local.get $4 - i32.const 3 - i32.and - i32.or - local.tee $4 - i32.store - local.get $1 - i32.const 4 - i32.add - local.get $1 - i32.load - i32.const -4 - i32.and - i32.add - local.tee $5 - i32.load - local.set $2 - end - end - local.get $4 - i32.const 2 - i32.and - if - local.get $1 - i32.const 4 - i32.sub - i32.load - local.tee $3 - i32.load - local.tee $7 - i32.const 1 - i32.and - i32.eqz - if - i32.const 0 - i32.const 1184 - i32.const 223 - i32.const 16 - call $~lib/builtins/abort - unreachable - end - local.get $7 - i32.const -4 - i32.and - i32.const 4 - i32.add - local.get $4 - i32.const -4 - i32.and - i32.add - local.tee $8 - i32.const 1073741820 - i32.lt_u - if (result i32) - local.get $0 - local.get $3 - call $~lib/rt/tlsf/removeBlock - local.get $3 - local.get $8 - local.get $7 - i32.const 3 - i32.and - i32.or - local.tee $4 - i32.store - local.get $3 - else - local.get $1 - end - local.set $1 - end - local.get $5 - local.get $2 - i32.const 2 - i32.or - i32.store - local.get $4 - i32.const -4 - i32.and - local.tee $3 - i32.const 1073741820 - i32.lt_u - i32.const 0 - local.get $3 - i32.const 12 - i32.ge_u - select - i32.eqz - if - i32.const 0 - i32.const 1184 - i32.const 238 - i32.const 14 - call $~lib/builtins/abort - unreachable - end - local.get $3 - local.get $1 - i32.const 4 - i32.add - i32.add - local.get $5 - i32.ne - if - i32.const 0 - i32.const 1184 - i32.const 239 - i32.const 14 - call $~lib/builtins/abort - unreachable - end - local.get $5 - i32.const 4 - i32.sub - local.get $1 - i32.store - local.get $3 - i32.const 256 - i32.lt_u - if - local.get $3 - i32.const 4 - i32.shr_u - local.set $3 - else - local.get $3 - i32.const 31 - local.get $3 - i32.clz - i32.sub - local.tee $4 - i32.const 4 - i32.sub - i32.shr_u - i32.const 16 - i32.xor - local.set $3 - local.get $4 - i32.const 7 - i32.sub - local.set $6 - end - local.get $3 - i32.const 16 - i32.lt_u - i32.const 0 - local.get $6 - i32.const 23 - i32.lt_u - select - i32.eqz - if - i32.const 0 - i32.const 1184 - i32.const 255 - i32.const 14 - call $~lib/builtins/abort - unreachable - end - local.get $0 - local.get $3 - local.get $6 - i32.const 4 - i32.shl - i32.add - i32.const 2 - i32.shl - i32.add - i32.load offset=96 - local.set $4 - local.get $1 - i32.const 0 - i32.store offset=4 - local.get $1 - local.get $4 - i32.store offset=8 - local.get $4 - if - local.get $4 - local.get $1 - i32.store offset=4 - end - local.get $0 - local.get $3 - local.get $6 - i32.const 4 - i32.shl - i32.add - i32.const 2 - i32.shl - i32.add - local.get $1 - i32.store offset=96 - local.get $0 - local.get $0 - i32.load - i32.const 1 - local.get $6 - i32.shl - i32.or - i32.store - local.get $0 - local.get $6 - i32.const 2 - i32.shl - i32.add - local.tee $0 - local.get $0 - i32.load offset=4 - i32.const 1 - local.get $3 - i32.shl - i32.or - i32.store offset=4 - ) - (func $~lib/rt/tlsf/addMemory (param $0 i32) (param $1 i32) (param $2 i32) - (local $3 i32) - (local $4 i32) - local.get $1 - local.get $2 - i32.gt_u - if - i32.const 0 - i32.const 1184 - i32.const 380 - i32.const 14 - call $~lib/builtins/abort - unreachable - end - local.get $1 - i32.const 19 - i32.add - i32.const -16 - i32.and - i32.const 4 - i32.sub - local.set $1 - local.get $2 - i32.const -16 - i32.and - local.get $0 - i32.load offset=1568 - local.tee $2 - if - local.get $1 - local.get $2 - i32.const 4 - i32.add - i32.lt_u - if - i32.const 0 - i32.const 1184 - i32.const 387 - i32.const 16 - call $~lib/builtins/abort - unreachable - end - local.get $2 - local.get $1 - i32.const 16 - i32.sub - i32.eq - if - local.get $2 - i32.load - local.set $4 - local.get $1 - i32.const 16 - i32.sub - local.set $1 - end - else - local.get $1 - local.get $0 - i32.const 1572 - i32.add - i32.lt_u - if - i32.const 0 - i32.const 1184 - i32.const 400 - i32.const 5 - call $~lib/builtins/abort - unreachable - end - end - local.get $1 - i32.sub - local.tee $2 - i32.const 20 - i32.lt_u - if - return - end - local.get $1 - local.get $4 - i32.const 2 - i32.and - local.get $2 - i32.const 8 - i32.sub - local.tee $2 - i32.const 1 - i32.or - i32.or - i32.store - local.get $1 - i32.const 0 - i32.store offset=4 - local.get $1 - i32.const 0 - i32.store offset=8 - local.get $2 - local.get $1 - i32.const 4 - i32.add - i32.add - local.tee $2 - i32.const 2 - i32.store - local.get $0 - local.get $2 - i32.store offset=1568 - local.get $0 - local.get $1 - call $~lib/rt/tlsf/insertBlock - ) - (func $~lib/rt/tlsf/initialize - (local $0 i32) - (local $1 i32) - memory.size - local.tee $0 - i32.const 1 - i32.lt_s - if (result i32) - i32.const 1 - local.get $0 - i32.sub - memory.grow - i32.const 0 - i32.lt_s - else - i32.const 0 - end - if - unreachable - end - i32.const 1280 - i32.const 0 - i32.store - i32.const 2848 - i32.const 0 - i32.store - loop $for-loop|0 - local.get $1 - i32.const 23 - i32.lt_u - if - local.get $1 - i32.const 2 - i32.shl - i32.const 1280 - i32.add - i32.const 0 - i32.store offset=4 - i32.const 0 - local.set $0 - loop $for-loop|1 - local.get $0 - i32.const 16 - i32.lt_u - if - local.get $0 - local.get $1 - i32.const 4 - i32.shl - i32.add - i32.const 2 - i32.shl - i32.const 1280 - i32.add - i32.const 0 - i32.store offset=96 - local.get $0 - i32.const 1 - i32.add - local.set $0 - br $for-loop|1 - end - end - local.get $1 - i32.const 1 - i32.add - local.set $1 - br $for-loop|0 - end - end - i32.const 1280 - i32.const 2852 - memory.size - i32.const 16 - i32.shl - call $~lib/rt/tlsf/addMemory - i32.const 1280 - global.set $~lib/rt/tlsf/ROOT - ) - (func $~lib/rt/tlsf/prepareSize (param $0 i32) (result i32) - local.get $0 - i32.const 1073741820 - i32.ge_u - if - i32.const 1056 - i32.const 1184 - i32.const 461 - i32.const 30 - call $~lib/builtins/abort - unreachable - end - i32.const 12 - local.get $0 - i32.const 19 - i32.add - i32.const -16 - i32.and - i32.const 4 - i32.sub - local.get $0 - i32.const 12 - i32.le_u - select - ) - (func $~lib/rt/tlsf/searchBlock (param $0 i32) (param $1 i32) (result i32) - (local $2 i32) - local.get $1 - i32.const 256 - i32.lt_u - if - local.get $1 - i32.const 4 - i32.shr_u - local.set $1 - else - i32.const 31 - local.get $1 - i32.const 1 - i32.const 27 - local.get $1 - i32.clz - i32.sub - i32.shl - i32.add - i32.const 1 - i32.sub - local.get $1 - local.get $1 - i32.const 536870910 - i32.lt_u - select - local.tee $1 - i32.clz - i32.sub - local.set $2 - local.get $1 - local.get $2 - i32.const 4 - i32.sub - i32.shr_u - i32.const 16 - i32.xor - local.set $1 - local.get $2 - i32.const 7 - i32.sub - local.set $2 - end - local.get $1 - i32.const 16 - i32.lt_u - i32.const 0 - local.get $2 - i32.const 23 - i32.lt_u - select - i32.eqz - if - i32.const 0 - i32.const 1184 - i32.const 333 - i32.const 14 - call $~lib/builtins/abort - unreachable - end - local.get $0 - local.get $2 - i32.const 2 - i32.shl - i32.add - i32.load offset=4 - i32.const -1 - local.get $1 - i32.shl - i32.and - local.tee $1 - if (result i32) - local.get $0 - local.get $1 - i32.ctz - local.get $2 - i32.const 4 - i32.shl - i32.add - i32.const 2 - i32.shl - i32.add - i32.load offset=96 - else - local.get $0 - i32.load - i32.const -1 - local.get $2 - i32.const 1 - i32.add - i32.shl - i32.and - local.tee $1 - if (result i32) - local.get $0 - local.get $1 - i32.ctz - local.tee $1 - i32.const 2 - i32.shl - i32.add - i32.load offset=4 - local.tee $2 - i32.eqz - if - i32.const 0 - i32.const 1184 - i32.const 346 - i32.const 18 - call $~lib/builtins/abort - unreachable - end - local.get $0 - local.get $2 - i32.ctz - local.get $1 - i32.const 4 - i32.shl - i32.add - i32.const 2 - i32.shl - i32.add - i32.load offset=96 - else - i32.const 0 - end - end - ) - (func $~lib/rt/tlsf/prepareBlock (param $0 i32) (param $1 i32) (param $2 i32) - (local $3 i32) - (local $4 i32) - local.get $1 - i32.load - local.set $3 - local.get $2 - i32.const 4 - i32.add - i32.const 15 - i32.and - if - i32.const 0 - i32.const 1184 - i32.const 360 - i32.const 14 - call $~lib/builtins/abort - unreachable - end - local.get $3 - i32.const -4 - i32.and - local.get $2 - i32.sub - local.tee $4 - i32.const 16 - i32.ge_u - if - local.get $1 - local.get $2 - local.get $3 - i32.const 2 - i32.and - i32.or - i32.store - local.get $2 - local.get $1 - i32.const 4 - i32.add - i32.add - local.tee $1 - local.get $4 - i32.const 4 - i32.sub - i32.const 1 - i32.or - i32.store - local.get $0 - local.get $1 - call $~lib/rt/tlsf/insertBlock - else - local.get $1 - local.get $3 - i32.const -2 - i32.and - i32.store - 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 $0 - local.get $1 - i32.load - i32.const -4 - i32.and - i32.add - i32.load - i32.const -3 - i32.and - i32.store - end - ) - (func $~lib/rt/tlsf/allocateBlock (param $0 i32) (param $1 i32) (result i32) - (local $2 i32) - (local $3 i32) - local.get $0 - local.get $1 - call $~lib/rt/tlsf/prepareSize - local.tee $2 - call $~lib/rt/tlsf/searchBlock - local.tee $1 - i32.eqz - if - i32.const 4 - memory.size - local.tee $1 - i32.const 16 - i32.shl - i32.const 4 - i32.sub - local.get $0 - i32.load offset=1568 - i32.ne - i32.shl - local.get $2 - i32.const 1 - i32.const 27 - local.get $2 - i32.clz - i32.sub - i32.shl - i32.const 1 - i32.sub - i32.add - local.get $2 - local.get $2 - i32.const 536870910 - i32.lt_u - select - i32.add - i32.const 65535 - i32.add - i32.const -65536 - i32.and - i32.const 16 - i32.shr_u - local.set $3 - local.get $1 - local.get $3 - local.get $1 - local.get $3 - i32.gt_s - select - memory.grow - i32.const 0 - i32.lt_s - if - local.get $3 - memory.grow - i32.const 0 - i32.lt_s - if - unreachable - end - end - local.get $0 - local.get $1 - i32.const 16 - i32.shl - memory.size - i32.const 16 - i32.shl - call $~lib/rt/tlsf/addMemory - local.get $0 - local.get $2 - call $~lib/rt/tlsf/searchBlock - local.tee $1 - i32.eqz - if - i32.const 0 - i32.const 1184 - i32.const 498 - i32.const 16 - call $~lib/builtins/abort - unreachable - end - end - local.get $2 - local.get $1 - i32.load - i32.const -4 - i32.and - i32.gt_u - if - i32.const 0 - i32.const 1184 - i32.const 500 - i32.const 14 - call $~lib/builtins/abort - unreachable - end - local.get $0 - local.get $1 - call $~lib/rt/tlsf/removeBlock - local.get $0 - local.get $1 - local.get $2 - call $~lib/rt/tlsf/prepareBlock - local.get $1 - ) - (func $~lib/rt/pure/__new (param $0 i32) (param $1 i32) (result i32) - (local $2 i32) - (local $3 i32) - local.get $0 - i32.const 1073741804 - i32.gt_u - if - i32.const 1056 - i32.const 1120 - i32.const 275 - i32.const 30 - call $~lib/builtins/abort - unreachable - end - local.get $0 - i32.const 16 - i32.add - local.set $2 - global.get $~lib/rt/tlsf/ROOT - i32.eqz - if - call $~lib/rt/tlsf/initialize - end - global.get $~lib/rt/tlsf/ROOT - local.get $2 - call $~lib/rt/tlsf/allocateBlock - i32.const 4 - i32.add - local.tee $3 - i32.const 4 - i32.sub - local.tee $2 - i32.const 0 - i32.store offset=4 - local.get $2 - i32.const 0 - i32.store offset=8 - local.get $2 - local.get $1 - i32.store offset=12 - local.get $2 - local.get $0 - i32.store offset=16 - local.get $3 - i32.const 16 - i32.add - ) - (func $~lib/rt/tlsf/checkUsedBlock (param $0 i32) (result i32) - (local $1 i32) - local.get $0 - i32.const 4 - i32.sub - local.set $1 - local.get $0 - i32.const 15 - i32.and - i32.eqz - i32.const 0 - local.get $0 - select - if (result i32) - local.get $1 - i32.load - i32.const 1 - i32.and - i32.eqz - else - i32.const 0 - end - i32.eqz - if - i32.const 0 - i32.const 1184 - i32.const 563 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $1 - ) - (func $~lib/memory/memory.copy (param $0 i32) (param $1 i32) (param $2 i32) - (local $3 i32) - (local $4 i32) - block $~lib/util/memory/memmove|inlined.0 - local.get $2 - local.set $4 - local.get $0 - local.get $1 - i32.eq - br_if $~lib/util/memory/memmove|inlined.0 - local.get $0 - local.get $1 - i32.lt_u - if - local.get $1 - i32.const 7 - i32.and - local.get $0 - i32.const 7 - i32.and - i32.eq - if - loop $while-continue|0 - local.get $0 - i32.const 7 - i32.and - if - local.get $4 - i32.eqz - br_if $~lib/util/memory/memmove|inlined.0 - local.get $4 - i32.const 1 - i32.sub - local.set $4 - local.get $0 - local.tee $2 - i32.const 1 - i32.add - local.set $0 - local.get $1 - local.tee $3 - i32.const 1 - i32.add - local.set $1 - local.get $2 - local.get $3 - i32.load8_u - i32.store8 - br $while-continue|0 - end - end - loop $while-continue|1 - local.get $4 - i32.const 8 - i32.ge_u - if - local.get $0 - local.get $1 - i64.load - i64.store - local.get $4 - i32.const 8 - i32.sub - local.set $4 - local.get $0 - i32.const 8 - i32.add - local.set $0 - local.get $1 - i32.const 8 - i32.add - local.set $1 - br $while-continue|1 - end - end - end - loop $while-continue|2 - local.get $4 - if - local.get $0 - local.tee $2 - i32.const 1 - i32.add - local.set $0 - local.get $1 - local.tee $3 - i32.const 1 - i32.add - local.set $1 - local.get $2 - local.get $3 - i32.load8_u - i32.store8 - local.get $4 - i32.const 1 - i32.sub - local.set $4 - br $while-continue|2 - end - end - else - local.get $1 - i32.const 7 - i32.and - local.get $0 - i32.const 7 - i32.and - i32.eq - if - loop $while-continue|3 - local.get $0 - local.get $4 - i32.add - i32.const 7 - i32.and - if - local.get $4 - i32.eqz - br_if $~lib/util/memory/memmove|inlined.0 - local.get $4 - i32.const 1 - i32.sub - local.tee $4 - local.get $0 - i32.add - local.get $1 - local.get $4 - i32.add - i32.load8_u - i32.store8 - br $while-continue|3 - end - end - loop $while-continue|4 - local.get $4 - i32.const 8 - i32.ge_u - if - local.get $4 - i32.const 8 - i32.sub - local.tee $4 - local.get $0 - i32.add - local.get $1 - local.get $4 - i32.add - i64.load - i64.store - br $while-continue|4 - end - end - end - loop $while-continue|5 - local.get $4 - if - local.get $4 - i32.const 1 - i32.sub - local.tee $4 - local.get $0 - i32.add - local.get $1 - local.get $4 - i32.add - i32.load8_u - i32.store8 - br $while-continue|5 - end - end - end - end - ) - (func $~lib/rt/tlsf/freeBlock (param $0 i32) (param $1 i32) - local.get $1 - local.get $1 - i32.load - i32.const 1 - i32.or - i32.store - local.get $0 - local.get $1 - call $~lib/rt/tlsf/insertBlock - ) - (func $~lib/rt/tlsf/moveBlock (param $0 i32) (param $1 i32) (param $2 i32) (result i32) - local.get $0 - local.get $2 - call $~lib/rt/tlsf/allocateBlock - local.tee $2 - i32.const 4 - i32.add - local.get $1 - i32.const 4 - i32.add - local.get $1 - i32.load - i32.const -4 - i32.and - call $~lib/memory/memory.copy - local.get $1 - i32.const 1268 - i32.ge_u - if - local.get $0 - local.get $1 - call $~lib/rt/tlsf/freeBlock - end - local.get $2 - ) - (func $~lib/rt/pure/__renew (param $0 i32) (param $1 i32) (result i32) - (local $2 i32) - (local $3 i32) - (local $4 i32) - (local $5 i32) - (local $6 i32) - (local $7 i32) - (local $8 i32) - local.get $1 - i32.const 1073741804 - i32.gt_u - if - i32.const 1056 - i32.const 1120 - i32.const 288 - i32.const 30 - call $~lib/builtins/abort - unreachable - end - local.get $0 - i32.const 16 - i32.sub - local.set $0 - global.get $~lib/rt/tlsf/ROOT - i32.eqz - if - call $~lib/rt/tlsf/initialize - end - local.get $1 - i32.const 16 - i32.add - local.set $2 - local.get $0 - i32.const 1268 - i32.lt_u - if - global.get $~lib/rt/tlsf/ROOT - local.get $0 - call $~lib/rt/tlsf/checkUsedBlock - local.get $2 - call $~lib/rt/tlsf/moveBlock - local.set $0 - else - block $__inlined_func$~lib/rt/tlsf/reallocateBlock - global.get $~lib/rt/tlsf/ROOT - local.set $3 - local.get $0 - call $~lib/rt/tlsf/checkUsedBlock - local.set $0 - block $folding-inner0 - local.get $2 - call $~lib/rt/tlsf/prepareSize - local.tee $5 - local.get $0 - i32.load - local.tee $6 - i32.const -4 - i32.and - local.tee $4 - i32.le_u - br_if $folding-inner0 - local.get $0 - i32.const 4 - i32.add - local.get $0 - i32.load - i32.const -4 - i32.and - i32.add - local.tee $7 - i32.load - local.tee $8 - i32.const 1 - i32.and - if - local.get $5 - local.get $4 - i32.const 4 - i32.add - local.get $8 - i32.const -4 - i32.and - i32.add - local.tee $4 - i32.le_u - if - local.get $3 - local.get $7 - call $~lib/rt/tlsf/removeBlock - local.get $0 - local.get $4 - local.get $6 - i32.const 3 - i32.and - i32.or - i32.store - br $folding-inner0 - end - end - local.get $3 - local.get $0 - local.get $2 - call $~lib/rt/tlsf/moveBlock - local.set $0 - br $__inlined_func$~lib/rt/tlsf/reallocateBlock - end - local.get $3 - local.get $0 - local.get $5 - call $~lib/rt/tlsf/prepareBlock - end - end - local.get $0 - i32.const 4 - i32.add - local.tee $0 - i32.const 4 - i32.sub - local.get $1 - i32.store offset=16 - local.get $0 - i32.const 16 - i32.add - ) - (func $~lib/rt/pure/__retain (param $0 i32) (result i32) - (local $1 i32) - (local $2 i32) - local.get $0 - i32.const 1268 - i32.gt_u - if - local.get $0 - i32.const 20 - i32.sub - local.tee $1 - i32.load offset=4 - local.tee $2 - i32.const -268435456 - i32.and - local.get $2 - i32.const 1 - i32.add - i32.const -268435456 - i32.and - i32.ne - if - i32.const 0 - i32.const 1120 - i32.const 109 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $1 - local.get $2 - i32.const 1 - i32.add - i32.store offset=4 - local.get $1 - i32.load - i32.const 1 - i32.and - if - i32.const 0 - i32.const 1120 - i32.const 112 - i32.const 14 - call $~lib/builtins/abort - unreachable - end - end - local.get $0 - ) - (func $~lib/rt/pure/__release (param $0 i32) - local.get $0 - i32.const 1268 - i32.gt_u - if - local.get $0 - i32.const 20 - i32.sub - call $~lib/rt/pure/decrement - end - ) - (func $~lib/rt/pure/decrement (param $0 i32) - (local $1 i32) - (local $2 i32) - local.get $0 - i32.load offset=4 - local.tee $2 - i32.const 268435455 - i32.and - local.set $1 - local.get $0 - i32.load - i32.const 1 - i32.and - if - i32.const 0 - i32.const 1120 - i32.const 122 - i32.const 14 - call $~lib/builtins/abort - unreachable - end - local.get $1 - i32.const 1 - i32.eq - if - block $__inlined_func$~lib/rt/__visit_members - block $invalid - block $~lib/arraybuffer/ArrayBufferView - local.get $0 - i32.const 12 - i32.add - i32.load - br_table $__inlined_func$~lib/rt/__visit_members $__inlined_func$~lib/rt/__visit_members $~lib/arraybuffer/ArrayBufferView $__inlined_func$~lib/rt/__visit_members $invalid - end - local.get $0 - i32.load offset=20 - local.tee $1 - if - local.get $1 - i32.const 1268 - i32.ge_u - if - local.get $1 - i32.const 20 - i32.sub - call $~lib/rt/pure/decrement - end - end - br $__inlined_func$~lib/rt/__visit_members - end - unreachable - end - local.get $2 - i32.const -2147483648 - i32.and - if - i32.const 0 - i32.const 1120 - i32.const 126 - i32.const 18 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/rt/tlsf/ROOT - local.get $0 - call $~lib/rt/tlsf/freeBlock - else - local.get $1 - i32.eqz - if - i32.const 0 - i32.const 1120 - i32.const 136 - i32.const 16 - call $~lib/builtins/abort - unreachable - end - local.get $0 - local.get $1 - i32.const 1 - i32.sub - local.get $2 - i32.const -268435456 - i32.and - i32.or - i32.store offset=4 - end - ) - (func $~start - i32.const 0 - i32.const 3 - call $~lib/rt/pure/__new - drop - ) -) diff --git a/tests/compiler/rc/ternary-mismatch.optimized.wat b/tests/compiler/rc/ternary-mismatch.optimized.wat deleted file mode 100644 index 6d18a55c52..0000000000 --- a/tests/compiler/rc/ternary-mismatch.optimized.wat +++ /dev/null @@ -1,1054 +0,0 @@ -(module - (type $i32_=>_i32 (func (param i32) (result i32))) - (type $i32_i32_=>_none (func (param i32 i32))) - (type $none_=>_none (func)) - (type $i32_=>_none (func (param i32))) - (type $i32_i32_i32_=>_none (func (param i32 i32 i32))) - (type $i32_i32_i32_i32_=>_none (func (param i32 i32 i32 i32))) - (type $none_=>_i32 (func (result i32))) - (import "env" "abort" (func $~lib/builtins/abort (param i32 i32 i32 i32))) - (memory $0 1) - (data (i32.const 1036) "<\00\00\00\01\00\00\00\00\00\00\00\01\00\00\00(\00\00\00a\00l\00l\00o\00c\00a\00t\00i\00o\00n\00 \00t\00o\00o\00 \00l\00a\00r\00g\00e") - (data (i32.const 1100) "<\00\00\00\01\00\00\00\00\00\00\00\01\00\00\00\1e\00\00\00~\00l\00i\00b\00/\00r\00t\00/\00p\00u\00r\00e\00.\00t\00s") - (data (i32.const 1164) "<\00\00\00\01\00\00\00\00\00\00\00\01\00\00\00\1e\00\00\00~\00l\00i\00b\00/\00r\00t\00/\00t\00l\00s\00f\00.\00t\00s") - (global $~lib/rt/tlsf/ROOT (mut i32) (i32.const 0)) - (global $rc/ternary-mismatch/gloRef (mut i32) (i32.const 0)) - (export "memory" (memory $0)) - (export "test1" (func $rc/ternary-mismatch/test1)) - (export "test2" (func $rc/ternary-mismatch/test2)) - (start $~start) - (func $~lib/rt/tlsf/removeBlock (param $0 i32) (param $1 i32) - (local $2 i32) - (local $3 i32) - (local $4 i32) - (local $5 i32) - local.get $1 - i32.load - local.tee $2 - i32.const 1 - i32.and - i32.eqz - if - i32.const 0 - i32.const 1184 - i32.const 272 - i32.const 14 - call $~lib/builtins/abort - unreachable - end - local.get $2 - i32.const -4 - i32.and - local.tee $2 - i32.const 1073741820 - i32.lt_u - i32.const 0 - local.get $2 - i32.const 12 - i32.ge_u - select - i32.eqz - if - i32.const 0 - i32.const 1184 - i32.const 274 - i32.const 14 - call $~lib/builtins/abort - unreachable - end - local.get $2 - i32.const 256 - i32.lt_u - if - local.get $2 - i32.const 4 - i32.shr_u - local.set $2 - else - local.get $2 - i32.const 31 - local.get $2 - i32.clz - i32.sub - local.tee $3 - i32.const 4 - i32.sub - i32.shr_u - i32.const 16 - i32.xor - local.set $2 - local.get $3 - i32.const 7 - i32.sub - local.set $3 - end - local.get $2 - i32.const 16 - i32.lt_u - i32.const 0 - local.get $3 - i32.const 23 - i32.lt_u - select - i32.eqz - if - i32.const 0 - i32.const 1184 - i32.const 287 - i32.const 14 - call $~lib/builtins/abort - unreachable - end - local.get $1 - i32.load offset=8 - local.set $4 - local.get $1 - i32.load offset=4 - local.tee $5 - if - local.get $5 - local.get $4 - i32.store offset=8 - end - local.get $4 - if - local.get $4 - local.get $5 - i32.store offset=4 - end - local.get $1 - local.get $0 - local.get $2 - local.get $3 - i32.const 4 - i32.shl - i32.add - i32.const 2 - i32.shl - i32.add - i32.load offset=96 - i32.eq - if - local.get $0 - local.get $2 - local.get $3 - i32.const 4 - i32.shl - i32.add - i32.const 2 - i32.shl - i32.add - local.get $4 - i32.store offset=96 - local.get $4 - i32.eqz - if - local.get $0 - local.get $3 - i32.const 2 - i32.shl - i32.add - local.tee $4 - i32.load offset=4 - i32.const -2 - local.get $2 - i32.rotl - i32.and - local.set $1 - local.get $4 - local.get $1 - i32.store offset=4 - local.get $1 - i32.eqz - if - local.get $0 - local.get $0 - i32.load - i32.const -2 - local.get $3 - i32.rotl - i32.and - i32.store - end - end - end - ) - (func $~lib/rt/tlsf/insertBlock (param $0 i32) (param $1 i32) - (local $2 i32) - (local $3 i32) - (local $4 i32) - (local $5 i32) - (local $6 i32) - (local $7 i32) - (local $8 i32) - local.get $1 - i32.eqz - if - i32.const 0 - i32.const 1184 - i32.const 200 - i32.const 14 - call $~lib/builtins/abort - unreachable - end - local.get $1 - i32.load - local.tee $4 - i32.const 1 - i32.and - i32.eqz - if - i32.const 0 - i32.const 1184 - i32.const 202 - i32.const 14 - call $~lib/builtins/abort - unreachable - end - local.get $1 - i32.const 4 - i32.add - local.get $1 - i32.load - i32.const -4 - i32.and - i32.add - local.tee $5 - i32.load - local.tee $2 - i32.const 1 - i32.and - if - local.get $4 - i32.const -4 - i32.and - i32.const 4 - i32.add - local.get $2 - i32.const -4 - i32.and - i32.add - local.tee $3 - i32.const 1073741820 - i32.lt_u - if - local.get $0 - local.get $5 - call $~lib/rt/tlsf/removeBlock - local.get $1 - local.get $3 - local.get $4 - i32.const 3 - i32.and - i32.or - local.tee $4 - i32.store - local.get $1 - i32.const 4 - i32.add - local.get $1 - i32.load - i32.const -4 - i32.and - i32.add - local.tee $5 - i32.load - local.set $2 - end - end - local.get $4 - i32.const 2 - i32.and - if - local.get $1 - i32.const 4 - i32.sub - i32.load - local.tee $3 - i32.load - local.tee $7 - i32.const 1 - i32.and - i32.eqz - if - i32.const 0 - i32.const 1184 - i32.const 223 - i32.const 16 - call $~lib/builtins/abort - unreachable - end - local.get $7 - i32.const -4 - i32.and - i32.const 4 - i32.add - local.get $4 - i32.const -4 - i32.and - i32.add - local.tee $8 - i32.const 1073741820 - i32.lt_u - if (result i32) - local.get $0 - local.get $3 - call $~lib/rt/tlsf/removeBlock - local.get $3 - local.get $8 - local.get $7 - i32.const 3 - i32.and - i32.or - local.tee $4 - i32.store - local.get $3 - else - local.get $1 - end - local.set $1 - end - local.get $5 - local.get $2 - i32.const 2 - i32.or - i32.store - local.get $4 - i32.const -4 - i32.and - local.tee $3 - i32.const 1073741820 - i32.lt_u - i32.const 0 - local.get $3 - i32.const 12 - i32.ge_u - select - i32.eqz - if - i32.const 0 - i32.const 1184 - i32.const 238 - i32.const 14 - call $~lib/builtins/abort - unreachable - end - local.get $3 - local.get $1 - i32.const 4 - i32.add - i32.add - local.get $5 - i32.ne - if - i32.const 0 - i32.const 1184 - i32.const 239 - i32.const 14 - call $~lib/builtins/abort - unreachable - end - local.get $5 - i32.const 4 - i32.sub - local.get $1 - i32.store - local.get $3 - i32.const 256 - i32.lt_u - if - local.get $3 - i32.const 4 - i32.shr_u - local.set $3 - else - local.get $3 - i32.const 31 - local.get $3 - i32.clz - i32.sub - local.tee $4 - i32.const 4 - i32.sub - i32.shr_u - i32.const 16 - i32.xor - local.set $3 - local.get $4 - i32.const 7 - i32.sub - local.set $6 - end - local.get $3 - i32.const 16 - i32.lt_u - i32.const 0 - local.get $6 - i32.const 23 - i32.lt_u - select - i32.eqz - if - i32.const 0 - i32.const 1184 - i32.const 255 - i32.const 14 - call $~lib/builtins/abort - unreachable - end - local.get $0 - local.get $3 - local.get $6 - i32.const 4 - i32.shl - i32.add - i32.const 2 - i32.shl - i32.add - i32.load offset=96 - local.set $4 - local.get $1 - i32.const 0 - i32.store offset=4 - local.get $1 - local.get $4 - i32.store offset=8 - local.get $4 - if - local.get $4 - local.get $1 - i32.store offset=4 - end - local.get $0 - local.get $3 - local.get $6 - i32.const 4 - i32.shl - i32.add - i32.const 2 - i32.shl - i32.add - local.get $1 - i32.store offset=96 - local.get $0 - local.get $0 - i32.load - i32.const 1 - local.get $6 - i32.shl - i32.or - i32.store - local.get $0 - local.get $6 - i32.const 2 - i32.shl - i32.add - local.tee $0 - local.get $0 - i32.load offset=4 - i32.const 1 - local.get $3 - i32.shl - i32.or - i32.store offset=4 - ) - (func $~lib/rt/tlsf/addMemory (param $0 i32) (param $1 i32) (param $2 i32) - (local $3 i32) - (local $4 i32) - local.get $1 - local.get $2 - i32.gt_u - if - i32.const 0 - i32.const 1184 - i32.const 380 - i32.const 14 - call $~lib/builtins/abort - unreachable - end - local.get $1 - i32.const 19 - i32.add - i32.const -16 - i32.and - i32.const 4 - i32.sub - local.set $1 - local.get $2 - i32.const -16 - i32.and - local.get $0 - i32.load offset=1568 - local.tee $2 - if - local.get $1 - local.get $2 - i32.const 4 - i32.add - i32.lt_u - if - i32.const 0 - i32.const 1184 - i32.const 387 - i32.const 16 - call $~lib/builtins/abort - unreachable - end - local.get $2 - local.get $1 - i32.const 16 - i32.sub - i32.eq - if - local.get $2 - i32.load - local.set $4 - local.get $1 - i32.const 16 - i32.sub - local.set $1 - end - else - local.get $1 - local.get $0 - i32.const 1572 - i32.add - i32.lt_u - if - i32.const 0 - i32.const 1184 - i32.const 400 - i32.const 5 - call $~lib/builtins/abort - unreachable - end - end - local.get $1 - i32.sub - local.tee $2 - i32.const 20 - i32.lt_u - if - return - end - local.get $1 - local.get $4 - i32.const 2 - i32.and - local.get $2 - i32.const 8 - i32.sub - local.tee $2 - i32.const 1 - i32.or - i32.or - i32.store - local.get $1 - i32.const 0 - i32.store offset=4 - local.get $1 - i32.const 0 - i32.store offset=8 - local.get $2 - local.get $1 - i32.const 4 - i32.add - i32.add - local.tee $2 - i32.const 2 - i32.store - local.get $0 - local.get $2 - i32.store offset=1568 - local.get $0 - local.get $1 - call $~lib/rt/tlsf/insertBlock - ) - (func $~lib/rt/tlsf/searchBlock (param $0 i32) (result i32) - (local $1 i32) - (local $2 i32) - local.get $0 - i32.load offset=4 - i32.const -2 - i32.and - local.tee $2 - if (result i32) - local.get $0 - local.get $2 - i32.ctz - i32.const 2 - i32.shl - i32.add - i32.load offset=96 - else - local.get $0 - i32.load - i32.const -2 - i32.and - local.tee $1 - if (result i32) - local.get $0 - local.get $1 - i32.ctz - local.tee $1 - i32.const 2 - i32.shl - i32.add - i32.load offset=4 - local.tee $2 - i32.eqz - if - i32.const 0 - i32.const 1184 - i32.const 346 - i32.const 18 - call $~lib/builtins/abort - unreachable - end - local.get $0 - local.get $2 - i32.ctz - local.get $1 - i32.const 4 - i32.shl - i32.add - i32.const 2 - i32.shl - i32.add - i32.load offset=96 - else - i32.const 0 - end - end - ) - (func $~lib/rt/tlsf/allocateBlock (param $0 i32) (result i32) - (local $1 i32) - (local $2 i32) - (local $3 i32) - local.get $0 - call $~lib/rt/tlsf/searchBlock - local.tee $1 - i32.eqz - if - i32.const 4 - memory.size - local.tee $2 - i32.const 16 - i32.shl - i32.const 4 - i32.sub - local.get $0 - i32.load offset=1568 - i32.ne - i32.shl - i32.const 65563 - i32.add - i32.const -65536 - i32.and - i32.const 16 - i32.shr_u - local.set $1 - local.get $2 - local.get $1 - local.get $1 - local.get $2 - i32.lt_s - select - memory.grow - i32.const 0 - i32.lt_s - if - local.get $1 - memory.grow - i32.const 0 - i32.lt_s - if - unreachable - end - end - local.get $0 - local.get $2 - i32.const 16 - i32.shl - memory.size - i32.const 16 - i32.shl - call $~lib/rt/tlsf/addMemory - local.get $0 - call $~lib/rt/tlsf/searchBlock - local.tee $1 - i32.eqz - if - i32.const 0 - i32.const 1184 - i32.const 498 - i32.const 16 - call $~lib/builtins/abort - unreachable - end - end - local.get $1 - i32.load - i32.const -4 - i32.and - i32.const 28 - i32.lt_u - if - i32.const 0 - i32.const 1184 - i32.const 500 - i32.const 14 - call $~lib/builtins/abort - unreachable - end - local.get $0 - local.get $1 - call $~lib/rt/tlsf/removeBlock - local.get $1 - i32.load - local.tee $2 - i32.const -4 - i32.and - i32.const 28 - i32.sub - local.tee $3 - i32.const 16 - i32.ge_u - if - local.get $1 - local.get $2 - i32.const 2 - i32.and - i32.const 28 - i32.or - i32.store - local.get $1 - i32.const 32 - i32.add - local.tee $2 - local.get $3 - i32.const 4 - i32.sub - i32.const 1 - i32.or - i32.store - local.get $0 - local.get $2 - call $~lib/rt/tlsf/insertBlock - else - local.get $1 - local.get $2 - i32.const -2 - i32.and - i32.store - 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 $0 - local.get $1 - i32.load - i32.const -4 - i32.and - i32.add - i32.load - i32.const -3 - i32.and - i32.store - end - local.get $1 - ) - (func $~lib/rt/pure/__new (result i32) - (local $0 i32) - (local $1 i32) - global.get $~lib/rt/tlsf/ROOT - i32.eqz - if - memory.size - local.tee $1 - i32.const 1 - i32.lt_s - if (result i32) - i32.const 1 - local.get $1 - i32.sub - memory.grow - i32.const 0 - i32.lt_s - else - i32.const 0 - end - if - unreachable - end - i32.const 1232 - i32.const 0 - i32.store - i32.const 2800 - i32.const 0 - i32.store - loop $for-loop|0 - local.get $0 - i32.const 23 - i32.lt_u - if - local.get $0 - i32.const 2 - i32.shl - i32.const 1232 - i32.add - i32.const 0 - i32.store offset=4 - i32.const 0 - local.set $1 - loop $for-loop|1 - local.get $1 - i32.const 16 - i32.lt_u - if - local.get $1 - local.get $0 - i32.const 4 - i32.shl - i32.add - i32.const 2 - i32.shl - i32.const 1232 - i32.add - i32.const 0 - i32.store offset=96 - local.get $1 - i32.const 1 - i32.add - local.set $1 - br $for-loop|1 - end - end - local.get $0 - i32.const 1 - i32.add - local.set $0 - br $for-loop|0 - end - end - i32.const 1232 - i32.const 2804 - memory.size - i32.const 16 - i32.shl - call $~lib/rt/tlsf/addMemory - i32.const 1232 - global.set $~lib/rt/tlsf/ROOT - end - global.get $~lib/rt/tlsf/ROOT - call $~lib/rt/tlsf/allocateBlock - i32.const 4 - i32.add - local.tee $1 - i32.const 4 - i32.sub - local.tee $0 - i32.const 0 - i32.store offset=4 - local.get $0 - i32.const 0 - i32.store offset=8 - local.get $0 - i32.const 3 - i32.store offset=12 - local.get $0 - i32.const 0 - i32.store offset=16 - local.get $1 - i32.const 16 - i32.add - ) - (func $~lib/rt/pure/__retain (param $0 i32) (result i32) - (local $1 i32) - (local $2 i32) - local.get $0 - i32.const 1228 - i32.gt_u - if - local.get $0 - i32.const 20 - i32.sub - local.tee $1 - i32.load offset=4 - local.tee $2 - i32.const -268435456 - i32.and - local.get $2 - i32.const 1 - i32.add - i32.const -268435456 - i32.and - i32.ne - if - i32.const 0 - i32.const 1120 - i32.const 109 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $1 - local.get $2 - i32.const 1 - i32.add - i32.store offset=4 - local.get $1 - i32.load - i32.const 1 - i32.and - if - i32.const 0 - i32.const 1120 - i32.const 112 - i32.const 14 - call $~lib/builtins/abort - unreachable - end - end - local.get $0 - ) - (func $rc/ternary-mismatch/test1 (param $0 i32) (result i32) - local.get $0 - if (result i32) - call $~lib/rt/pure/__new - call $~lib/rt/pure/__retain - else - global.get $rc/ternary-mismatch/gloRef - call $~lib/rt/pure/__retain - end - ) - (func $rc/ternary-mismatch/test2 (param $0 i32) (result i32) - local.get $0 - if (result i32) - global.get $rc/ternary-mismatch/gloRef - call $~lib/rt/pure/__retain - else - call $~lib/rt/pure/__new - call $~lib/rt/pure/__retain - end - ) - (func $~lib/rt/pure/decrement (param $0 i32) - (local $1 i32) - (local $2 i32) - local.get $0 - i32.load offset=4 - local.tee $2 - i32.const 268435455 - i32.and - local.set $1 - local.get $0 - i32.load - i32.const 1 - i32.and - if - i32.const 0 - i32.const 1120 - i32.const 122 - i32.const 14 - call $~lib/builtins/abort - unreachable - end - local.get $1 - i32.const 1 - i32.eq - if - block $__inlined_func$~lib/rt/__visit_members - block $invalid - block $~lib/arraybuffer/ArrayBufferView - local.get $0 - i32.const 12 - i32.add - i32.load - br_table $__inlined_func$~lib/rt/__visit_members $__inlined_func$~lib/rt/__visit_members $~lib/arraybuffer/ArrayBufferView $__inlined_func$~lib/rt/__visit_members $invalid - end - local.get $0 - i32.load offset=20 - local.tee $1 - if - local.get $1 - i32.const 1228 - i32.ge_u - if - local.get $1 - i32.const 20 - i32.sub - call $~lib/rt/pure/decrement - end - end - br $__inlined_func$~lib/rt/__visit_members - end - unreachable - end - local.get $2 - i32.const -2147483648 - i32.and - if - i32.const 0 - i32.const 1120 - i32.const 126 - i32.const 18 - call $~lib/builtins/abort - unreachable - end - local.get $0 - local.get $0 - i32.load - i32.const 1 - i32.or - i32.store - global.get $~lib/rt/tlsf/ROOT - local.get $0 - call $~lib/rt/tlsf/insertBlock - else - local.get $1 - i32.eqz - if - i32.const 0 - i32.const 1120 - i32.const 136 - i32.const 16 - call $~lib/builtins/abort - unreachable - end - local.get $0 - local.get $1 - i32.const 1 - i32.sub - local.get $2 - i32.const -268435456 - i32.and - i32.or - i32.store offset=4 - end - ) - (func $~start - (local $0 i32) - call $~lib/rt/pure/__new - call $~lib/rt/pure/__retain - global.set $rc/ternary-mismatch/gloRef - call $~lib/rt/pure/__new - drop - call $~lib/rt/pure/__new - drop - global.get $rc/ternary-mismatch/gloRef - local.tee $0 - i32.const 1228 - i32.gt_u - if - local.get $0 - i32.const 20 - i32.sub - call $~lib/rt/pure/decrement - end - ) -) diff --git a/tests/compiler/rc/ternary-mismatch.untouched.wat b/tests/compiler/rc/ternary-mismatch.untouched.wat deleted file mode 100644 index 34f974c273..0000000000 --- a/tests/compiler/rc/ternary-mismatch.untouched.wat +++ /dev/null @@ -1,1748 +0,0 @@ -(module - (type $i32_i32_=>_none (func (param i32 i32))) - (type $i32_=>_i32 (func (param i32) (result i32))) - (type $i32_=>_none (func (param i32))) - (type $none_=>_none (func)) - (type $i32_i32_=>_i32 (func (param i32 i32) (result i32))) - (type $i32_i32_i32_=>_none (func (param i32 i32 i32))) - (type $i32_i32_i32_i32_=>_none (func (param i32 i32 i32 i32))) - (type $none_=>_i32 (func (result i32))) - (type $i32_i32_i32_=>_i32 (func (param i32 i32 i32) (result i32))) - (import "env" "abort" (func $~lib/builtins/abort (param i32 i32 i32 i32))) - (memory $0 1) - (data (i32.const 12) "<\00\00\00\01\00\00\00\00\00\00\00\01\00\00\00(\00\00\00a\00l\00l\00o\00c\00a\00t\00i\00o\00n\00 \00t\00o\00o\00 \00l\00a\00r\00g\00e\00\00\00\00\00") - (data (i32.const 76) "<\00\00\00\01\00\00\00\00\00\00\00\01\00\00\00\1e\00\00\00~\00l\00i\00b\00/\00r\00t\00/\00p\00u\00r\00e\00.\00t\00s\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 140) "<\00\00\00\01\00\00\00\00\00\00\00\01\00\00\00\1e\00\00\00~\00l\00i\00b\00/\00r\00t\00/\00t\00l\00s\00f\00.\00t\00s\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") - (table $0 1 funcref) - (global $~lib/rt/tlsf/ROOT (mut i32) (i32.const 0)) - (global $~lib/ASC_LOW_MEMORY_LIMIT i32 (i32.const 0)) - (global $rc/ternary-mismatch/gloRef (mut i32) (i32.const 0)) - (global $~lib/memory/__heap_base i32 (i32.const 204)) - (export "memory" (memory $0)) - (export "test1" (func $rc/ternary-mismatch/test1)) - (export "test2" (func $rc/ternary-mismatch/test2)) - (start $~start) - (func $~lib/rt/tlsf/removeBlock (param $0 i32) (param $1 i32) - (local $2 i32) - (local $3 i32) - (local $4 i32) - (local $5 i32) - (local $6 i32) - (local $7 i32) - (local $8 i32) - (local $9 i32) - (local $10 i32) - (local $11 i32) - local.get $1 - i32.load - local.set $2 - i32.const 1 - drop - local.get $2 - i32.const 1 - i32.and - i32.eqz - if - i32.const 0 - i32.const 160 - i32.const 272 - i32.const 14 - call $~lib/builtins/abort - unreachable - end - local.get $2 - i32.const 3 - i32.const -1 - i32.xor - i32.and - local.set $3 - i32.const 1 - drop - local.get $3 - i32.const 12 - i32.ge_u - if (result i32) - local.get $3 - i32.const 1073741820 - i32.lt_u - else - i32.const 0 - end - i32.eqz - if - i32.const 0 - i32.const 160 - i32.const 274 - i32.const 14 - call $~lib/builtins/abort - unreachable - end - local.get $3 - i32.const 256 - i32.lt_u - if - i32.const 0 - local.set $4 - local.get $3 - i32.const 4 - i32.shr_u - local.set $5 - else - i32.const 31 - local.get $3 - i32.clz - i32.sub - local.set $4 - local.get $3 - local.get $4 - i32.const 4 - i32.sub - i32.shr_u - i32.const 1 - i32.const 4 - i32.shl - i32.xor - local.set $5 - local.get $4 - i32.const 8 - i32.const 1 - i32.sub - i32.sub - local.set $4 - end - i32.const 1 - drop - local.get $4 - i32.const 23 - i32.lt_u - if (result i32) - local.get $5 - i32.const 16 - i32.lt_u - else - i32.const 0 - end - i32.eqz - if - i32.const 0 - i32.const 160 - i32.const 287 - i32.const 14 - call $~lib/builtins/abort - unreachable - end - local.get $1 - i32.load offset=4 - local.set $6 - local.get $1 - i32.load offset=8 - local.set $7 - local.get $6 - if - local.get $6 - local.get $7 - i32.store offset=8 - end - local.get $7 - if - local.get $7 - local.get $6 - i32.store offset=4 - end - local.get $1 - local.get $0 - local.set $10 - local.get $4 - local.set $9 - local.get $5 - local.set $8 - local.get $10 - local.get $9 - i32.const 4 - i32.shl - local.get $8 - i32.add - i32.const 2 - i32.shl - i32.add - i32.load offset=96 - i32.eq - if - local.get $0 - local.set $11 - local.get $4 - local.set $10 - local.get $5 - local.set $9 - local.get $7 - local.set $8 - local.get $11 - local.get $10 - i32.const 4 - i32.shl - local.get $9 - i32.add - i32.const 2 - i32.shl - i32.add - local.get $8 - i32.store offset=96 - local.get $7 - i32.eqz - if - local.get $0 - local.set $9 - local.get $4 - local.set $8 - local.get $9 - local.get $8 - i32.const 2 - i32.shl - i32.add - i32.load offset=4 - local.set $9 - local.get $0 - local.set $8 - local.get $4 - local.set $11 - local.get $9 - i32.const 1 - local.get $5 - i32.shl - i32.const -1 - i32.xor - i32.and - local.tee $9 - local.set $10 - local.get $8 - local.get $11 - i32.const 2 - i32.shl - i32.add - local.get $10 - i32.store offset=4 - local.get $9 - i32.eqz - if - local.get $0 - local.get $0 - i32.load - i32.const 1 - local.get $4 - i32.shl - i32.const -1 - i32.xor - i32.and - i32.store - end - end - end - ) - (func $~lib/rt/tlsf/insertBlock (param $0 i32) (param $1 i32) - (local $2 i32) - (local $3 i32) - (local $4 i32) - (local $5 i32) - (local $6 i32) - (local $7 i32) - (local $8 i32) - (local $9 i32) - (local $10 i32) - (local $11 i32) - (local $12 i32) - (local $13 i32) - i32.const 1 - drop - local.get $1 - i32.eqz - if - i32.const 0 - i32.const 160 - i32.const 200 - i32.const 14 - call $~lib/builtins/abort - unreachable - end - local.get $1 - i32.load - local.set $2 - i32.const 1 - drop - local.get $2 - i32.const 1 - i32.and - i32.eqz - if - i32.const 0 - i32.const 160 - i32.const 202 - i32.const 14 - call $~lib/builtins/abort - unreachable - end - local.get $1 - local.set $3 - local.get $3 - i32.const 4 - i32.add - local.get $3 - i32.load - i32.const 3 - i32.const -1 - i32.xor - i32.and - i32.add - local.set $4 - local.get $4 - i32.load - local.set $5 - local.get $5 - i32.const 1 - i32.and - if - local.get $2 - i32.const 3 - i32.const -1 - i32.xor - i32.and - i32.const 4 - i32.add - local.get $5 - i32.const 3 - i32.const -1 - i32.xor - i32.and - i32.add - local.set $3 - local.get $3 - i32.const 1073741820 - i32.lt_u - if - local.get $0 - local.get $4 - call $~lib/rt/tlsf/removeBlock - local.get $1 - local.get $2 - i32.const 3 - i32.and - local.get $3 - i32.or - local.tee $2 - i32.store - local.get $1 - local.set $6 - local.get $6 - i32.const 4 - i32.add - local.get $6 - i32.load - i32.const 3 - i32.const -1 - i32.xor - i32.and - i32.add - local.set $4 - local.get $4 - i32.load - local.set $5 - end - end - local.get $2 - i32.const 2 - i32.and - if - local.get $1 - local.set $6 - local.get $6 - i32.const 4 - i32.sub - i32.load - local.set $6 - local.get $6 - i32.load - local.set $3 - i32.const 1 - drop - local.get $3 - i32.const 1 - i32.and - i32.eqz - if - i32.const 0 - i32.const 160 - i32.const 223 - i32.const 16 - call $~lib/builtins/abort - unreachable - end - local.get $3 - i32.const 3 - i32.const -1 - i32.xor - i32.and - i32.const 4 - i32.add - local.get $2 - i32.const 3 - i32.const -1 - i32.xor - i32.and - i32.add - local.set $7 - local.get $7 - i32.const 1073741820 - i32.lt_u - if - local.get $0 - local.get $6 - call $~lib/rt/tlsf/removeBlock - local.get $6 - local.get $3 - i32.const 3 - i32.and - local.get $7 - i32.or - local.tee $2 - i32.store - local.get $6 - local.set $1 - end - end - local.get $4 - local.get $5 - i32.const 2 - i32.or - i32.store - local.get $2 - i32.const 3 - i32.const -1 - i32.xor - i32.and - local.set $8 - i32.const 1 - drop - local.get $8 - i32.const 12 - i32.ge_u - if (result i32) - local.get $8 - i32.const 1073741820 - i32.lt_u - else - i32.const 0 - end - i32.eqz - if - i32.const 0 - i32.const 160 - i32.const 238 - i32.const 14 - call $~lib/builtins/abort - unreachable - end - i32.const 1 - drop - local.get $1 - i32.const 4 - i32.add - local.get $8 - i32.add - local.get $4 - i32.eq - i32.eqz - if - i32.const 0 - i32.const 160 - i32.const 239 - i32.const 14 - call $~lib/builtins/abort - unreachable - end - local.get $4 - i32.const 4 - i32.sub - local.get $1 - i32.store - local.get $8 - i32.const 256 - i32.lt_u - if - i32.const 0 - local.set $9 - local.get $8 - i32.const 4 - i32.shr_u - local.set $10 - else - i32.const 31 - local.get $8 - i32.clz - i32.sub - local.set $9 - local.get $8 - local.get $9 - i32.const 4 - i32.sub - i32.shr_u - i32.const 1 - i32.const 4 - i32.shl - i32.xor - local.set $10 - local.get $9 - i32.const 8 - i32.const 1 - i32.sub - i32.sub - local.set $9 - end - i32.const 1 - drop - local.get $9 - i32.const 23 - i32.lt_u - if (result i32) - local.get $10 - i32.const 16 - i32.lt_u - else - i32.const 0 - end - i32.eqz - if - i32.const 0 - i32.const 160 - i32.const 255 - i32.const 14 - call $~lib/builtins/abort - unreachable - end - local.get $0 - local.set $7 - local.get $9 - local.set $3 - local.get $10 - local.set $6 - local.get $7 - local.get $3 - i32.const 4 - i32.shl - local.get $6 - i32.add - i32.const 2 - i32.shl - i32.add - i32.load offset=96 - local.set $11 - local.get $1 - i32.const 0 - i32.store offset=4 - local.get $1 - local.get $11 - i32.store offset=8 - local.get $11 - if - local.get $11 - local.get $1 - i32.store offset=4 - end - local.get $0 - local.set $12 - local.get $9 - local.set $7 - local.get $10 - local.set $3 - local.get $1 - local.set $6 - local.get $12 - local.get $7 - i32.const 4 - i32.shl - local.get $3 - i32.add - i32.const 2 - i32.shl - i32.add - local.get $6 - i32.store offset=96 - local.get $0 - local.get $0 - i32.load - i32.const 1 - local.get $9 - i32.shl - i32.or - i32.store - local.get $0 - local.set $13 - local.get $9 - local.set $12 - local.get $0 - local.set $3 - local.get $9 - local.set $6 - local.get $3 - local.get $6 - i32.const 2 - i32.shl - i32.add - i32.load offset=4 - i32.const 1 - local.get $10 - i32.shl - i32.or - local.set $7 - local.get $13 - local.get $12 - i32.const 2 - i32.shl - i32.add - local.get $7 - i32.store offset=4 - ) - (func $~lib/rt/tlsf/addMemory (param $0 i32) (param $1 i32) (param $2 i32) (result i32) - (local $3 i32) - (local $4 i32) - (local $5 i32) - (local $6 i32) - (local $7 i32) - (local $8 i32) - (local $9 i32) - i32.const 1 - drop - local.get $1 - local.get $2 - i32.le_u - i32.eqz - if - i32.const 0 - i32.const 160 - i32.const 380 - i32.const 14 - call $~lib/builtins/abort - unreachable - end - local.get $1 - i32.const 4 - i32.add - i32.const 15 - i32.add - i32.const 15 - i32.const -1 - i32.xor - i32.and - i32.const 4 - i32.sub - local.set $1 - local.get $2 - i32.const 15 - i32.const -1 - i32.xor - i32.and - local.set $2 - local.get $0 - local.set $3 - local.get $3 - i32.load offset=1568 - local.set $4 - i32.const 0 - local.set $5 - local.get $4 - if - i32.const 1 - drop - local.get $1 - local.get $4 - i32.const 4 - i32.add - i32.ge_u - i32.eqz - if - i32.const 0 - i32.const 160 - i32.const 387 - i32.const 16 - call $~lib/builtins/abort - unreachable - end - local.get $1 - i32.const 16 - i32.sub - local.get $4 - i32.eq - if - local.get $1 - i32.const 16 - i32.sub - local.set $1 - local.get $4 - i32.load - local.set $5 - else - nop - end - else - i32.const 1 - drop - local.get $1 - local.get $0 - i32.const 1572 - i32.add - i32.ge_u - i32.eqz - if - i32.const 0 - i32.const 160 - i32.const 400 - i32.const 5 - call $~lib/builtins/abort - unreachable - end - end - local.get $2 - local.get $1 - i32.sub - local.set $6 - local.get $6 - i32.const 4 - i32.const 12 - i32.add - i32.const 4 - i32.add - i32.lt_u - if - i32.const 0 - return - end - local.get $6 - i32.const 2 - i32.const 4 - i32.mul - i32.sub - local.set $7 - local.get $1 - local.set $8 - local.get $8 - local.get $7 - i32.const 1 - i32.or - local.get $5 - i32.const 2 - i32.and - i32.or - i32.store - local.get $8 - i32.const 0 - i32.store offset=4 - local.get $8 - i32.const 0 - i32.store offset=8 - local.get $1 - i32.const 4 - i32.add - local.get $7 - i32.add - local.set $4 - local.get $4 - i32.const 0 - i32.const 2 - i32.or - i32.store - local.get $0 - local.set $9 - local.get $4 - local.set $3 - local.get $9 - local.get $3 - i32.store offset=1568 - local.get $0 - local.get $8 - call $~lib/rt/tlsf/insertBlock - i32.const 1 - ) - (func $~lib/rt/tlsf/initialize - (local $0 i32) - (local $1 i32) - (local $2 i32) - (local $3 i32) - (local $4 i32) - (local $5 i32) - (local $6 i32) - (local $7 i32) - (local $8 i32) - (local $9 i32) - (local $10 i32) - (local $11 i32) - (local $12 i32) - global.get $~lib/memory/__heap_base - i32.const 15 - i32.add - i32.const 15 - i32.const -1 - i32.xor - i32.and - local.set $0 - memory.size - local.set $1 - local.get $0 - i32.const 1572 - i32.add - i32.const 65535 - i32.add - i32.const 65535 - i32.const -1 - i32.xor - i32.and - i32.const 16 - i32.shr_u - local.set $2 - local.get $2 - local.get $1 - i32.gt_s - if (result i32) - local.get $2 - local.get $1 - i32.sub - memory.grow - i32.const 0 - i32.lt_s - else - i32.const 0 - end - if - unreachable - end - local.get $0 - local.set $3 - local.get $3 - i32.const 0 - i32.store - local.get $3 - local.set $5 - i32.const 0 - local.set $4 - local.get $5 - local.get $4 - i32.store offset=1568 - i32.const 0 - local.set $5 - loop $for-loop|0 - local.get $5 - i32.const 23 - i32.lt_u - local.set $4 - local.get $4 - if - local.get $3 - local.set $8 - local.get $5 - local.set $7 - i32.const 0 - local.set $6 - local.get $8 - local.get $7 - i32.const 2 - i32.shl - i32.add - local.get $6 - i32.store offset=4 - i32.const 0 - local.set $8 - loop $for-loop|1 - local.get $8 - i32.const 16 - i32.lt_u - local.set $7 - local.get $7 - if - local.get $3 - local.set $11 - local.get $5 - local.set $10 - local.get $8 - local.set $9 - i32.const 0 - local.set $6 - local.get $11 - local.get $10 - i32.const 4 - i32.shl - local.get $9 - i32.add - i32.const 2 - i32.shl - i32.add - local.get $6 - i32.store offset=96 - local.get $8 - i32.const 1 - i32.add - local.set $8 - br $for-loop|1 - end - end - local.get $5 - i32.const 1 - i32.add - local.set $5 - br $for-loop|0 - end - end - local.get $0 - i32.const 1572 - i32.add - local.set $12 - i32.const 0 - drop - local.get $3 - local.get $12 - memory.size - i32.const 16 - i32.shl - call $~lib/rt/tlsf/addMemory - drop - local.get $3 - global.set $~lib/rt/tlsf/ROOT - ) - (func $~lib/rt/tlsf/computeSize (param $0 i32) (result i32) - local.get $0 - i32.const 12 - i32.le_u - if (result i32) - i32.const 12 - else - local.get $0 - i32.const 4 - i32.add - i32.const 15 - i32.add - i32.const 15 - i32.const -1 - i32.xor - i32.and - i32.const 4 - i32.sub - end - ) - (func $~lib/rt/tlsf/prepareSize (param $0 i32) (result i32) - local.get $0 - i32.const 1073741820 - i32.ge_u - if - i32.const 32 - i32.const 160 - i32.const 461 - i32.const 30 - call $~lib/builtins/abort - unreachable - end - local.get $0 - call $~lib/rt/tlsf/computeSize - ) - (func $~lib/rt/tlsf/searchBlock (param $0 i32) (param $1 i32) (result i32) - (local $2 i32) - (local $3 i32) - (local $4 i32) - (local $5 i32) - (local $6 i32) - (local $7 i32) - (local $8 i32) - (local $9 i32) - local.get $1 - i32.const 256 - i32.lt_u - if - i32.const 0 - local.set $2 - local.get $1 - i32.const 4 - i32.shr_u - local.set $3 - else - local.get $1 - i32.const 536870910 - i32.lt_u - if (result i32) - local.get $1 - i32.const 1 - i32.const 27 - local.get $1 - i32.clz - i32.sub - i32.shl - i32.add - i32.const 1 - i32.sub - else - local.get $1 - end - local.set $4 - i32.const 31 - local.get $4 - i32.clz - i32.sub - local.set $2 - local.get $4 - local.get $2 - i32.const 4 - i32.sub - i32.shr_u - i32.const 1 - i32.const 4 - i32.shl - i32.xor - local.set $3 - local.get $2 - i32.const 8 - i32.const 1 - i32.sub - i32.sub - local.set $2 - end - i32.const 1 - drop - local.get $2 - i32.const 23 - i32.lt_u - if (result i32) - local.get $3 - i32.const 16 - i32.lt_u - else - i32.const 0 - end - i32.eqz - if - i32.const 0 - i32.const 160 - i32.const 333 - i32.const 14 - call $~lib/builtins/abort - unreachable - end - local.get $0 - local.set $5 - local.get $2 - local.set $4 - local.get $5 - local.get $4 - i32.const 2 - i32.shl - i32.add - i32.load offset=4 - i32.const 0 - i32.const -1 - i32.xor - local.get $3 - i32.shl - i32.and - local.set $6 - i32.const 0 - local.set $7 - local.get $6 - i32.eqz - if - local.get $0 - i32.load - i32.const 0 - i32.const -1 - i32.xor - local.get $2 - i32.const 1 - i32.add - i32.shl - i32.and - local.set $5 - local.get $5 - i32.eqz - if - i32.const 0 - local.set $7 - else - local.get $5 - i32.ctz - local.set $2 - local.get $0 - local.set $8 - local.get $2 - local.set $4 - local.get $8 - local.get $4 - i32.const 2 - i32.shl - i32.add - i32.load offset=4 - local.set $6 - i32.const 1 - drop - local.get $6 - i32.eqz - if - i32.const 0 - i32.const 160 - i32.const 346 - i32.const 18 - call $~lib/builtins/abort - unreachable - end - local.get $0 - local.set $9 - local.get $2 - local.set $8 - local.get $6 - i32.ctz - local.set $4 - local.get $9 - local.get $8 - i32.const 4 - i32.shl - local.get $4 - i32.add - i32.const 2 - i32.shl - i32.add - i32.load offset=96 - local.set $7 - end - else - local.get $0 - local.set $9 - local.get $2 - local.set $8 - local.get $6 - i32.ctz - local.set $4 - local.get $9 - local.get $8 - i32.const 4 - i32.shl - local.get $4 - i32.add - i32.const 2 - i32.shl - i32.add - i32.load offset=96 - local.set $7 - end - local.get $7 - ) - (func $~lib/rt/tlsf/growMemory (param $0 i32) (param $1 i32) - (local $2 i32) - (local $3 i32) - (local $4 i32) - (local $5 i32) - (local $6 i32) - (local $7 i32) - i32.const 0 - drop - local.get $1 - i32.const 536870910 - i32.lt_u - if - local.get $1 - i32.const 1 - i32.const 27 - local.get $1 - i32.clz - i32.sub - i32.shl - i32.const 1 - i32.sub - i32.add - local.set $1 - end - memory.size - local.set $2 - local.get $1 - i32.const 4 - local.get $2 - i32.const 16 - i32.shl - i32.const 4 - i32.sub - local.get $0 - local.set $3 - local.get $3 - i32.load offset=1568 - i32.ne - i32.shl - i32.add - local.set $1 - local.get $1 - i32.const 65535 - i32.add - i32.const 65535 - i32.const -1 - i32.xor - i32.and - i32.const 16 - i32.shr_u - local.set $4 - local.get $2 - local.tee $3 - local.get $4 - local.tee $5 - local.get $3 - local.get $5 - i32.gt_s - select - local.set $6 - local.get $6 - memory.grow - i32.const 0 - i32.lt_s - if - local.get $4 - memory.grow - i32.const 0 - i32.lt_s - if - unreachable - end - end - memory.size - local.set $7 - local.get $0 - local.get $2 - i32.const 16 - i32.shl - local.get $7 - i32.const 16 - i32.shl - call $~lib/rt/tlsf/addMemory - drop - ) - (func $~lib/rt/tlsf/prepareBlock (param $0 i32) (param $1 i32) (param $2 i32) - (local $3 i32) - (local $4 i32) - (local $5 i32) - local.get $1 - i32.load - local.set $3 - i32.const 1 - drop - local.get $2 - i32.const 4 - i32.add - i32.const 15 - i32.and - i32.eqz - i32.eqz - if - i32.const 0 - i32.const 160 - i32.const 360 - i32.const 14 - call $~lib/builtins/abort - unreachable - end - local.get $3 - i32.const 3 - i32.const -1 - i32.xor - i32.and - local.get $2 - i32.sub - local.set $4 - local.get $4 - i32.const 4 - i32.const 12 - i32.add - i32.ge_u - if - local.get $1 - local.get $2 - local.get $3 - i32.const 2 - i32.and - i32.or - i32.store - local.get $1 - i32.const 4 - i32.add - local.get $2 - i32.add - local.set $5 - local.get $5 - local.get $4 - i32.const 4 - i32.sub - i32.const 1 - i32.or - i32.store - local.get $0 - local.get $5 - call $~lib/rt/tlsf/insertBlock - else - local.get $1 - local.get $3 - i32.const 1 - i32.const -1 - i32.xor - i32.and - i32.store - local.get $1 - local.set $5 - local.get $5 - i32.const 4 - i32.add - local.get $5 - i32.load - i32.const 3 - i32.const -1 - i32.xor - i32.and - i32.add - local.get $1 - local.set $5 - local.get $5 - i32.const 4 - i32.add - local.get $5 - i32.load - i32.const 3 - i32.const -1 - i32.xor - i32.and - i32.add - i32.load - i32.const 2 - i32.const -1 - i32.xor - i32.and - i32.store - end - ) - (func $~lib/rt/tlsf/allocateBlock (param $0 i32) (param $1 i32) (result i32) - (local $2 i32) - (local $3 i32) - local.get $1 - call $~lib/rt/tlsf/prepareSize - local.set $2 - local.get $0 - local.get $2 - call $~lib/rt/tlsf/searchBlock - local.set $3 - local.get $3 - i32.eqz - if - local.get $0 - local.get $2 - call $~lib/rt/tlsf/growMemory - local.get $0 - local.get $2 - call $~lib/rt/tlsf/searchBlock - local.set $3 - i32.const 1 - drop - local.get $3 - i32.eqz - if - i32.const 0 - i32.const 160 - i32.const 498 - i32.const 16 - call $~lib/builtins/abort - unreachable - end - end - i32.const 1 - drop - local.get $3 - i32.load - i32.const 3 - i32.const -1 - i32.xor - i32.and - local.get $2 - i32.ge_u - i32.eqz - if - i32.const 0 - i32.const 160 - i32.const 500 - i32.const 14 - call $~lib/builtins/abort - unreachable - end - local.get $0 - local.get $3 - call $~lib/rt/tlsf/removeBlock - local.get $0 - local.get $3 - local.get $2 - call $~lib/rt/tlsf/prepareBlock - i32.const 0 - drop - local.get $3 - ) - (func $~lib/rt/tlsf/__alloc (param $0 i32) (result i32) - global.get $~lib/rt/tlsf/ROOT - i32.eqz - if - call $~lib/rt/tlsf/initialize - end - global.get $~lib/rt/tlsf/ROOT - local.get $0 - call $~lib/rt/tlsf/allocateBlock - i32.const 4 - i32.add - ) - (func $~lib/rt/pure/__new (param $0 i32) (param $1 i32) (result i32) - (local $2 i32) - (local $3 i32) - local.get $0 - i32.const 1073741804 - i32.gt_u - if - i32.const 32 - i32.const 96 - i32.const 275 - i32.const 30 - call $~lib/builtins/abort - unreachable - end - i32.const 16 - local.get $0 - i32.add - call $~lib/rt/tlsf/__alloc - local.set $2 - local.get $2 - i32.const 4 - i32.sub - local.set $3 - local.get $3 - i32.const 0 - i32.store offset=4 - local.get $3 - i32.const 0 - i32.store offset=8 - local.get $3 - local.get $1 - i32.store offset=12 - local.get $3 - local.get $0 - i32.store offset=16 - local.get $2 - i32.const 16 - i32.add - ) - (func $~lib/rt/pure/increment (param $0 i32) - (local $1 i32) - local.get $0 - i32.load offset=4 - local.set $1 - local.get $1 - i32.const 268435455 - i32.const -1 - i32.xor - i32.and - local.get $1 - i32.const 1 - i32.add - i32.const 268435455 - i32.const -1 - i32.xor - i32.and - i32.eq - i32.eqz - if - i32.const 0 - i32.const 96 - i32.const 109 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $0 - local.get $1 - i32.const 1 - i32.add - i32.store offset=4 - i32.const 0 - drop - i32.const 1 - drop - local.get $0 - i32.load - i32.const 1 - i32.and - i32.eqz - i32.eqz - if - i32.const 0 - i32.const 96 - i32.const 112 - i32.const 14 - call $~lib/builtins/abort - unreachable - end - ) - (func $~lib/rt/pure/__retain (param $0 i32) (result i32) - local.get $0 - global.get $~lib/memory/__heap_base - i32.gt_u - if - local.get $0 - i32.const 20 - i32.sub - call $~lib/rt/pure/increment - end - local.get $0 - ) - (func $rc/ternary-mismatch/Ref#constructor (param $0 i32) (result i32) - local.get $0 - i32.eqz - if - i32.const 0 - i32.const 3 - call $~lib/rt/pure/__new - call $~lib/rt/pure/__retain - local.set $0 - end - local.get $0 - ) - (func $rc/ternary-mismatch/getRef (result i32) - i32.const 0 - call $rc/ternary-mismatch/Ref#constructor - ) - (func $rc/ternary-mismatch/test1 (param $0 i32) (result i32) - local.get $0 - if (result i32) - call $rc/ternary-mismatch/getRef - else - global.get $rc/ternary-mismatch/gloRef - call $~lib/rt/pure/__retain - end - ) - (func $~lib/rt/pure/__release (param $0 i32) - local.get $0 - global.get $~lib/memory/__heap_base - i32.gt_u - if - local.get $0 - i32.const 20 - i32.sub - call $~lib/rt/pure/decrement - end - ) - (func $rc/ternary-mismatch/test2 (param $0 i32) (result i32) - local.get $0 - if (result i32) - global.get $rc/ternary-mismatch/gloRef - call $~lib/rt/pure/__retain - else - call $rc/ternary-mismatch/getRef - end - ) - (func $start:rc/ternary-mismatch - i32.const 0 - call $rc/ternary-mismatch/Ref#constructor - global.set $rc/ternary-mismatch/gloRef - i32.const 1 - call $rc/ternary-mismatch/test1 - call $~lib/rt/pure/__release - i32.const 0 - call $rc/ternary-mismatch/test1 - call $~lib/rt/pure/__release - i32.const 1 - call $rc/ternary-mismatch/test2 - call $~lib/rt/pure/__release - i32.const 0 - call $rc/ternary-mismatch/test2 - call $~lib/rt/pure/__release - global.get $rc/ternary-mismatch/gloRef - call $~lib/rt/pure/__release - ) - (func $~lib/rt/tlsf/freeBlock (param $0 i32) (param $1 i32) - local.get $1 - local.get $1 - i32.load - i32.const 1 - i32.or - i32.store - i32.const 0 - drop - local.get $0 - local.get $1 - call $~lib/rt/tlsf/insertBlock - ) - (func $~lib/rt/pure/finalize (param $0 i32) - i32.const 0 - drop - global.get $~lib/rt/tlsf/ROOT - local.get $0 - call $~lib/rt/tlsf/freeBlock - ) - (func $~lib/rt/pure/decrement (param $0 i32) - (local $1 i32) - (local $2 i32) - local.get $0 - i32.load offset=4 - local.set $1 - local.get $1 - i32.const 268435455 - i32.and - local.set $2 - i32.const 0 - drop - i32.const 1 - drop - local.get $0 - i32.load - i32.const 1 - i32.and - i32.eqz - i32.eqz - if - i32.const 0 - i32.const 96 - i32.const 122 - i32.const 14 - call $~lib/builtins/abort - unreachable - end - local.get $2 - i32.const 1 - i32.eq - if - local.get $0 - i32.const 20 - i32.add - i32.const 1 - call $~lib/rt/__visit_members - i32.const 1 - drop - i32.const 1 - drop - local.get $1 - i32.const -2147483648 - i32.and - i32.eqz - i32.eqz - if - i32.const 0 - i32.const 96 - i32.const 126 - i32.const 18 - call $~lib/builtins/abort - unreachable - end - local.get $0 - call $~lib/rt/pure/finalize - else - i32.const 1 - drop - local.get $2 - i32.const 0 - i32.gt_u - i32.eqz - if - i32.const 0 - i32.const 96 - i32.const 136 - i32.const 16 - call $~lib/builtins/abort - unreachable - end - i32.const 1 - drop - local.get $0 - local.get $1 - i32.const 268435455 - i32.const -1 - i32.xor - i32.and - local.get $2 - i32.const 1 - i32.sub - i32.or - i32.store offset=4 - end - ) - (func $~start - call $start:rc/ternary-mismatch - ) - (func $~lib/rt/pure/__visit (param $0 i32) (param $1 i32) - local.get $0 - global.get $~lib/memory/__heap_base - i32.lt_u - if - return - end - i32.const 1 - drop - i32.const 1 - drop - local.get $1 - i32.const 1 - i32.eq - i32.eqz - if - i32.const 0 - i32.const 96 - i32.const 69 - i32.const 16 - call $~lib/builtins/abort - unreachable - end - local.get $0 - i32.const 20 - i32.sub - call $~lib/rt/pure/decrement - ) - (func $~lib/arraybuffer/ArrayBuffer~visit (param $0 i32) (param $1 i32) - nop - ) - (func $~lib/string/String~visit (param $0 i32) (param $1 i32) - nop - ) - (func $~lib/arraybuffer/ArrayBufferView~visit (param $0 i32) (param $1 i32) - (local $2 i32) - local.get $0 - i32.load - local.tee $2 - if - local.get $2 - local.get $1 - call $~lib/rt/pure/__visit - end - ) - (func $rc/ternary-mismatch/Ref~visit (param $0 i32) (param $1 i32) - nop - ) - (func $~lib/rt/__visit_members (param $0 i32) (param $1 i32) - block $invalid - block $rc/ternary-mismatch/Ref - block $~lib/arraybuffer/ArrayBufferView - block $~lib/string/String - block $~lib/arraybuffer/ArrayBuffer - local.get $0 - i32.const 8 - i32.sub - i32.load - br_table $~lib/arraybuffer/ArrayBuffer $~lib/string/String $~lib/arraybuffer/ArrayBufferView $rc/ternary-mismatch/Ref $invalid - end - local.get $0 - local.get $1 - call $~lib/arraybuffer/ArrayBuffer~visit - return - end - local.get $0 - local.get $1 - call $~lib/string/String~visit - return - end - local.get $0 - local.get $1 - call $~lib/arraybuffer/ArrayBufferView~visit - return - end - local.get $0 - local.get $1 - call $rc/ternary-mismatch/Ref~visit - return - end - unreachable - ) -) diff --git a/tests/compiler/reexport.optimized.wat b/tests/compiler/reexport.optimized.wat index 132b69fd0b..762e26a1d3 100644 --- a/tests/compiler/reexport.optimized.wat +++ b/tests/compiler/reexport.optimized.wat @@ -684,12 +684,12 @@ (local $0 i32) (local $1 i32) memory.size - local.tee $0 + local.tee $1 i32.const 0 i32.le_s if (result i32) i32.const 1 - local.get $0 + local.get $1 i32.sub memory.grow i32.const 0 @@ -707,11 +707,11 @@ i32.const 0 i32.store loop $for-loop|0 - local.get $1 + local.get $0 i32.const 23 i32.lt_u if - local.get $1 + local.get $0 i32.const 2 i32.shl i32.const 17920 @@ -719,14 +719,14 @@ i32.const 0 i32.store offset=4 i32.const 0 - local.set $0 + local.set $1 loop $for-loop|1 - local.get $0 + local.get $1 i32.const 16 i32.lt_u if - local.get $0 local.get $1 + local.get $0 i32.const 4 i32.shl i32.add @@ -736,17 +736,17 @@ i32.add i32.const 0 i32.store offset=96 - local.get $0 + local.get $1 i32.const 1 i32.add - local.set $0 + local.set $1 br $for-loop|1 end end - local.get $1 + local.get $0 i32.const 1 i32.add - local.set $1 + local.set $0 br $for-loop|0 end end @@ -1717,19 +1717,19 @@ local.get $0 i32.const 20 i32.sub - local.tee $0 + local.tee $1 i32.load offset=4 i32.const 3 i32.and i32.eq if global.get $~lib/rt/itcms/iter - local.get $0 + local.get $1 i32.eq if - local.get $0 + local.get $1 i32.load offset=8 - local.tee $1 + local.tee $0 i32.eqz if i32.const 0 @@ -1739,22 +1739,22 @@ call $~lib/builtins/abort unreachable end - local.get $1 + local.get $0 global.set $~lib/rt/itcms/iter end block $__inlined_func$~lib/rt/itcms/Object#unlink - local.get $0 + local.get $1 i32.load offset=4 i32.const -4 i32.and - local.tee $1 + local.tee $0 i32.eqz if i32.const 0 - local.get $0 + local.get $1 i32.const 17916 i32.lt_u - local.get $0 + local.get $1 i32.load offset=8 select i32.eqz @@ -1768,7 +1768,7 @@ end br $__inlined_func$~lib/rt/itcms/Object#unlink end - local.get $0 + local.get $1 i32.load offset=8 local.tee $2 i32.eqz @@ -1780,7 +1780,7 @@ call $~lib/builtins/abort unreachable end - local.get $1 + local.get $0 local.get $2 i32.store offset=8 local.get $2 @@ -1788,15 +1788,15 @@ i32.load offset=4 i32.const 3 i32.and - local.get $1 + local.get $0 i32.or i32.store offset=4 end global.get $~lib/rt/itcms/toSpace local.set $2 - local.get $0 + local.get $1 i32.load offset=12 - local.tee $1 + local.tee $0 i32.const 1 i32.le_u if (result i32) @@ -1804,7 +1804,7 @@ else i32.const 1488 i32.load - local.get $1 + local.get $0 i32.lt_u if i32.const 1296 @@ -1814,7 +1814,7 @@ call $~lib/builtins/abort unreachable end - local.get $1 + local.get $0 i32.const 3 i32.shl i32.const 1492 @@ -1832,25 +1832,25 @@ local.set $3 local.get $2 i32.load offset=8 - local.set $1 - local.get $0 + local.set $0 + local.get $1 local.get $2 local.get $3 i32.or i32.store offset=4 - local.get $0 local.get $1 + local.get $0 i32.store offset=8 - local.get $1 - local.get $1 + local.get $0 + local.get $0 i32.load offset=4 i32.const 3 i32.and - local.get $0 + local.get $1 i32.or i32.store offset=4 local.get $2 - local.get $0 + local.get $1 i32.store offset=8 global.get $~lib/rt/itcms/visitCount i32.const 1 diff --git a/tests/compiler/rereexport.optimized.wat b/tests/compiler/rereexport.optimized.wat index 39a0afc23c..867048c7c1 100644 --- a/tests/compiler/rereexport.optimized.wat +++ b/tests/compiler/rereexport.optimized.wat @@ -646,12 +646,12 @@ (local $0 i32) (local $1 i32) memory.size - local.tee $0 + local.tee $1 i32.const 0 i32.le_s if (result i32) i32.const 1 - local.get $0 + local.get $1 i32.sub memory.grow i32.const 0 @@ -669,11 +669,11 @@ i32.const 0 i32.store loop $for-loop|0 - local.get $1 + local.get $0 i32.const 23 i32.lt_u if - local.get $1 + local.get $0 i32.const 2 i32.shl i32.const 17968 @@ -681,14 +681,14 @@ i32.const 0 i32.store offset=4 i32.const 0 - local.set $0 + local.set $1 loop $for-loop|1 - local.get $0 + local.get $1 i32.const 16 i32.lt_u if - local.get $0 local.get $1 + local.get $0 i32.const 4 i32.shl i32.add @@ -698,17 +698,17 @@ i32.add i32.const 0 i32.store offset=96 - local.get $0 + local.get $1 i32.const 1 i32.add - local.set $0 + local.set $1 br $for-loop|1 end end - local.get $1 + local.get $0 i32.const 1 i32.add - local.set $1 + local.set $0 br $for-loop|0 end end @@ -1507,19 +1507,19 @@ local.get $0 i32.const 20 i32.sub - local.tee $0 + local.tee $1 i32.load offset=4 i32.const 3 i32.and i32.eq if global.get $~lib/rt/itcms/iter - local.get $0 + local.get $1 i32.eq if - local.get $0 + local.get $1 i32.load offset=8 - local.tee $1 + local.tee $0 i32.eqz if i32.const 0 @@ -1529,22 +1529,22 @@ call $~lib/builtins/abort unreachable end - local.get $1 + local.get $0 global.set $~lib/rt/itcms/iter end block $__inlined_func$~lib/rt/itcms/Object#unlink - local.get $0 + local.get $1 i32.load offset=4 i32.const -4 i32.and - local.tee $1 + local.tee $0 i32.eqz if i32.const 0 - local.get $0 + local.get $1 i32.const 17956 i32.lt_u - local.get $0 + local.get $1 i32.load offset=8 select i32.eqz @@ -1558,7 +1558,7 @@ end br $__inlined_func$~lib/rt/itcms/Object#unlink end - local.get $0 + local.get $1 i32.load offset=8 local.tee $2 i32.eqz @@ -1570,7 +1570,7 @@ call $~lib/builtins/abort unreachable end - local.get $1 + local.get $0 local.get $2 i32.store offset=8 local.get $2 @@ -1578,15 +1578,15 @@ i32.load offset=4 i32.const 3 i32.and - local.get $1 + local.get $0 i32.or i32.store offset=4 end global.get $~lib/rt/itcms/toSpace local.set $2 - local.get $0 + local.get $1 i32.load offset=12 - local.tee $1 + local.tee $0 i32.const 1 i32.le_u if (result i32) @@ -1594,7 +1594,7 @@ else i32.const 1536 i32.load - local.get $1 + local.get $0 i32.lt_u if i32.const 1296 @@ -1604,7 +1604,7 @@ call $~lib/builtins/abort unreachable end - local.get $1 + local.get $0 i32.const 3 i32.shl i32.const 1540 @@ -1622,25 +1622,25 @@ local.set $3 local.get $2 i32.load offset=8 - local.set $1 - local.get $0 + local.set $0 + local.get $1 local.get $2 local.get $3 i32.or i32.store offset=4 - local.get $0 local.get $1 + local.get $0 i32.store offset=8 - local.get $1 - local.get $1 + local.get $0 + local.get $0 i32.load offset=4 i32.const 3 i32.and - local.get $0 + local.get $1 i32.or i32.store offset=4 local.get $2 - local.get $0 + local.get $1 i32.store offset=8 global.get $~lib/rt/itcms/visitCount i32.const 1 diff --git a/tests/compiler/resolve-access.optimized.wat b/tests/compiler/resolve-access.optimized.wat index 9618845565..87dc821e0b 100644 --- a/tests/compiler/resolve-access.optimized.wat +++ b/tests/compiler/resolve-access.optimized.wat @@ -748,12 +748,12 @@ (local $0 i32) (local $1 i32) memory.size - local.tee $0 + local.tee $1 i32.const 0 i32.le_s if (result i32) i32.const 1 - local.get $0 + local.get $1 i32.sub memory.grow i32.const 0 @@ -771,11 +771,11 @@ i32.const 0 i32.store loop $for-loop|0 - local.get $1 + local.get $0 i32.const 23 i32.lt_u if - local.get $1 + local.get $0 i32.const 2 i32.shl i32.const 19744 @@ -783,14 +783,14 @@ i32.const 0 i32.store offset=4 i32.const 0 - local.set $0 + local.set $1 loop $for-loop|1 - local.get $0 + local.get $1 i32.const 16 i32.lt_u if - local.get $0 local.get $1 + local.get $0 i32.const 4 i32.shl i32.add @@ -800,17 +800,17 @@ i32.add i32.const 0 i32.store offset=96 - local.get $0 + local.get $1 i32.const 1 i32.add - local.set $0 + local.set $1 br $for-loop|1 end end - local.get $1 + local.get $0 i32.const 1 i32.add - local.set $1 + local.set $0 br $for-loop|0 end end @@ -2515,7 +2515,7 @@ i32.add global.set $~lib/memory/__stack_pointer i32.const 1728 - local.set $2 + local.set $1 br $__inlined_func$~lib/util/number/utoa64 end local.get $0 @@ -2525,7 +2525,6 @@ global.get $~lib/memory/__stack_pointer local.get $0 i32.wrap_i64 - local.tee $1 local.tee $2 i32.const 100000 i32.lt_u @@ -2577,10 +2576,10 @@ i32.shl i32.const 1 call $~lib/rt/itcms/__new - local.tee $2 + local.tee $1 i32.store - local.get $2 local.get $1 + local.get $2 local.get $3 call $~lib/util/number/utoa32_dec_lut else @@ -2635,25 +2634,25 @@ i32.add end end - local.tee $1 + local.tee $2 i32.const 1 i32.shl i32.const 1 call $~lib/rt/itcms/__new - local.tee $2 + local.tee $1 i32.store loop $while-continue|0 local.get $0 i64.const 100000000 i64.ge_u if - local.get $1 + local.get $2 i32.const 4 i32.sub - local.tee $1 + local.tee $2 i32.const 1 i32.shl - local.get $2 + local.get $1 i32.add local.get $0 local.get $0 @@ -2687,13 +2686,13 @@ i64.shl i64.or i64.store - local.get $1 + local.get $2 i32.const 4 i32.sub - local.tee $1 + local.tee $2 i32.const 1 i32.shl - local.get $2 + local.get $1 i32.add local.get $3 i32.const 10000 @@ -2721,10 +2720,10 @@ br $while-continue|0 end end - local.get $2 + local.get $1 local.get $0 i32.wrap_i64 - local.get $1 + local.get $2 call $~lib/util/number/utoa32_dec_lut end global.get $~lib/memory/__stack_pointer @@ -2732,7 +2731,7 @@ i32.add global.set $~lib/memory/__stack_pointer end - local.get $2 + local.get $1 ) (func $~lib/rt/__visit_members (param $0 i32) block $folding-inner0 @@ -3198,11 +3197,11 @@ (local $0 i32) (local $1 i32) (local $2 i32) + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.sub + global.set $~lib/memory/__stack_pointer block $folding-inner0 - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.sub - global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer i32.const 3348 i32.lt_s diff --git a/tests/compiler/resolve-binary.optimized.wat b/tests/compiler/resolve-binary.optimized.wat index 50b36ddc41..55436c1f56 100644 --- a/tests/compiler/resolve-binary.optimized.wat +++ b/tests/compiler/resolve-binary.optimized.wat @@ -937,12 +937,12 @@ (local $0 i32) (local $1 i32) memory.size - local.tee $0 + local.tee $1 i32.const 0 i32.le_s if (result i32) i32.const 1 - local.get $0 + local.get $1 i32.sub memory.grow i32.const 0 @@ -960,11 +960,11 @@ i32.const 0 i32.store loop $for-loop|0 - local.get $1 + local.get $0 i32.const 23 i32.lt_u if - local.get $1 + local.get $0 i32.const 2 i32.shl i32.const 27680 @@ -972,14 +972,14 @@ i32.const 0 i32.store offset=4 i32.const 0 - local.set $0 + local.set $1 loop $for-loop|1 - local.get $0 + local.get $1 i32.const 16 i32.lt_u if - local.get $0 local.get $1 + local.get $0 i32.const 4 i32.shl i32.add @@ -989,17 +989,17 @@ i32.add i32.const 0 i32.store offset=96 - local.get $0 + local.get $1 i32.const 1 i32.add - local.set $0 + local.set $1 br $for-loop|1 end end - local.get $1 + local.get $0 i32.const 1 i32.add - local.set $1 + local.set $0 br $for-loop|0 end end @@ -3543,7 +3543,7 @@ local.get $0 i32.const 1 i32.eq - if (result i32) + if i32.const 9762 i32.const 101 i32.store16 @@ -3618,9 +3618,6 @@ local.get $1 select i32.store16 - local.get $0 - i32.const 2 - i32.add else i32.const 9764 i32.const 9762 @@ -3718,9 +3715,11 @@ local.get $0 local.get $1 i32.add - i32.const 2 - i32.add + local.set $0 end + local.get $0 + i32.const 2 + i32.add end end end @@ -3911,7 +3910,6 @@ (func $start:resolve-binary (local $0 i32) (local $1 i32) - (local $2 i32) global.get $~lib/memory/__stack_pointer i32.const 20 i32.sub @@ -5215,22 +5213,21 @@ call $resolve-binary/Bar#constructor global.set $resolve-binary/bar2 global.get $~lib/memory/__stack_pointer - local.tee $1 + local.tee $0 global.get $resolve-binary/bar i32.store offset=4 - local.get $1 + local.get $0 global.get $resolve-binary/bar2 - local.tee $2 - local.tee $0 + local.tee $1 i32.store offset=8 - local.get $0 - global.set $resolve-binary/bar local.get $1 + global.set $resolve-binary/bar + local.get $0 global.get $resolve-binary/bar local.tee $0 i32.store local.get $0 - local.get $2 + local.get $1 i32.ne if i32.const 0 @@ -5305,19 +5302,19 @@ local.get $0 i32.const 20 i32.sub - local.tee $0 + local.tee $1 i32.load offset=4 i32.const 3 i32.and i32.eq if global.get $~lib/rt/itcms/iter - local.get $0 + local.get $1 i32.eq if - local.get $0 + local.get $1 i32.load offset=8 - local.tee $1 + local.tee $0 i32.eqz if i32.const 0 @@ -5327,22 +5324,22 @@ call $~lib/builtins/abort unreachable end - local.get $1 + local.get $0 global.set $~lib/rt/itcms/iter end block $__inlined_func$~lib/rt/itcms/Object#unlink - local.get $0 + local.get $1 i32.load offset=4 i32.const -4 i32.and - local.tee $1 + local.tee $0 i32.eqz if i32.const 0 - local.get $0 + local.get $1 i32.const 27676 i32.lt_u - local.get $0 + local.get $1 i32.load offset=8 select i32.eqz @@ -5356,7 +5353,7 @@ end br $__inlined_func$~lib/rt/itcms/Object#unlink end - local.get $0 + local.get $1 i32.load offset=8 local.tee $2 i32.eqz @@ -5368,7 +5365,7 @@ call $~lib/builtins/abort unreachable end - local.get $1 + local.get $0 local.get $2 i32.store offset=8 local.get $2 @@ -5376,15 +5373,15 @@ i32.load offset=4 i32.const 3 i32.and - local.get $1 + local.get $0 i32.or i32.store offset=4 end global.get $~lib/rt/itcms/toSpace local.set $2 - local.get $0 + local.get $1 i32.load offset=12 - local.tee $1 + local.tee $0 i32.const 1 i32.le_u if (result i32) @@ -5392,7 +5389,7 @@ else i32.const 11248 i32.load - local.get $1 + local.get $0 i32.lt_u if i32.const 1632 @@ -5402,7 +5399,7 @@ call $~lib/builtins/abort unreachable end - local.get $1 + local.get $0 i32.const 3 i32.shl i32.const 11252 @@ -5420,25 +5417,25 @@ local.set $3 local.get $2 i32.load offset=8 - local.set $1 - local.get $0 + local.set $0 + local.get $1 local.get $2 local.get $3 i32.or i32.store offset=4 - local.get $0 local.get $1 + local.get $0 i32.store offset=8 - local.get $1 - local.get $1 + local.get $0 + local.get $0 i32.load offset=4 i32.const 3 i32.and - local.get $0 + local.get $1 i32.or i32.store offset=4 local.get $2 - local.get $0 + local.get $1 i32.store offset=8 global.get $~lib/rt/itcms/visitCount i32.const 1 diff --git a/tests/compiler/resolve-elementaccess.optimized.wat b/tests/compiler/resolve-elementaccess.optimized.wat index 21542a973f..637e4e4fb5 100644 --- a/tests/compiler/resolve-elementaccess.optimized.wat +++ b/tests/compiler/resolve-elementaccess.optimized.wat @@ -800,12 +800,12 @@ (local $0 i32) (local $1 i32) memory.size - local.tee $0 + local.tee $1 i32.const 0 i32.le_s if (result i32) i32.const 1 - local.get $0 + local.get $1 i32.sub memory.grow i32.const 0 @@ -823,11 +823,11 @@ i32.const 0 i32.store loop $for-loop|0 - local.get $1 + local.get $0 i32.const 23 i32.lt_u if - local.get $1 + local.get $0 i32.const 2 i32.shl i32.const 21248 @@ -835,14 +835,14 @@ i32.const 0 i32.store offset=4 i32.const 0 - local.set $0 + local.set $1 loop $for-loop|1 - local.get $0 + local.get $1 i32.const 16 i32.lt_u if - local.get $0 local.get $1 + local.get $0 i32.const 4 i32.shl i32.add @@ -852,17 +852,17 @@ i32.add i32.const 0 i32.store offset=96 - local.get $0 + local.get $1 i32.const 1 i32.add - local.set $0 + local.set $1 br $for-loop|1 end end - local.get $1 + local.get $0 i32.const 1 i32.add - local.set $1 + local.set $0 br $for-loop|0 end end @@ -3411,8 +3411,6 @@ select i32.store16 offset=4 local.get $1 - i32.const 2 - i32.add else local.get $0 i32.const 4 @@ -3512,9 +3510,9 @@ local.get $0 local.get $1 i32.add - i32.const 2 - i32.add end + i32.const 2 + i32.add end end end @@ -4426,7 +4424,7 @@ local.tee $0 i32.store global.get $~lib/memory/__stack_pointer - global.get $~lib/memory/__stack_pointer + local.tee $1 i32.const 4 i32.sub global.set $~lib/memory/__stack_pointer @@ -4457,6 +4455,7 @@ 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/resolve-function-expression.optimized.wat b/tests/compiler/resolve-function-expression.optimized.wat index 805e1477e1..2e76ebebed 100644 --- a/tests/compiler/resolve-function-expression.optimized.wat +++ b/tests/compiler/resolve-function-expression.optimized.wat @@ -635,12 +635,12 @@ (local $0 i32) (local $1 i32) memory.size - local.tee $0 + local.tee $1 i32.const 0 i32.le_s if (result i32) i32.const 1 - local.get $0 + local.get $1 i32.sub memory.grow i32.const 0 @@ -658,11 +658,11 @@ i32.const 0 i32.store loop $for-loop|0 - local.get $1 + local.get $0 i32.const 23 i32.lt_u if - local.get $1 + local.get $0 i32.const 2 i32.shl i32.const 19856 @@ -670,14 +670,14 @@ i32.const 0 i32.store offset=4 i32.const 0 - local.set $0 + local.set $1 loop $for-loop|1 - local.get $0 + local.get $1 i32.const 16 i32.lt_u if - local.get $0 local.get $1 + local.get $0 i32.const 4 i32.shl i32.add @@ -687,17 +687,17 @@ i32.add i32.const 0 i32.store offset=96 - local.get $0 + local.get $1 i32.const 1 i32.add - local.set $0 + local.set $1 br $for-loop|1 end end - local.get $1 + local.get $0 i32.const 1 i32.add - local.set $1 + local.set $0 br $for-loop|0 end end @@ -1620,7 +1620,6 @@ (local $2 i32) (local $3 i32) (local $4 i32) - (local $5 i32) global.get $~lib/memory/__stack_pointer i32.const 8 i32.sub @@ -1730,7 +1729,7 @@ local.get $0 i32.const 31 i32.shr_u - local.tee $2 + local.tee $1 select local.tee $0 i32.const 100000 @@ -1778,9 +1777,9 @@ i32.add end end - local.get $2 + local.get $1 i32.add - local.tee $1 + local.tee $2 i32.const 1 i32.shl call $~lib/rt/itcms/__new @@ -1799,10 +1798,10 @@ i32.const 10000 i32.div_u local.set $0 - local.get $1 + local.get $2 i32.const 4 i32.sub - local.tee $1 + local.tee $2 i32.const 1 i32.shl local.get $3 @@ -1834,10 +1833,10 @@ i32.const 100 i32.ge_u if - local.get $1 + local.get $2 i32.const 2 i32.sub - local.tee $1 + local.tee $2 i32.const 1 i32.shl local.get $3 @@ -1860,7 +1859,7 @@ i32.const 10 i32.ge_u if - local.get $1 + local.get $2 i32.const 2 i32.sub i32.const 1 @@ -1875,7 +1874,7 @@ i32.load i32.store else - local.get $1 + local.get $2 i32.const 1 i32.sub i32.const 1 @@ -1887,7 +1886,7 @@ i32.add i32.store16 end - local.get $2 + local.get $1 if local.get $3 i32.const 45 @@ -1936,41 +1935,41 @@ i32.ne br_if $__inlined_func$~lib/string/String.__eq drop - local.get $3 - i32.const 7 - i32.and - i32.eqz - local.get $0 - i32.const 4 - i32.ge_u - i32.and - if - loop $do-loop|0 - local.get $3 - i64.load - local.get $2 - i64.load - i64.eq - if + block $__inlined_func$~lib/util/string/compareImpl (result i32) + local.get $3 + i32.const 7 + i32.and + i32.eqz + local.get $0 + i32.const 4 + i32.ge_u + i32.and + if + loop $do-loop|0 local.get $3 - i32.const 8 - i32.add - local.set $3 + i64.load local.get $2 - i32.const 8 - i32.add - local.set $2 - local.get $0 - i32.const 4 - i32.sub - local.tee $0 - i32.const 4 - i32.ge_u - br_if $do-loop|0 + i64.load + i64.eq + if + local.get $3 + i32.const 8 + i32.add + local.set $3 + local.get $2 + i32.const 8 + i32.add + local.set $2 + local.get $0 + i32.const 4 + i32.sub + local.tee $0 + i32.const 4 + i32.ge_u + br_if $do-loop|0 + end end end - end - block $__inlined_func$~lib/util/string/compareImpl loop $while-continue|1 local.get $0 local.tee $1 @@ -1979,18 +1978,19 @@ local.set $0 local.get $1 if + local.get $2 + i32.load16_u + local.tee $1 local.get $3 i32.load16_u local.tee $4 - local.get $2 - i32.load16_u - local.tee $5 - i32.sub - local.set $1 - local.get $4 - local.get $5 i32.ne - br_if $__inlined_func$~lib/util/string/compareImpl + if + local.get $4 + local.get $1 + i32.sub + br $__inlined_func$~lib/util/string/compareImpl + end local.get $3 i32.const 2 i32.add @@ -2003,9 +2003,7 @@ end end i32.const 0 - local.set $1 end - local.get $1 i32.eqz end i32.eqz @@ -2038,19 +2036,19 @@ local.get $0 i32.const 20 i32.sub - local.tee $0 + local.tee $1 i32.load offset=4 i32.const 3 i32.and i32.eq if global.get $~lib/rt/itcms/iter - local.get $0 + local.get $1 i32.eq if - local.get $0 + local.get $1 i32.load offset=8 - local.tee $1 + local.tee $0 i32.eqz if i32.const 0 @@ -2060,22 +2058,22 @@ call $~lib/builtins/abort unreachable end - local.get $1 + local.get $0 global.set $~lib/rt/itcms/iter end block $__inlined_func$~lib/rt/itcms/Object#unlink - local.get $0 + local.get $1 i32.load offset=4 i32.const -4 i32.and - local.tee $1 + local.tee $0 i32.eqz if i32.const 0 - local.get $0 + local.get $1 i32.const 19844 i32.lt_u - local.get $0 + local.get $1 i32.load offset=8 select i32.eqz @@ -2089,7 +2087,7 @@ end br $__inlined_func$~lib/rt/itcms/Object#unlink end - local.get $0 + local.get $1 i32.load offset=8 local.tee $2 i32.eqz @@ -2101,7 +2099,7 @@ call $~lib/builtins/abort unreachable end - local.get $1 + local.get $0 local.get $2 i32.store offset=8 local.get $2 @@ -2109,15 +2107,15 @@ i32.load offset=4 i32.const 3 i32.and - local.get $1 + local.get $0 i32.or i32.store offset=4 end global.get $~lib/rt/itcms/toSpace local.set $2 - local.get $0 + local.get $1 i32.load offset=12 - local.tee $1 + local.tee $0 i32.const 1 i32.le_u if (result i32) @@ -2125,7 +2123,7 @@ else i32.const 3424 i32.load - local.get $1 + local.get $0 i32.lt_u if i32.const 1648 @@ -2135,7 +2133,7 @@ call $~lib/builtins/abort unreachable end - local.get $1 + local.get $0 i32.const 3 i32.shl i32.const 3428 @@ -2153,25 +2151,25 @@ local.set $3 local.get $2 i32.load offset=8 - local.set $1 - local.get $0 + local.set $0 + local.get $1 local.get $2 local.get $3 i32.or i32.store offset=4 - local.get $0 local.get $1 + local.get $0 i32.store offset=8 - local.get $1 - local.get $1 + local.get $0 + local.get $0 i32.load offset=4 i32.const 3 i32.and - local.get $0 + local.get $1 i32.or i32.store offset=4 local.get $2 - local.get $0 + local.get $1 i32.store offset=8 global.get $~lib/rt/itcms/visitCount i32.const 1 diff --git a/tests/compiler/resolve-nested.optimized.wat b/tests/compiler/resolve-nested.optimized.wat index 0312391376..b1181d460c 100644 --- a/tests/compiler/resolve-nested.optimized.wat +++ b/tests/compiler/resolve-nested.optimized.wat @@ -604,12 +604,12 @@ (local $0 i32) (local $1 i32) memory.size - local.tee $0 + local.tee $1 i32.const 0 i32.le_s if (result i32) i32.const 1 - local.get $0 + local.get $1 i32.sub memory.grow i32.const 0 @@ -627,11 +627,11 @@ i32.const 0 i32.store loop $for-loop|0 - local.get $1 + local.get $0 i32.const 23 i32.lt_u if - local.get $1 + local.get $0 i32.const 2 i32.shl i32.const 17888 @@ -639,14 +639,14 @@ i32.const 0 i32.store offset=4 i32.const 0 - local.set $0 + local.set $1 loop $for-loop|1 - local.get $0 + local.get $1 i32.const 16 i32.lt_u if - local.get $0 local.get $1 + local.get $0 i32.const 4 i32.shl i32.add @@ -656,17 +656,17 @@ i32.add i32.const 0 i32.store offset=96 - local.get $0 + local.get $1 i32.const 1 i32.add - local.set $0 + local.set $1 br $for-loop|1 end end - local.get $1 + local.get $0 i32.const 1 i32.add - local.set $1 + local.set $0 br $for-loop|0 end end @@ -1523,19 +1523,19 @@ local.get $0 i32.const 20 i32.sub - local.tee $0 + local.tee $1 i32.load offset=4 i32.const 3 i32.and i32.eq if global.get $~lib/rt/itcms/iter - local.get $0 + local.get $1 i32.eq if - local.get $0 + local.get $1 i32.load offset=8 - local.tee $1 + local.tee $0 i32.eqz if i32.const 0 @@ -1545,22 +1545,22 @@ call $~lib/builtins/abort unreachable end - local.get $1 + local.get $0 global.set $~lib/rt/itcms/iter end block $__inlined_func$~lib/rt/itcms/Object#unlink - local.get $0 + local.get $1 i32.load offset=4 i32.const -4 i32.and - local.tee $1 + local.tee $0 i32.eqz if i32.const 0 - local.get $0 + local.get $1 i32.const 17876 i32.lt_u - local.get $0 + local.get $1 i32.load offset=8 select i32.eqz @@ -1574,7 +1574,7 @@ end br $__inlined_func$~lib/rt/itcms/Object#unlink end - local.get $0 + local.get $1 i32.load offset=8 local.tee $2 i32.eqz @@ -1586,7 +1586,7 @@ call $~lib/builtins/abort unreachable end - local.get $1 + local.get $0 local.get $2 i32.store offset=8 local.get $2 @@ -1594,15 +1594,15 @@ i32.load offset=4 i32.const 3 i32.and - local.get $1 + local.get $0 i32.or i32.store offset=4 end global.get $~lib/rt/itcms/toSpace local.set $2 - local.get $0 + local.get $1 i32.load offset=12 - local.tee $1 + local.tee $0 i32.const 1 i32.le_u if (result i32) @@ -1610,7 +1610,7 @@ else i32.const 1440 i32.load - local.get $1 + local.get $0 i32.lt_u if i32.const 1248 @@ -1620,7 +1620,7 @@ call $~lib/builtins/abort unreachable end - local.get $1 + local.get $0 i32.const 3 i32.shl i32.const 1444 @@ -1638,25 +1638,25 @@ local.set $3 local.get $2 i32.load offset=8 - local.set $1 - local.get $0 + local.set $0 + local.get $1 local.get $2 local.get $3 i32.or i32.store offset=4 - local.get $0 local.get $1 + local.get $0 i32.store offset=8 - local.get $1 - local.get $1 + local.get $0 + local.get $0 i32.load offset=4 i32.const 3 i32.and - local.get $0 + local.get $1 i32.or i32.store offset=4 local.get $2 - local.get $0 + local.get $1 i32.store offset=8 global.get $~lib/rt/itcms/visitCount i32.const 1 diff --git a/tests/compiler/resolve-new.optimized.wat b/tests/compiler/resolve-new.optimized.wat index c452094e26..1c8e9ee99c 100644 --- a/tests/compiler/resolve-new.optimized.wat +++ b/tests/compiler/resolve-new.optimized.wat @@ -600,12 +600,12 @@ (local $0 i32) (local $1 i32) memory.size - local.tee $0 + local.tee $1 i32.const 0 i32.le_s if (result i32) i32.const 1 - local.get $0 + local.get $1 i32.sub memory.grow i32.const 0 @@ -623,11 +623,11 @@ i32.const 0 i32.store loop $for-loop|0 - local.get $1 + local.get $0 i32.const 23 i32.lt_u if - local.get $1 + local.get $0 i32.const 2 i32.shl i32.const 17872 @@ -635,14 +635,14 @@ i32.const 0 i32.store offset=4 i32.const 0 - local.set $0 + local.set $1 loop $for-loop|1 - local.get $0 + local.get $1 i32.const 16 i32.lt_u if - local.get $0 local.get $1 + local.get $0 i32.const 4 i32.shl i32.add @@ -652,17 +652,17 @@ i32.add i32.const 0 i32.store offset=96 - local.get $0 + local.get $1 i32.const 1 i32.add - local.set $0 + local.set $1 br $for-loop|1 end end - local.get $1 + local.get $0 i32.const 1 i32.add - local.set $1 + local.set $0 br $for-loop|0 end end @@ -1354,19 +1354,19 @@ local.get $0 i32.const 20 i32.sub - local.tee $0 + local.tee $1 i32.load offset=4 i32.const 3 i32.and i32.eq if global.get $~lib/rt/itcms/iter - local.get $0 + local.get $1 i32.eq if - local.get $0 + local.get $1 i32.load offset=8 - local.tee $1 + local.tee $0 i32.eqz if i32.const 0 @@ -1376,22 +1376,22 @@ call $~lib/builtins/abort unreachable end - local.get $1 + local.get $0 global.set $~lib/rt/itcms/iter end block $__inlined_func$~lib/rt/itcms/Object#unlink - local.get $0 + local.get $1 i32.load offset=4 i32.const -4 i32.and - local.tee $1 + local.tee $0 i32.eqz if i32.const 0 - local.get $0 + local.get $1 i32.const 17860 i32.lt_u - local.get $0 + local.get $1 i32.load offset=8 select i32.eqz @@ -1405,7 +1405,7 @@ end br $__inlined_func$~lib/rt/itcms/Object#unlink end - local.get $0 + local.get $1 i32.load offset=8 local.tee $2 i32.eqz @@ -1417,7 +1417,7 @@ call $~lib/builtins/abort unreachable end - local.get $1 + local.get $0 local.get $2 i32.store offset=8 local.get $2 @@ -1425,15 +1425,15 @@ i32.load offset=4 i32.const 3 i32.and - local.get $1 + local.get $0 i32.or i32.store offset=4 end global.get $~lib/rt/itcms/toSpace local.set $2 - local.get $0 + local.get $1 i32.load offset=12 - local.tee $1 + local.tee $0 i32.const 1 i32.le_u if (result i32) @@ -1441,7 +1441,7 @@ else i32.const 1440 i32.load - local.get $1 + local.get $0 i32.lt_u if i32.const 1248 @@ -1451,7 +1451,7 @@ call $~lib/builtins/abort unreachable end - local.get $1 + local.get $0 i32.const 3 i32.shl i32.const 1444 @@ -1469,25 +1469,25 @@ local.set $3 local.get $2 i32.load offset=8 - local.set $1 - local.get $0 + local.set $0 + local.get $1 local.get $2 local.get $3 i32.or i32.store offset=4 - local.get $0 local.get $1 + local.get $0 i32.store offset=8 - local.get $1 - local.get $1 + local.get $0 + local.get $0 i32.load offset=4 i32.const 3 i32.and - local.get $0 + local.get $1 i32.or i32.store offset=4 local.get $2 - local.get $0 + local.get $1 i32.store offset=8 global.get $~lib/rt/itcms/visitCount i32.const 1 diff --git a/tests/compiler/resolve-propertyaccess.optimized.wat b/tests/compiler/resolve-propertyaccess.optimized.wat index f214cfaec0..f985cf692e 100644 --- a/tests/compiler/resolve-propertyaccess.optimized.wat +++ b/tests/compiler/resolve-propertyaccess.optimized.wat @@ -635,12 +635,12 @@ (local $0 i32) (local $1 i32) memory.size - local.tee $0 + local.tee $1 i32.const 0 i32.le_s if (result i32) i32.const 1 - local.get $0 + local.get $1 i32.sub memory.grow i32.const 0 @@ -658,11 +658,11 @@ i32.const 0 i32.store loop $for-loop|0 - local.get $1 + local.get $0 i32.const 23 i32.lt_u if - local.get $1 + local.get $0 i32.const 2 i32.shl i32.const 20112 @@ -670,14 +670,14 @@ i32.const 0 i32.store offset=4 i32.const 0 - local.set $0 + local.set $1 loop $for-loop|1 - local.get $0 + local.get $1 i32.const 16 i32.lt_u if - local.get $0 local.get $1 + local.get $0 i32.const 4 i32.shl i32.add @@ -687,17 +687,17 @@ i32.add i32.const 0 i32.store offset=96 - local.get $0 + local.get $1 i32.const 1 i32.add - local.set $0 + local.set $1 br $for-loop|1 end end - local.get $1 + local.get $0 i32.const 1 i32.add - local.set $1 + local.set $0 br $for-loop|0 end end @@ -2305,19 +2305,19 @@ local.get $0 i32.const 20 i32.sub - local.tee $0 + local.tee $1 i32.load offset=4 i32.const 3 i32.and i32.eq if global.get $~lib/rt/itcms/iter - local.get $0 + local.get $1 i32.eq if - local.get $0 + local.get $1 i32.load offset=8 - local.tee $1 + local.tee $0 i32.eqz if i32.const 0 @@ -2327,22 +2327,22 @@ call $~lib/builtins/abort unreachable end - local.get $1 + local.get $0 global.set $~lib/rt/itcms/iter end block $__inlined_func$~lib/rt/itcms/Object#unlink - local.get $0 + local.get $1 i32.load offset=4 i32.const -4 i32.and - local.tee $1 + local.tee $0 i32.eqz if i32.const 0 - local.get $0 + local.get $1 i32.const 20100 i32.lt_u - local.get $0 + local.get $1 i32.load offset=8 select i32.eqz @@ -2356,7 +2356,7 @@ end br $__inlined_func$~lib/rt/itcms/Object#unlink end - local.get $0 + local.get $1 i32.load offset=8 local.tee $2 i32.eqz @@ -2368,7 +2368,7 @@ call $~lib/builtins/abort unreachable end - local.get $1 + local.get $0 local.get $2 i32.store offset=8 local.get $2 @@ -2376,15 +2376,15 @@ i32.load offset=4 i32.const 3 i32.and - local.get $1 + local.get $0 i32.or i32.store offset=4 end global.get $~lib/rt/itcms/toSpace local.set $2 - local.get $0 + local.get $1 i32.load offset=12 - local.tee $1 + local.tee $0 i32.const 1 i32.le_u if (result i32) @@ -2392,7 +2392,7 @@ else i32.const 3680 i32.load - local.get $1 + local.get $0 i32.lt_u if i32.const 1472 @@ -2402,7 +2402,7 @@ call $~lib/builtins/abort unreachable end - local.get $1 + local.get $0 i32.const 3 i32.shl i32.const 3684 @@ -2420,25 +2420,25 @@ local.set $3 local.get $2 i32.load offset=8 - local.set $1 - local.get $0 + local.set $0 + local.get $1 local.get $2 local.get $3 i32.or i32.store offset=4 - local.get $0 local.get $1 + local.get $0 i32.store offset=8 - local.get $1 - local.get $1 + local.get $0 + local.get $0 i32.load offset=4 i32.const 3 i32.and - local.get $0 + local.get $1 i32.or i32.store offset=4 local.get $2 - local.get $0 + local.get $1 i32.store offset=8 global.get $~lib/rt/itcms/visitCount i32.const 1 diff --git a/tests/compiler/resolve-ternary.optimized.wat b/tests/compiler/resolve-ternary.optimized.wat index 19d10e82ea..3f30a11824 100644 --- a/tests/compiler/resolve-ternary.optimized.wat +++ b/tests/compiler/resolve-ternary.optimized.wat @@ -639,12 +639,12 @@ (local $0 i32) (local $1 i32) memory.size - local.tee $0 + local.tee $1 i32.const 0 i32.le_s if (result i32) i32.const 1 - local.get $0 + local.get $1 i32.sub memory.grow i32.const 0 @@ -662,11 +662,11 @@ i32.const 0 i32.store loop $for-loop|0 - local.get $1 + local.get $0 i32.const 23 i32.lt_u if - local.get $1 + local.get $0 i32.const 2 i32.shl i32.const 21040 @@ -674,14 +674,14 @@ i32.const 0 i32.store offset=4 i32.const 0 - local.set $0 + local.set $1 loop $for-loop|1 - local.get $0 + local.get $1 i32.const 16 i32.lt_u if - local.get $0 local.get $1 + local.get $0 i32.const 4 i32.shl i32.add @@ -691,17 +691,17 @@ i32.add i32.const 0 i32.store offset=96 - local.get $0 + local.get $1 i32.const 1 i32.add - local.set $0 + local.set $1 br $for-loop|1 end end - local.get $1 + local.get $0 i32.const 1 i32.add - local.set $1 + local.set $0 br $for-loop|0 end end @@ -3244,7 +3244,7 @@ local.get $0 i32.const 1 i32.eq - if (result i32) + if i32.const 3474 i32.const 101 i32.store16 @@ -3319,9 +3319,6 @@ local.get $1 select i32.store16 - local.get $0 - i32.const 2 - i32.add else i32.const 3476 i32.const 3474 @@ -3417,9 +3414,11 @@ local.get $0 local.get $1 i32.add - i32.const 2 - i32.add + local.set $0 end + local.get $0 + i32.const 2 + i32.add end end end @@ -3487,11 +3486,11 @@ (local $3 i64) (local $4 i32) (local $5 f64) + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.sub + global.set $~lib/memory/__stack_pointer block $folding-inner1 - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.sub - global.set $~lib/memory/__stack_pointer block $folding-inner0 global.get $~lib/memory/__stack_pointer i32.const 4644 @@ -3789,19 +3788,19 @@ local.get $0 i32.const 20 i32.sub - local.tee $0 + local.tee $1 i32.load offset=4 i32.const 3 i32.and i32.eq if global.get $~lib/rt/itcms/iter - local.get $0 + local.get $1 i32.eq if - local.get $0 + local.get $1 i32.load offset=8 - local.tee $1 + local.tee $0 i32.eqz if i32.const 0 @@ -3811,22 +3810,22 @@ call $~lib/builtins/abort unreachable end - local.get $1 + local.get $0 global.set $~lib/rt/itcms/iter end block $__inlined_func$~lib/rt/itcms/Object#unlink - local.get $0 + local.get $1 i32.load offset=4 i32.const -4 i32.and - local.tee $1 + local.tee $0 i32.eqz if i32.const 0 - local.get $0 + local.get $1 i32.const 21028 i32.lt_u - local.get $0 + local.get $1 i32.load offset=8 select i32.eqz @@ -3840,7 +3839,7 @@ end br $__inlined_func$~lib/rt/itcms/Object#unlink end - local.get $0 + local.get $1 i32.load offset=8 local.tee $2 i32.eqz @@ -3852,7 +3851,7 @@ call $~lib/builtins/abort unreachable end - local.get $1 + local.get $0 local.get $2 i32.store offset=8 local.get $2 @@ -3860,15 +3859,15 @@ i32.load offset=4 i32.const 3 i32.and - local.get $1 + local.get $0 i32.or i32.store offset=4 end global.get $~lib/rt/itcms/toSpace local.set $2 - local.get $0 + local.get $1 i32.load offset=12 - local.tee $1 + local.tee $0 i32.const 1 i32.le_u if (result i32) @@ -3876,7 +3875,7 @@ else i32.const 4608 i32.load - local.get $1 + local.get $0 i32.lt_u if i32.const 1472 @@ -3886,7 +3885,7 @@ call $~lib/builtins/abort unreachable end - local.get $1 + local.get $0 i32.const 3 i32.shl i32.const 4612 @@ -3904,25 +3903,25 @@ local.set $3 local.get $2 i32.load offset=8 - local.set $1 - local.get $0 + local.set $0 + local.get $1 local.get $2 local.get $3 i32.or i32.store offset=4 - local.get $0 local.get $1 + local.get $0 i32.store offset=8 - local.get $1 - local.get $1 + local.get $0 + local.get $0 i32.load offset=4 i32.const 3 i32.and - local.get $0 + local.get $1 i32.or i32.store offset=4 local.get $2 - local.get $0 + local.get $1 i32.store offset=8 global.get $~lib/rt/itcms/visitCount i32.const 1 diff --git a/tests/compiler/resolve-unary.optimized.wat b/tests/compiler/resolve-unary.optimized.wat index 8ae190069c..1de537e155 100644 --- a/tests/compiler/resolve-unary.optimized.wat +++ b/tests/compiler/resolve-unary.optimized.wat @@ -655,12 +655,12 @@ (local $0 i32) (local $1 i32) memory.size - local.tee $0 + local.tee $1 i32.const 0 i32.le_s if (result i32) i32.const 1 - local.get $0 + local.get $1 i32.sub memory.grow i32.const 0 @@ -678,11 +678,11 @@ i32.const 0 i32.store loop $for-loop|0 - local.get $1 + local.get $0 i32.const 23 i32.lt_u if - local.get $1 + local.get $0 i32.const 2 i32.shl i32.const 20160 @@ -690,14 +690,14 @@ i32.const 0 i32.store offset=4 i32.const 0 - local.set $0 + local.set $1 loop $for-loop|1 - local.get $0 + local.get $1 i32.const 16 i32.lt_u if - local.get $0 local.get $1 + local.get $0 i32.const 4 i32.shl i32.add @@ -707,17 +707,17 @@ i32.add i32.const 0 i32.store offset=96 - local.get $0 + local.get $1 i32.const 1 i32.add - local.set $0 + local.set $1 br $for-loop|1 end end - local.get $1 + local.get $0 i32.const 1 i32.add - local.set $1 + local.set $0 br $for-loop|0 end end @@ -2598,19 +2598,19 @@ local.get $0 i32.const 20 i32.sub - local.tee $0 + local.tee $1 i32.load offset=4 i32.const 3 i32.and i32.eq if global.get $~lib/rt/itcms/iter - local.get $0 + local.get $1 i32.eq if - local.get $0 + local.get $1 i32.load offset=8 - local.tee $1 + local.tee $0 i32.eqz if i32.const 0 @@ -2620,22 +2620,22 @@ call $~lib/builtins/abort unreachable end - local.get $1 + local.get $0 global.set $~lib/rt/itcms/iter end block $__inlined_func$~lib/rt/itcms/Object#unlink - local.get $0 + local.get $1 i32.load offset=4 i32.const -4 i32.and - local.tee $1 + local.tee $0 i32.eqz if i32.const 0 - local.get $0 + local.get $1 i32.const 20156 i32.lt_u - local.get $0 + local.get $1 i32.load offset=8 select i32.eqz @@ -2649,7 +2649,7 @@ end br $__inlined_func$~lib/rt/itcms/Object#unlink end - local.get $0 + local.get $1 i32.load offset=8 local.tee $2 i32.eqz @@ -2661,7 +2661,7 @@ call $~lib/builtins/abort unreachable end - local.get $1 + local.get $0 local.get $2 i32.store offset=8 local.get $2 @@ -2669,15 +2669,15 @@ i32.load offset=4 i32.const 3 i32.and - local.get $1 + local.get $0 i32.or i32.store offset=4 end global.get $~lib/rt/itcms/toSpace local.set $2 - local.get $0 + local.get $1 i32.load offset=12 - local.tee $1 + local.tee $0 i32.const 1 i32.le_u if (result i32) @@ -2685,7 +2685,7 @@ else i32.const 3728 i32.load - local.get $1 + local.get $0 i32.lt_u if i32.const 1472 @@ -2695,7 +2695,7 @@ call $~lib/builtins/abort unreachable end - local.get $1 + local.get $0 i32.const 3 i32.shl i32.const 3732 @@ -2713,25 +2713,25 @@ local.set $3 local.get $2 i32.load offset=8 - local.set $1 - local.get $0 + local.set $0 + local.get $1 local.get $2 local.get $3 i32.or i32.store offset=4 - local.get $0 local.get $1 + local.get $0 i32.store offset=8 - local.get $1 - local.get $1 + local.get $0 + local.get $0 i32.load offset=4 i32.const 3 i32.and - local.get $0 + local.get $1 i32.or i32.store offset=4 local.get $2 - local.get $0 + local.get $1 i32.store offset=8 global.get $~lib/rt/itcms/visitCount i32.const 1 diff --git a/tests/compiler/rt/finalize.optimized.wat b/tests/compiler/rt/finalize.optimized.wat index 5cb5d51b6d..8233aacacd 100644 --- a/tests/compiler/rt/finalize.optimized.wat +++ b/tests/compiler/rt/finalize.optimized.wat @@ -598,12 +598,12 @@ (local $0 i32) (local $1 i32) memory.size - local.tee $0 + local.tee $1 i32.const 0 i32.le_s if (result i32) i32.const 1 - local.get $0 + local.get $1 i32.sub memory.grow i32.const 0 @@ -621,11 +621,11 @@ i32.const 0 i32.store loop $for-loop|0 - local.get $1 + local.get $0 i32.const 23 i32.lt_u if - local.get $1 + local.get $0 i32.const 2 i32.shl i32.const 17920 @@ -633,14 +633,14 @@ i32.const 0 i32.store offset=4 i32.const 0 - local.set $0 + local.set $1 loop $for-loop|1 - local.get $0 + local.get $1 i32.const 16 i32.lt_u if - local.get $0 local.get $1 + local.get $0 i32.const 4 i32.shl i32.add @@ -650,17 +650,17 @@ i32.add i32.const 0 i32.store offset=96 - local.get $0 + local.get $1 i32.const 1 i32.add - local.set $0 + local.set $1 br $for-loop|1 end end - local.get $1 + local.get $0 i32.const 1 i32.add - local.set $1 + local.set $0 br $for-loop|0 end end @@ -1388,19 +1388,19 @@ local.get $0 i32.const 20 i32.sub - local.tee $0 + local.tee $1 i32.load offset=4 i32.const 3 i32.and i32.eq if global.get $~lib/rt/itcms/iter - local.get $0 + local.get $1 i32.eq if - local.get $0 + local.get $1 i32.load offset=8 - local.tee $1 + local.tee $0 i32.eqz if i32.const 0 @@ -1410,22 +1410,22 @@ call $~lib/builtins/abort unreachable end - local.get $1 + local.get $0 global.set $~lib/rt/itcms/iter end block $__inlined_func$~lib/rt/itcms/Object#unlink - local.get $0 + local.get $1 i32.load offset=4 i32.const -4 i32.and - local.tee $1 + local.tee $0 i32.eqz if i32.const 0 - local.get $0 + local.get $1 i32.const 17908 i32.lt_u - local.get $0 + local.get $1 i32.load offset=8 select i32.eqz @@ -1439,7 +1439,7 @@ end br $__inlined_func$~lib/rt/itcms/Object#unlink end - local.get $0 + local.get $1 i32.load offset=8 local.tee $2 i32.eqz @@ -1451,7 +1451,7 @@ call $~lib/builtins/abort unreachable end - local.get $1 + local.get $0 local.get $2 i32.store offset=8 local.get $2 @@ -1459,15 +1459,15 @@ i32.load offset=4 i32.const 3 i32.and - local.get $1 + local.get $0 i32.or i32.store offset=4 end global.get $~lib/rt/itcms/toSpace local.set $2 - local.get $0 + local.get $1 i32.load offset=12 - local.tee $1 + local.tee $0 i32.const 1 i32.le_u if (result i32) @@ -1475,7 +1475,7 @@ else i32.const 1488 i32.load - local.get $1 + local.get $0 i32.lt_u if i32.const 1248 @@ -1485,7 +1485,7 @@ call $~lib/builtins/abort unreachable end - local.get $1 + local.get $0 i32.const 3 i32.shl i32.const 1492 @@ -1503,25 +1503,25 @@ local.set $3 local.get $2 i32.load offset=8 - local.set $1 - local.get $0 + local.set $0 + local.get $1 local.get $2 local.get $3 i32.or i32.store offset=4 - local.get $0 local.get $1 + local.get $0 i32.store offset=8 - local.get $1 - local.get $1 + local.get $0 + local.get $0 i32.load offset=4 i32.const 3 i32.and - local.get $0 + local.get $1 i32.or i32.store offset=4 local.get $2 - local.get $0 + local.get $1 i32.store offset=8 global.get $~lib/rt/itcms/visitCount i32.const 1 diff --git a/tests/compiler/rt/instanceof.optimized.wat b/tests/compiler/rt/instanceof.optimized.wat index f4a5f7a597..119ffdb6b3 100644 --- a/tests/compiler/rt/instanceof.optimized.wat +++ b/tests/compiler/rt/instanceof.optimized.wat @@ -638,12 +638,12 @@ (local $0 i32) (local $1 i32) memory.size - local.tee $0 + local.tee $1 i32.const 0 i32.le_s if (result i32) i32.const 1 - local.get $0 + local.get $1 i32.sub memory.grow i32.const 0 @@ -661,11 +661,11 @@ i32.const 0 i32.store loop $for-loop|0 - local.get $1 + local.get $0 i32.const 23 i32.lt_u if - local.get $1 + local.get $0 i32.const 2 i32.shl i32.const 17952 @@ -673,14 +673,14 @@ i32.const 0 i32.store offset=4 i32.const 0 - local.set $0 + local.set $1 loop $for-loop|1 - local.get $0 + local.get $1 i32.const 16 i32.lt_u if - local.get $0 local.get $1 + local.get $0 i32.const 4 i32.shl i32.add @@ -690,17 +690,17 @@ i32.add i32.const 0 i32.store offset=96 - local.get $0 + local.get $1 i32.const 1 i32.add - local.set $0 + local.set $1 br $for-loop|1 end end - local.get $1 + local.get $0 i32.const 1 i32.add - local.set $1 + local.set $0 br $for-loop|0 end end @@ -2105,19 +2105,19 @@ local.get $0 i32.const 20 i32.sub - local.tee $0 + local.tee $1 i32.load offset=4 i32.const 3 i32.and i32.eq if global.get $~lib/rt/itcms/iter - local.get $0 + local.get $1 i32.eq if - local.get $0 + local.get $1 i32.load offset=8 - local.tee $1 + local.tee $0 i32.eqz if i32.const 0 @@ -2127,22 +2127,22 @@ call $~lib/builtins/abort unreachable end - local.get $1 + local.get $0 global.set $~lib/rt/itcms/iter end block $__inlined_func$~lib/rt/itcms/Object#unlink - local.get $0 + local.get $1 i32.load offset=4 i32.const -4 i32.and - local.tee $1 + local.tee $0 i32.eqz if i32.const 0 - local.get $0 + local.get $1 i32.const 17940 i32.lt_u - local.get $0 + local.get $1 i32.load offset=8 select i32.eqz @@ -2156,7 +2156,7 @@ end br $__inlined_func$~lib/rt/itcms/Object#unlink end - local.get $0 + local.get $1 i32.load offset=8 local.tee $2 i32.eqz @@ -2168,7 +2168,7 @@ call $~lib/builtins/abort unreachable end - local.get $1 + local.get $0 local.get $2 i32.store offset=8 local.get $2 @@ -2176,15 +2176,15 @@ i32.load offset=4 i32.const 3 i32.and - local.get $1 + local.get $0 i32.or i32.store offset=4 end global.get $~lib/rt/itcms/toSpace local.set $2 - local.get $0 + local.get $1 i32.load offset=12 - local.tee $1 + local.tee $0 i32.const 1 i32.le_u if (result i32) @@ -2192,7 +2192,7 @@ else i32.const 1504 i32.load - local.get $1 + local.get $0 i32.lt_u if i32.const 1248 @@ -2202,7 +2202,7 @@ call $~lib/builtins/abort unreachable end - local.get $1 + local.get $0 i32.const 3 i32.shl i32.const 1508 @@ -2220,25 +2220,25 @@ local.set $3 local.get $2 i32.load offset=8 - local.set $1 - local.get $0 + local.set $0 + local.get $1 local.get $2 local.get $3 i32.or i32.store offset=4 - local.get $0 local.get $1 + local.get $0 i32.store offset=8 - local.get $1 - local.get $1 + local.get $0 + local.get $0 i32.load offset=4 i32.const 3 i32.and - local.get $0 + local.get $1 i32.or i32.store offset=4 local.get $2 - local.get $0 + local.get $1 i32.store offset=8 global.get $~lib/rt/itcms/visitCount i32.const 1 diff --git a/tests/compiler/rt/runtime-incremental-export.optimized.wat b/tests/compiler/rt/runtime-incremental-export.optimized.wat index 9973399dfc..fe98d1636f 100644 --- a/tests/compiler/rt/runtime-incremental-export.optimized.wat +++ b/tests/compiler/rt/runtime-incremental-export.optimized.wat @@ -168,10 +168,10 @@ local.get $0 call $~lib/rt/itcms/Object#unlink global.get $~lib/rt/itcms/toSpace - local.set $2 + local.set $1 local.get $0 i32.load offset=12 - local.tee $1 + local.tee $2 i32.const 1 i32.le_u if (result i32) @@ -179,7 +179,7 @@ else i32.const 1568 i32.load - local.get $1 + local.get $2 i32.lt_u if i32.const 1248 @@ -189,7 +189,7 @@ call $~lib/builtins/abort unreachable end - local.get $1 + local.get $2 i32.const 3 i32.shl i32.const 1572 @@ -199,11 +199,11 @@ i32.and end local.set $3 - local.get $2 + local.get $1 i32.load offset=8 - local.set $1 + local.set $2 local.get $0 - local.get $2 + local.get $1 global.get $~lib/rt/itcms/white i32.eqz i32.const 2 @@ -212,17 +212,17 @@ i32.or i32.store offset=4 local.get $0 - local.get $1 + local.get $2 i32.store offset=8 - local.get $1 - local.get $1 + 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 $1 local.get $0 i32.store offset=8 ) @@ -741,12 +741,12 @@ (local $0 i32) (local $1 i32) memory.size - local.tee $0 + local.tee $1 i32.const 0 i32.le_s if (result i32) i32.const 1 - local.get $0 + local.get $1 i32.sub memory.grow i32.const 0 @@ -764,11 +764,11 @@ i32.const 0 i32.store loop $for-loop|0 - local.get $1 + local.get $0 i32.const 23 i32.lt_u if - local.get $1 + local.get $0 i32.const 2 i32.shl i32.const 17984 @@ -776,14 +776,14 @@ i32.const 0 i32.store offset=4 i32.const 0 - local.set $0 + local.set $1 loop $for-loop|1 - local.get $0 + local.get $1 i32.const 16 i32.lt_u if - local.get $0 local.get $1 + local.get $0 i32.const 4 i32.shl i32.add @@ -793,17 +793,17 @@ i32.add i32.const 0 i32.store offset=96 - local.get $0 + local.get $1 i32.const 1 i32.add - local.set $0 + local.set $1 br $for-loop|1 end end - local.get $1 + local.get $0 i32.const 1 i32.add - local.set $1 + local.set $0 br $for-loop|0 end end diff --git a/tests/compiler/rt/runtime-minimal-export.optimized.wat b/tests/compiler/rt/runtime-minimal-export.optimized.wat index 36c97bacdc..b2722ae95b 100644 --- a/tests/compiler/rt/runtime-minimal-export.optimized.wat +++ b/tests/compiler/rt/runtime-minimal-export.optimized.wat @@ -548,12 +548,12 @@ (local $0 i32) (local $1 i32) memory.size - local.tee $0 + local.tee $1 i32.const 0 i32.le_s if (result i32) i32.const 1 - local.get $0 + local.get $1 i32.sub memory.grow i32.const 0 @@ -571,11 +571,11 @@ i32.const 0 i32.store loop $for-loop|0 - local.get $1 + local.get $0 i32.const 23 i32.lt_u if - local.get $1 + local.get $0 i32.const 2 i32.shl i32.const 1488 @@ -583,14 +583,14 @@ i32.const 0 i32.store offset=4 i32.const 0 - local.set $0 + local.set $1 loop $for-loop|1 - local.get $0 + local.get $1 i32.const 16 i32.lt_u if - local.get $0 local.get $1 + local.get $0 i32.const 4 i32.shl i32.add @@ -600,17 +600,17 @@ i32.add i32.const 0 i32.store offset=96 - local.get $0 + local.get $1 i32.const 1 i32.add - local.set $0 + local.set $1 br $for-loop|1 end end - local.get $1 + local.get $0 i32.const 1 i32.add - local.set $1 + local.set $0 br $for-loop|0 end end @@ -1211,23 +1211,23 @@ end global.get $~lib/rt/tcms/white i32.eqz - local.set $4 + local.set $3 global.get $~lib/rt/tcms/toSpace - local.tee $3 + local.tee $2 i32.load offset=4 i32.const -4 i32.and local.set $0 loop $while-continue|1 local.get $0 - local.get $3 + local.get $2 i32.ne if local.get $0 i32.load offset=4 i32.const 3 i32.and - local.get $4 + local.get $3 i32.ne if i32.const 0 @@ -1314,7 +1314,7 @@ local.get $0 i32.const 4 i32.sub - local.set $6 + local.set $4 local.get $0 i32.const 15 i32.and @@ -1324,7 +1324,7 @@ if (result i32) i32.const 1 else - local.get $6 + local.get $4 i32.load i32.const 1 i32.and @@ -1337,13 +1337,13 @@ call $~lib/builtins/abort unreachable end - local.get $6 - local.get $6 + local.get $4 + local.get $4 i32.load i32.const 1 i32.or i32.store - local.get $6 + local.get $4 call $~lib/rt/tlsf/insertBlock end end @@ -1357,11 +1357,11 @@ local.get $5 local.get $5 i32.store offset=8 - local.get $3 + local.get $2 global.set $~lib/rt/tcms/fromSpace local.get $5 global.set $~lib/rt/tcms/toSpace - local.get $4 + local.get $3 global.set $~lib/rt/tcms/white ) (func $~lib/rt/__visit_members (param $0 i32) diff --git a/tests/compiler/std-wasi/console.optimized.wat b/tests/compiler/std-wasi/console.optimized.wat index 8e81148436..57aaddd0cc 100644 --- a/tests/compiler/std-wasi/console.optimized.wat +++ b/tests/compiler/std-wasi/console.optimized.wat @@ -1516,12 +1516,12 @@ (local $0 i32) (local $1 i32) memory.size - local.tee $0 + local.tee $1 i32.const 0 i32.le_s if (result i32) i32.const 1 - local.get $0 + local.get $1 i32.sub memory.grow i32.const 0 @@ -1539,11 +1539,11 @@ i32.const 0 i32.store loop $for-loop|0 - local.get $1 + local.get $0 i32.const 23 i32.lt_u if - local.get $1 + local.get $0 i32.const 2 i32.shl i32.const 24368 @@ -1551,14 +1551,14 @@ i32.const 0 i32.store offset=4 i32.const 0 - local.set $0 + local.set $1 loop $for-loop|1 - local.get $0 + local.get $1 i32.const 16 i32.lt_u if - local.get $0 local.get $1 + local.get $0 i32.const 4 i32.shl i32.add @@ -1568,17 +1568,17 @@ i32.add i32.const 0 i32.store offset=96 - local.get $0 + local.get $1 i32.const 1 i32.add - local.set $0 + local.set $1 br $for-loop|1 end end - local.get $1 + local.get $0 i32.const 1 i32.add - local.set $1 + local.set $0 br $for-loop|0 end end @@ -1978,26 +1978,26 @@ i32.load offset=16 i32.const 1 i32.shr_u - local.tee $4 + local.tee $5 br_table $case4|0 $case3|0 $case2|0 $case1|0 $case0|0 $break|0 end local.get $1 i32.load16_u offset=6 - local.tee $2 + local.tee $4 i32.const 128 i32.ge_u br_if $break|0 end local.get $1 i32.load16_u offset=4 - local.tee $3 + local.tee $2 i32.const 128 i32.ge_u br_if $break|0 end local.get $1 i32.load16_u offset=2 - local.tee $5 + local.tee $3 i32.const 128 i32.ge_u br_if $break|0 @@ -2012,19 +2012,19 @@ i32.const 1144 i32.store i32.const 1140 - local.get $4 + local.get $5 i32.store i32.const 1144 - local.get $5 + local.get $3 i32.const 8 i32.shl local.get $6 i32.or - local.get $3 + local.get $2 i32.const 16 i32.shl i32.or - local.get $2 + local.get $4 i32.const 24 i32.shl i32.or @@ -2050,19 +2050,19 @@ return end local.get $1 - local.get $1 local.tee $2 local.tee $3 + local.get $1 i32.const 20 i32.sub i32.load offset=16 i32.add - local.set $5 + local.set $4 i32.const 0 local.set $1 loop $while-continue|0 local.get $3 - local.get $5 + local.get $4 i32.lt_u if local.get $3 @@ -2088,7 +2088,7 @@ i32.and i32.const 55296 i32.eq - local.get $5 + local.get $4 local.get $3 i32.const 2 i32.add @@ -2140,7 +2140,7 @@ i32.const 3 global.set $~argumentsLength local.get $2 - local.get $4 + local.get $5 local.get $3 call $~lib/string/String.UTF8.encodeUnsafe@varargs local.get $1 @@ -3133,7 +3133,7 @@ i32.const 2 i32.shl call $~lib/arraybuffer/ArrayBuffer#constructor - local.tee $5 + local.tee $4 i32.store global.get $~lib/memory/__stack_pointer local.get $2 @@ -3149,7 +3149,7 @@ i32.store offset=4 local.get $0 i32.load offset=8 - local.tee $4 + local.tee $5 local.get $0 i32.load offset=16 i32.const 24 @@ -3159,18 +3159,18 @@ local.get $3 local.set $2 loop $while-continue|0 - local.get $4 + local.get $5 local.get $7 i32.ne if - local.get $4 + local.get $5 i32.load offset=16 i32.const 1 i32.and i32.eqz if global.get $~lib/memory/__stack_pointer - local.get $4 + local.get $5 i32.load local.tee $8 i32.store offset=8 @@ -3178,7 +3178,7 @@ local.get $8 i32.store local.get $2 - local.get $4 + local.get $5 i64.load offset=8 i64.store offset=8 local.get $2 @@ -3188,7 +3188,7 @@ i32.and i32.const 2 i32.shl - local.get $5 + local.get $4 i32.add local.tee $8 i32.load @@ -3201,20 +3201,20 @@ i32.add local.set $2 end - local.get $4 + local.get $5 i32.const 24 i32.add - local.set $4 + local.set $5 br $while-continue|0 end end local.get $0 - local.get $5 + local.get $4 i32.store - local.get $5 + local.get $4 if local.get $0 - local.get $5 + local.get $4 i32.const 0 call $byn-split-outlined-A$~lib/rt/itcms/__link end @@ -3379,7 +3379,7 @@ i32.add global.set $~lib/memory/__stack_pointer i32.const 6000 - local.set $2 + local.set $1 br $__inlined_func$~lib/util/number/utoa64 end local.get $0 @@ -3389,7 +3389,6 @@ global.get $~lib/memory/__stack_pointer local.get $0 i32.wrap_i64 - local.tee $1 local.tee $2 i32.const 100000 i32.lt_u @@ -3441,10 +3440,10 @@ i32.shl i32.const 1 call $~lib/rt/itcms/__new - local.tee $2 + local.tee $1 i32.store - local.get $2 local.get $1 + local.get $2 local.get $3 call $~lib/util/number/utoa32_dec_lut else @@ -3499,25 +3498,25 @@ i32.add end end - local.tee $1 + local.tee $2 i32.const 1 i32.shl i32.const 1 call $~lib/rt/itcms/__new - local.tee $2 + local.tee $1 i32.store loop $while-continue|0 local.get $0 i64.const 100000000 i64.ge_u if - local.get $1 + local.get $2 i32.const 4 i32.sub - local.tee $1 + local.tee $2 i32.const 1 i32.shl - local.get $2 + local.get $1 i32.add local.get $0 local.get $0 @@ -3551,13 +3550,13 @@ i64.shl i64.or i64.store - local.get $1 + local.get $2 i32.const 4 i32.sub - local.tee $1 + local.tee $2 i32.const 1 i32.shl - local.get $2 + local.get $1 i32.add local.get $3 i32.const 10000 @@ -3585,10 +3584,10 @@ br $while-continue|0 end end - local.get $2 + local.get $1 local.get $0 i32.wrap_i64 - local.get $1 + local.get $2 call $~lib/util/number/utoa32_dec_lut end global.get $~lib/memory/__stack_pointer @@ -3596,7 +3595,7 @@ i32.add global.set $~lib/memory/__stack_pointer end - local.get $2 + local.get $1 ) (func $~lib/rt/__visit_members (param $0 i32) (local $1 i32) @@ -4095,7 +4094,6 @@ (local $5 i32) (local $6 i32) (local $7 i32) - (local $8 i32) global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub @@ -4173,46 +4171,47 @@ i32.ne br_if $__inlined_func$~lib/string/String.__eq drop - local.get $2 - i32.const 7 - i32.and - local.get $1 - local.tee $3 - i32.const 7 - i32.and - i32.or - i32.eqz - local.get $0 - i32.const 4 - i32.ge_u - i32.and - if - loop $do-loop|0 - local.get $2 - i64.load - local.get $3 - i64.load - i64.eq - if + block $__inlined_func$~lib/util/string/compareImpl (result i32) + local.get $1 + local.set $3 + local.get $2 + i32.const 7 + i32.and + local.get $1 + i32.const 7 + i32.and + i32.or + i32.eqz + local.get $0 + i32.const 4 + i32.ge_u + i32.and + if + loop $do-loop|0 local.get $2 - i32.const 8 - i32.add - local.set $2 + i64.load local.get $3 - i32.const 8 - i32.add - local.set $3 - local.get $0 - i32.const 4 - i32.sub - local.tee $0 - i32.const 4 - i32.ge_u - br_if $do-loop|0 + i64.load + i64.eq + if + local.get $2 + i32.const 8 + i32.add + local.set $2 + local.get $3 + i32.const 8 + i32.add + local.set $3 + local.get $0 + i32.const 4 + i32.sub + local.tee $0 + i32.const 4 + i32.ge_u + br_if $do-loop|0 + end end end - end - block $__inlined_func$~lib/util/string/compareImpl loop $while-continue|1 local.get $0 local.tee $4 @@ -4223,16 +4222,17 @@ if local.get $2 i32.load16_u - local.tee $8 + local.tee $4 local.get $3 i32.load16_u local.tee $7 - i32.sub - local.set $4 - local.get $7 - local.get $8 i32.ne - br_if $__inlined_func$~lib/util/string/compareImpl + if + local.get $4 + local.get $7 + i32.sub + br $__inlined_func$~lib/util/string/compareImpl + end local.get $2 i32.const 2 i32.add @@ -4245,9 +4245,7 @@ end end i32.const 0 - local.set $4 end - local.get $4 i32.eqz end end diff --git a/tests/compiler/std-wasi/crypto.optimized.wat b/tests/compiler/std-wasi/crypto.optimized.wat index 37ff5828c0..3fc9a34046 100644 --- a/tests/compiler/std-wasi/crypto.optimized.wat +++ b/tests/compiler/std-wasi/crypto.optimized.wat @@ -1364,12 +1364,12 @@ (local $0 i32) (local $1 i32) memory.size - local.tee $0 + local.tee $1 i32.const 0 i32.le_s if (result i32) i32.const 1 - local.get $0 + local.get $1 i32.sub memory.grow i32.const 0 @@ -1387,11 +1387,11 @@ i32.const 0 i32.store loop $for-loop|0 - local.get $1 + local.get $0 i32.const 23 i32.lt_u if - local.get $1 + local.get $0 i32.const 2 i32.shl i32.const 23296 @@ -1399,14 +1399,14 @@ i32.const 0 i32.store offset=4 i32.const 0 - local.set $0 + local.set $1 loop $for-loop|1 - local.get $0 + local.get $1 i32.const 16 i32.lt_u if - local.get $0 local.get $1 + local.get $0 i32.const 4 i32.shl i32.add @@ -1416,17 +1416,17 @@ i32.add i32.const 0 i32.store offset=96 - local.get $0 + local.get $1 i32.const 1 i32.add - local.set $0 + local.set $1 br $for-loop|1 end end - local.get $1 + local.get $0 i32.const 1 i32.add - local.set $1 + local.set $0 br $for-loop|0 end end @@ -3715,17 +3715,17 @@ (local $4 i32) (local $5 i32) (local $6 i32) + local.get $0 + i32.load offset=4 + local.set $6 + local.get $0 + i32.load offset=8 + local.set $0 + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.sub + global.set $~lib/memory/__stack_pointer block $folding-inner1 - local.get $0 - i32.load offset=4 - local.set $3 - local.get $0 - i32.load offset=8 - local.set $0 - 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 6900 @@ -3754,7 +3754,7 @@ i32.eqz if block $__inlined_func$~lib/util/number/utoa32 (result i32) - local.get $3 + local.get $6 i32.load8_u local.set $2 global.get $~lib/memory/__stack_pointer @@ -3861,70 +3861,72 @@ i32.mul i32.const 10 i32.add - local.tee $2 + local.tee $3 i32.const 1 i32.shl i32.const 1 call $~lib/rt/itcms/__new - local.tee $0 + local.tee $1 i32.store + i32.const 0 + local.set $0 loop $for-loop|0 + local.get $0 local.get $5 - local.get $6 - i32.gt_s + i32.lt_s if - local.get $1 + local.get $2 i32.const 1 i32.shl - local.get $0 + local.get $1 i32.add - local.get $3 + local.get $0 local.get $6 i32.add i32.load8_u call $~lib/util/number/itoa_buffered - local.get $1 + local.get $2 i32.add - local.set $1 + local.set $2 local.get $4 if - local.get $1 + local.get $2 i32.const 1 i32.shl - local.get $0 + local.get $1 i32.add i32.const 6656 local.get $4 i32.const 1 i32.shl call $~lib/memory/memory.copy - local.get $1 + local.get $2 local.get $4 i32.add - local.set $1 + local.set $2 end - local.get $6 + local.get $0 i32.const 1 i32.add - local.set $6 + local.set $0 br $for-loop|0 end end local.get $2 - local.get $1 i32.const 1 i32.shl - local.get $0 + local.get $1 i32.add - local.get $3 local.get $5 + local.get $6 i32.add i32.load8_u call $~lib/util/number/itoa_buffered - local.get $1 + local.get $2 i32.add - local.tee $1 - i32.gt_s + local.tee $0 + local.get $3 + i32.lt_s if global.get $~lib/memory/__stack_pointer i32.const 4 @@ -3938,26 +3940,26 @@ i32.const 0 i32.store i32.const 0 - local.get $1 + local.get $0 i32.const 0 - local.get $1 + local.get $0 i32.const 0 i32.gt_s select - local.tee $1 - local.get $0 + local.tee $0 + local.get $1 i32.const 20 i32.sub i32.load offset=16 i32.const 1 i32.shr_u local.tee $4 - local.get $1 + local.get $0 local.get $4 i32.lt_s select - local.tee $1 - local.get $1 + local.tee $0 + local.get $0 i32.const 0 i32.gt_s select @@ -3966,14 +3968,14 @@ local.set $3 block $__inlined_func$~lib/string/String#substring i32.const 0 - local.get $1 - local.get $1 + local.get $0 + local.get $0 i32.const 0 i32.lt_s select i32.const 1 i32.shl - local.tee $1 + local.tee $0 local.get $3 i32.sub local.tee $2 @@ -3991,7 +3993,7 @@ local.get $4 i32.const 1 i32.shl - local.get $1 + local.get $0 i32.eq local.get $3 select @@ -4000,16 +4002,18 @@ i32.const 4 i32.add global.set $~lib/memory/__stack_pointer + local.get $1 + local.set $0 br $__inlined_func$~lib/string/String#substring end global.get $~lib/memory/__stack_pointer local.get $2 i32.const 1 call $~lib/rt/itcms/__new - local.tee $1 + local.tee $0 i32.store - local.get $1 local.get $0 + local.get $1 local.get $3 i32.add local.get $2 @@ -4018,8 +4022,6 @@ i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $1 - local.set $0 end global.get $~lib/memory/__stack_pointer i32.const 4 @@ -4031,6 +4033,8 @@ i32.const 4 i32.add global.set $~lib/memory/__stack_pointer + local.get $1 + local.set $0 end local.get $0 return @@ -4135,7 +4139,7 @@ i32.load offset=16 i32.const 1 i32.shr_u - local.tee $2 + local.tee $4 br_table $case4|0 $case3|0 $case2|0 $case1|0 $case0|0 $break|0 end local.get $0 @@ -4147,14 +4151,14 @@ end local.get $0 i32.load16_u offset=4 - local.tee $4 + local.tee $1 i32.const 128 i32.ge_u br_if $break|0 end local.get $0 i32.load16_u offset=2 - local.tee $1 + local.tee $2 i32.const 128 i32.ge_u br_if $break|0 @@ -4169,15 +4173,15 @@ i32.const 6680 i32.store i32.const 6676 - local.get $2 + local.get $4 i32.store i32.const 6680 - local.get $1 + local.get $2 i32.const 8 i32.shl local.get $5 i32.or - local.get $4 + local.get $1 i32.const 16 i32.shl i32.or @@ -4209,20 +4213,20 @@ local.get $0 local.get $0 local.tee $1 - local.tee $3 + local.tee $2 i32.const 20 i32.sub i32.load offset=16 i32.add - local.set $4 + local.set $3 i32.const 0 local.set $0 loop $while-continue|0 + local.get $2 local.get $3 - local.get $4 i32.lt_u if - local.get $3 + local.get $2 i32.load16_u local.tee $5 i32.const 128 @@ -4245,14 +4249,14 @@ i32.and i32.const 55296 i32.eq - local.get $4 local.get $3 + local.get $2 i32.const 2 i32.add i32.gt_u i32.and if - local.get $3 + local.get $2 i32.load16_u offset=2 i32.const 64512 i32.and @@ -4263,10 +4267,10 @@ i32.const 4 i32.add local.set $0 - local.get $3 + local.get $2 i32.const 4 i32.add - local.set $3 + local.set $2 br $while-continue|0 end end @@ -4276,10 +4280,10 @@ end end local.set $0 - local.get $3 + local.get $2 i32.const 2 i32.add - local.set $3 + local.set $2 br $while-continue|0 end end @@ -4293,12 +4297,12 @@ call $~lib/rt/tlsf/allocateBlock i32.const 4 i32.add - local.set $3 + local.set $2 i32.const 3 global.set $~argumentsLength local.get $1 + local.get $4 local.get $2 - local.get $3 call $~lib/string/String.UTF8.encodeUnsafe@varargs local.get $0 i32.ne @@ -4311,7 +4315,7 @@ unreachable end i32.const 6672 - local.get $3 + local.get $2 i32.store i32.const 6676 local.get $0 @@ -4322,7 +4326,7 @@ i32.const 6680 call $~lib/bindings/wasi_snapshot_preview1/fd_write local.set $0 - local.get $3 + local.get $2 call $~lib/rt/tlsf/__free local.get $0 i32.const 65535 @@ -4822,43 +4826,44 @@ (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 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 - local.tee $1 local.tee $3 + local.tee $4 i32.const 0 i32.store i32.const 0 local.get $0 + local.tee $1 i32.load offset=8 - local.tee $4 - local.get $4 + local.tee $0 + local.get $0 i32.const 0 i32.gt_s select local.set $2 - local.get $3 + local.get $4 block $__inlined_func$~lib/typedarray/Uint8Array#constructor (result i32) - local.get $4 + local.get $0 local.get $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.tee $4 local.set $5 - local.get $1 + local.get $3 i32.const 4 i32.sub global.set $~lib/memory/__stack_pointer @@ -4868,14 +4873,14 @@ 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 $3 @@ -4889,23 +4894,23 @@ 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 i32.store offset=4 - local.get $1 + local.get $0 i32.const 0 i32.store offset=8 local.get $5 @@ -4925,19 +4930,19 @@ call $~lib/rt/itcms/__new local.tee $6 i32.store offset=4 - local.get $1 + local.get $0 local.get $6 i32.store local.get $6 if - local.get $1 + local.get $0 local.get $6 call $byn-split-outlined-A$~lib/rt/itcms/__link end - local.get $1 + local.get $0 local.get $6 i32.store offset=4 - local.get $1 + local.get $0 local.get $5 i32.store offset=8 global.get $~lib/memory/__stack_pointer @@ -4945,23 +4950,23 @@ i32.add global.set $~lib/memory/__stack_pointer local.get $3 - 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 $1 + local.get $0 br $__inlined_func$~lib/typedarray/Uint8Array#constructor end br $folding-inner1 end - local.tee $1 + local.tee $0 i32.store - local.get $1 + local.get $0 i32.load offset=4 local.get $2 - local.get $0 + local.get $1 i32.load offset=4 i32.add local.get $4 @@ -4970,7 +4975,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/crypto.untouched.wat b/tests/compiler/std-wasi/crypto.untouched.wat index bd5cad7d2c..7240af2f02 100644 --- a/tests/compiler/std-wasi/crypto.untouched.wat +++ b/tests/compiler/std-wasi/crypto.untouched.wat @@ -208,6 +208,16 @@ i32.const 1 i32.add local.set $6 + local.get $3 + local.get $8 + i32.eqz + i32.and + if + local.get $6 + local.get $2 + i32.sub + return + end else local.get $8 i32.const 2048 @@ -341,7 +351,7 @@ if i32.const 32 i32.const 96 - i32.const 739 + i32.const 741 i32.const 49 call $~lib/wasi/index/abort unreachable diff --git a/tests/compiler/std-wasi/process.optimized.wat b/tests/compiler/std-wasi/process.optimized.wat index 7177cdaa28..82853116b0 100644 --- a/tests/compiler/std-wasi/process.optimized.wat +++ b/tests/compiler/std-wasi/process.optimized.wat @@ -1502,12 +1502,12 @@ (local $0 i32) (local $1 i32) memory.size - local.tee $0 + local.tee $1 i32.const 0 i32.le_s if (result i32) i32.const 1 - local.get $0 + local.get $1 i32.sub memory.grow i32.const 0 @@ -1525,11 +1525,11 @@ i32.const 0 i32.store loop $for-loop|0 - local.get $1 + local.get $0 i32.const 23 i32.lt_u if - local.get $1 + local.get $0 i32.const 2 i32.shl i32.const 23792 @@ -1537,14 +1537,14 @@ i32.const 0 i32.store offset=4 i32.const 0 - local.set $0 + local.set $1 loop $for-loop|1 - local.get $0 + local.get $1 i32.const 16 i32.lt_u if - local.get $0 local.get $1 + local.get $0 i32.const 4 i32.shl i32.add @@ -1554,17 +1554,17 @@ i32.add i32.const 0 i32.store offset=96 - local.get $0 + local.get $1 i32.const 1 i32.add - local.set $0 + local.set $1 br $for-loop|1 end end - local.get $1 + local.get $0 i32.const 1 i32.add - local.set $1 + local.set $0 br $for-loop|0 end end @@ -1964,7 +1964,7 @@ i32.load offset=16 i32.const 1 i32.shr_u - local.tee $2 + local.tee $4 br_table $case4|0 $case3|0 $case2|0 $case1|0 $case0|0 $break|0 end local.get $0 @@ -1976,14 +1976,14 @@ end local.get $0 i32.load16_u offset=4 - local.tee $4 + local.tee $1 i32.const 128 i32.ge_u br_if $break|0 end local.get $0 i32.load16_u offset=2 - local.tee $1 + local.tee $2 i32.const 128 i32.ge_u br_if $break|0 @@ -1998,15 +1998,15 @@ i32.const 1096 i32.store i32.const 1092 - local.get $2 + local.get $4 i32.store i32.const 1096 - local.get $1 + local.get $2 i32.const 8 i32.shl local.get $5 i32.or - local.get $4 + local.get $1 i32.const 16 i32.shl i32.or @@ -2038,20 +2038,20 @@ local.get $0 local.get $0 local.tee $1 - local.tee $3 + local.tee $2 i32.const 20 i32.sub i32.load offset=16 i32.add - local.set $4 + local.set $3 i32.const 0 local.set $0 loop $while-continue|0 + local.get $2 local.get $3 - local.get $4 i32.lt_u if - local.get $3 + local.get $2 i32.load16_u local.tee $5 i32.const 128 @@ -2074,14 +2074,14 @@ i32.and i32.const 55296 i32.eq - local.get $4 local.get $3 + local.get $2 i32.const 2 i32.add i32.gt_u i32.and if - local.get $3 + local.get $2 i32.load16_u offset=2 i32.const 64512 i32.and @@ -2092,10 +2092,10 @@ i32.const 4 i32.add local.set $0 - local.get $3 + local.get $2 i32.const 4 i32.add - local.set $3 + local.set $2 br $while-continue|0 end end @@ -2105,10 +2105,10 @@ end end local.set $0 - local.get $3 + local.get $2 i32.const 2 i32.add - local.set $3 + local.set $2 br $while-continue|0 end end @@ -2122,12 +2122,12 @@ call $~lib/rt/tlsf/allocateBlock i32.const 4 i32.add - local.set $3 + local.set $2 i32.const 3 global.set $~argumentsLength local.get $1 + local.get $4 local.get $2 - local.get $3 call $~lib/string/String.UTF8.encodeUnsafe@varargs local.get $0 i32.ne @@ -2140,7 +2140,7 @@ unreachable end i32.const 1088 - local.get $3 + local.get $2 i32.store i32.const 1092 local.get $0 @@ -2151,7 +2151,7 @@ i32.const 1096 call $~lib/bindings/wasi_snapshot_preview1/fd_write local.set $0 - local.get $3 + local.get $2 call $~lib/rt/tlsf/__free local.get $0 i32.const 65535 @@ -4591,11 +4591,11 @@ i32.shl i32.add i32.load - local.set $2 + local.set $0 loop $while-continue|0 - local.get $2 + local.get $0 if - local.get $2 + local.get $0 i32.load offset=8 local.tee $4 i32.const 1 @@ -4605,7 +4605,7 @@ else block $__inlined_func$~lib/string/String.__eq (result i32) global.get $~lib/memory/__stack_pointer - local.get $2 + local.get $0 i32.load local.tee $3 i32.store @@ -4630,7 +4630,7 @@ i32.load offset=16 i32.const 1 i32.shr_u - local.tee $0 + local.tee $2 local.get $1 i32.const 20 i32.sub @@ -4643,7 +4643,7 @@ local.get $3 i32.const 0 local.get $1 - local.get $0 + local.get $2 call $~lib/util/string/compareImpl i32.eqz end @@ -4653,13 +4653,13 @@ i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $2 + local.get $0 return end local.get $4 i32.const -2 i32.and - local.set $2 + local.set $0 br $while-continue|0 end end @@ -4712,22 +4712,21 @@ end i32.const 1088 i32.load - local.tee $4 + local.tee $5 i32.const 2 i32.shl local.tee $0 i32.const 1092 i32.load i32.add - local.tee $5 - local.set $1 + local.set $4 global.get $~lib/rt/tlsf/ROOT i32.eqz if call $~lib/rt/tlsf/initialize end global.get $~lib/rt/tlsf/ROOT - local.get $1 + local.get $4 call $~lib/rt/tlsf/allocateBlock i32.const 4 i32.add @@ -4812,7 +4811,7 @@ i32.store loop $for-loop|0 local.get $3 - local.get $4 + local.get $5 i32.lt_u if global.get $~lib/memory/__stack_pointer @@ -4824,7 +4823,7 @@ i32.load local.tee $1 local.get $1 - local.get $5 + local.get $4 i32.add local.get $2 i32.sub @@ -4856,11 +4855,6 @@ br_if $__inlined_func$~lib/string/String#indexOf drop i32.const 0 - local.get $8 - local.get $8 - i32.const 0 - i32.gt_s - select local.set $1 local.get $8 local.get $7 @@ -4949,33 +4943,31 @@ ) (func $start:std-wasi/process (local $0 i32) - (local $1 i32) - (local $2 i64) + (local $1 i64) + (local $2 i32) (local $3 i32) (local $4 i32) (local $5 i32) (local $6 i32) (local $7 i32) - (local $8 i32) - (local $9 i32) + global.get $~lib/memory/__stack_pointer + i32.const 12 + i32.sub + global.set $~lib/memory/__stack_pointer block $folding-inner1 - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.sub - global.set $~lib/memory/__stack_pointer block $folding-inner0 global.get $~lib/memory/__stack_pointer i32.const 7404 i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer - local.tee $5 + local.tee $3 i64.const 0 i64.store - local.get $5 + local.get $3 i32.const 0 i32.store offset=8 - local.get $5 + local.get $3 i32.const 1056 i32.store i32.const 1056 @@ -5041,11 +5033,11 @@ i32.const 1088 i32.const 1092 call $~lib/bindings/wasi_snapshot_preview1/args_sizes_get - local.tee $5 + local.tee $3 i32.const 65535 i32.and if - local.get $5 + local.get $3 call $~lib/bindings/wasi_snapshot_preview1/errnoToString i32.const 4224 i32.const 64 @@ -5055,35 +5047,34 @@ end i32.const 1088 i32.load - local.tee $5 + local.tee $3 i32.const 2 i32.shl - local.tee $6 + local.tee $4 i32.const 1092 i32.load i32.add - local.tee $7 - local.set $8 + local.set $5 global.get $~lib/rt/tlsf/ROOT i32.eqz if call $~lib/rt/tlsf/initialize end global.get $~lib/rt/tlsf/ROOT - local.get $8 + local.get $5 call $~lib/rt/tlsf/allocateBlock i32.const 4 i32.add - local.tee $8 + local.tee $6 + local.get $4 local.get $6 - local.get $8 i32.add call $~lib/bindings/wasi_snapshot_preview1/args_get - local.tee $6 + local.tee $4 i32.const 65535 i32.and if - local.get $6 + local.get $4 call $~lib/bindings/wasi_snapshot_preview1/errnoToString i32.const 4224 i32.const 71 @@ -5092,49 +5083,49 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $5 + local.get $3 call $~lib/array/Array<~lib/string/String>#constructor - local.tee $6 + local.tee $4 i32.store loop $for-loop|0 - local.get $1 - local.get $5 + local.get $0 + local.get $3 i32.lt_s if global.get $~lib/memory/__stack_pointer - local.get $1 + local.get $0 i32.const 2 i32.shl - local.get $8 + local.get $6 i32.add i32.load - local.tee $9 + local.tee $7 + local.get $5 local.get $7 - local.get $9 i32.add - local.get $8 + local.get $6 i32.sub call $~lib/string/String.UTF8.decodeUnsafe - local.tee $9 + local.tee $7 i32.store offset=4 - local.get $6 - local.get $1 - local.get $9 + local.get $4 + local.get $0 + local.get $7 call $~lib/array/Array<~lib/string/String>#__set - 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 $8 + local.get $6 call $~lib/rt/tlsf/__free global.get $~lib/memory/__stack_pointer i32.const 8 i32.add global.set $~lib/memory/__stack_pointer - local.get $6 + local.get $4 global.set $~lib/process/process.argv global.get $~lib/process/process.argv global.set $std-wasi/process/argv @@ -5143,35 +5134,37 @@ i32.store i32.const 4928 call $~lib/console/console.log + i32.const 0 + local.set $0 global.get $~lib/memory/__stack_pointer global.get $std-wasi/process/argv - local.tee $1 + local.tee $3 i32.store - local.get $1 + local.get $3 i32.load offset=12 - local.set $1 + local.set $3 loop $for-loop|01 - local.get $1 + local.get $0 local.get $3 - i32.gt_s + i32.lt_s if global.get $~lib/memory/__stack_pointer global.get $std-wasi/process/argv - local.tee $5 + local.tee $4 i32.store offset=4 - local.get $5 - local.get $3 + local.get $4 + local.get $0 call $~lib/array/Array<~lib/string/String>#__get - local.set $5 + local.set $4 global.get $~lib/memory/__stack_pointer - local.get $5 + local.get $4 i32.store - local.get $5 + local.get $4 call $~lib/console/console.log - local.get $3 + local.get $0 i32.const 1 i32.add - local.set $3 + local.set $0 br $for-loop|01 end end @@ -5180,11 +5173,11 @@ global.get $~lib/process/process.env global.set $std-wasi/process/env global.get $~lib/memory/__stack_pointer - local.tee $1 + local.tee $0 global.get $std-wasi/process/env local.tee $3 i32.store - local.get $1 + local.get $0 i32.const 8 i32.sub global.set $~lib/memory/__stack_pointer @@ -5193,69 +5186,70 @@ i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer - local.tee $1 + local.tee $0 i64.const 0 i64.store local.get $3 i32.load offset=8 - local.set $5 - local.get $1 + local.set $4 + local.get $0 local.get $3 i32.load offset=16 local.tee $3 call $~lib/array/Array<~lib/string/String>#constructor - local.tee $6 + local.tee $5 i32.store + i32.const 0 + local.set $0 loop $for-loop|02 + local.get $2 local.get $3 - local.get $4 - i32.gt_s + i32.lt_s if - local.get $4 + local.get $2 i32.const 12 i32.mul - local.get $5 + local.get $4 i32.add - local.tee $7 + local.tee $6 i32.load offset=8 i32.const 1 i32.and i32.eqz if - local.get $0 - local.tee $1 - i32.const 1 - i32.add - local.set $0 global.get $~lib/memory/__stack_pointer - local.get $7 + local.get $6 i32.load - local.tee $7 + local.tee $6 i32.store offset=4 + local.get $5 + local.get $0 local.get $6 - local.get $1 - local.get $7 call $~lib/array/Array<~lib/string/String>#__set + local.get $0 + i32.const 1 + i32.add + local.set $0 end - local.get $4 + local.get $2 i32.const 1 i32.add - local.set $4 + local.set $2 br $for-loop|02 end end - local.get $6 + local.get $5 local.get $0 i32.const 0 call $~lib/array/ensureCapacity - local.get $6 + local.get $5 local.get $0 i32.store offset=12 global.get $~lib/memory/__stack_pointer i32.const 8 i32.add global.set $~lib/memory/__stack_pointer - local.get $6 + local.get $5 global.set $std-wasi/process/envKeys global.get $~lib/memory/__stack_pointer i32.const 5232 @@ -5266,14 +5260,14 @@ local.set $0 global.get $~lib/memory/__stack_pointer global.get $std-wasi/process/envKeys - local.tee $1 + local.tee $2 i32.store - local.get $1 + local.get $2 i32.load offset=12 - local.set $1 + local.set $2 loop $for-loop|1 local.get $0 - local.get $1 + local.get $2 i32.lt_s if global.get $~lib/memory/__stack_pointer @@ -5357,7 +5351,7 @@ i64.load i64.const 1000000 i64.div_u - local.set $2 + local.set $1 global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub @@ -5370,7 +5364,7 @@ i32.const 0 i32.store block $__inlined_func$~lib/util/number/itoa64 - local.get $2 + local.get $1 i64.eqz if global.get $~lib/memory/__stack_pointer @@ -5378,155 +5372,154 @@ i32.add global.set $~lib/memory/__stack_pointer i32.const 5696 - local.set $1 + local.set $0 br $__inlined_func$~lib/util/number/itoa64 end i64.const 0 - local.get $2 + local.get $1 i64.sub - local.get $2 - local.get $2 + local.get $1 + local.get $1 i64.const 63 i64.shr_u i32.wrap_i64 - local.tee $0 - select local.tee $2 + select + local.tee $1 i64.const 4294967295 i64.le_u if global.get $~lib/memory/__stack_pointer - local.get $2 + local.get $1 i32.wrap_i64 local.tee $3 - local.tee $1 i32.const 100000 i32.lt_u if (result i32) - local.get $1 + local.get $3 i32.const 100 i32.lt_u if (result i32) - local.get $1 + local.get $3 i32.const 10 i32.ge_u i32.const 1 i32.add else - local.get $1 + local.get $3 i32.const 10000 i32.ge_u i32.const 3 i32.add - local.get $1 + local.get $3 i32.const 1000 i32.ge_u i32.add end else - local.get $1 + local.get $3 i32.const 10000000 i32.lt_u if (result i32) - local.get $1 + local.get $3 i32.const 1000000 i32.ge_u i32.const 6 i32.add else - local.get $1 + local.get $3 i32.const 1000000000 i32.ge_u i32.const 8 i32.add - local.get $1 + local.get $3 i32.const 100000000 i32.ge_u i32.add end end - local.get $0 + local.get $2 i32.add local.tee $4 i32.const 1 i32.shl i32.const 1 call $~lib/rt/itcms/__new - local.tee $1 + local.tee $0 i32.store - local.get $1 + local.get $0 local.get $3 local.get $4 call $~lib/util/number/utoa32_dec_lut else global.get $~lib/memory/__stack_pointer - local.get $2 + local.get $1 i64.const 1000000000000000 i64.lt_u if (result i32) - local.get $2 + local.get $1 i64.const 1000000000000 i64.lt_u if (result i32) - local.get $2 + local.get $1 i64.const 100000000000 i64.ge_u i32.const 10 i32.add - local.get $2 + local.get $1 i64.const 10000000000 i64.ge_u i32.add else - local.get $2 + local.get $1 i64.const 100000000000000 i64.ge_u i32.const 13 i32.add - local.get $2 + local.get $1 i64.const 10000000000000 i64.ge_u i32.add end else - local.get $2 + local.get $1 i64.const 100000000000000000 i64.lt_u if (result i32) - local.get $2 + local.get $1 i64.const 10000000000000000 i64.ge_u i32.const 16 i32.add else - local.get $2 + local.get $1 i64.const -8446744073709551616 i64.ge_u i32.const 18 i32.add - local.get $2 + local.get $1 i64.const 1000000000000000000 i64.ge_u i32.add end end - local.get $0 + local.get $2 i32.add local.tee $3 i32.const 1 i32.shl i32.const 1 call $~lib/rt/itcms/__new - local.tee $1 + local.tee $0 i32.store + local.get $0 local.get $1 - local.get $2 local.get $3 call $~lib/util/number/utoa64_dec_lut end - local.get $0 + local.get $2 if - local.get $1 + local.get $0 i32.const 45 i32.store16 end @@ -5536,9 +5529,9 @@ global.set $~lib/memory/__stack_pointer end global.get $~lib/memory/__stack_pointer - local.get $1 + local.get $0 i32.store - local.get $1 + local.get $0 call $~lib/console/console.log global.get $~lib/memory/__stack_pointer i32.const 7280 @@ -5563,7 +5556,7 @@ end i32.const 1088 i64.load - local.set $2 + local.set $1 global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub @@ -5576,7 +5569,7 @@ i32.const 0 i32.store block $__inlined_func$~lib/util/number/utoa64 - local.get $2 + local.get $1 i64.eqz if global.get $~lib/memory/__stack_pointer @@ -5584,58 +5577,57 @@ i32.add global.set $~lib/memory/__stack_pointer i32.const 5696 - local.set $1 + local.set $0 br $__inlined_func$~lib/util/number/utoa64 end - local.get $2 + local.get $1 i64.const 4294967295 i64.le_u if global.get $~lib/memory/__stack_pointer - local.get $2 + local.get $1 i32.wrap_i64 - local.tee $0 - local.tee $1 + local.tee $2 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 @@ -5646,74 +5638,74 @@ i32.shl i32.const 1 call $~lib/rt/itcms/__new - local.tee $1 + local.tee $0 i32.store - local.get $1 local.get $0 + local.get $2 local.get $3 call $~lib/util/number/utoa32_dec_lut else global.get $~lib/memory/__stack_pointer - local.get $2 + local.get $1 i64.const 1000000000000000 i64.lt_u if (result i32) - local.get $2 + local.get $1 i64.const 1000000000000 i64.lt_u if (result i32) - local.get $2 + local.get $1 i64.const 100000000000 i64.ge_u i32.const 10 i32.add - local.get $2 + local.get $1 i64.const 10000000000 i64.ge_u i32.add else - local.get $2 + local.get $1 i64.const 100000000000000 i64.ge_u i32.const 13 i32.add - local.get $2 + local.get $1 i64.const 10000000000000 i64.ge_u i32.add end else - local.get $2 + local.get $1 i64.const 100000000000000000 i64.lt_u if (result i32) - local.get $2 + local.get $1 i64.const 10000000000000000 i64.ge_u i32.const 16 i32.add else - local.get $2 + local.get $1 i64.const -8446744073709551616 i64.ge_u i32.const 18 i32.add - local.get $2 + local.get $1 i64.const 1000000000000000000 i64.ge_u i32.add end end - local.tee $0 + local.tee $2 i32.const 1 i32.shl i32.const 1 call $~lib/rt/itcms/__new - local.tee $1 + local.tee $0 i32.store + local.get $0 local.get $1 local.get $2 - local.get $0 call $~lib/util/number/utoa64_dec_lut end global.get $~lib/memory/__stack_pointer @@ -5722,9 +5714,9 @@ global.set $~lib/memory/__stack_pointer end global.get $~lib/memory/__stack_pointer - local.get $1 + local.get $0 i32.store - local.get $1 + local.get $0 call $~lib/console/console.log global.get $~lib/memory/__stack_pointer i32.const 7328 @@ -5743,12 +5735,12 @@ i32.const 20 i32.sub i32.load offset=16 - local.set $1 + local.set $2 i32.const 1088 local.get $0 i32.store i32.const 1092 - local.get $1 + local.get $2 i32.store i32.const 0 i32.const 1088 @@ -6239,10 +6231,9 @@ i32.gt_s select local.tee $2 - local.tee $4 + local.get $2 local.get $3 - local.get $4 - i32.lt_s + i32.gt_s select i32.const 1 i32.shl diff --git a/tests/compiler/std-wasi/process.untouched.wat b/tests/compiler/std-wasi/process.untouched.wat index d097d147d1..14830a5737 100644 --- a/tests/compiler/std-wasi/process.untouched.wat +++ b/tests/compiler/std-wasi/process.untouched.wat @@ -232,6 +232,16 @@ i32.const 1 i32.add local.set $6 + local.get $3 + local.get $8 + i32.eqz + i32.and + if + local.get $6 + local.get $2 + i32.sub + return + end else local.get $8 i32.const 2048 @@ -365,7 +375,7 @@ if i32.const 112 i32.const 176 - i32.const 739 + i32.const 741 i32.const 49 call $~lib/wasi/index/abort unreachable @@ -7825,7 +7835,7 @@ if i32.const 0 i32.const 176 - i32.const 767 + i32.const 769 i32.const 7 call $~lib/wasi/index/abort unreachable diff --git a/tests/compiler/std/array-literal.optimized.wat b/tests/compiler/std/array-literal.optimized.wat index 5318c29a7e..114260b619 100644 --- a/tests/compiler/std/array-literal.optimized.wat +++ b/tests/compiler/std/array-literal.optimized.wat @@ -821,12 +821,12 @@ (local $0 i32) (local $1 i32) memory.size - local.tee $0 + local.tee $1 i32.const 0 i32.le_s if (result i32) i32.const 1 - local.get $0 + local.get $1 i32.sub memory.grow i32.const 0 @@ -844,11 +844,11 @@ i32.const 0 i32.store loop $for-loop|0 - local.get $1 + local.get $0 i32.const 23 i32.lt_u if - local.get $1 + local.get $0 i32.const 2 i32.shl i32.const 18256 @@ -856,14 +856,14 @@ i32.const 0 i32.store offset=4 i32.const 0 - local.set $0 + local.set $1 loop $for-loop|1 - local.get $0 + local.get $1 i32.const 16 i32.lt_u if - local.get $0 local.get $1 + local.get $0 i32.const 4 i32.shl i32.add @@ -873,17 +873,17 @@ i32.add i32.const 0 i32.store offset=96 - local.get $0 + local.get $1 i32.const 1 i32.add - local.set $0 + local.set $1 br $for-loop|1 end end - local.get $1 + local.get $0 i32.const 1 i32.add - local.set $1 + local.set $0 br $for-loop|0 end end diff --git a/tests/compiler/std/array.optimized.wat b/tests/compiler/std/array.optimized.wat index b4442e9acb..1c02a283e3 100644 --- a/tests/compiler/std/array.optimized.wat +++ b/tests/compiler/std/array.optimized.wat @@ -1434,12 +1434,12 @@ (local $0 i32) (local $1 i32) memory.size - local.tee $0 + local.tee $1 i32.const 0 i32.le_s if (result i32) i32.const 1 - local.get $0 + local.get $1 i32.sub memory.grow i32.const 0 @@ -1457,11 +1457,11 @@ i32.const 0 i32.store loop $for-loop|0 - local.get $1 + local.get $0 i32.const 23 i32.lt_u if - local.get $1 + local.get $0 i32.const 2 i32.shl i32.const 32048 @@ -1469,14 +1469,14 @@ i32.const 0 i32.store offset=4 i32.const 0 - local.set $0 + local.set $1 loop $for-loop|1 - local.get $0 + local.get $1 i32.const 16 i32.lt_u if - local.get $0 local.get $1 + local.get $0 i32.const 4 i32.shl i32.add @@ -1486,17 +1486,17 @@ i32.add i32.const 0 i32.store offset=96 - local.get $0 + local.get $1 i32.const 1 i32.add - local.set $0 + local.set $1 br $for-loop|1 end end - local.get $1 + local.get $0 i32.const 1 i32.add - local.set $1 + local.set $0 br $for-loop|0 end end @@ -3510,63 +3510,61 @@ select local.get $2 i32.shl - local.set $1 + local.set $2 + local.get $3 + if + local.get $5 + i32.const 1 + i32.shl + local.tee $1 + i32.const 1073741820 + local.get $1 + i32.const 1073741820 + i32.lt_u + select + local.tee $1 + local.get $2 + local.get $1 + local.get $2 + i32.gt_u + select + local.set $2 + end block $__inlined_func$~lib/rt/itcms/__renew - local.get $3 - if (result i32) - local.get $5 - i32.const 1 - i32.shl - local.tee $2 - i32.const 1073741820 - local.get $2 - i32.const 1073741820 - i32.lt_u - select - local.tee $2 - local.get $1 - local.get $1 - local.get $2 - i32.lt_u - select - else - local.get $1 - end - local.tee $2 local.get $4 - local.tee $1 i32.const 20 i32.sub - local.tee $5 + local.tee $3 i32.load i32.const -4 i32.and i32.const 16 i32.sub - i32.le_u + local.get $2 + i32.ge_u if - local.get $5 + local.get $3 local.get $2 i32.store offset=16 + local.get $4 + local.set $1 br $__inlined_func$~lib/rt/itcms/__renew end local.get $2 - local.get $5 + local.get $3 i32.load offset=12 call $~lib/rt/itcms/__new - local.tee $3 - local.get $1 + local.tee $1 + local.get $4 local.get $2 - local.get $5 + local.get $3 i32.load offset=16 - local.tee $1 - local.get $1 + local.tee $3 local.get $2 - i32.gt_u + local.get $3 + i32.lt_u select call $~lib/memory/memory.copy - local.get $3 - local.set $1 end local.get $1 local.get $4 @@ -7935,46 +7933,46 @@ i64.eqz select local.tee $0 + local.get $0 i64.const 33 i64.shr_u - local.get $0 i64.xor i64.const -49064778989728563 i64.mul local.tee $0 + local.get $0 i64.const 33 i64.shr_u - local.get $0 i64.xor i64.const -4265267296055464877 i64.mul local.tee $0 + local.get $0 i64.const 33 i64.shr_u - local.get $0 i64.xor global.set $~lib/math/random_state0_64 global.get $~lib/math/random_state0_64 i64.const -1 i64.xor local.tee $0 + local.get $0 i64.const 33 i64.shr_u - local.get $0 i64.xor i64.const -49064778989728563 i64.mul local.tee $0 + local.get $0 i64.const 33 i64.shr_u - local.get $0 i64.xor i64.const -4265267296055464877 i64.mul local.tee $0 + local.get $0 i64.const 33 i64.shr_u - local.get $0 i64.xor global.set $~lib/math/random_state1_64 i32.const 1 @@ -8080,39 +8078,37 @@ local.get $3 local.get $5 i32.load offset=4 - local.tee $3 + local.tee $5 i32.store offset=4 local.get $6 - local.set $5 + local.set $3 i32.const 2 global.set $~argumentsLength local.get $6 - local.get $3 + local.get $5 local.get $4 i32.load call_indirect $0 (type $i32_i32_=>_i32) i32.const 0 i32.le_s - if (result i32) - local.get $3 - local.set $5 + if + local.get $5 + local.set $3 local.get $6 - else - local.get $3 + local.set $5 end - local.set $6 local.get $7 i32.const 1 i32.sub - local.set $3 + local.set $6 loop $while-continue|1 local.get $1 - local.get $3 + local.get $6 i32.le_s if block $while-break|1 global.get $~lib/memory/__stack_pointer - local.get $3 + local.get $6 i32.const 2 i32.shl local.get $0 @@ -8123,81 +8119,81 @@ i32.const 2 global.set $~argumentsLength local.get $8 - local.get $5 + local.get $3 local.get $4 i32.load call_indirect $0 (type $i32_i32_=>_i32) i32.const 0 i32.le_s br_if $while-break|1 - local.get $3 + local.get $6 i32.const 2 i32.shl local.get $0 i32.add local.get $8 i32.store offset=8 - local.get $3 + local.get $6 i32.const 1 i32.sub - local.set $3 + local.set $6 br $while-continue|1 end end end - local.get $3 + local.get $6 i32.const 2 i32.shl local.get $0 i32.add - local.get $5 + local.get $3 i32.store offset=8 loop $while-continue|2 local.get $1 - local.get $3 + local.get $6 i32.le_s if block $while-break|2 global.get $~lib/memory/__stack_pointer - local.get $3 + local.get $6 i32.const 2 i32.shl local.get $0 i32.add i32.load - local.tee $5 + local.tee $3 i32.store i32.const 2 global.set $~argumentsLength + local.get $3 local.get $5 - local.get $6 local.get $4 i32.load call_indirect $0 (type $i32_i32_=>_i32) i32.const 0 i32.le_s br_if $while-break|2 - local.get $3 + local.get $6 i32.const 2 i32.shl local.get $0 i32.add - local.get $5 - i32.store offset=4 local.get $3 + i32.store offset=4 + local.get $6 i32.const 1 i32.sub - local.set $3 + local.set $6 br $while-continue|2 end end end - local.get $3 + local.get $6 i32.const 2 i32.shl local.get $0 i32.add - local.get $6 + local.get $5 i32.store offset=4 local.get $7 i32.const 2 @@ -8368,12 +8364,12 @@ (local $5 i32) (local $6 i32) (local $7 i32) - (local $8 i64) + (local $8 i32) (local $9 i32) (local $10 i32) (local $11 i32) (local $12 i32) - (local $13 i32) + (local $13 i64) global.get $~lib/memory/__stack_pointer i32.const 12 i32.sub @@ -8390,10 +8386,10 @@ 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 $folding-inner0 @@ -8525,36 +8521,36 @@ local.get $1 i32.clz i32.sub - local.tee $6 + local.tee $5 i32.const 2 i32.shl - local.tee $7 + local.tee $6 i32.const 1 i32.shl - local.set $9 + local.set $7 global.get $~lib/rt/tlsf/ROOT i32.eqz if call $~lib/rt/tlsf/initialize end - local.get $7 global.get $~lib/rt/tlsf/ROOT - local.get $9 + local.get $7 call $~lib/rt/tlsf/allocateBlock i32.const 4 i32.add - local.tee $11 + local.tee $10 + local.get $6 i32.add - local.set $10 + local.set $11 loop $for-loop|1 local.get $4 - local.get $6 + local.get $5 i32.lt_u if local.get $4 i32.const 2 i32.shl - local.get $11 + local.get $10 i32.add i32.const -1 i32.store @@ -8577,49 +8573,51 @@ call $~lib/rt/tlsf/allocateBlock i32.const 4 i32.add - local.set $9 + local.set $12 local.get $0 i32.const 0 local.get $1 i32.const 1 i32.sub - local.tee $12 + local.tee $9 local.get $2 call $~lib/util/sort/extendRunRight - local.tee $1 + local.tee $4 i32.const 1 i32.add - local.tee $4 + local.tee $1 i32.const 32 i32.lt_s if local.get $0 i32.const 0 - local.get $12 + local.get $9 i32.const 31 - local.get $12 + local.get $9 i32.const 31 i32.lt_s select - local.tee $1 - local.get $4 + local.tee $4 + local.get $1 local.get $2 call $~lib/util/sort/insertionSort end + i32.const 0 + local.set $1 loop $while-continue|2 - local.get $1 - local.get $12 + local.get $4 + local.get $9 i32.lt_s if local.get $0 - local.get $1 + local.get $4 i32.const 1 i32.add local.tee $6 - local.get $12 + local.get $9 local.get $2 call $~lib/util/sort/extendRunRight - local.tee $4 + local.tee $5 local.get $6 i32.sub i32.const 1 @@ -8630,16 +8628,16 @@ if local.get $0 local.get $6 - local.get $12 + local.get $9 local.get $6 i32.const 31 i32.add - local.tee $4 - local.get $4 - local.get $12 + local.tee $5 + local.get $5 + local.get $9 i32.gt_s select - local.tee $4 + local.tee $5 local.get $7 local.get $2 call $~lib/util/sort/insertionSort @@ -8650,13 +8648,13 @@ i64.extend_i32_u i64.const 30 i64.shl - local.get $12 + local.get $9 i32.const 1 i32.add i64.extend_i32_u - local.tee $8 + local.tee $13 i64.div_u - local.get $4 + local.get $5 local.get $6 i32.add i32.const 1 @@ -8664,31 +8662,31 @@ i64.extend_i32_u i64.const 30 i64.shl - local.get $8 + local.get $13 i64.div_u i64.xor i32.wrap_i64 i32.clz local.set $7 loop $for-loop|3 - local.get $5 + local.get $1 local.get $7 i32.gt_u if - local.get $5 + local.get $1 i32.const 2 i32.shl - local.get $11 + local.get $10 i32.add i32.load - local.tee $13 + local.tee $8 i32.const -1 i32.ne if local.get $0 - local.get $13 - local.get $10 - local.get $5 + local.get $8 + local.get $11 + local.get $1 i32.const 2 i32.shl local.tee $3 @@ -8696,85 +8694,85 @@ i32.load i32.const 1 i32.add - local.get $1 - local.get $9 + local.get $4 + local.get $12 local.get $2 call $~lib/util/sort/mergeRuns local.get $3 - local.get $11 + local.get $10 i32.add i32.const -1 i32.store - local.get $13 + local.get $8 local.set $3 end - local.get $5 + local.get $1 i32.const 1 i32.sub - local.set $5 + local.set $1 br $for-loop|3 end end - local.get $11 + local.get $10 local.get $7 i32.const 2 i32.shl - local.tee $5 + local.tee $1 i32.add local.get $3 i32.store - local.get $5 - local.get $10 - i32.add local.get $1 + local.get $11 + i32.add + local.get $4 i32.store local.get $6 local.set $3 - local.get $4 - local.set $1 + local.get $5 + local.set $4 local.get $7 - local.set $5 + local.set $1 br $while-continue|2 end end loop $for-loop|4 - local.get $5 + local.get $1 if - local.get $5 + local.get $1 i32.const 2 i32.shl - local.get $11 + local.get $10 i32.add i32.load - local.tee $1 + local.tee $3 i32.const -1 i32.ne if local.get $0 + local.get $3 local.get $1 - local.get $5 i32.const 2 i32.shl - local.get $10 + local.get $11 i32.add i32.load i32.const 1 i32.add - local.get $12 local.get $9 + local.get $12 local.get $2 call $~lib/util/sort/mergeRuns end - local.get $5 + local.get $1 i32.const 1 i32.sub - local.set $5 + local.set $1 br $for-loop|4 end end - local.get $9 + local.get $12 call $~lib/rt/tlsf/__free - local.get $11 + local.get $10 call $~lib/rt/tlsf/__free global.get $~lib/memory/__stack_pointer i32.const 12 @@ -9364,7 +9362,7 @@ (local $7 i32) local.get $0 i32.load offset=4 - local.set $6 + local.set $4 local.get $0 i32.load offset=12 local.set $0 @@ -9390,7 +9388,7 @@ local.get $0 i32.const 1 i32.sub - local.tee $7 + local.tee $3 i32.const 0 i32.lt_s if @@ -9402,10 +9400,10 @@ local.set $0 br $__inlined_func$~lib/util/string/joinIntegerArray end - local.get $7 + local.get $3 i32.eqz if - local.get $6 + local.get $4 i32.load call $~lib/util/number/itoa32 local.set $0 @@ -9416,7 +9414,7 @@ br $__inlined_func$~lib/util/string/joinIntegerArray end global.get $~lib/memory/__stack_pointer - local.get $7 + local.get $3 local.get $1 i32.const 20 i32.sub @@ -9429,77 +9427,79 @@ i32.mul i32.const 11 i32.add - local.tee $3 + local.tee $7 i32.const 1 i32.shl i32.const 1 call $~lib/rt/itcms/__new - local.tee $0 + local.tee $2 i32.store + i32.const 0 + local.set $0 loop $for-loop|0 - local.get $4 - local.get $7 - i32.lt_s + local.get $3 + local.get $6 + i32.gt_s if - local.get $2 + local.get $0 i32.const 1 i32.shl - local.get $0 + local.get $2 i32.add - local.get $4 + local.get $6 i32.const 2 i32.shl - local.get $6 + local.get $4 i32.add i32.load call $~lib/util/number/itoa_buffered - local.get $2 + local.get $0 i32.add - local.set $2 + local.set $0 local.get $5 if - local.get $2 + local.get $0 i32.const 1 i32.shl - local.get $0 + local.get $2 i32.add local.get $1 local.get $5 i32.const 1 i32.shl call $~lib/memory/memory.copy - local.get $2 + local.get $0 local.get $5 i32.add - local.set $2 + local.set $0 end - local.get $4 + local.get $6 i32.const 1 i32.add - local.set $4 + local.set $6 br $for-loop|0 end end - local.get $2 + local.get $7 + local.get $0 i32.const 1 i32.shl - local.get $0 + local.get $2 i32.add - local.get $7 + local.get $3 i32.const 2 i32.shl - local.get $6 + local.get $4 i32.add i32.load call $~lib/util/number/itoa_buffered - local.get $2 + local.get $0 i32.add - local.tee $1 - local.get $3 - i32.lt_s + local.tee $0 + i32.gt_s if + local.get $2 local.get $0 - local.get $1 call $~lib/string/String#substring local.set $0 global.get $~lib/memory/__stack_pointer @@ -9512,6 +9512,8 @@ i32.const 4 i32.add global.set $~lib/memory/__stack_pointer + local.get $2 + local.set $0 end local.get $0 ) @@ -9589,7 +9591,7 @@ (local $7 i32) local.get $0 i32.load offset=4 - local.set $6 + local.set $4 local.get $0 i32.load offset=12 local.set $0 @@ -9615,7 +9617,7 @@ local.get $0 i32.const 1 i32.sub - local.tee $7 + local.tee $3 i32.const 0 i32.lt_s if @@ -9627,10 +9629,10 @@ local.set $0 br $__inlined_func$~lib/util/string/joinIntegerArray end - local.get $7 + local.get $3 i32.eqz if - local.get $6 + local.get $4 i32.load call $~lib/util/number/utoa32 local.set $0 @@ -9641,7 +9643,7 @@ br $__inlined_func$~lib/util/string/joinIntegerArray end global.get $~lib/memory/__stack_pointer - local.get $7 + local.get $3 local.get $1 i32.const 20 i32.sub @@ -9654,77 +9656,79 @@ i32.mul i32.const 10 i32.add - local.tee $3 + local.tee $7 i32.const 1 i32.shl i32.const 1 call $~lib/rt/itcms/__new - local.tee $0 + local.tee $2 i32.store + i32.const 0 + local.set $0 loop $for-loop|0 - local.get $4 - local.get $7 - i32.lt_s + local.get $3 + local.get $6 + i32.gt_s if - local.get $2 + local.get $0 i32.const 1 i32.shl - local.get $0 + local.get $2 i32.add - local.get $4 + local.get $6 i32.const 2 i32.shl - local.get $6 + local.get $4 i32.add i32.load call $~lib/util/number/itoa_buffered - local.get $2 + local.get $0 i32.add - local.set $2 + local.set $0 local.get $5 if - local.get $2 + local.get $0 i32.const 1 i32.shl - local.get $0 + local.get $2 i32.add local.get $1 local.get $5 i32.const 1 i32.shl call $~lib/memory/memory.copy - local.get $2 + local.get $0 local.get $5 i32.add - local.set $2 + local.set $0 end - local.get $4 + local.get $6 i32.const 1 i32.add - local.set $4 + local.set $6 br $for-loop|0 end end - local.get $2 + local.get $7 + local.get $0 i32.const 1 i32.shl - local.get $0 + local.get $2 i32.add - local.get $7 + local.get $3 i32.const 2 i32.shl - local.get $6 + local.get $4 i32.add i32.load call $~lib/util/number/itoa_buffered - local.get $2 + local.get $0 i32.add - local.tee $1 - local.get $3 - i32.lt_s + local.tee $0 + i32.gt_s if + local.get $2 local.get $0 - local.get $1 call $~lib/string/String#substring local.set $0 global.get $~lib/memory/__stack_pointer @@ -9737,6 +9741,8 @@ i32.const 4 i32.add global.set $~lib/memory/__stack_pointer + local.get $2 + local.set $0 end local.get $0 ) @@ -10388,8 +10394,6 @@ select i32.store16 offset=4 local.get $1 - i32.const 2 - i32.add else local.get $0 i32.const 4 @@ -10489,9 +10493,9 @@ local.get $0 local.get $1 i32.add - i32.const 2 - i32.add end + i32.const 2 + i32.add end end end @@ -10850,15 +10854,15 @@ ) (func $~lib/array/Array#join (param $0 i32) (result i32) (local $1 i32) - (local $2 i32) + (local $2 f64) (local $3 i32) (local $4 i32) (local $5 i32) (local $6 i32) - (local $7 f64) + (local $7 i32) local.get $0 i32.load offset=4 - local.set $5 + local.set $4 local.get $0 i32.load offset=12 local.set $0 @@ -10878,7 +10882,7 @@ local.get $0 i32.const 1 i32.sub - local.tee $6 + local.tee $3 i32.const 0 i32.lt_s if @@ -10890,12 +10894,12 @@ local.set $0 br $__inlined_func$~lib/util/string/joinFloatArray end - local.get $6 + local.get $3 i32.eqz if - local.get $5 + local.get $4 f64.load - local.set $7 + local.set $2 global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub @@ -10908,7 +10912,7 @@ i32.const 0 i32.store block $__inlined_func$~lib/util/number/dtoa - local.get $7 + local.get $2 f64.const 0 f64.eq if @@ -10920,14 +10924,14 @@ local.set $0 br $__inlined_func$~lib/util/number/dtoa end - local.get $7 - local.get $7 + local.get $2 + local.get $2 f64.sub f64.const 0 f64.ne if - local.get $7 - local.get $7 + local.get $2 + local.get $2 f64.ne if global.get $~lib/memory/__stack_pointer @@ -10944,7 +10948,7 @@ global.set $~lib/memory/__stack_pointer i32.const 11824 i32.const 11872 - local.get $7 + local.get $2 f64.const 0 f64.lt select @@ -10952,7 +10956,7 @@ br $__inlined_func$~lib/util/number/dtoa end i32.const 11904 - local.get $7 + local.get $2 call $~lib/util/number/dtoa_core i32.const 1 i32.shl @@ -10979,88 +10983,90 @@ br $__inlined_func$~lib/util/string/joinFloatArray end global.get $~lib/memory/__stack_pointer - local.get $6 + local.get $3 i32.const 11724 i32.load i32.const 1 i32.shr_u - local.tee $4 + local.tee $5 i32.const 28 i32.add i32.mul i32.const 28 i32.add - local.tee $2 + local.tee $7 i32.const 1 i32.shl i32.const 1 call $~lib/rt/itcms/__new - local.tee $0 + local.tee $1 i32.store + i32.const 0 + local.set $0 loop $for-loop|0 local.get $3 local.get $6 - i32.lt_s + i32.gt_s if - local.get $1 + local.get $0 i32.const 1 i32.shl - local.get $0 + local.get $1 i32.add - local.get $3 + local.get $6 i32.const 3 i32.shl - local.get $5 + local.get $4 i32.add f64.load call $~lib/util/number/dtoa_buffered - local.get $1 + local.get $0 i32.add - local.set $1 - local.get $4 + local.set $0 + local.get $5 if - local.get $1 + local.get $0 i32.const 1 i32.shl - local.get $0 + local.get $1 i32.add i32.const 11728 - local.get $4 + local.get $5 i32.const 1 i32.shl call $~lib/memory/memory.copy - local.get $1 - local.get $4 + local.get $0 + local.get $5 i32.add - local.set $1 + local.set $0 end - local.get $3 + local.get $6 i32.const 1 i32.add - local.set $3 + local.set $6 br $for-loop|0 end end - local.get $2 - local.get $1 + local.get $7 + local.get $0 i32.const 1 i32.shl - local.get $0 + local.get $1 i32.add - local.get $6 + local.get $3 i32.const 3 i32.shl - local.get $5 + local.get $4 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 global.get $~lib/memory/__stack_pointer @@ -11073,6 +11079,8 @@ i32.const 4 i32.add global.set $~lib/memory/__stack_pointer + local.get $1 + local.set $0 end local.get $0 return @@ -11509,7 +11517,6 @@ if local.get $1 i32.wrap_i64 - local.tee $3 local.tee $2 i32.const 100000 i32.lt_u @@ -11556,10 +11563,10 @@ i32.add end end - local.set $2 + local.set $3 local.get $0 - local.get $3 local.get $2 + local.get $3 call $~lib/util/number/utoa32_dec_lut else local.get $0 @@ -11614,30 +11621,30 @@ i32.add end end - local.tee $2 + local.tee $3 call $~lib/util/number/utoa64_dec_lut end - local.get $2 + local.get $3 ) (func $~lib/array/Array#join (param $0 i32) (result i32) (local $1 i32) - (local $2 i32) + (local $2 i64) (local $3 i32) (local $4 i32) (local $5 i32) (local $6 i32) - (local $7 i64) + (local $7 i32) + local.get $0 + i32.load offset=4 + local.set $7 + local.get $0 + i32.load offset=12 + local.set $0 + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.sub + global.set $~lib/memory/__stack_pointer block $folding-inner0 - local.get $0 - i32.load offset=4 - local.set $2 - local.get $0 - i32.load offset=12 - 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 15652 i32.lt_s @@ -11649,7 +11656,7 @@ local.get $0 i32.const 1 i32.sub - local.tee $3 + local.tee $6 i32.const 0 i32.lt_s if @@ -11661,13 +11668,13 @@ local.set $0 br $__inlined_func$~lib/util/string/joinIntegerArray end - local.get $3 + local.get $6 i32.eqz if block $__inlined_func$~lib/util/number/utoa64 (result i32) - local.get $2 + local.get $7 i64.load - local.set $7 + local.set $2 global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub @@ -11679,7 +11686,7 @@ global.get $~lib/memory/__stack_pointer i32.const 0 i32.store - local.get $7 + local.get $2 i64.eqz if global.get $~lib/memory/__stack_pointer @@ -11689,140 +11696,139 @@ i32.const 9824 br $__inlined_func$~lib/util/number/utoa64 end - local.get $7 + local.get $2 i64.const 4294967295 i64.le_u if global.get $~lib/memory/__stack_pointer - local.get $7 + local.get $2 i32.wrap_i64 - local.tee $2 - local.tee $0 + local.tee $1 i32.const 100000 i32.lt_u if (result i32) - local.get $0 + local.get $1 i32.const 100 i32.lt_u if (result i32) - local.get $0 + local.get $1 i32.const 10 i32.ge_u i32.const 1 i32.add else - local.get $0 + local.get $1 i32.const 10000 i32.ge_u i32.const 3 i32.add - local.get $0 + local.get $1 i32.const 1000 i32.ge_u i32.add end else - local.get $0 + local.get $1 i32.const 10000000 i32.lt_u if (result i32) - local.get $0 + local.get $1 i32.const 1000000 i32.ge_u i32.const 6 i32.add else - local.get $0 + local.get $1 i32.const 1000000000 i32.ge_u i32.const 8 i32.add - local.get $0 + local.get $1 i32.const 100000000 i32.ge_u i32.add end end - local.tee $0 + local.tee $3 i32.const 1 i32.shl i32.const 1 call $~lib/rt/itcms/__new - local.tee $1 + local.tee $0 i32.store - local.get $1 - local.get $2 local.get $0 + local.get $1 + local.get $3 call $~lib/util/number/utoa32_dec_lut else global.get $~lib/memory/__stack_pointer - local.get $7 + local.get $2 i64.const 1000000000000000 i64.lt_u if (result i32) - local.get $7 + local.get $2 i64.const 1000000000000 i64.lt_u if (result i32) - local.get $7 + local.get $2 i64.const 100000000000 i64.ge_u i32.const 10 i32.add - local.get $7 + local.get $2 i64.const 10000000000 i64.ge_u i32.add else - local.get $7 + local.get $2 i64.const 100000000000000 i64.ge_u i32.const 13 i32.add - local.get $7 + local.get $2 i64.const 10000000000000 i64.ge_u i32.add end else - local.get $7 + local.get $2 i64.const 100000000000000000 i64.lt_u if (result i32) - local.get $7 + local.get $2 i64.const 10000000000000000 i64.ge_u i32.const 16 i32.add else - local.get $7 + local.get $2 i64.const -8446744073709551616 i64.ge_u i32.const 18 i32.add - local.get $7 + local.get $2 i64.const 1000000000000000000 i64.ge_u i32.add end end - local.tee $0 + local.tee $1 i32.const 1 i32.shl i32.const 1 call $~lib/rt/itcms/__new - local.tee $1 + local.tee $0 i32.store - local.get $1 - local.get $7 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 - local.get $1 + local.get $0 end local.set $0 global.get $~lib/memory/__stack_pointer @@ -11832,88 +11838,90 @@ br $__inlined_func$~lib/util/string/joinIntegerArray end global.get $~lib/memory/__stack_pointer - local.get $3 + local.get $6 i32.const 9516 i32.load i32.const 1 i32.shr_u - local.tee $6 + local.tee $3 i32.const 20 i32.add i32.mul i32.const 20 i32.add - local.tee $4 + local.tee $5 i32.const 1 i32.shl i32.const 1 call $~lib/rt/itcms/__new - local.tee $0 + local.tee $1 i32.store + i32.const 0 + local.set $0 loop $for-loop|0 - local.get $3 - local.get $5 - i32.gt_s + local.get $4 + local.get $6 + i32.lt_s if - local.get $1 + local.get $0 i32.const 1 i32.shl - local.get $0 + local.get $1 i32.add - local.get $5 + local.get $4 i32.const 3 i32.shl - local.get $2 + local.get $7 i32.add i64.load call $~lib/util/number/itoa_buffered - local.get $1 + local.get $0 i32.add - local.set $1 - local.get $6 + local.set $0 + local.get $3 if - local.get $1 + local.get $0 i32.const 1 i32.shl - local.get $0 + local.get $1 i32.add i32.const 9520 - local.get $6 + local.get $3 i32.const 1 i32.shl call $~lib/memory/memory.copy - local.get $1 - local.get $6 + local.get $0 + local.get $3 i32.add - local.set $1 + local.set $0 end - local.get $5 + local.get $4 i32.const 1 i32.add - local.set $5 + local.set $4 br $for-loop|0 end end - local.get $4 - local.get $1 + local.get $5 + local.get $0 i32.const 1 i32.shl - local.get $0 + local.get $1 i32.add - local.get $3 + local.get $6 i32.const 3 i32.shl - local.get $2 + local.get $7 i32.add i64.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 global.get $~lib/memory/__stack_pointer @@ -11926,6 +11934,8 @@ i32.const 4 i32.add global.set $~lib/memory/__stack_pointer + local.get $1 + local.set $0 end local.get $0 return @@ -12098,17 +12108,17 @@ (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 $0 + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.sub + global.set $~lib/memory/__stack_pointer block $folding-inner0 - local.get $0 - i32.load offset=4 - local.set $5 - local.get $0 - i32.load offset=12 - 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 15652 i32.lt_s @@ -12179,47 +12189,46 @@ local.get $2 i32.wrap_i64 local.tee $3 - local.tee $0 i32.const 100000 i32.lt_u if (result i32) - local.get $0 + local.get $3 i32.const 100 i32.lt_u if (result i32) - local.get $0 + local.get $3 i32.const 10 i32.ge_u i32.const 1 i32.add else - local.get $0 + local.get $3 i32.const 10000 i32.ge_u i32.const 3 i32.add - local.get $0 + local.get $3 i32.const 1000 i32.ge_u i32.add end else - local.get $0 + local.get $3 i32.const 10000000 i32.lt_u if (result i32) - local.get $0 + local.get $3 i32.const 1000000 i32.ge_u i32.const 6 i32.add else - local.get $0 + local.get $3 i32.const 1000000000 i32.ge_u i32.const 8 i32.add - local.get $0 + local.get $3 i32.const 100000000 i32.ge_u i32.add @@ -12340,17 +12349,19 @@ i32.shl i32.const 1 call $~lib/rt/itcms/__new - local.tee $0 + local.tee $1 i32.store + i32.const 0 + local.set $0 loop $for-loop|0 local.get $3 local.get $6 i32.lt_s if - local.get $1 + local.get $0 i32.const 1 i32.shl - local.get $0 + local.get $1 i32.add local.get $3 i32.const 3 @@ -12359,25 +12370,25 @@ i32.add i64.load call $~lib/util/number/itoa_buffered - local.get $1 + local.get $0 i32.add - local.set $1 + local.set $0 local.get $7 if - local.get $1 + local.get $0 i32.const 1 i32.shl - local.get $0 + local.get $1 i32.add i32.const 9520 local.get $7 i32.const 1 i32.shl call $~lib/memory/memory.copy - local.get $1 + local.get $0 local.get $7 i32.add - local.set $1 + local.set $0 end local.get $3 i32.const 1 @@ -12387,10 +12398,10 @@ end end local.get $4 - local.get $1 + local.get $0 i32.const 1 i32.shl - local.get $0 + local.get $1 i32.add local.get $6 i32.const 3 @@ -12399,13 +12410,13 @@ i32.add i64.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 global.get $~lib/memory/__stack_pointer @@ -12418,6 +12429,8 @@ i32.const 4 i32.add global.set $~lib/memory/__stack_pointer + local.get $1 + local.set $0 end local.get $0 return @@ -12510,7 +12523,7 @@ (local $7 i32) local.get $0 i32.load offset=4 - local.set $6 + local.set $4 local.get $0 i32.load offset=12 local.set $0 @@ -12536,7 +12549,7 @@ local.get $0 i32.const 1 i32.sub - local.tee $7 + local.tee $3 i32.const 0 i32.lt_s if @@ -12548,10 +12561,10 @@ local.set $0 br $__inlined_func$~lib/util/string/joinIntegerArray end - local.get $7 + local.get $3 i32.eqz if - local.get $6 + local.get $4 i32.load8_u call $~lib/util/number/utoa32 local.set $0 @@ -12562,7 +12575,7 @@ br $__inlined_func$~lib/util/string/joinIntegerArray end global.get $~lib/memory/__stack_pointer - local.get $7 + local.get $3 local.get $1 i32.const 20 i32.sub @@ -12575,73 +12588,75 @@ i32.mul i32.const 10 i32.add - local.tee $3 + local.tee $7 i32.const 1 i32.shl i32.const 1 call $~lib/rt/itcms/__new - local.tee $0 + local.tee $2 i32.store + i32.const 0 + local.set $0 loop $for-loop|0 - local.get $4 - local.get $7 - i32.lt_s + local.get $3 + local.get $6 + i32.gt_s if - local.get $2 + local.get $0 i32.const 1 i32.shl - local.get $0 + local.get $2 i32.add local.get $4 local.get $6 i32.add i32.load8_u call $~lib/util/number/itoa_buffered - local.get $2 + local.get $0 i32.add - local.set $2 + local.set $0 local.get $5 if - local.get $2 + local.get $0 i32.const 1 i32.shl - local.get $0 + local.get $2 i32.add local.get $1 local.get $5 i32.const 1 i32.shl call $~lib/memory/memory.copy - local.get $2 + local.get $0 local.get $5 i32.add - local.set $2 + local.set $0 end - local.get $4 + local.get $6 i32.const 1 i32.add - local.set $4 + local.set $6 br $for-loop|0 end end - local.get $2 + local.get $7 + local.get $0 i32.const 1 i32.shl - local.get $0 + local.get $2 i32.add - local.get $6 - local.get $7 + local.get $3 + local.get $4 i32.add i32.load8_u call $~lib/util/number/itoa_buffered - local.get $2 + local.get $0 i32.add - local.tee $1 - local.get $3 - i32.lt_s + local.tee $0 + i32.gt_s if + local.get $2 local.get $0 - local.get $1 call $~lib/string/String#substring local.set $0 global.get $~lib/memory/__stack_pointer @@ -12654,6 +12669,8 @@ i32.const 4 i32.add global.set $~lib/memory/__stack_pointer + local.get $2 + local.set $0 end local.get $0 ) @@ -13519,25 +13536,65 @@ i32.lt_u i32.sub ) - (func $~lib/rt/__visit_members (param $0 i32) + (func $~lib/array/Array~visit (param $0 i32) (local $1 i32) (local $2 i32) (local $3 i32) - block $folding-inner3 - block $folding-inner2 - block $folding-inner1 - block $folding-inner0 + local.get $0 + i32.load offset=4 + local.tee $1 + local.get $0 + i32.load offset=12 + i32.const 2 + i32.shl + i32.add + local.set $3 + loop $while-continue|0 + local.get $1 + local.get $3 + i32.lt_u + if + local.get $1 + i32.load + local.tee $2 + if + local.get $2 + call $byn-split-outlined-A$~lib/rt/itcms/__visit + end + local.get $1 + i32.const 4 + i32.add + local.set $1 + br $while-continue|0 + end + end + local.get $0 + i32.load + local.tee $0 + if + local.get $0 + call $byn-split-outlined-A$~lib/rt/itcms/__visit + end + ) + (func $~lib/rt/__visit_members (param $0 i32) + block $folding-inner4 + block $folding-inner3 + block $folding-inner2 + block $folding-inner1 block $invalid - block $std/array/Proxy - block $std/array/Dim - block $std/array/Ref - block $~lib/string/String - block $~lib/arraybuffer/ArrayBuffer - local.get $0 - i32.const 8 - i32.sub - i32.load - br_table $~lib/arraybuffer/ArrayBuffer $~lib/string/String $folding-inner0 $folding-inner1 $std/array/Ref $folding-inner0 $folding-inner1 $folding-inner1 $folding-inner2 $folding-inner1 $folding-inner1 $folding-inner1 $folding-inner2 $folding-inner3 $folding-inner3 $folding-inner3 $folding-inner3 $folding-inner3 $folding-inner3 $std/array/Dim $folding-inner2 $folding-inner3 $folding-inner3 $folding-inner3 $folding-inner3 $folding-inner3 $folding-inner2 $folding-inner3 $std/array/Proxy $folding-inner2 $folding-inner3 $folding-inner2 $folding-inner3 $folding-inner2 $folding-inner3 $folding-inner1 $folding-inner1 $folding-inner1 $folding-inner1 $folding-inner2 $folding-inner2 $folding-inner2 $folding-inner2 $folding-inner3 $folding-inner1 $folding-inner1 $folding-inner2 $folding-inner3 $invalid + block $std/array/ArrayStr + block $std/array/Proxy + block $std/array/Dim + block $std/array/Ref + block $~lib/string/String + block $~lib/arraybuffer/ArrayBuffer + local.get $0 + i32.const 8 + i32.sub + i32.load + br_table $~lib/arraybuffer/ArrayBuffer $~lib/string/String $folding-inner2 $folding-inner4 $std/array/Ref $folding-inner2 $folding-inner4 $folding-inner4 $folding-inner1 $folding-inner4 $folding-inner4 $folding-inner4 $folding-inner1 $folding-inner3 $folding-inner3 $folding-inner3 $folding-inner3 $folding-inner3 $folding-inner3 $std/array/Dim $folding-inner1 $folding-inner3 $folding-inner3 $folding-inner3 $folding-inner3 $folding-inner3 $folding-inner1 $folding-inner3 $std/array/Proxy $folding-inner1 $folding-inner3 $folding-inner1 $folding-inner3 $folding-inner1 $folding-inner3 $folding-inner4 $folding-inner4 $folding-inner4 $folding-inner4 $folding-inner1 $folding-inner1 $folding-inner1 $folding-inner1 $folding-inner3 $folding-inner4 $folding-inner4 $std/array/ArrayStr $folding-inner3 $invalid + end + return end return end @@ -13547,17 +13604,14 @@ end return end + local.get $0 + call $~lib/array/Array~visit return end unreachable end local.get $0 - i32.load - local.tee $0 - if - local.get $0 - call $byn-split-outlined-A$~lib/rt/itcms/__visit - end + call $~lib/array/Array~visit return end local.get $0 @@ -13571,34 +13625,6 @@ end local.get $0 i32.load offset=4 - local.tee $1 - local.get $0 - i32.load offset=12 - i32.const 2 - i32.shl - i32.add - local.set $2 - loop $while-continue|0 - local.get $1 - local.get $2 - i32.lt_u - if - local.get $1 - i32.load - local.tee $3 - if - local.get $3 - call $byn-split-outlined-A$~lib/rt/itcms/__visit - end - local.get $1 - i32.const 4 - i32.add - local.set $1 - br $while-continue|0 - end - end - local.get $0 - i32.load local.tee $0 if local.get $0 @@ -13607,7 +13633,7 @@ return end local.get $0 - i32.load offset=4 + i32.load local.tee $0 if local.get $0 @@ -13664,10 +13690,10 @@ i32.store local.get $0 i32.load offset=12 - local.set $5 + local.set $3 loop $for-loop|0 local.get $2 - local.get $5 + local.get $3 i32.lt_s if local.get $0 @@ -13675,16 +13701,16 @@ i32.const 1 i32.sub call $~lib/array/Array#__get - local.set $3 + local.set $4 local.get $0 local.get $2 call $~lib/array/Array#__get - local.set $4 + local.set $5 i32.const 2 global.set $~argumentsLength i32.const 0 - local.get $3 local.get $4 + local.get $5 local.get $1 i32.load call_indirect $0 (type $i32_i32_=>_i32) @@ -13829,19 +13855,19 @@ i32.shl local.get $0 i32.add - local.tee $5 - i32.load offset=4 local.tee $7 + i32.load offset=4 + local.tee $5 i32.store local.get $6 - local.get $5 + local.get $7 i32.load - local.tee $5 + local.tee $6 i32.store offset=4 i32.const 2 global.set $~argumentsLength - local.get $7 local.get $5 + local.get $6 local.get $3 i32.load call_indirect $0 (type $i32_i32_=>_i32) @@ -13982,23 +14008,21 @@ i32.const 15652 i32.lt_s br_if $folding-inner0 - local.get $0 - local.set $2 global.get $~lib/memory/__stack_pointer i64.const 0 i64.store i32.const 1 - local.set $0 - local.get $2 + local.set $2 + local.get $0 i32.load offset=12 - local.set $4 + local.set $5 loop $for-loop|0 - local.get $0 - local.get $4 + local.get $2 + local.get $5 i32.lt_s if - local.get $2 local.get $0 + local.get $2 i32.const 1 i32.sub call $~lib/array/Array#__get @@ -14006,17 +14030,17 @@ global.get $~lib/memory/__stack_pointer local.get $3 i32.store - local.get $2 local.get $0 + local.get $2 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 offset=4 i32.const 2 global.set $~argumentsLength local.get $3 - local.get $5 + local.get $4 local.get $1 i32.load call_indirect $0 (type $i32_i32_=>_i32) @@ -14030,10 +14054,10 @@ i32.const 0 br $__inlined_func$std/array/isSorted<~lib/array/Array> end - local.get $0 + local.get $2 i32.const 1 i32.add - local.set $0 + local.set $2 br $for-loop|0 end end @@ -14203,11 +14227,11 @@ (local $4 i32) (local $5 i32) (local $6 i32) + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.sub + global.set $~lib/memory/__stack_pointer block $folding-inner0 - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.sub - global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer i32.const 15652 i32.lt_s @@ -14382,70 +14406,17 @@ (local $1 i32) (local $2 i32) (local $3 i32) - (local $4 i32) - (local $5 i32) - (local $6 i32) + (local $4 f64) + (local $5 i64) + (local $6 f32) (local $7 i32) (local $8 i32) (local $9 i32) - (local $10 f64) - (local $11 i64) - (local $12 f32) + (local $10 i32) + (local $11 i32) + (local $12 i32) (local $13 i32) (local $14 i32) - (local $15 i32) - (local $16 i32) - (local $17 i32) - (local $18 i32) - (local $19 i32) - (local $20 i32) - (local $21 i32) - (local $22 i32) - (local $23 i32) - (local $24 i32) - (local $25 i32) - (local $26 i32) - (local $27 i32) - (local $28 i32) - (local $29 i32) - (local $30 i32) - (local $31 i32) - (local $32 i32) - (local $33 i32) - (local $34 i32) - (local $35 i32) - (local $36 i32) - (local $37 i32) - (local $38 i32) - (local $39 i32) - (local $40 i32) - (local $41 i32) - (local $42 i32) - (local $43 i32) - (local $44 i32) - (local $45 i32) - (local $46 i32) - (local $47 i32) - (local $48 i32) - (local $49 i32) - (local $50 i32) - (local $51 i32) - (local $52 i32) - (local $53 i32) - (local $54 i32) - (local $55 i32) - (local $56 i32) - (local $57 i32) - (local $58 i32) - (local $59 i32) - (local $60 i32) - (local $61 i32) - (local $62 i32) - (local $63 i32) - (local $64 i32) - (local $65 i32) - (local $66 i32) - (local $67 i32) global.get $~lib/memory/__stack_pointer i32.const 172 i32.sub @@ -14579,10 +14550,10 @@ i32.const 12 i32.const 5 call $~lib/rt/itcms/__new - local.tee $2 + local.tee $0 i32.store global.get $~lib/memory/__stack_pointer - global.get $~lib/memory/__stack_pointer + local.tee $1 i32.const 8 i32.sub global.set $~lib/memory/__stack_pointer @@ -14593,59 +14564,60 @@ global.get $~lib/memory/__stack_pointer i64.const 0 i64.store - local.get $2 + 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 $2 + local.tee $0 i32.store end - local.get $2 + local.get $0 i32.const 0 i32.store - local.get $2 + local.get $0 i32.const 0 i32.store offset=4 - local.get $2 + local.get $0 i32.const 0 i32.store offset=8 global.get $~lib/memory/__stack_pointer i32.const 1 i32.const 0 call $~lib/rt/itcms/__new - local.tee $65 + local.tee $3 i32.store offset=4 - local.get $2 - local.get $65 + local.get $0 + local.get $3 i32.store - local.get $65 + local.get $3 if - local.get $2 - local.get $65 + local.get $0 + local.get $3 i32.const 0 call $byn-split-outlined-A$~lib/rt/itcms/__link end - local.get $2 - local.get $65 + local.get $0 + local.get $3 i32.store offset=4 - local.get $2 + local.get $0 i32.const 1 i32.store offset=8 global.get $~lib/memory/__stack_pointer i32.const 8 i32.add global.set $~lib/memory/__stack_pointer - local.get $2 + 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 global.get $~lib/memory/__stack_pointer - local.get $2 + local.get $0 i32.store global.get $~lib/memory/__stack_pointer i32.const 1664 @@ -14683,12 +14655,12 @@ i32.const 6 i32.const 1728 call $~lib/rt/__newArray - local.set $2 + local.set $1 global.get $~lib/memory/__stack_pointer - local.get $2 + local.get $1 i32.store offset=8 local.get $0 - local.get $2 + local.get $1 call $std/array/isArraysEqual i32.eqz if @@ -14710,12 +14682,12 @@ i32.const 6 i32.const 1760 call $~lib/rt/__newArray - local.set $2 + local.set $1 global.get $~lib/memory/__stack_pointer - local.get $2 + local.get $1 i32.store offset=8 local.get $0 - local.get $2 + local.get $1 call $std/array/isArraysEqual i32.eqz if @@ -14737,12 +14709,12 @@ i32.const 6 i32.const 1792 call $~lib/rt/__newArray - local.set $2 + local.set $1 global.get $~lib/memory/__stack_pointer - local.get $2 + local.get $1 i32.store offset=8 local.get $0 - local.get $2 + local.get $1 call $std/array/isArraysEqual i32.eqz if @@ -14764,12 +14736,12 @@ i32.const 6 i32.const 1824 call $~lib/rt/__newArray - local.set $2 + local.set $1 global.get $~lib/memory/__stack_pointer - local.get $2 + local.get $1 i32.store offset=8 local.get $0 - local.get $2 + local.get $1 call $std/array/isArraysEqual i32.eqz if @@ -14791,12 +14763,12 @@ i32.const 6 i32.const 1856 call $~lib/rt/__newArray - local.set $2 + local.set $1 global.get $~lib/memory/__stack_pointer - local.get $2 + local.get $1 i32.store offset=8 local.get $0 - local.get $2 + local.get $1 call $std/array/isArraysEqual i32.eqz if @@ -14817,39 +14789,39 @@ i32.store offset=12 local.get $0 i32.load offset=4 - local.set $65 + local.set $3 i32.const 1 local.get $0 i32.load offset=12 - local.tee $66 - local.get $66 + local.tee $9 + local.get $9 i32.const 1 i32.gt_s select - local.set $2 + local.set $1 i32.const 3 - local.get $66 - local.get $66 + local.get $9 + local.get $9 i32.const 3 i32.gt_s select - local.set $66 + local.set $9 loop $for-loop|0 - local.get $2 - local.get $66 + local.get $1 + local.get $9 i32.lt_s if - local.get $2 + local.get $1 i32.const 2 i32.shl - local.get $65 + local.get $3 i32.add i32.const 1 i32.store - local.get $2 + local.get $1 i32.const 1 i32.add - local.set $2 + local.set $1 br $for-loop|0 end end @@ -14858,12 +14830,12 @@ i32.const 7 i32.const 1936 call $~lib/rt/__newArray - local.set $2 + local.set $1 global.get $~lib/memory/__stack_pointer - local.get $2 + local.get $1 i32.store offset=8 local.get $0 - local.get $2 + local.get $1 call $std/array/isArraysEqual i32.eqz if @@ -14875,34 +14847,34 @@ unreachable end local.get $0 - local.tee $2 + local.tee $1 i32.load offset=4 - local.set $65 + local.set $0 i32.const 0 - local.get $2 + local.get $1 i32.load offset=12 - local.tee $66 - local.get $66 + local.tee $9 + local.get $9 i32.const 0 i32.gt_s select - local.set $0 + local.set $3 loop $for-loop|01 - local.get $0 - local.get $66 + local.get $3 + local.get $9 i32.lt_s if - local.get $0 + local.get $3 i32.const 2 i32.shl - local.get $65 + local.get $0 i32.add i32.const 0 i32.store - local.get $0 + local.get $3 i32.const 1 i32.add - local.set $0 + local.set $3 br $for-loop|01 end end @@ -14915,7 +14887,7 @@ global.get $~lib/memory/__stack_pointer local.get $0 i32.store offset=8 - local.get $2 + local.get $1 local.get $0 call $std/array/isArraysEqual i32.eqz @@ -14927,37 +14899,37 @@ call $~lib/builtins/abort unreachable end - local.get $2 + local.get $1 i32.load offset=4 - local.set $65 + local.set $3 i32.const 0 - local.get $2 + local.get $1 i32.load offset=12 - local.tee $66 - local.get $66 + local.tee $9 + local.get $9 i32.const 0 i32.gt_s select local.set $0 - local.get $66 + local.get $9 i32.const 3 i32.sub - local.tee $66 + local.tee $9 i32.const 0 - local.get $66 + local.get $9 i32.const 0 i32.gt_s select - local.set $66 + local.set $9 loop $for-loop|03 local.get $0 - local.get $66 + local.get $9 i32.lt_s if local.get $0 i32.const 2 i32.shl - local.get $65 + local.get $3 i32.add i32.const 1 i32.store @@ -14977,7 +14949,7 @@ global.get $~lib/memory/__stack_pointer local.get $0 i32.store offset=8 - local.get $2 + local.get $1 local.get $0 call $std/array/isArraysEqual i32.eqz @@ -14989,37 +14961,37 @@ call $~lib/builtins/abort unreachable end - local.get $2 + local.get $1 i32.load offset=4 - local.set $65 - local.get $2 + local.set $0 + local.get $1 i32.load offset=12 - local.tee $66 + local.tee $9 i32.const 2 i32.sub - local.tee $0 + local.tee $3 i32.const 0 - local.get $0 + local.get $3 i32.const 0 i32.gt_s select - local.set $0 + local.set $3 loop $for-loop|05 - local.get $0 - local.get $66 + local.get $3 + local.get $9 i32.lt_s if - local.get $0 + local.get $3 i32.const 2 i32.shl - local.get $65 + local.get $0 i32.add i32.const 2 i32.store - local.get $0 + local.get $3 i32.const 1 i32.add - local.set $0 + local.set $3 br $for-loop|05 end end @@ -15032,7 +15004,7 @@ global.get $~lib/memory/__stack_pointer local.get $0 i32.store offset=8 - local.get $2 + local.get $1 local.get $0 call $std/array/isArraysEqual i32.eqz @@ -15044,34 +15016,34 @@ call $~lib/builtins/abort unreachable end - local.get $2 + local.get $1 i32.load offset=4 - local.set $65 + local.set $3 i32.const 1 - local.get $2 + local.get $1 i32.load offset=12 - local.tee $66 - local.get $66 + local.tee $9 + local.get $9 i32.const 1 i32.gt_s select local.set $0 i32.const 0 - local.get $66 - local.get $66 + local.get $9 + local.get $9 i32.const 0 i32.gt_s select - local.set $66 + local.set $9 loop $for-loop|07 local.get $0 - local.get $66 + local.get $9 i32.lt_s if local.get $0 i32.const 2 i32.shl - local.get $65 + local.get $3 i32.add i32.const 0 i32.store @@ -15091,7 +15063,7 @@ global.get $~lib/memory/__stack_pointer local.get $0 i32.store offset=8 - local.get $2 + local.get $1 local.get $0 call $std/array/isArraysEqual i32.eqz @@ -15465,34 +15437,34 @@ i32.const 8 i32.const 0 call $~lib/rt/__newArray - local.tee $2 + local.tee $1 i32.store offset=12 global.get $~lib/memory/__stack_pointer - local.get $2 + local.get $1 i32.load offset=4 i32.store offset=16 - local.get $2 + local.get $1 i32.const 0 i32.const 0 call $std/array/Ref#constructor call $~lib/array/Array#__uset - local.get $2 + local.get $1 i32.const 1 i32.const 0 call $std/array/Ref#constructor call $~lib/array/Array#__uset local.get $0 - local.get $2 + local.get $1 i32.store offset=16 - local.get $2 + local.get $1 i32.const 0 i32.const 2 i32.const 0 call $~lib/array/ensureCapacity - local.get $2 + local.get $1 i32.const 0 i32.store offset=12 - local.get $2 + local.get $1 i32.load offset=12 if i32.const 0 @@ -15569,19 +15541,19 @@ i32.store offset=12 global.get $~lib/memory/__stack_pointer global.get $std/array/arr - local.tee $2 + local.tee $1 i32.store global.get $~lib/memory/__stack_pointer - local.get $2 + local.get $1 local.get $0 call $~lib/array/Array#concat - local.tee $2 + local.tee $1 i32.store offset=16 global.get $~lib/memory/__stack_pointer global.get $std/array/arr - local.tee $65 + local.tee $3 i32.store - local.get $65 + local.get $3 call $std/array/internalCapacity i32.const 8 i32.ne @@ -15595,9 +15567,9 @@ end global.get $~lib/memory/__stack_pointer global.get $std/array/arr - local.tee $65 + local.tee $3 i32.store - local.get $65 + local.get $3 i32.load offset=12 i32.const 3 i32.ne @@ -15609,7 +15581,7 @@ call $~lib/builtins/abort unreachable end - local.get $2 + local.get $1 i32.load offset=12 i32.const 3 i32.ne @@ -15626,19 +15598,19 @@ i32.const 3 i32.const 2272 call $~lib/rt/__newArray - local.set $65 + local.set $3 global.get $~lib/memory/__stack_pointer - local.get $65 + local.get $3 i32.store offset=8 - local.get $2 - local.get $65 + local.get $1 + local.get $3 call $~lib/array/Array#concat drop global.get $~lib/memory/__stack_pointer global.get $std/array/arr - local.tee $65 + local.tee $3 i32.store - local.get $65 + local.get $3 call $std/array/internalCapacity i32.const 8 i32.ne @@ -15650,7 +15622,7 @@ call $~lib/builtins/abort unreachable end - local.get $2 + local.get $1 i32.const 0 call $~lib/array/Array#__get i32.const 43 @@ -15663,7 +15635,7 @@ call $~lib/builtins/abort unreachable end - local.get $2 + local.get $1 i32.const 1 call $~lib/array/Array#__get i32.const 44 @@ -15676,7 +15648,7 @@ call $~lib/builtins/abort unreachable end - local.get $2 + local.get $1 i32.const 2 call $~lib/array/Array#__get i32.const 45 @@ -15698,21 +15670,21 @@ call $~lib/array/Array#push drop global.get $~lib/memory/__stack_pointer - local.tee $2 + local.tee $1 global.get $std/array/arr - local.tee $65 + local.tee $3 i32.store - local.get $2 - local.get $65 + local.get $1 + local.get $3 local.get $0 call $~lib/array/Array#concat - local.tee $2 + local.tee $1 i32.store offset=16 global.get $~lib/memory/__stack_pointer global.get $std/array/arr - local.tee $65 + local.tee $3 i32.store - local.get $65 + local.get $3 call $std/array/internalCapacity i32.const 8 i32.ne @@ -15736,7 +15708,7 @@ call $~lib/builtins/abort unreachable end - local.get $2 + local.get $1 i32.load offset=12 i32.const 5 i32.ne @@ -15748,7 +15720,7 @@ call $~lib/builtins/abort unreachable end - local.get $2 + local.get $1 i32.const 0 call $~lib/array/Array#__get i32.const 43 @@ -15761,7 +15733,7 @@ call $~lib/builtins/abort unreachable end - local.get $2 + local.get $1 i32.const 1 call $~lib/array/Array#__get i32.const 44 @@ -15774,7 +15746,7 @@ call $~lib/builtins/abort unreachable end - local.get $2 + local.get $1 i32.const 2 call $~lib/array/Array#__get i32.const 45 @@ -15787,7 +15759,7 @@ call $~lib/builtins/abort unreachable end - local.get $2 + local.get $1 i32.const 3 call $~lib/array/Array#__get i32.const 46 @@ -15800,7 +15772,7 @@ call $~lib/builtins/abort unreachable end - local.get $2 + local.get $1 i32.const 4 call $~lib/array/Array#__get i32.const 47 @@ -15813,10 +15785,10 @@ call $~lib/builtins/abort unreachable end - local.get $2 + local.get $1 call $~lib/array/Array#pop drop - local.get $2 + local.get $1 i32.load offset=12 i32.const 4 i32.ne @@ -15847,17 +15819,17 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $2 + local.tee $1 global.get $std/array/arr - local.tee $65 + local.tee $3 i32.store offset=8 - local.get $2 + local.get $1 local.get $0 - local.get $65 + local.get $3 call $~lib/array/Array#concat - local.tee $2 + local.tee $1 i32.store offset=16 - local.get $2 + local.get $1 i32.load offset=12 i32.const 3 i32.ne @@ -15901,12 +15873,12 @@ i32.const 3 i32.const 2384 call $~lib/rt/__newArray - local.set $2 + local.set $1 global.get $~lib/memory/__stack_pointer - local.get $2 + local.get $1 i32.store offset=8 local.get $0 - local.get $2 + local.get $1 i32.const 0 call $std/array/isArraysEqual i32.eqz @@ -15940,12 +15912,12 @@ i32.const 3 i32.const 2480 call $~lib/rt/__newArray - local.set $2 + local.set $1 global.get $~lib/memory/__stack_pointer - local.get $2 + local.get $1 i32.store offset=8 local.get $0 - local.get $2 + local.get $1 i32.const 0 call $std/array/isArraysEqual i32.eqz @@ -15979,12 +15951,12 @@ i32.const 3 i32.const 2576 call $~lib/rt/__newArray - local.set $2 + local.set $1 global.get $~lib/memory/__stack_pointer - local.get $2 + local.get $1 i32.store offset=8 local.get $0 - local.get $2 + local.get $1 i32.const 0 call $std/array/isArraysEqual i32.eqz @@ -16018,12 +15990,12 @@ i32.const 3 i32.const 2672 call $~lib/rt/__newArray - local.set $2 + local.set $1 global.get $~lib/memory/__stack_pointer - local.get $2 + local.get $1 i32.store offset=8 local.get $0 - local.get $2 + local.get $1 i32.const 0 call $std/array/isArraysEqual i32.eqz @@ -16057,12 +16029,12 @@ i32.const 3 i32.const 2768 call $~lib/rt/__newArray - local.set $2 + local.set $1 global.get $~lib/memory/__stack_pointer - local.get $2 + local.get $1 i32.store offset=8 local.get $0 - local.get $2 + local.get $1 i32.const 0 call $std/array/isArraysEqual i32.eqz @@ -16096,12 +16068,12 @@ i32.const 3 i32.const 2864 call $~lib/rt/__newArray - local.set $2 + local.set $1 global.get $~lib/memory/__stack_pointer - local.get $2 + local.get $1 i32.store offset=8 local.get $0 - local.get $2 + local.get $1 i32.const 0 call $std/array/isArraysEqual i32.eqz @@ -16135,12 +16107,12 @@ i32.const 3 i32.const 2960 call $~lib/rt/__newArray - local.set $2 + local.set $1 global.get $~lib/memory/__stack_pointer - local.get $2 + local.get $1 i32.store offset=8 local.get $0 - local.get $2 + local.get $1 i32.const 0 call $std/array/isArraysEqual i32.eqz @@ -16174,12 +16146,12 @@ i32.const 3 i32.const 3056 call $~lib/rt/__newArray - local.set $2 + local.set $1 global.get $~lib/memory/__stack_pointer - local.get $2 + local.get $1 i32.store offset=8 local.get $0 - local.get $2 + local.get $1 i32.const 0 call $std/array/isArraysEqual i32.eqz @@ -16213,12 +16185,12 @@ i32.const 3 i32.const 3152 call $~lib/rt/__newArray - local.set $2 + local.set $1 global.get $~lib/memory/__stack_pointer - local.get $2 + local.get $1 i32.store offset=8 local.get $0 - local.get $2 + local.get $1 i32.const 0 call $std/array/isArraysEqual i32.eqz @@ -16252,12 +16224,12 @@ i32.const 3 i32.const 3248 call $~lib/rt/__newArray - local.set $2 + local.set $1 global.get $~lib/memory/__stack_pointer - local.get $2 + local.get $1 i32.store offset=8 local.get $0 - local.get $2 + local.get $1 i32.const 0 call $std/array/isArraysEqual i32.eqz @@ -16291,12 +16263,12 @@ i32.const 3 i32.const 3344 call $~lib/rt/__newArray - local.set $2 + local.set $1 global.get $~lib/memory/__stack_pointer - local.get $2 + local.get $1 i32.store offset=8 local.get $0 - local.get $2 + local.get $1 i32.const 0 call $std/array/isArraysEqual i32.eqz @@ -16330,12 +16302,12 @@ i32.const 3 i32.const 3440 call $~lib/rt/__newArray - local.set $2 + local.set $1 global.get $~lib/memory/__stack_pointer - local.get $2 + local.get $1 i32.store offset=8 local.get $0 - local.get $2 + local.get $1 i32.const 0 call $std/array/isArraysEqual i32.eqz @@ -16586,7 +16558,7 @@ i32.store local.get $0 i32.load offset=12 - local.tee $2 + local.tee $1 i32.const 0 i32.le_s if @@ -16599,27 +16571,27 @@ end local.get $0 i32.load offset=4 - local.tee $65 + local.tee $3 i32.load - local.get $65 - local.get $65 + local.get $3 + local.get $3 i32.const 4 i32.add - local.get $2 + local.get $1 i32.const 1 i32.sub - local.tee $2 + local.tee $1 i32.const 2 i32.shl - local.tee $67 + local.tee $10 call $~lib/memory/memory.copy - local.get $65 - local.get $67 + local.get $3 + local.get $10 i32.add i32.const 0 i32.store local.get $0 - local.get $2 + local.get $1 i32.store offset=12 global.set $std/array/i global.get $std/array/i @@ -16847,19 +16819,19 @@ i32.const 2 i32.const 2147483647 call $~lib/array/Array#slice - local.tee $2 + local.tee $1 i32.store offset=16 i32.const 3 i32.const 2 i32.const 3 i32.const 3536 call $~lib/rt/__newArray - local.set $65 + local.set $3 global.get $~lib/memory/__stack_pointer - local.get $65 + local.get $3 i32.store offset=8 - local.get $2 - local.get $65 + local.get $1 + local.get $3 i32.const 0 call $std/array/isArraysEqual i32.eqz @@ -16876,19 +16848,19 @@ i32.const 2 i32.const 4 call $~lib/array/Array#slice - local.tee $2 + local.tee $1 i32.store offset=16 i32.const 2 i32.const 2 i32.const 3 i32.const 3568 call $~lib/rt/__newArray - local.set $65 + local.set $3 global.get $~lib/memory/__stack_pointer - local.get $65 + local.get $3 i32.store offset=8 - local.get $2 - local.get $65 + local.get $1 + local.get $3 i32.const 0 call $std/array/isArraysEqual i32.eqz @@ -16905,19 +16877,19 @@ i32.const 1 i32.const 5 call $~lib/array/Array#slice - local.tee $2 + local.tee $1 i32.store offset=16 i32.const 4 i32.const 2 i32.const 3 i32.const 3600 call $~lib/rt/__newArray - local.set $65 + local.set $3 global.get $~lib/memory/__stack_pointer - local.get $65 + local.get $3 i32.store offset=8 - local.get $2 - local.get $65 + local.get $1 + local.get $3 i32.const 0 call $std/array/isArraysEqual i32.eqz @@ -16934,9 +16906,9 @@ i32.const 0 i32.const 2147483647 call $~lib/array/Array#slice - local.tee $2 + local.tee $1 i32.store offset=16 - local.get $2 + local.get $1 local.get $0 i32.const 0 call $std/array/isArraysEqual @@ -16954,19 +16926,19 @@ i32.const -2 i32.const 2147483647 call $~lib/array/Array#slice - local.tee $2 + local.tee $1 i32.store offset=16 i32.const 2 i32.const 2 i32.const 3 i32.const 3648 call $~lib/rt/__newArray - local.set $65 + local.set $3 global.get $~lib/memory/__stack_pointer - local.get $65 + local.get $3 i32.store offset=8 - local.get $2 - local.get $65 + local.get $1 + local.get $3 i32.const 0 call $std/array/isArraysEqual i32.eqz @@ -16983,19 +16955,19 @@ i32.const 2 i32.const -1 call $~lib/array/Array#slice - local.tee $2 + local.tee $1 i32.store offset=16 i32.const 2 i32.const 2 i32.const 3 i32.const 3680 call $~lib/rt/__newArray - local.set $65 + local.set $3 global.get $~lib/memory/__stack_pointer - local.get $65 + local.get $3 i32.store offset=8 - local.get $2 - local.get $65 + local.get $1 + local.get $3 i32.const 0 call $std/array/isArraysEqual i32.eqz @@ -17012,19 +16984,19 @@ i32.const -3 i32.const -1 call $~lib/array/Array#slice - local.tee $2 + local.tee $1 i32.store offset=16 i32.const 2 i32.const 2 i32.const 3 i32.const 3712 call $~lib/rt/__newArray - local.set $65 + local.set $3 global.get $~lib/memory/__stack_pointer - local.get $65 + local.get $3 i32.store offset=8 - local.get $2 - local.get $65 + local.get $1 + local.get $3 i32.const 0 call $std/array/isArraysEqual i32.eqz @@ -17040,11 +17012,11 @@ i32.const -1 i32.const -3 call $~lib/array/Array#slice - local.set $2 + local.set $1 global.get $~lib/memory/__stack_pointer - local.get $2 + local.get $1 i32.store - local.get $2 + local.get $1 i32.load offset=12 if i32.const 0 @@ -17078,52 +17050,54 @@ i32.store local.get $0 i32.load offset=4 - local.set $2 + local.set $1 local.get $0 i32.load offset=12 - local.tee $0 + local.tee $3 i32.const 1 i32.gt_u if - local.get $0 + i32.const 0 + local.set $0 + local.get $3 i32.const 1 i32.shr_u - local.set $65 - local.get $0 + local.set $9 + local.get $3 i32.const 1 i32.sub - local.set $0 + local.set $3 loop $while-continue|0 - local.get $1 - local.get $65 + local.get $0 + local.get $9 i32.lt_u if - local.get $1 + local.get $0 i32.const 2 i32.shl - local.get $2 + local.get $1 i32.add - local.tee $66 + local.tee $10 i32.load - local.set $67 - local.get $66 + local.set $11 + local.get $10 + local.get $3 local.get $0 - local.get $1 i32.sub i32.const 2 i32.shl - local.get $2 + local.get $1 i32.add - local.tee $66 + local.tee $10 i32.load i32.store - local.get $66 - local.get $67 + local.get $10 + local.get $11 i32.store - local.get $1 + local.get $0 i32.const 1 i32.add - local.set $1 + local.set $0 br $while-continue|0 end end @@ -17233,33 +17207,33 @@ i32.const 6 i32.const 3744 call $~lib/rt/__newArray - local.set $1 + local.set $3 global.get $~lib/memory/__stack_pointer - local.get $1 + local.get $3 i32.store - local.get $1 + local.get $3 i32.load offset=4 - local.get $1 + local.get $3 i32.load offset=12 call $~lib/util/bytes/REVERSE - local.get $1 + local.get $3 i32.store offset=16 i32.const 0 - local.set $2 - local.get $1 + local.set $1 + local.get $3 i32.load offset=12 local.set $0 loop $for-loop|08 local.get $0 - local.get $2 + local.get $1 i32.gt_s if + local.get $3 local.get $1 - local.get $2 call $~lib/array/Array#__get - local.get $1 + local.get $3 i32.load offset=12 - local.get $2 + local.get $1 i32.sub i32.const 1 i32.sub @@ -17272,10 +17246,10 @@ call $~lib/builtins/abort unreachable end - local.get $2 + local.get $1 i32.const 1 i32.add - local.set $2 + local.set $1 br $for-loop|08 end end @@ -17297,21 +17271,21 @@ local.get $1 i32.store offset=4 i32.const 0 - local.set $2 + local.set $0 local.get $1 i32.load offset=12 - local.set $0 + local.set $3 loop $for-loop|1 local.get $0 - local.get $2 - i32.gt_s + local.get $3 + i32.lt_s if local.get $1 - local.get $2 + local.get $0 call $~lib/array/Array#__get local.get $1 i32.load offset=12 - local.get $2 + local.get $0 i32.sub i32.const 1 i32.sub @@ -17324,10 +17298,10 @@ call $~lib/builtins/abort unreachable end - local.get $2 + local.get $0 i32.const 1 i32.add - local.set $2 + local.set $0 br $for-loop|1 end end @@ -17348,8 +17322,6 @@ call $~lib/util/bytes/REVERSE local.get $1 i32.store offset=12 - i32.const 0 - local.set $2 local.get $1 i32.load offset=12 local.set $0 @@ -17395,24 +17367,24 @@ i32.store local.get $1 call $~lib/array/Array#reverse - local.tee $0 + local.tee $1 i32.store offset=20 i32.const 0 - local.set $2 - local.get $0 + local.set $0 + local.get $1 i32.load offset=12 - local.set $1 + local.set $2 loop $for-loop|3 - local.get $1 + local.get $0 local.get $2 - i32.gt_s + i32.lt_s if + local.get $1 local.get $0 - local.get $2 call $~lib/array/Array#__get - local.get $0 + local.get $1 i32.load offset=12 - local.get $2 + local.get $0 i32.sub i32.const 1 i32.sub @@ -17425,10 +17397,10 @@ call $~lib/builtins/abort unreachable end - local.get $2 + local.get $0 i32.const 1 i32.add - local.set $2 + local.set $0 br $for-loop|3 end end @@ -17447,21 +17419,21 @@ local.tee $0 i32.store offset=24 i32.const 0 - local.set $2 + local.set $1 local.get $0 i32.load offset=12 - local.set $1 + local.set $2 loop $for-loop|4 local.get $1 local.get $2 - i32.gt_s + i32.lt_s if local.get $0 - local.get $2 + local.get $1 call $~lib/array/Array#__get local.get $0 i32.load offset=12 - local.get $2 + local.get $1 i32.sub i32.const 1 i32.sub @@ -17474,10 +17446,10 @@ call $~lib/builtins/abort unreachable end - local.get $2 + local.get $1 i32.const 1 i32.add - local.set $2 + local.set $1 br $for-loop|4 end end @@ -17532,49 +17504,51 @@ end global.get $~lib/memory/__stack_pointer global.get $std/array/arr - local.tee $1 + local.tee $2 i32.store - i32.const -1 + i32.const 0 local.set $0 + i32.const -1 + local.set $1 block $__inlined_func$~lib/array/Array#indexOf - local.get $1 + local.get $2 i32.load offset=12 - local.tee $2 + local.tee $3 i32.const 0 i32.le_s i32.const 1 - local.get $2 + local.get $3 select br_if $__inlined_func$~lib/array/Array#indexOf - local.get $1 + local.get $2 i32.load offset=4 - local.set $1 + local.set $2 loop $while-continue|013 - local.get $2 + local.get $0 local.get $3 - i32.gt_s + i32.lt_s if - local.get $3 - local.tee $0 + local.get $0 + local.tee $1 i32.const 2 i32.shl - local.get $1 + local.get $2 i32.add i32.load i32.const 44 i32.eq br_if $__inlined_func$~lib/array/Array#indexOf - local.get $0 + local.get $1 i32.const 1 i32.add - local.set $3 + local.set $0 br $while-continue|013 end end i32.const -1 - local.set $0 + local.set $1 end - local.get $0 + local.get $1 global.set $std/array/i global.get $std/array/i if @@ -17587,49 +17561,51 @@ end global.get $~lib/memory/__stack_pointer global.get $std/array/arr - local.tee $1 + local.tee $2 i32.store - i32.const -1 + i32.const 0 local.set $0 + i32.const -1 + local.set $1 block $__inlined_func$~lib/array/Array#indexOf39 - local.get $1 + local.get $2 i32.load offset=12 - local.tee $2 + local.tee $3 i32.const 0 i32.le_s i32.const 1 - local.get $2 + local.get $3 select br_if $__inlined_func$~lib/array/Array#indexOf39 - local.get $1 + local.get $2 i32.load offset=4 - local.set $1 + local.set $2 loop $while-continue|041 - local.get $2 - local.get $9 - i32.gt_s + local.get $0 + local.get $3 + i32.lt_s if - local.get $9 - local.tee $0 + local.get $0 + local.tee $1 i32.const 2 i32.shl - local.get $1 + local.get $2 i32.add i32.load i32.const 42 i32.eq br_if $__inlined_func$~lib/array/Array#indexOf39 - local.get $0 + local.get $1 i32.const 1 i32.add - local.set $9 + local.set $0 br $while-continue|041 end end i32.const -1 - local.set $0 + local.set $1 end - local.get $0 + local.get $1 global.set $std/array/i global.get $std/array/i i32.const 2 @@ -17644,49 +17620,51 @@ end global.get $~lib/memory/__stack_pointer global.get $std/array/arr - local.tee $1 + local.tee $2 i32.store - i32.const -1 + i32.const 0 local.set $0 + i32.const -1 + local.set $1 block $__inlined_func$~lib/array/Array#indexOf42 - local.get $1 + local.get $2 i32.load offset=12 - local.tee $2 + local.tee $3 i32.const 0 i32.le_s i32.const 1 - local.get $2 + local.get $3 select br_if $__inlined_func$~lib/array/Array#indexOf42 - local.get $1 + local.get $2 i32.load offset=4 - local.set $1 + local.set $2 loop $while-continue|044 - local.get $2 - local.get $8 - i32.gt_s + local.get $0 + local.get $3 + i32.lt_s if - local.get $8 - local.tee $0 + local.get $0 + local.tee $1 i32.const 2 i32.shl - local.get $1 + local.get $2 i32.add i32.load i32.const 45 i32.eq br_if $__inlined_func$~lib/array/Array#indexOf42 - local.get $0 + local.get $1 i32.const 1 i32.add - local.set $8 + local.set $0 br $while-continue|044 end end i32.const -1 - local.set $0 + local.set $1 end - local.get $0 + local.get $1 global.set $std/array/i global.get $std/array/i i32.const -1 @@ -17701,14 +17679,14 @@ end global.get $~lib/memory/__stack_pointer global.get $std/array/arr - local.tee $0 + local.tee $2 i32.store i32.const 100 - local.set $2 + local.set $0 i32.const -1 local.set $1 block $__inlined_func$~lib/array/Array#indexOf45 - local.get $0 + local.get $2 i32.load offset=12 local.tee $3 i32.const 100 @@ -17717,19 +17695,19 @@ local.get $3 select br_if $__inlined_func$~lib/array/Array#indexOf45 - local.get $0 + local.get $2 i32.load offset=4 - local.set $0 + local.set $2 loop $while-continue|047 - local.get $2 + 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 $0 + local.get $2 i32.add i32.load i32.const 43 @@ -17738,7 +17716,7 @@ local.get $1 i32.const 1 i32.add - local.set $2 + local.set $0 br $while-continue|047 end end @@ -17760,58 +17738,58 @@ end global.get $~lib/memory/__stack_pointer global.get $std/array/arr - local.tee $0 + local.tee $1 i32.store i32.const -1 - local.set $2 + local.set $0 block $__inlined_func$~lib/array/Array#indexOf48 - local.get $0 + local.get $1 i32.load offset=12 - local.tee $1 + local.tee $2 i32.const -100 i32.le_s i32.const 1 - local.get $1 + local.get $2 select br_if $__inlined_func$~lib/array/Array#indexOf48 - local.get $1 + local.get $2 i32.const 100 i32.sub - local.tee $2 + local.tee $0 i32.const 0 - local.get $2 + local.get $0 i32.const 0 i32.gt_s select - local.set $2 - local.get $0 - i32.load offset=4 local.set $0 + local.get $1 + i32.load offset=4 + local.set $1 loop $while-continue|050 - local.get $1 + local.get $0 local.get $2 - i32.gt_s + i32.lt_s if - local.get $2 + local.get $0 i32.const 2 i32.shl - local.get $0 + local.get $1 i32.add i32.load i32.const 43 i32.eq br_if $__inlined_func$~lib/array/Array#indexOf48 - local.get $2 + local.get $0 i32.const 1 i32.add - local.set $2 + local.set $0 br $while-continue|050 end end i32.const -1 - local.set $2 + local.set $0 end - local.get $2 + local.get $0 global.set $std/array/i global.get $std/array/i i32.const 1 @@ -17826,58 +17804,58 @@ end global.get $~lib/memory/__stack_pointer global.get $std/array/arr - local.tee $0 + local.tee $1 i32.store i32.const -1 - local.set $2 + local.set $0 block $__inlined_func$~lib/array/Array#indexOf51 - local.get $0 + local.get $1 i32.load offset=12 - local.tee $1 + local.tee $2 i32.const -2 i32.le_s i32.const 1 - local.get $1 + local.get $2 select br_if $__inlined_func$~lib/array/Array#indexOf51 - local.get $1 + local.get $2 i32.const 2 i32.sub - local.tee $2 + local.tee $0 i32.const 0 - local.get $2 + local.get $0 i32.const 0 i32.gt_s select - local.set $2 - local.get $0 - i32.load offset=4 local.set $0 + local.get $1 + i32.load offset=4 + local.set $1 loop $while-continue|053 - local.get $1 + local.get $0 local.get $2 - i32.gt_s + i32.lt_s if - local.get $2 + local.get $0 i32.const 2 i32.shl - local.get $0 + local.get $1 i32.add i32.load i32.const 43 i32.eq br_if $__inlined_func$~lib/array/Array#indexOf51 - local.get $2 + local.get $0 i32.const 1 i32.add - local.set $2 + local.set $0 br $while-continue|053 end end i32.const -1 - local.set $2 + local.set $0 end - local.get $2 + local.get $0 global.set $std/array/i global.get $std/array/i i32.const 3 @@ -17892,58 +17870,58 @@ end global.get $~lib/memory/__stack_pointer global.get $std/array/arr - local.tee $0 + local.tee $1 i32.store i32.const -1 - local.set $2 + local.set $0 block $__inlined_func$~lib/array/Array#indexOf54 - local.get $0 + local.get $1 i32.load offset=12 - local.tee $1 + local.tee $2 i32.const -4 i32.le_s i32.const 1 - local.get $1 + local.get $2 select br_if $__inlined_func$~lib/array/Array#indexOf54 - local.get $1 + local.get $2 i32.const 4 i32.sub - local.tee $2 + local.tee $0 i32.const 0 - local.get $2 + local.get $0 i32.const 0 i32.gt_s select - local.set $2 - local.get $0 - i32.load offset=4 local.set $0 + local.get $1 + i32.load offset=4 + local.set $1 loop $while-continue|056 - local.get $1 + local.get $0 local.get $2 - i32.gt_s + i32.lt_s if - local.get $2 + local.get $0 i32.const 2 i32.shl - local.get $0 + local.get $1 i32.add i32.load i32.const 43 i32.eq br_if $__inlined_func$~lib/array/Array#indexOf54 - local.get $2 + local.get $0 i32.const 1 i32.add - local.set $2 + local.set $0 br $while-continue|056 end end i32.const -1 - local.set $2 + local.set $0 end - local.get $2 + local.get $0 global.set $std/array/i global.get $std/array/i i32.const 1 @@ -17958,49 +17936,51 @@ end global.get $~lib/memory/__stack_pointer global.get $std/array/arr - local.tee $1 + local.tee $2 i32.store - i32.const -1 + i32.const 0 local.set $0 + i32.const -1 + local.set $1 block $__inlined_func$~lib/array/Array#indexOf57 - local.get $1 + local.get $2 i32.load offset=12 - local.tee $2 + local.tee $3 i32.const 0 i32.le_s i32.const 1 - local.get $2 + local.get $3 select br_if $__inlined_func$~lib/array/Array#indexOf57 - local.get $1 + local.get $2 i32.load offset=4 - local.set $1 + local.set $2 loop $while-continue|059 - local.get $2 - local.get $7 - i32.gt_s + local.get $0 + local.get $3 + i32.lt_s if - local.get $7 - local.tee $0 + local.get $0 + local.tee $1 i32.const 2 i32.shl - local.get $1 + local.get $2 i32.add i32.load i32.const 43 i32.eq br_if $__inlined_func$~lib/array/Array#indexOf57 - local.get $0 + local.get $1 i32.const 1 i32.add - local.set $7 + local.set $0 br $while-continue|059 end end i32.const -1 - local.set $0 + local.set $1 end - local.get $0 + local.get $1 global.set $std/array/i global.get $std/array/i i32.const 1 @@ -18015,14 +17995,14 @@ end global.get $~lib/memory/__stack_pointer global.get $std/array/arr - local.tee $0 + local.tee $2 i32.store i32.const 1 - local.set $2 + local.set $0 i32.const -1 local.set $1 block $__inlined_func$~lib/array/Array#indexOf60 - local.get $0 + local.get $2 i32.load offset=12 local.tee $3 i32.const 1 @@ -18031,19 +18011,19 @@ local.get $3 select br_if $__inlined_func$~lib/array/Array#indexOf60 - local.get $0 + local.get $2 i32.load offset=4 - local.set $0 + local.set $2 loop $while-continue|062 - local.get $2 + 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 $0 + local.get $2 i32.add i32.load i32.const 43 @@ -18052,7 +18032,7 @@ local.get $1 i32.const 1 i32.add - local.set $2 + local.set $0 br $while-continue|062 end end @@ -18074,14 +18054,14 @@ end global.get $~lib/memory/__stack_pointer global.get $std/array/arr - local.tee $0 + local.tee $2 i32.store i32.const 2 - local.set $2 + local.set $0 i32.const -1 local.set $1 block $__inlined_func$~lib/array/Array#indexOf63 - local.get $0 + local.get $2 i32.load offset=12 local.tee $3 i32.const 2 @@ -18090,19 +18070,19 @@ local.get $3 select br_if $__inlined_func$~lib/array/Array#indexOf63 - local.get $0 + local.get $2 i32.load offset=4 - local.set $0 + local.set $2 loop $while-continue|065 - local.get $2 + 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 $0 + local.get $2 i32.add i32.load i32.const 43 @@ -18111,7 +18091,7 @@ local.get $1 i32.const 1 i32.add - local.set $2 + local.set $0 br $while-continue|065 end end @@ -18136,35 +18116,37 @@ i32.const 10 i32.const 4000 call $~lib/rt/__newArray - local.set $0 + local.set $2 global.get $~lib/memory/__stack_pointer - local.get $0 + local.get $2 i32.store + i32.const 0 + local.set $0 i32.const -1 local.set $1 block $__inlined_func$~lib/array/Array#indexOf - local.get $0 + local.get $2 i32.load offset=12 - local.tee $2 + local.tee $3 i32.const 0 i32.le_s i32.const 1 - local.get $2 + local.get $3 select br_if $__inlined_func$~lib/array/Array#indexOf - local.get $0 + local.get $2 i32.load offset=4 - local.set $0 + local.set $2 loop $while-continue|067 - local.get $2 - local.get $6 - i32.gt_s + local.get $0 + local.get $3 + i32.lt_s if - local.get $6 + local.get $0 local.tee $1 i32.const 2 i32.shl - local.get $0 + local.get $2 i32.add f32.load f32.const nan:0x400000 @@ -18173,7 +18155,7 @@ local.get $1 i32.const 1 i32.add - local.set $6 + local.set $0 br $while-continue|067 end end @@ -18196,35 +18178,37 @@ i32.const 11 i32.const 4032 call $~lib/rt/__newArray - local.set $0 + local.set $2 global.get $~lib/memory/__stack_pointer - local.get $0 + local.get $2 i32.store + i32.const 0 + local.set $0 i32.const -1 local.set $1 block $__inlined_func$~lib/array/Array#indexOf - local.get $0 + local.get $2 i32.load offset=12 - local.tee $2 + local.tee $3 i32.const 0 i32.le_s i32.const 1 - local.get $2 + local.get $3 select br_if $__inlined_func$~lib/array/Array#indexOf - local.get $0 + local.get $2 i32.load offset=4 - local.set $0 + local.set $2 loop $while-continue|069 - local.get $2 - local.get $5 - i32.gt_s + local.get $0 + local.get $3 + i32.lt_s if - local.get $5 + local.get $0 local.tee $1 i32.const 3 i32.shl - local.get $0 + local.get $2 i32.add f64.load f64.const nan:0x8000000000000 @@ -18233,7 +18217,7 @@ local.get $1 i32.const 1 i32.add - local.set $5 + local.set $0 br $while-continue|069 end end @@ -18264,58 +18248,57 @@ local.get $2 i32.load offset=12 local.tee $0 - local.set $1 - i32.const -1 local.set $3 + i32.const -1 + local.set $1 block $__inlined_func$~lib/array/Array#lastIndexOf local.get $0 i32.eqz br_if $__inlined_func$~lib/array/Array#lastIndexOf local.get $0 - local.get $1 + local.get $3 i32.add local.get $0 i32.const 1 i32.sub - local.get $1 + local.get $3 local.get $0 - local.get $1 + local.get $3 i32.le_s select - local.get $1 + local.get $3 i32.const 0 i32.lt_s select - local.set $0 + local.set $1 local.get $2 i32.load offset=4 - local.set $1 + local.set $0 loop $while-continue|01 - local.get $0 + local.get $1 i32.const 0 i32.ge_s if - local.get $0 - local.tee $3 + local.get $1 i32.const 2 i32.shl - local.get $1 + local.get $0 i32.add i32.load i32.const 2 i32.eq br_if $__inlined_func$~lib/array/Array#lastIndexOf - local.get $3 + local.get $1 i32.const 1 i32.sub - local.set $0 + local.set $1 br $while-continue|01 end end i32.const -1 - local.set $3 + local.set $1 end - local.get $3 + local.get $1 i32.const 3 i32.ne if @@ -18331,58 +18314,57 @@ local.get $2 i32.load offset=12 local.tee $0 - local.set $1 - i32.const -1 local.set $3 + i32.const -1 + local.set $1 block $__inlined_func$~lib/array/Array#lastIndexOf6 local.get $0 i32.eqz br_if $__inlined_func$~lib/array/Array#lastIndexOf6 local.get $0 - local.get $1 + local.get $3 i32.add local.get $0 i32.const 1 i32.sub - local.get $1 + local.get $3 local.get $0 - local.get $1 + local.get $3 i32.le_s select - local.get $1 + local.get $3 i32.const 0 i32.lt_s select - local.set $0 + local.set $1 local.get $2 i32.load offset=4 - local.set $1 + local.set $0 loop $while-continue|07 - local.get $0 + local.get $1 i32.const 0 i32.ge_s if - local.get $0 - local.tee $3 + local.get $1 i32.const 2 i32.shl - local.get $1 + local.get $0 i32.add i32.load i32.const 7 i32.eq br_if $__inlined_func$~lib/array/Array#lastIndexOf6 - local.get $3 + local.get $1 i32.const 1 i32.sub - local.set $0 + local.set $1 br $while-continue|07 end end i32.const -1 - local.set $3 + local.set $1 end - local.get $3 + local.get $1 i32.const -1 i32.ne if @@ -18397,23 +18379,22 @@ local.set $1 block $__inlined_func$~lib/array/Array#lastIndexOf8 local.get $2 - local.tee $0 i32.load offset=12 - local.tee $2 + local.tee $0 i32.eqz br_if $__inlined_func$~lib/array/Array#lastIndexOf8 - 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.get $2 i32.load offset=4 - local.set $2 + local.set $0 loop $while-continue|071 local.get $1 i32.const 0 @@ -18422,7 +18403,7 @@ local.get $1 i32.const 2 i32.shl - local.get $2 + local.get $0 i32.add i32.load i32.const 2 @@ -18452,23 +18433,23 @@ i32.const -1 local.set $1 block $__inlined_func$~lib/array/Array#lastIndexOf72 - local.get $0 + local.get $2 i32.load offset=12 - local.tee $2 + local.tee $0 i32.eqz br_if $__inlined_func$~lib/array/Array#lastIndexOf72 - 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.get $2 i32.load offset=4 - local.set $2 + local.set $0 loop $while-continue|074 local.get $1 i32.const 0 @@ -18477,7 +18458,7 @@ local.get $1 i32.const 2 i32.shl - local.get $2 + local.get $0 i32.add i32.load i32.const 2 @@ -18505,8 +18486,7 @@ i32.const -1 local.set $1 block $__inlined_func$~lib/array/Array#lastIndexOf75 - local.get $0 - local.tee $2 + local.get $2 i32.load offset=12 local.tee $0 i32.eqz @@ -18838,14 +18818,14 @@ block $__inlined_func$~lib/array/Array#indexOf22 local.get $1 i32.load offset=12 - local.tee $3 + local.tee $2 i32.const -100 i32.le_s i32.const 1 - local.get $3 + local.get $2 select br_if $__inlined_func$~lib/array/Array#indexOf22 - local.get $3 + local.get $2 i32.const 100 i32.sub local.tee $0 @@ -18854,17 +18834,16 @@ i32.const 0 i32.gt_s select - local.set $2 + local.set $0 local.get $1 i32.load offset=4 local.set $1 loop $while-continue|023 + local.get $0 local.get $2 - local.get $3 i32.lt_s if - local.get $2 - local.tee $0 + local.get $0 i32.const 2 i32.shl local.get $1 @@ -18876,7 +18855,7 @@ local.get $0 i32.const 1 i32.add - local.set $2 + local.set $0 br $while-continue|023 end end @@ -18903,14 +18882,14 @@ block $__inlined_func$~lib/array/Array#indexOf25 local.get $1 i32.load offset=12 - local.tee $3 + local.tee $2 i32.const -2 i32.le_s i32.const 1 - local.get $3 + local.get $2 select br_if $__inlined_func$~lib/array/Array#indexOf25 - local.get $3 + local.get $2 i32.const 2 i32.sub local.tee $0 @@ -18919,17 +18898,16 @@ i32.const 0 i32.gt_s select - local.set $2 + local.set $0 local.get $1 i32.load offset=4 local.set $1 loop $while-continue|026 + local.get $0 local.get $2 - local.get $3 i32.lt_s if - local.get $2 - local.tee $0 + local.get $0 i32.const 2 i32.shl local.get $1 @@ -18941,7 +18919,7 @@ local.get $0 i32.const 1 i32.add - local.set $2 + local.set $0 br $while-continue|026 end end @@ -18968,14 +18946,14 @@ block $__inlined_func$~lib/array/Array#indexOf28 local.get $1 i32.load offset=12 - local.tee $3 + local.tee $2 i32.const -4 i32.le_s i32.const 1 - local.get $3 + local.get $2 select br_if $__inlined_func$~lib/array/Array#indexOf28 - local.get $3 + local.get $2 i32.const 4 i32.sub local.tee $0 @@ -18984,17 +18962,16 @@ i32.const 0 i32.gt_s select - local.set $2 + local.set $0 local.get $1 i32.load offset=4 local.set $1 loop $while-continue|029 + local.get $0 local.get $2 - local.get $3 i32.lt_s if - local.get $2 - local.tee $0 + local.get $0 i32.const 2 i32.shl local.get $1 @@ -19006,7 +18983,7 @@ local.get $0 i32.const 1 i32.add - local.set $2 + local.set $0 br $while-continue|029 end end @@ -19201,49 +19178,51 @@ i32.const 10 i32.const 4112 call $~lib/rt/__newArray - local.set $0 + local.set $1 global.get $~lib/memory/__stack_pointer - local.get $0 + local.get $1 i32.store i32.const 0 - local.get $0 + local.set $0 + i32.const 0 + local.get $1 i32.load offset=12 - local.tee $1 + local.tee $2 i32.const 0 i32.le_s i32.const 1 - local.get $1 + local.get $2 select br_if $__inlined_func$~lib/array/Array#includes drop - local.get $0 + local.get $1 i32.load offset=4 - local.set $0 + local.set $1 loop $while-continue|082 - local.get $1 - local.get $27 - i32.gt_s + local.get $0 + local.get $2 + i32.lt_s if i32.const 1 - local.get $27 + local.get $0 i32.const 2 i32.shl - local.get $0 + local.get $1 i32.add f32.load - local.tee $12 + local.tee $6 f32.const nan:0x400000 f32.eq - local.get $12 - local.get $12 + local.get $6 + local.get $6 f32.ne i32.or br_if $__inlined_func$~lib/array/Array#includes drop - local.get $27 + local.get $0 i32.const 1 i32.add - local.set $27 + local.set $0 br $while-continue|082 end end @@ -19264,49 +19243,51 @@ i32.const 11 i32.const 4144 call $~lib/rt/__newArray - local.set $0 + local.set $1 global.get $~lib/memory/__stack_pointer - local.get $0 + local.get $1 i32.store i32.const 0 - local.get $0 + local.set $0 + i32.const 0 + local.get $1 i32.load offset=12 - local.tee $1 + local.tee $2 i32.const 0 i32.le_s i32.const 1 - local.get $1 + local.get $2 select br_if $__inlined_func$~lib/array/Array#includes drop - local.get $0 + local.get $1 i32.load offset=4 - local.set $0 + local.set $1 loop $while-continue|084 - local.get $1 - local.get $26 - i32.gt_s + local.get $0 + local.get $2 + i32.lt_s if i32.const 1 - local.get $26 + local.get $0 i32.const 3 i32.shl - local.get $0 + local.get $1 i32.add f64.load - local.tee $10 + local.tee $4 f64.const nan:0x8000000000000 f64.eq - local.get $10 - local.get $10 + local.get $4 + local.get $4 f64.ne i32.or br_if $__inlined_func$~lib/array/Array#includes drop - local.get $26 + local.get $0 i32.const 1 i32.add - local.set $26 + local.set $0 br $while-continue|084 end end @@ -20462,11 +20443,11 @@ i32.const 0 i32.gt_s select - local.set $5 + local.set $9 local.get $2 i32.const 1 local.get $3 - local.get $5 + local.get $9 i32.sub local.tee $2 local.get $2 @@ -20484,37 +20465,37 @@ i32.const 12 i32.const 0 call $~lib/rt/__newArray - local.tee $6 + local.tee $10 i32.store - local.get $6 + local.get $10 i32.load offset=4 local.get $1 i32.load offset=4 - local.tee $7 - local.get $5 + local.tee $11 + local.get $9 i32.const 2 i32.shl i32.add - local.tee $8 + local.tee $12 local.get $2 i32.const 2 i32.shl call $~lib/memory/memory.copy local.get $3 local.get $2 - local.get $5 + local.get $9 i32.add - local.tee $5 + local.tee $9 i32.ne if - local.get $8 - local.get $5 + local.get $12 + local.get $9 i32.const 2 i32.shl - local.get $7 + local.get $11 i32.add local.get $3 - local.get $5 + local.get $9 i32.sub i32.const 2 i32.shl @@ -20529,9 +20510,9 @@ i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $6 + local.get $10 i32.store offset=4 - local.get $6 + local.get $10 i32.load offset=12 i32.const 1 i32.ne @@ -20544,7 +20525,7 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $6 + local.get $10 i32.const 0 call $~lib/array/Array#__get local.tee $0 @@ -20656,53 +20637,55 @@ call $~lib/array/Array#__set global.get $~lib/memory/__stack_pointer global.get $std/array/arr - local.tee $0 + local.tee $1 i32.store global.get $~lib/memory/__stack_pointer i32.const 6144 i32.store offset=8 - local.get $0 + i32.const 0 + local.set $0 + local.get $1 i32.load offset=12 - local.set $1 + local.set $2 block $__inlined_func$~lib/array/Array#findIndex loop $for-loop|093 + local.get $2 local.get $1 - local.get $0 i32.load offset=12 - local.tee $2 - local.get $1 + local.tee $3 local.get $2 + local.get $3 i32.lt_s select - local.get $61 + local.get $0 i32.gt_s if - local.get $0 + local.get $1 i32.load offset=4 - local.get $61 + local.get $0 i32.const 2 i32.shl i32.add i32.load i32.const 3 global.set $~argumentsLength - local.get $61 local.get $0 + local.get $1 i32.const 6144 i32.load call_indirect $0 (type $i32_i32_i32_=>_i32) br_if $__inlined_func$~lib/array/Array#findIndex - local.get $61 + local.get $0 i32.const 1 i32.add - local.set $61 + local.set $0 br $for-loop|093 end end i32.const -1 - local.set $61 + local.set $0 end - local.get $61 + local.get $0 global.set $std/array/i global.get $std/array/i if @@ -20721,48 +20704,50 @@ local.get $0 i32.const 6176 i32.store offset=8 + i32.const 0 + local.set $0 local.get $1 i32.load offset=12 - local.set $0 + local.set $2 block $__inlined_func$~lib/array/Array#findIndex95 loop $for-loop|097 - local.get $0 + local.get $2 local.get $1 i32.load offset=12 - local.tee $2 - local.get $0 + local.tee $3 local.get $2 + local.get $3 i32.lt_s select - local.get $59 + local.get $0 i32.gt_s if local.get $1 i32.load offset=4 - local.get $59 + local.get $0 i32.const 2 i32.shl i32.add i32.load i32.const 3 global.set $~argumentsLength - local.get $59 + local.get $0 local.get $1 i32.const 6176 i32.load call_indirect $0 (type $i32_i32_i32_=>_i32) br_if $__inlined_func$~lib/array/Array#findIndex95 - local.get $59 + local.get $0 i32.const 1 i32.add - local.set $59 + local.set $0 br $for-loop|097 end end i32.const -1 - local.set $59 + local.set $0 end - local.get $59 + local.get $0 global.set $std/array/i global.get $std/array/i i32.const 1 @@ -20783,48 +20768,50 @@ local.get $0 i32.const 6208 i32.store offset=8 + i32.const 0 + local.set $0 local.get $1 i32.load offset=12 - local.set $0 + local.set $2 block $__inlined_func$~lib/array/Array#findIndex99 loop $for-loop|0101 - local.get $0 + local.get $2 local.get $1 i32.load offset=12 - local.tee $2 - local.get $0 + local.tee $3 local.get $2 + local.get $3 i32.lt_s select - local.get $58 + local.get $0 i32.gt_s if local.get $1 i32.load offset=4 - local.get $58 + local.get $0 i32.const 2 i32.shl i32.add i32.load i32.const 3 global.set $~argumentsLength - local.get $58 + local.get $0 local.get $1 i32.const 6208 i32.load call_indirect $0 (type $i32_i32_i32_=>_i32) br_if $__inlined_func$~lib/array/Array#findIndex99 - local.get $58 + local.get $0 i32.const 1 i32.add - local.set $58 + local.set $0 br $for-loop|0101 end end i32.const -1 - local.set $58 + local.set $0 end - local.get $58 + local.get $0 global.set $std/array/i global.get $std/array/i i32.const -1 @@ -20845,48 +20832,50 @@ local.get $0 i32.const 6240 i32.store offset=8 + i32.const 0 + local.set $0 local.get $1 i32.load offset=12 - local.set $0 + local.set $2 block $__inlined_func$~lib/array/Array#findIndex103 loop $for-loop|0105 - local.get $0 + local.get $2 local.get $1 i32.load offset=12 - local.tee $2 - local.get $0 + local.tee $3 local.get $2 + local.get $3 i32.lt_s select - local.get $57 + local.get $0 i32.gt_s if local.get $1 i32.load offset=4 - local.get $57 + local.get $0 i32.const 2 i32.shl i32.add i32.load i32.const 3 global.set $~argumentsLength - local.get $57 + local.get $0 local.get $1 i32.const 6240 i32.load call_indirect $0 (type $i32_i32_i32_=>_i32) br_if $__inlined_func$~lib/array/Array#findIndex103 - local.get $57 + local.get $0 i32.const 1 i32.add - local.set $57 + local.set $0 br $for-loop|0105 end end i32.const -1 - local.set $57 + local.set $0 end - local.get $57 + local.get $0 global.set $std/array/i global.get $std/array/i i32.const -1 @@ -20923,48 +20912,50 @@ local.get $0 i32.const 6272 i32.store offset=8 + i32.const 0 + local.set $0 local.get $1 i32.load offset=12 - local.set $0 + local.set $2 block $__inlined_func$~lib/array/Array#findIndex108 loop $for-loop|0110 - local.get $0 + local.get $2 local.get $1 i32.load offset=12 - local.tee $2 - local.get $0 + local.tee $3 local.get $2 + local.get $3 i32.lt_s select - local.get $56 + local.get $0 i32.gt_s if local.get $1 i32.load offset=4 - local.get $56 + local.get $0 i32.const 2 i32.shl i32.add i32.load i32.const 3 global.set $~argumentsLength - local.get $56 + local.get $0 local.get $1 i32.const 6272 i32.load call_indirect $0 (type $i32_i32_i32_=>_i32) br_if $__inlined_func$~lib/array/Array#findIndex108 - local.get $56 + local.get $0 i32.const 1 i32.add - local.set $56 + local.set $0 br $for-loop|0110 end end i32.const -1 - local.set $56 + local.set $0 end - local.get $56 + local.get $0 global.set $std/array/i global.get $std/array/i i32.const -1 @@ -21007,53 +20998,55 @@ drop global.get $~lib/memory/__stack_pointer global.get $std/array/arr - local.tee $0 + local.tee $1 i32.store global.get $~lib/memory/__stack_pointer i32.const 6304 i32.store offset=8 - local.get $0 + i32.const 0 + local.set $0 + local.get $1 i32.load offset=12 - local.set $1 + local.set $2 block $__inlined_func$~lib/array/Array#findIndex112 loop $for-loop|0114 + local.get $2 local.get $1 - local.get $0 i32.load offset=12 - local.tee $2 - local.get $1 + local.tee $3 local.get $2 + local.get $3 i32.lt_s select - local.get $55 + local.get $0 i32.gt_s if - local.get $0 + local.get $1 i32.load offset=4 - local.get $55 + local.get $0 i32.const 2 i32.shl i32.add i32.load i32.const 3 global.set $~argumentsLength - local.get $55 local.get $0 + local.get $1 i32.const 6304 i32.load call_indirect $0 (type $i32_i32_i32_=>_i32) br_if $__inlined_func$~lib/array/Array#findIndex112 - local.get $55 + local.get $0 i32.const 1 i32.add - local.set $55 + local.set $0 br $for-loop|0114 end end i32.const -1 - local.set $55 + local.set $0 end - local.get $55 + local.get $0 global.set $std/array/i global.get $std/array/i i32.const -1 @@ -21321,34 +21314,36 @@ local.get $0 i32.const 6512 i32.store offset=8 + i32.const 0 + local.set $0 local.get $1 i32.load offset=12 - local.set $0 + local.set $2 loop $for-loop|0133 - local.get $0 + local.get $2 local.get $1 i32.load offset=12 - local.tee $2 - local.get $0 + local.tee $3 local.get $2 + local.get $3 i32.lt_s select - local.get $54 + local.get $0 i32.gt_s if local.get $1 i32.load offset=4 - local.get $54 + local.get $0 i32.const 2 i32.shl i32.add i32.load - local.set $2 + local.set $3 i32.const 3 global.set $~argumentsLength i32.const 0 - local.get $2 - local.get $54 + local.get $3 + local.get $0 local.get $1 i32.const 6512 i32.load @@ -21356,10 +21351,10 @@ i32.eqz br_if $__inlined_func$~lib/array/Array#every drop - local.get $54 + local.get $0 i32.const 1 i32.add - local.set $54 + local.set $0 br $for-loop|0133 end end @@ -21383,34 +21378,36 @@ local.get $0 i32.const 6544 i32.store offset=8 + i32.const 0 + local.set $0 local.get $1 i32.load offset=12 - local.set $0 + local.set $2 loop $for-loop|0137 - local.get $0 + local.get $2 local.get $1 i32.load offset=12 - local.tee $2 - local.get $0 + local.tee $3 local.get $2 + local.get $3 i32.lt_s select - local.get $53 + local.get $0 i32.gt_s if local.get $1 i32.load offset=4 - local.get $53 + local.get $0 i32.const 2 i32.shl i32.add i32.load - local.set $2 + local.set $3 i32.const 3 global.set $~argumentsLength i32.const 0 - local.get $2 - local.get $53 + local.get $3 + local.get $0 local.get $1 i32.const 6544 i32.load @@ -21418,10 +21415,10 @@ i32.eqz br_if $__inlined_func$~lib/array/Array#every135 drop - local.get $53 + local.get $0 i32.const 1 i32.add - local.set $53 + local.set $0 br $for-loop|0137 end end @@ -21444,34 +21441,36 @@ local.get $0 i32.const 6576 i32.store offset=8 + i32.const 0 + local.set $0 local.get $1 i32.load offset=12 - local.set $0 + local.set $2 loop $for-loop|0141 - local.get $0 + local.get $2 local.get $1 i32.load offset=12 - local.tee $2 - local.get $0 + local.tee $3 local.get $2 + local.get $3 i32.lt_s select - local.get $52 + local.get $0 i32.gt_s if local.get $1 i32.load offset=4 - local.get $52 + local.get $0 i32.const 2 i32.shl i32.add i32.load - local.set $2 + local.set $3 i32.const 3 global.set $~argumentsLength i32.const 0 - local.get $2 - local.get $52 + local.get $3 + local.get $0 local.get $1 i32.const 6576 i32.load @@ -21479,10 +21478,10 @@ i32.eqz br_if $__inlined_func$~lib/array/Array#every139 drop - local.get $52 + local.get $0 i32.const 1 i32.add - local.set $52 + local.set $0 br $for-loop|0141 end end @@ -21522,34 +21521,36 @@ local.get $0 i32.const 6608 i32.store offset=8 + i32.const 0 + local.set $0 local.get $1 i32.load offset=12 - local.set $0 + local.set $2 loop $for-loop|0146 - local.get $0 + local.get $2 local.get $1 i32.load offset=12 - local.tee $2 - local.get $0 + local.tee $3 local.get $2 + local.get $3 i32.lt_s select - local.get $51 + local.get $0 i32.gt_s if local.get $1 i32.load offset=4 - local.get $51 + local.get $0 i32.const 2 i32.shl i32.add i32.load - local.set $2 + local.set $3 i32.const 3 global.set $~argumentsLength i32.const 0 - local.get $2 - local.get $51 + local.get $3 + local.get $0 local.get $1 i32.const 6608 i32.load @@ -21557,10 +21558,10 @@ i32.eqz br_if $__inlined_func$~lib/array/Array#every144 drop - local.get $51 + local.get $0 i32.const 1 i32.add - local.set $51 + local.set $0 br $for-loop|0146 end end @@ -21605,50 +21606,52 @@ block $__inlined_func$~lib/array/Array#every148 (result i32) global.get $~lib/memory/__stack_pointer global.get $std/array/arr - local.tee $0 + local.tee $1 i32.store global.get $~lib/memory/__stack_pointer i32.const 6640 i32.store offset=8 - local.get $0 + i32.const 0 + local.set $0 + local.get $1 i32.load offset=12 - local.set $1 + local.set $2 loop $for-loop|0150 + local.get $2 local.get $1 - local.get $0 i32.load offset=12 - local.tee $2 - local.get $1 + local.tee $3 local.get $2 + local.get $3 i32.lt_s select - local.get $50 + local.get $0 i32.gt_s if - local.get $0 + local.get $1 i32.load offset=4 - local.get $50 + local.get $0 i32.const 2 i32.shl i32.add i32.load - local.set $2 + local.set $3 i32.const 3 global.set $~argumentsLength i32.const 0 - local.get $2 - local.get $50 + local.get $3 local.get $0 + local.get $1 i32.const 6640 i32.load call_indirect $0 (type $i32_i32_i32_=>_i32) i32.eqz br_if $__inlined_func$~lib/array/Array#every148 drop - local.get $50 + local.get $0 i32.const 1 i32.add - local.set $50 + local.set $0 br $for-loop|0150 end end @@ -21698,49 +21701,51 @@ block $__inlined_func$~lib/array/Array#some (result i32) global.get $~lib/memory/__stack_pointer global.get $std/array/arr - local.tee $0 + local.tee $1 i32.store global.get $~lib/memory/__stack_pointer i32.const 6672 i32.store offset=8 - local.get $0 + i32.const 0 + local.set $0 + local.get $1 i32.load offset=12 - local.set $1 + local.set $2 loop $for-loop|0154 + local.get $2 local.get $1 - local.get $0 i32.load offset=12 - local.tee $2 - local.get $1 + local.tee $3 local.get $2 + local.get $3 i32.lt_s select - local.get $49 + local.get $0 i32.gt_s if - local.get $0 + local.get $1 i32.load offset=4 - local.get $49 + local.get $0 i32.const 2 i32.shl i32.add i32.load - local.set $2 + local.set $3 i32.const 3 global.set $~argumentsLength i32.const 1 - local.get $2 - local.get $49 + local.get $3 local.get $0 + local.get $1 i32.const 6672 i32.load call_indirect $0 (type $i32_i32_i32_=>_i32) br_if $__inlined_func$~lib/array/Array#some drop - local.get $49 + local.get $0 i32.const 1 i32.add - local.set $49 + local.set $0 br $for-loop|0154 end end @@ -21764,44 +21769,46 @@ local.get $0 i32.const 6704 i32.store offset=8 + i32.const 0 + local.set $0 local.get $1 i32.load offset=12 - local.set $0 + local.set $2 loop $for-loop|0158 - local.get $0 + local.get $2 local.get $1 i32.load offset=12 - local.tee $2 - local.get $0 + local.tee $3 local.get $2 + local.get $3 i32.lt_s select - local.get $48 + local.get $0 i32.gt_s if local.get $1 i32.load offset=4 - local.get $48 + local.get $0 i32.const 2 i32.shl i32.add i32.load - local.set $2 + local.set $3 i32.const 3 global.set $~argumentsLength i32.const 1 - local.get $2 - local.get $48 + local.get $3 + local.get $0 local.get $1 i32.const 6704 i32.load call_indirect $0 (type $i32_i32_i32_=>_i32) br_if $__inlined_func$~lib/array/Array#some156 drop - local.get $48 + local.get $0 i32.const 1 i32.add - local.set $48 + local.set $0 br $for-loop|0158 end end @@ -21824,44 +21831,46 @@ local.get $0 i32.const 6736 i32.store offset=8 + i32.const 0 + local.set $0 local.get $1 i32.load offset=12 - local.set $0 + local.set $2 loop $for-loop|0162 - local.get $0 + local.get $2 local.get $1 i32.load offset=12 - local.tee $2 - local.get $0 + local.tee $3 local.get $2 + local.get $3 i32.lt_s select - local.get $47 + local.get $0 i32.gt_s if local.get $1 i32.load offset=4 - local.get $47 + local.get $0 i32.const 2 i32.shl i32.add i32.load - local.set $2 + local.set $3 i32.const 3 global.set $~argumentsLength i32.const 1 - local.get $2 - local.get $47 + local.get $3 + local.get $0 local.get $1 i32.const 6736 i32.load call_indirect $0 (type $i32_i32_i32_=>_i32) br_if $__inlined_func$~lib/array/Array#some160 drop - local.get $47 + local.get $0 i32.const 1 i32.add - local.set $47 + local.set $0 br $for-loop|0162 end end @@ -21900,44 +21909,46 @@ local.get $0 i32.const 6768 i32.store offset=8 + i32.const 0 + local.set $0 local.get $1 i32.load offset=12 - local.set $0 + local.set $2 loop $for-loop|0167 - local.get $0 + local.get $2 local.get $1 i32.load offset=12 - local.tee $2 - local.get $0 + local.tee $3 local.get $2 + local.get $3 i32.lt_s select - local.get $46 + local.get $0 i32.gt_s if local.get $1 i32.load offset=4 - local.get $46 + local.get $0 i32.const 2 i32.shl i32.add i32.load - local.set $2 + local.set $3 i32.const 3 global.set $~argumentsLength i32.const 1 - local.get $2 - local.get $46 + local.get $3 + local.get $0 local.get $1 i32.const 6768 i32.load call_indirect $0 (type $i32_i32_i32_=>_i32) br_if $__inlined_func$~lib/array/Array#some165 drop - local.get $46 + local.get $0 i32.const 1 i32.add - local.set $46 + local.set $0 br $for-loop|0167 end end @@ -21983,49 +21994,51 @@ block $__inlined_func$~lib/array/Array#some169 (result i32) global.get $~lib/memory/__stack_pointer global.get $std/array/arr - local.tee $0 + local.tee $1 i32.store global.get $~lib/memory/__stack_pointer i32.const 6800 i32.store offset=8 - local.get $0 + i32.const 0 + local.set $0 + local.get $1 i32.load offset=12 - local.set $1 + local.set $2 loop $for-loop|0171 + local.get $2 local.get $1 - local.get $0 i32.load offset=12 - local.tee $2 - local.get $1 + local.tee $3 local.get $2 + local.get $3 i32.lt_s select - local.get $45 + local.get $0 i32.gt_s if - local.get $0 + local.get $1 i32.load offset=4 - local.get $45 + local.get $0 i32.const 2 i32.shl i32.add i32.load - local.set $2 + local.set $3 i32.const 3 global.set $~argumentsLength i32.const 1 - local.get $2 - local.get $45 + local.get $3 local.get $0 + local.get $1 i32.const 6800 i32.load call_indirect $0 (type $i32_i32_i32_=>_i32) br_if $__inlined_func$~lib/array/Array#some169 drop - local.get $45 + local.get $0 i32.const 1 i32.add - local.set $45 + local.set $0 br $for-loop|0171 end end @@ -22075,44 +22088,46 @@ global.set $std/array/i global.get $~lib/memory/__stack_pointer global.get $std/array/arr - local.tee $0 + local.tee $1 i32.store global.get $~lib/memory/__stack_pointer i32.const 6832 i32.store offset=8 - local.get $0 + i32.const 0 + local.set $0 + local.get $1 i32.load offset=12 - local.set $1 + local.set $2 loop $for-loop|0175 + local.get $2 local.get $1 - local.get $0 i32.load offset=12 - local.tee $2 - local.get $1 + local.tee $3 local.get $2 + local.get $3 i32.lt_s select - local.get $44 + local.get $0 i32.gt_s if - local.get $0 + local.get $1 i32.load offset=4 - local.get $44 + local.get $0 i32.const 2 i32.shl i32.add i32.load i32.const 3 global.set $~argumentsLength - local.get $44 local.get $0 + local.get $1 i32.const 6832 i32.load call_indirect $0 (type $i32_i32_i32_=>_none) - local.get $44 + local.get $0 i32.const 1 i32.add - local.set $44 + local.set $0 br $for-loop|0175 end end @@ -22137,39 +22152,41 @@ local.get $0 i32.const 6864 i32.store offset=8 + i32.const 0 + local.set $0 local.get $1 i32.load offset=12 - local.set $0 + local.set $2 loop $for-loop|0179 - local.get $0 + local.get $2 local.get $1 i32.load offset=12 - local.tee $2 - local.get $0 + local.tee $3 local.get $2 + local.get $3 i32.lt_s select - local.get $43 + local.get $0 i32.gt_s if local.get $1 i32.load offset=4 - local.get $43 + local.get $0 i32.const 2 i32.shl i32.add i32.load i32.const 3 global.set $~argumentsLength - local.get $43 + local.get $0 local.get $1 i32.const 6864 i32.load call_indirect $0 (type $i32_i32_i32_=>_none) - local.get $43 + local.get $0 i32.const 1 i32.add - local.set $43 + local.set $0 br $for-loop|0179 end end @@ -22210,39 +22227,41 @@ local.get $0 i32.const 6896 i32.store offset=8 + i32.const 0 + local.set $0 local.get $1 i32.load offset=12 - local.set $0 + local.set $2 loop $for-loop|0184 - local.get $0 + local.get $2 local.get $1 i32.load offset=12 - local.tee $2 - local.get $0 + local.tee $3 local.get $2 + local.get $3 i32.lt_s select - local.get $42 + local.get $0 i32.gt_s if local.get $1 i32.load offset=4 - local.get $42 + local.get $0 i32.const 2 i32.shl i32.add i32.load i32.const 3 global.set $~argumentsLength - local.get $42 + local.get $0 local.get $1 i32.const 6896 i32.load call_indirect $0 (type $i32_i32_i32_=>_none) - local.get $42 + local.get $0 i32.const 1 i32.add - local.set $42 + local.set $0 br $for-loop|0184 end end @@ -22289,44 +22308,46 @@ global.set $std/array/i global.get $~lib/memory/__stack_pointer global.get $std/array/arr - local.tee $0 + local.tee $1 i32.store global.get $~lib/memory/__stack_pointer i32.const 6928 i32.store offset=8 - local.get $0 + i32.const 0 + local.set $0 + local.get $1 i32.load offset=12 - local.set $1 + local.set $2 loop $for-loop|0188 + local.get $2 local.get $1 - local.get $0 i32.load offset=12 - local.tee $2 - local.get $1 + local.tee $3 local.get $2 + local.get $3 i32.lt_s select - local.get $41 + local.get $0 i32.gt_s if - local.get $0 + local.get $1 i32.load offset=4 - local.get $41 + local.get $0 i32.const 2 i32.shl i32.add i32.load i32.const 3 global.set $~argumentsLength - local.get $41 local.get $0 + local.get $1 i32.const 6928 i32.load call_indirect $0 (type $i32_i32_i32_=>_none) - local.get $41 + local.get $0 i32.const 1 i32.add - local.set $41 + local.set $0 br $for-loop|0188 end end @@ -22375,44 +22396,46 @@ drop global.get $~lib/memory/__stack_pointer global.get $std/array/arr - local.tee $0 + local.tee $1 i32.store global.get $~lib/memory/__stack_pointer i32.const 6960 i32.store offset=8 - local.get $0 + i32.const 0 + local.set $0 + local.get $1 i32.load offset=12 - local.set $1 + local.set $2 loop $for-loop|0193 + local.get $2 local.get $1 - local.get $0 i32.load offset=12 - local.tee $2 - local.get $1 + local.tee $3 local.get $2 + local.get $3 i32.lt_s select - local.get $40 + local.get $0 i32.gt_s if - local.get $0 + local.get $1 i32.load offset=4 - local.get $40 + local.get $0 i32.const 2 i32.shl i32.add i32.load i32.const 3 global.set $~argumentsLength - local.get $40 local.get $0 + local.get $1 i32.const 6960 i32.load call_indirect $0 (type $i32_i32_i32_=>_none) - local.get $40 + local.get $0 i32.const 1 i32.add - local.set $40 + local.set $0 br $for-loop|0193 end end @@ -22433,23 +22456,23 @@ unreachable end i32.const 0 - local.set $2 + local.set $0 loop $for-loop|6 - local.get $2 + local.get $0 i32.const 100 i32.lt_s if global.get $~lib/memory/__stack_pointer global.get $std/array/arr - local.tee $0 + local.tee $1 i32.store - local.get $0 + local.get $1 call $~lib/array/Array#pop drop - local.get $2 + local.get $0 i32.const 1 i32.add - local.set $2 + local.set $0 br $for-loop|6 end end @@ -22488,7 +22511,7 @@ global.get $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer global.get $std/array/arr - local.tee $1 + local.tee $2 i32.store global.get $~lib/memory/__stack_pointer i32.const 6992 @@ -22502,59 +22525,61 @@ i32.lt_s br_if $folding-inner1 global.get $~lib/memory/__stack_pointer - local.tee $2 + local.tee $0 i32.const 0 i32.store + local.get $0 local.get $2 - local.get $1 i32.load offset=12 - local.tee $2 + local.tee $3 i32.const 2 i32.const 10 i32.const 0 call $~lib/rt/__newArray - local.tee $3 + local.tee $9 i32.store - local.get $3 + local.get $9 i32.load offset=4 - local.set $5 + local.set $10 + i32.const 0 + local.set $0 loop $for-loop|0197 + local.get $3 local.get $2 - local.get $1 i32.load offset=12 - local.tee $6 - local.get $2 - local.get $6 + local.tee $11 + local.get $3 + local.get $11 i32.lt_s select - local.get $39 + local.get $0 i32.gt_s if - local.get $39 + local.get $0 i32.const 2 i32.shl - local.tee $6 - local.get $1 + local.tee $11 + local.get $2 i32.load offset=4 i32.add i32.load - local.set $7 + local.set $12 i32.const 3 global.set $~argumentsLength - local.get $5 - local.get $6 + local.get $10 + local.get $11 i32.add - local.get $7 - local.get $39 - local.get $1 + local.get $12 + local.get $0 + local.get $2 i32.const 6992 i32.load call_indirect $0 (type $i32_i32_i32_=>_f32) f32.store - local.get $39 + local.get $0 i32.const 1 i32.add - local.set $39 + local.set $0 br $for-loop|0197 end end @@ -22562,9 +22587,9 @@ i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $3 + local.get $9 i32.store offset=12 - local.get $3 + local.get $9 i32.load offset=12 i32.const 4 i32.ne @@ -22576,10 +22601,10 @@ call $~lib/builtins/abort unreachable end - local.get $3 + local.get $9 i32.const 0 call $~lib/array/Array#__get - local.set $12 + local.set $6 global.get $~lib/memory/__stack_pointer global.get $std/array/arr local.tee $0 @@ -22588,7 +22613,7 @@ i32.const 0 call $~lib/array/Array#__get f32.convert_i32_s - local.get $12 + local.get $6 f32.ne if i32.const 0 @@ -22922,52 +22947,56 @@ drop global.get $~lib/memory/__stack_pointer global.get $std/array/arr - local.tee $0 + local.tee $2 i32.store global.get $~lib/memory/__stack_pointer i32.const 7248 i32.store offset=8 - local.get $0 - i32.load offset=12 + i32.const 0 local.set $1 + i32.const 0 + local.set $0 + local.get $2 + i32.load offset=12 + local.set $3 loop $for-loop|0206 - local.get $1 - local.get $0 - i32.load offset=12 - local.tee $2 - local.get $1 + local.get $3 local.get $2 + i32.load offset=12 + local.tee $9 + local.get $3 + local.get $9 i32.lt_s select - local.get $38 + local.get $0 i32.gt_s if - local.get $0 + local.get $2 i32.load offset=4 - local.get $38 + local.get $0 i32.const 2 i32.shl i32.add i32.load - local.set $2 + local.set $9 i32.const 4 global.set $~argumentsLength - local.get $24 - local.get $2 - local.get $38 + local.get $1 + local.get $9 local.get $0 + local.get $2 i32.const 7248 i32.load call_indirect $0 (type $i32_i32_i32_i32_=>_i32) - local.set $24 - local.get $38 + local.set $1 + local.get $0 i32.const 1 i32.add - local.set $38 + local.set $0 br $for-loop|0206 end end - local.get $24 + local.get $1 global.set $std/array/i global.get $std/array/i i32.const 6 @@ -22983,54 +23012,56 @@ global.get $~lib/memory/__stack_pointer local.tee $0 global.get $std/array/arr - local.tee $1 + local.tee $2 i32.store local.get $0 i32.const 7280 i32.store offset=8 i32.const 4 + local.set $1 + i32.const 0 local.set $0 - local.get $1 + local.get $2 i32.load offset=12 - local.set $2 + local.set $3 loop $for-loop|0210 + local.get $3 local.get $2 - local.get $1 i32.load offset=12 - local.tee $3 - local.get $2 + local.tee $9 local.get $3 + local.get $9 i32.lt_s select - local.get $37 + local.get $0 i32.gt_s if - local.get $1 + local.get $2 i32.load offset=4 - local.get $37 + local.get $0 i32.const 2 i32.shl i32.add i32.load - local.set $3 + local.set $9 i32.const 4 global.set $~argumentsLength - local.get $0 - local.get $3 - local.get $37 local.get $1 + local.get $9 + local.get $0 + local.get $2 i32.const 7280 i32.load call_indirect $0 (type $i32_i32_i32_i32_=>_i32) - local.set $0 - local.get $37 + local.set $1 + local.get $0 i32.const 1 i32.add - local.set $37 + local.set $0 br $for-loop|0210 end end - local.get $0 + local.get $1 global.set $std/array/i global.get $std/array/i i32.const 10 @@ -23046,52 +23077,56 @@ global.get $~lib/memory/__stack_pointer local.tee $0 global.get $std/array/arr - local.tee $1 + local.tee $2 i32.store local.get $0 i32.const 7312 i32.store offset=8 - local.get $1 - i32.load offset=12 + i32.const 0 + local.set $1 + i32.const 0 local.set $0 + local.get $2 + i32.load offset=12 + local.set $3 loop $for-loop|0214 - local.get $0 - local.get $1 - i32.load offset=12 - local.tee $2 - local.get $0 + local.get $3 local.get $2 + i32.load offset=12 + local.tee $9 + local.get $3 + local.get $9 i32.lt_s select - local.get $36 + local.get $0 i32.gt_s if - local.get $1 + local.get $2 i32.load offset=4 - local.get $36 + local.get $0 i32.const 2 i32.shl i32.add i32.load - local.set $2 + local.set $9 i32.const 4 global.set $~argumentsLength - local.get $23 - local.get $2 - local.get $36 local.get $1 + local.get $9 + local.get $0 + local.get $2 i32.const 7312 i32.load call_indirect $0 (type $i32_i32_i32_i32_=>_i32) - local.set $23 - local.get $36 + local.set $1 + local.get $0 i32.const 1 i32.add - local.set $36 + local.set $0 br $for-loop|0214 end end - local.get $23 + local.get $1 i32.eqz if i32.const 0 @@ -23104,52 +23139,56 @@ global.get $~lib/memory/__stack_pointer local.tee $0 global.get $std/array/arr - local.tee $1 + local.tee $2 i32.store local.get $0 i32.const 7344 i32.store offset=8 - local.get $1 - i32.load offset=12 + i32.const 0 + local.set $1 + i32.const 0 local.set $0 + local.get $2 + i32.load offset=12 + local.set $3 loop $for-loop|0218 - local.get $0 - local.get $1 - i32.load offset=12 - local.tee $2 - local.get $0 + local.get $3 local.get $2 + i32.load offset=12 + local.tee $9 + local.get $3 + local.get $9 i32.lt_s select - local.get $35 + local.get $0 i32.gt_s if - local.get $1 + local.get $2 i32.load offset=4 - local.get $35 + local.get $0 i32.const 2 i32.shl i32.add i32.load - local.set $2 + local.set $9 i32.const 4 global.set $~argumentsLength - local.get $22 - local.get $2 - local.get $35 local.get $1 + local.get $9 + local.get $0 + local.get $2 i32.const 7344 i32.load call_indirect $0 (type $i32_i32_i32_i32_=>_i32) - local.set $22 - local.get $35 + local.set $1 + local.get $0 i32.const 1 i32.add - local.set $35 + local.set $0 br $for-loop|0218 end end - local.get $22 + local.get $1 if i32.const 0 i32.const 1552 @@ -23161,52 +23200,56 @@ global.get $~lib/memory/__stack_pointer local.tee $0 global.get $std/array/arr - local.tee $1 + local.tee $2 i32.store local.get $0 i32.const 7376 i32.store offset=8 - local.get $1 - i32.load offset=12 + i32.const 0 + local.set $1 + i32.const 0 local.set $0 + local.get $2 + i32.load offset=12 + local.set $3 loop $for-loop|0222 - local.get $0 - local.get $1 - i32.load offset=12 - local.tee $2 - local.get $0 + local.get $3 local.get $2 + i32.load offset=12 + local.tee $9 + local.get $3 + local.get $9 i32.lt_s select - local.get $34 + local.get $0 i32.gt_s if - local.get $1 + local.get $2 i32.load offset=4 - local.get $34 + local.get $0 i32.const 2 i32.shl i32.add i32.load - local.set $2 + local.set $9 i32.const 4 global.set $~argumentsLength - local.get $21 - local.get $2 - local.get $34 local.get $1 + local.get $9 + local.get $0 + local.get $2 i32.const 7376 i32.load call_indirect $0 (type $i32_i32_i32_i32_=>_i32) - local.set $21 - local.get $34 + local.set $1 + local.get $0 i32.const 1 i32.add - local.set $34 + local.set $0 br $for-loop|0222 end end - local.get $21 + local.get $1 global.set $std/array/i global.get $std/array/i i32.const 6 @@ -23238,52 +23281,56 @@ global.get $~lib/memory/__stack_pointer local.tee $0 global.get $std/array/arr - local.tee $1 + local.tee $2 i32.store local.get $0 i32.const 7408 i32.store offset=8 - local.get $1 - i32.load offset=12 + i32.const 0 + local.set $1 + i32.const 0 local.set $0 + local.get $2 + i32.load offset=12 + local.set $3 loop $for-loop|0227 - local.get $0 - local.get $1 - i32.load offset=12 - local.tee $2 - local.get $0 + local.get $3 local.get $2 + i32.load offset=12 + local.tee $9 + local.get $3 + local.get $9 i32.lt_s select - local.get $33 + local.get $0 i32.gt_s if - local.get $1 + local.get $2 i32.load offset=4 - local.get $33 + local.get $0 i32.const 2 i32.shl i32.add i32.load - local.set $2 + local.set $9 i32.const 4 global.set $~argumentsLength - local.get $20 - local.get $2 - local.get $33 local.get $1 + local.get $9 + local.get $0 + local.get $2 i32.const 7408 i32.load call_indirect $0 (type $i32_i32_i32_i32_=>_i32) - local.set $20 - local.get $33 + local.set $1 + local.get $0 i32.const 1 i32.add - local.set $33 + local.set $0 br $for-loop|0227 end end - local.get $20 + local.get $1 global.set $std/array/i global.get $std/array/i i32.const 10 @@ -23326,52 +23373,56 @@ drop global.get $~lib/memory/__stack_pointer global.get $std/array/arr - local.tee $0 + local.tee $2 i32.store global.get $~lib/memory/__stack_pointer i32.const 7440 i32.store offset=8 - local.get $0 - i32.load offset=12 + i32.const 0 local.set $1 + i32.const 0 + local.set $0 + local.get $2 + i32.load offset=12 + local.set $3 loop $for-loop|0231 - local.get $1 - local.get $0 - i32.load offset=12 - local.tee $2 - local.get $1 + local.get $3 local.get $2 + i32.load offset=12 + local.tee $9 + local.get $3 + local.get $9 i32.lt_s select - local.get $32 + local.get $0 i32.gt_s if - local.get $0 + local.get $2 i32.load offset=4 - local.get $32 + local.get $0 i32.const 2 i32.shl i32.add i32.load - local.set $2 + local.set $9 i32.const 4 global.set $~argumentsLength - local.get $19 - local.get $2 - local.get $32 + local.get $1 + local.get $9 local.get $0 + local.get $2 i32.const 7440 i32.load call_indirect $0 (type $i32_i32_i32_i32_=>_i32) - local.set $19 - local.get $32 + local.set $1 + local.get $0 i32.const 1 i32.add - local.set $32 + local.set $0 br $for-loop|0231 end end - local.get $19 + local.get $1 global.set $std/array/i global.get $std/array/i i32.const 1 @@ -23418,47 +23469,49 @@ drop global.get $~lib/memory/__stack_pointer global.get $std/array/arr - local.tee $0 + local.tee $2 i32.store global.get $~lib/memory/__stack_pointer i32.const 7472 i32.store offset=8 - local.get $0 + i32.const 0 + local.set $1 + local.get $2 i32.load offset=12 i32.const 1 i32.sub - local.set $2 + local.set $0 loop $for-loop|0235 - local.get $2 + local.get $0 i32.const 0 i32.ge_s if - local.get $0 - i32.load offset=4 local.get $2 + i32.load offset=4 + local.get $0 i32.const 2 i32.shl i32.add i32.load - local.set $1 + local.set $3 i32.const 4 global.set $~argumentsLength - local.get $18 local.get $1 - local.get $2 + local.get $3 local.get $0 + local.get $2 i32.const 7472 i32.load call_indirect $0 (type $i32_i32_i32_i32_=>_i32) - local.set $18 - local.get $2 + local.set $1 + local.get $0 i32.const 1 i32.sub - local.set $2 + local.set $0 br $for-loop|0235 end end - local.get $18 + local.get $1 global.set $std/array/i global.get $std/array/i i32.const 6 @@ -23474,45 +23527,45 @@ global.get $~lib/memory/__stack_pointer local.tee $0 global.get $std/array/arr - local.tee $3 + local.tee $2 i32.store local.get $0 i32.const 7504 i32.store offset=8 i32.const 4 local.set $1 - local.get $3 + local.get $2 i32.load offset=12 i32.const 1 i32.sub - local.set $2 + local.set $0 loop $for-loop|0239 - local.get $2 + local.get $0 i32.const 0 i32.ge_s if - local.get $3 - i32.load offset=4 local.get $2 + i32.load offset=4 + local.get $0 i32.const 2 i32.shl i32.add i32.load - local.set $0 + local.set $3 i32.const 4 global.set $~argumentsLength local.get $1 + local.get $3 local.get $0 local.get $2 - local.get $3 i32.const 7504 i32.load call_indirect $0 (type $i32_i32_i32_i32_=>_i32) local.set $1 - local.get $2 + local.get $0 i32.const 1 i32.sub - local.set $2 + local.set $0 br $for-loop|0239 end end @@ -23532,47 +23585,49 @@ global.get $~lib/memory/__stack_pointer local.tee $0 global.get $std/array/arr - local.tee $1 + local.tee $2 i32.store local.get $0 i32.const 7536 i32.store offset=8 - local.get $1 + i32.const 0 + local.set $1 + local.get $2 i32.load offset=12 i32.const 1 i32.sub - local.set $2 + local.set $0 loop $for-loop|0243 - local.get $2 + local.get $0 i32.const 0 i32.ge_s if - local.get $1 - i32.load offset=4 local.get $2 + i32.load offset=4 + local.get $0 i32.const 2 i32.shl i32.add i32.load - local.set $0 + local.set $3 i32.const 4 global.set $~argumentsLength - local.get $17 + local.get $1 + local.get $3 local.get $0 local.get $2 - local.get $1 i32.const 7536 i32.load call_indirect $0 (type $i32_i32_i32_i32_=>_i32) - local.set $17 - local.get $2 + local.set $1 + local.get $0 i32.const 1 i32.sub - local.set $2 + local.set $0 br $for-loop|0243 end end - local.get $17 + local.get $1 i32.eqz if i32.const 0 @@ -23585,47 +23640,49 @@ global.get $~lib/memory/__stack_pointer local.tee $0 global.get $std/array/arr - local.tee $1 + local.tee $2 i32.store local.get $0 i32.const 7568 i32.store offset=8 - local.get $1 + i32.const 0 + local.set $1 + local.get $2 i32.load offset=12 i32.const 1 i32.sub - local.set $2 + local.set $0 loop $for-loop|0247 - local.get $2 + local.get $0 i32.const 0 i32.ge_s if - local.get $1 - i32.load offset=4 local.get $2 + i32.load offset=4 + local.get $0 i32.const 2 i32.shl i32.add i32.load - local.set $0 + local.set $3 i32.const 4 global.set $~argumentsLength - local.get $16 + local.get $1 + local.get $3 local.get $0 local.get $2 - local.get $1 i32.const 7568 i32.load call_indirect $0 (type $i32_i32_i32_i32_=>_i32) - local.set $16 - local.get $2 + local.set $1 + local.get $0 i32.const 1 i32.sub - local.set $2 + local.set $0 br $for-loop|0247 end end - local.get $16 + local.get $1 if i32.const 0 i32.const 1552 @@ -23637,47 +23694,49 @@ global.get $~lib/memory/__stack_pointer local.tee $0 global.get $std/array/arr - local.tee $1 + local.tee $2 i32.store local.get $0 i32.const 7600 i32.store offset=8 - local.get $1 + i32.const 0 + local.set $1 + local.get $2 i32.load offset=12 i32.const 1 i32.sub - local.set $2 + local.set $0 loop $for-loop|0251 - local.get $2 + local.get $0 i32.const 0 i32.ge_s if - local.get $1 - i32.load offset=4 local.get $2 + i32.load offset=4 + local.get $0 i32.const 2 i32.shl i32.add i32.load - local.set $0 + local.set $3 i32.const 4 global.set $~argumentsLength - local.get $15 + local.get $1 + local.get $3 local.get $0 local.get $2 - local.get $1 i32.const 7600 i32.load call_indirect $0 (type $i32_i32_i32_i32_=>_i32) - local.set $15 - local.get $2 + local.set $1 + local.get $0 i32.const 1 i32.sub - local.set $2 + local.set $0 br $for-loop|0251 end end - local.get $15 + local.get $1 global.set $std/array/i global.get $std/array/i i32.const 6 @@ -23709,47 +23768,49 @@ global.get $~lib/memory/__stack_pointer local.tee $0 global.get $std/array/arr - local.tee $1 + local.tee $2 i32.store local.get $0 i32.const 7632 i32.store offset=8 - local.get $1 + i32.const 0 + local.set $1 + local.get $2 i32.load offset=12 i32.const 1 i32.sub - local.set $2 + local.set $0 loop $for-loop|0256 - local.get $2 + local.get $0 i32.const 0 i32.ge_s if - local.get $1 - i32.load offset=4 local.get $2 + i32.load offset=4 + local.get $0 i32.const 2 i32.shl i32.add i32.load - local.set $0 + local.set $3 i32.const 4 global.set $~argumentsLength - local.get $14 + local.get $1 + local.get $3 local.get $0 local.get $2 - local.get $1 i32.const 7632 i32.load call_indirect $0 (type $i32_i32_i32_i32_=>_i32) - local.set $14 - local.get $2 + local.set $1 + local.get $0 i32.const 1 i32.sub - local.set $2 + local.set $0 br $for-loop|0256 end end - local.get $14 + local.get $1 global.set $std/array/i global.get $std/array/i i32.const 10 @@ -23792,47 +23853,49 @@ drop global.get $~lib/memory/__stack_pointer global.get $std/array/arr - local.tee $0 + local.tee $2 i32.store global.get $~lib/memory/__stack_pointer i32.const 7664 i32.store offset=8 - local.get $0 + i32.const 0 + local.set $1 + local.get $2 i32.load offset=12 i32.const 1 i32.sub - local.set $2 + local.set $0 loop $for-loop|0260 - local.get $2 + local.get $0 i32.const 0 i32.ge_s if - local.get $0 - i32.load offset=4 local.get $2 + i32.load offset=4 + local.get $0 i32.const 2 i32.shl i32.add i32.load - local.set $1 + local.set $3 i32.const 4 global.set $~argumentsLength - local.get $13 local.get $1 - local.get $2 + local.get $3 local.get $0 + local.get $2 i32.const 7664 i32.load call_indirect $0 (type $i32_i32_i32_i32_=>_i32) - local.set $13 - local.get $2 + local.set $1 + local.get $0 i32.const 1 i32.sub - local.set $2 + local.set $0 br $for-loop|0260 end end - local.get $13 + local.get $1 global.set $std/array/i global.get $std/array/i i32.const 6 @@ -23894,51 +23957,51 @@ i64.const -7046029254386353131 call $~lib/bindings/Math/random i64.reinterpret_f64 - local.tee $11 - local.get $11 + local.tee $5 + local.get $5 i64.eqz select - local.tee $11 + local.tee $5 + local.get $5 i64.const 33 i64.shr_u - local.get $11 i64.xor i64.const -49064778989728563 i64.mul - local.tee $11 + local.tee $5 + local.get $5 i64.const 33 i64.shr_u - local.get $11 i64.xor i64.const -4265267296055464877 i64.mul - local.tee $11 + local.tee $5 + local.get $5 i64.const 33 i64.shr_u - local.get $11 i64.xor global.set $~lib/math/random_state0_64 global.get $~lib/math/random_state0_64 i64.const -1 i64.xor - local.tee $11 + local.tee $5 + local.get $5 i64.const 33 i64.shr_u - local.get $11 i64.xor i64.const -49064778989728563 i64.mul - local.tee $11 + local.tee $5 + local.get $5 i64.const 33 i64.shr_u - local.get $11 i64.xor i64.const -4265267296055464877 i64.mul - local.tee $11 + local.tee $5 + local.get $5 i64.const 33 i64.shr_u - local.get $11 i64.xor global.set $~lib/math/random_state1_64 i32.const 1 @@ -24379,7 +24442,7 @@ i32.const 11 i32.const 8112 call $~lib/rt/__newArray - local.tee $0 + local.tee $2 i32.store offset=112 i32.const 0 global.set $~argumentsLength @@ -24410,9 +24473,9 @@ i32.const 8208 i32.store end - local.get $0 + local.get $2 i32.load offset=4 - local.get $0 + local.get $2 i32.load offset=12 local.get $1 call $~lib/util/sort/SORT @@ -24431,37 +24494,39 @@ local.get $1 i32.store offset=8 i32.const 0 - local.get $0 + local.get $2 i32.load offset=12 - local.tee $2 + local.tee $3 local.get $1 i32.load offset=12 i32.ne br_if $__inlined_func$std/array/isArraysEqual drop i32.const 1 - local.get $0 local.get $1 + local.get $2 i32.eq br_if $__inlined_func$std/array/isArraysEqual drop + i32.const 0 + local.set $0 loop $for-loop|029 - local.get $2 - local.get $62 - i32.gt_s + local.get $0 + local.get $3 + i32.lt_s if + local.get $2 local.get $0 - local.get $62 call $~lib/array/Array#__get - local.tee $10 - local.get $10 + local.tee $4 + local.get $4 f64.ne if (result i32) local.get $1 - local.get $62 + local.get $0 call $~lib/array/Array#__get - local.tee $10 - local.get $10 + local.tee $4 + local.get $4 f64.ne else i32.const 0 @@ -24469,20 +24534,20 @@ i32.eqz if i32.const 0 + local.get $2 local.get $0 - local.get $62 call $~lib/array/Array#__get local.get $1 - local.get $62 + local.get $0 call $~lib/array/Array#__get f64.ne br_if $__inlined_func$std/array/isArraysEqual drop end - local.get $62 + local.get $0 i32.const 1 i32.add - local.set $62 + local.set $0 br $for-loop|029 end end @@ -24639,32 +24704,32 @@ i32.const 3 i32.const 8736 call $~lib/rt/__newArray - local.tee $5 + local.tee $9 i32.store offset=140 global.get $~lib/memory/__stack_pointer i32.const 64 call $std/array/createReverseOrderedArray - local.tee $6 + local.tee $10 i32.store offset=144 global.get $~lib/memory/__stack_pointer i32.const 128 call $std/array/createReverseOrderedArray - local.tee $7 + local.tee $11 i32.store offset=148 global.get $~lib/memory/__stack_pointer i32.const 1024 call $std/array/createReverseOrderedArray - local.tee $8 + local.tee $12 i32.store offset=152 global.get $~lib/memory/__stack_pointer i32.const 10000 call $std/array/createReverseOrderedArray - local.tee $9 + local.tee $13 i32.store offset=156 global.get $~lib/memory/__stack_pointer i32.const 512 call $std/array/createRandomOrderedArray - local.tee $13 + local.tee $14 i32.store offset=160 local.get $0 call $std/array/assertSortedDefault @@ -24719,7 +24784,7 @@ local.get $3 call $std/array/assertSortedDefault local.get $3 - local.get $5 + local.get $9 i32.const 0 call $std/array/isArraysEqual i32.eqz @@ -24731,10 +24796,10 @@ call $~lib/builtins/abort unreachable end - local.get $6 + local.get $10 call $std/array/assertSortedDefault - local.get $6 - local.get $5 + local.get $10 + local.get $9 i32.const 4 call $std/array/isArraysEqual i32.eqz @@ -24746,10 +24811,10 @@ call $~lib/builtins/abort unreachable end - local.get $7 + local.get $11 call $std/array/assertSortedDefault - local.get $7 - local.get $5 + local.get $11 + local.get $9 i32.const 4 call $std/array/isArraysEqual i32.eqz @@ -24761,10 +24826,10 @@ call $~lib/builtins/abort unreachable end - local.get $8 + local.get $12 call $std/array/assertSortedDefault - local.get $8 - local.get $5 + local.get $12 + local.get $9 i32.const 4 call $std/array/isArraysEqual i32.eqz @@ -24776,10 +24841,10 @@ call $~lib/builtins/abort unreachable end - local.get $9 + local.get $13 call $std/array/assertSortedDefault + local.get $13 local.get $9 - local.get $5 i32.const 4 call $std/array/isArraysEqual i32.eqz @@ -24791,13 +24856,13 @@ call $~lib/builtins/abort unreachable end - local.get $13 + local.get $14 call $std/array/assertSortedDefault + global.get $~lib/memory/__stack_pointer + i32.const 24 + i32.sub + global.set $~lib/memory/__stack_pointer block $__inlined_func$std/array/assertStableSortedForComplexObjects - global.get $~lib/memory/__stack_pointer - i32.const 24 - i32.sub - global.set $~lib/memory/__stack_pointer block $folding-inner0 global.get $~lib/memory/__stack_pointer i32.const 15652 @@ -24837,10 +24902,10 @@ i32.const 0 i32.gt_s select - local.set $5 + local.set $9 local.get $0 local.get $3 - local.get $5 + local.get $9 i32.sub local.tee $0 i32.const 0 @@ -24853,14 +24918,14 @@ i32.const 20 i32.const 0 call $~lib/rt/__newArray - local.tee $6 + local.tee $10 i32.store - local.get $6 + local.get $10 i32.load offset=4 local.set $0 local.get $2 i32.load offset=4 - local.get $5 + local.get $9 i32.const 2 i32.shl i32.add @@ -24871,29 +24936,29 @@ local.set $3 loop $while-continue|00 local.get $3 - local.get $64 + local.get $8 i32.gt_u if local.get $0 - local.get $64 + local.get $8 i32.add local.get $2 - local.get $64 + local.get $8 i32.add i32.load - local.tee $5 + local.tee $9 i32.store - local.get $5 + local.get $9 if - local.get $6 - local.get $5 + local.get $10 + local.get $9 i32.const 1 call $byn-split-outlined-A$~lib/rt/itcms/__link end - local.get $64 + local.get $8 i32.const 4 i32.add - local.set $64 + local.set $8 br $while-continue|00 end end @@ -24902,79 +24967,79 @@ i32.add global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - local.get $6 + local.get $10 i32.store global.get $~lib/memory/__stack_pointer i32.const 8880 i32.store offset=4 - local.get $6 + local.get $10 i32.load offset=4 - local.get $6 + local.get $10 i32.load offset=12 i32.const 8880 call $~lib/util/sort/SORT local.get $1 - local.get $6 + local.get $10 i32.store offset=12 i32.const 1 - local.set $64 + local.set $0 global.get $~lib/memory/__stack_pointer global.get $std/array/inputStabArr - local.tee $0 + local.tee $1 i32.store - local.get $0 + local.get $1 i32.load offset=12 - local.set $0 + local.set $1 loop $for-loop|02 - local.get $0 - local.get $63 + local.get $1 + local.get $7 i32.gt_s if block $for-break0 global.get $~lib/memory/__stack_pointer - local.get $6 - local.get $63 + local.get $10 + local.get $7 call $~lib/array/Array#__get - local.tee $1 + local.tee $2 i32.store offset=16 global.get $~lib/memory/__stack_pointer global.get $std/array/outputStabArr - local.tee $2 + local.tee $3 i32.store global.get $~lib/memory/__stack_pointer - local.get $2 - local.get $63 + local.get $3 + local.get $7 call $~lib/array/Array#__get - local.tee $2 + local.tee $3 i32.store offset=20 - local.get $1 - i32.load local.get $2 i32.load + local.get $3 + i32.load i32.ne if (result i32) i32.const 1 else - local.get $1 - i32.load offset=4 local.get $2 i32.load offset=4 + local.get $3 + i32.load offset=4 i32.ne end if i32.const 0 - local.set $64 + local.set $0 br $for-break0 end - local.get $63 + local.get $7 i32.const 1 i32.add - local.set $63 + local.set $7 br $for-loop|02 end end end - local.get $64 + local.get $0 i32.eqz if i32.const 0 @@ -25041,10 +25106,10 @@ i32.lt_s br_if $folding-inner1 global.get $~lib/memory/__stack_pointer - local.tee $1 + local.tee $0 i64.const 0 i64.store - local.get $1 + local.get $0 i32.const 8 i32.sub global.set $~lib/memory/__stack_pointer @@ -25103,33 +25168,35 @@ i32.const 8 i32.add global.set $~lib/memory/__stack_pointer - local.get $1 + local.get $0 local.get $2 i32.store + i32.const 0 + local.set $0 loop $for-loop|0313 - local.get $31 + local.get $0 i32.const 2 i32.lt_s if global.get $~lib/memory/__stack_pointer i32.const 1 call $~lib/array/Array#constructor - local.tee $1 + local.tee $3 i32.store offset=4 - local.get $1 + local.get $3 i32.const 0 i32.const 1 - local.get $31 + local.get $0 i32.sub call $~lib/array/Array#__set local.get $2 - local.get $31 - local.get $1 + local.get $0 + local.get $3 call $~lib/array/Array<~lib/array/Array>#__set - local.get $31 + local.get $0 i32.const 1 i32.add - local.set $31 + local.set $0 br $for-loop|0313 end end @@ -25146,8 +25213,6 @@ i32.const 9040 call $std/array/assertSorted<~lib/array/Array> global.get $~lib/memory/__stack_pointer - i32.const 0 - local.set $61 global.get $~lib/memory/__stack_pointer i32.const 8 i32.sub @@ -25222,8 +25287,10 @@ local.get $1 local.get $2 i32.store + i32.const 0 + local.set $1 loop $for-loop|039 - local.get $61 + local.get $1 i32.const 512 i32.lt_s if @@ -25236,18 +25303,18 @@ i32.lt_s br_if $folding-inner1 global.get $~lib/memory/__stack_pointer - local.tee $1 + local.tee $3 i32.const 0 i32.store - local.get $1 + local.get $3 i32.const 4 i32.const 28 call $~lib/rt/itcms/__new - local.tee $1 + local.tee $3 i32.store - local.get $1 + local.get $3 i32.const 511 - local.get $61 + local.get $1 i32.sub i32.store global.get $~lib/memory/__stack_pointer @@ -25255,16 +25322,16 @@ i32.add global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - local.get $1 + local.get $3 i32.store offset=4 local.get $2 - local.get $61 local.get $1 + local.get $3 call $~lib/array/Array<~lib/array/Array>#__set - local.get $61 + local.get $1 i32.const 1 i32.add - local.set $61 + local.set $1 br $for-loop|039 end end @@ -25294,12 +25361,12 @@ i32.const 31 i32.const 9312 call $~lib/rt/__newArray - local.tee $2 + local.tee $3 i32.store offset=152 i32.const 1 global.set $~argumentsLength i32.const 0 - local.set $62 + local.set $2 global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub @@ -25322,7 +25389,7 @@ unreachable end i32.const 9360 - local.set $62 + local.set $2 global.get $~lib/memory/__stack_pointer i32.const 9360 i32.store @@ -25343,7 +25410,7 @@ i32.load offset=4 local.get $0 i32.load offset=12 - local.get $62 + local.get $2 call $~lib/util/sort/SORT global.get $~lib/memory/__stack_pointer local.get $0 @@ -25363,10 +25430,10 @@ local.set $1 local.get $0 i32.load offset=12 - local.set $3 + local.set $7 loop $for-loop|048 local.get $1 - local.get $3 + local.get $7 i32.lt_s if local.get $0 @@ -25374,22 +25441,22 @@ i32.const 1 i32.sub call $~lib/array/Array#__get - local.set $5 + local.set $8 global.get $~lib/memory/__stack_pointer - local.get $5 + local.get $8 i32.store local.get $0 local.get $1 call $~lib/array/Array#__get - local.set $6 + local.set $9 global.get $~lib/memory/__stack_pointer - local.get $6 + local.get $9 i32.store offset=4 i32.const 2 global.set $~argumentsLength - local.get $5 - local.get $6 - local.get $62 + local.get $8 + local.get $9 + local.get $2 i32.load call_indirect $0 (type $i32_i32_=>_i32) i32.const 0 @@ -25447,7 +25514,7 @@ local.get $0 i32.load offset=12 local.tee $1 - local.get $2 + local.get $3 i32.load offset=12 i32.ne if @@ -25459,7 +25526,7 @@ br $__inlined_func$std/array/isArraysEqual<~lib/string/String|null> end local.get $0 - local.get $2 + local.get $3 i32.eq if global.get $~lib/memory/__stack_pointer @@ -25469,27 +25536,29 @@ i32.const 1 br $__inlined_func$std/array/isArraysEqual<~lib/string/String|null> end + i32.const 0 + local.set $2 loop $for-loop|045 local.get $1 - local.get $30 + local.get $2 i32.gt_s if local.get $0 - local.get $30 + local.get $2 call $~lib/array/Array#__get - local.set $3 + local.set $7 global.get $~lib/memory/__stack_pointer - local.get $3 + local.get $7 i32.store + local.get $3 local.get $2 - local.get $30 call $~lib/array/Array#__get - local.set $5 + local.set $8 global.get $~lib/memory/__stack_pointer - local.get $5 + local.get $8 i32.store offset=4 - local.get $3 - local.get $5 + local.get $7 + local.get $8 call $~lib/string/String.__eq i32.eqz if @@ -25500,10 +25569,10 @@ i32.const 0 br $__inlined_func$std/array/isArraysEqual<~lib/string/String|null> end - local.get $30 + local.get $2 i32.const 1 i32.add - local.set $30 + local.set $2 br $for-loop|045 end end @@ -25523,7 +25592,7 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $3 + local.tee $7 i32.const 8 i32.sub global.set $~lib/memory/__stack_pointer @@ -25539,10 +25608,12 @@ i32.const 0 i32.const 400 call $~lib/array/Array<~lib/string/String>#constructor - local.tee $5 + local.tee $8 i32.store + i32.const 0 + local.set $0 loop $for-loop|049 - local.get $25 + local.get $0 i32.const 400 i32.lt_s if @@ -25550,9 +25621,7 @@ f64.const 32 f64.mul i32.trunc_f64_s - local.set $6 - i32.const 0 - local.set $2 + local.set $9 global.get $~lib/memory/__stack_pointer i32.const 12 i32.sub @@ -25561,6 +25630,8 @@ i32.const 15652 i32.lt_s br_if $folding-inner1 + local.get $0 + local.set $2 global.get $~lib/memory/__stack_pointer local.tee $1 i64.const 0 @@ -25573,13 +25644,15 @@ local.get $1 i32.const 9232 i32.store + i32.const 0 + local.set $1 loop $for-loop|023 - local.get $2 - local.get $6 + local.get $1 + local.get $9 i32.lt_s if global.get $~lib/memory/__stack_pointer - local.tee $7 + local.tee $10 i32.const 7696 i32.store offset=4 call $~lib/math/NativeMath.random @@ -25594,7 +25667,7 @@ f64.mul f64.floor i32.trunc_f64_s - local.set $8 + local.set $11 global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub @@ -25604,7 +25677,7 @@ i32.lt_s br_if $folding-inner1 local.get $0 - local.set $1 + local.set $3 global.get $~lib/memory/__stack_pointer i32.const 0 i32.store @@ -25613,7 +25686,7 @@ i32.load i32.const 1 i32.shr_u - local.get $8 + local.get $11 i32.le_u if global.get $~lib/memory/__stack_pointer @@ -25631,7 +25704,7 @@ local.tee $0 i32.store local.get $0 - local.get $8 + local.get $11 i32.const 1 i32.shl i32.const 7696 @@ -25646,16 +25719,16 @@ global.get $~lib/memory/__stack_pointer local.get $0 i32.store offset=4 - local.get $7 - local.get $1 + local.get $10 + local.get $3 local.get $0 call $~lib/string/String.__concat local.tee $0 i32.store - local.get $2 + local.get $1 i32.const 1 i32.add - local.set $2 + local.set $1 br $for-loop|023 end end @@ -25666,14 +25739,14 @@ global.get $~lib/memory/__stack_pointer local.get $0 i32.store offset=4 - local.get $5 - local.get $25 + local.get $8 + local.get $2 local.get $0 call $~lib/array/Array<~lib/array/Array>#__set - local.get $25 + local.get $2 i32.const 1 i32.add - local.set $25 + local.set $0 br $for-loop|049 end end @@ -25681,8 +25754,8 @@ i32.const 8 i32.add global.set $~lib/memory/__stack_pointer - local.get $3 - local.get $5 + local.get $7 + local.get $8 i32.store offset=156 i32.const 1 global.set $~argumentsLength @@ -25715,7 +25788,7 @@ i32.const 9392 i32.store end - local.get $5 + local.get $8 local.get $0 call $std/array/assertSorted<~lib/array/Array> global.get $~lib/memory/__stack_pointer @@ -25727,23 +25800,21 @@ i32.const 35 i32.const 9424 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=164 global.get $~lib/memory/__stack_pointer i32.const 9520 i32.store offset=168 i32.const 0 - local.set $0 - i32.const 0 - local.set $61 - local.get $1 - i32.load offset=4 local.set $3 - local.get $1 + local.get $0 + i32.load offset=4 + local.set $2 + local.get $0 i32.load offset=12 - local.set $1 + local.set $0 global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub @@ -25756,10 +25827,10 @@ i32.const 0 i32.store block $__inlined_func$~lib/util/string/joinBooleanArray - local.get $1 + local.get $0 i32.const 1 i32.sub - local.tee $1 + local.tee $7 i32.const 0 i32.lt_s if @@ -25768,18 +25839,18 @@ i32.add global.set $~lib/memory/__stack_pointer i32.const 9232 - local.set $2 + local.set $0 br $__inlined_func$~lib/util/string/joinBooleanArray end - local.get $1 + local.get $7 i32.eqz if i32.const 9456 i32.const 9488 - local.get $3 + local.get $2 i32.load8_u select - local.set $2 + local.set $0 global.get $~lib/memory/__stack_pointer i32.const 4 i32.add @@ -25787,84 +25858,86 @@ br $__inlined_func$~lib/util/string/joinBooleanArray end global.get $~lib/memory/__stack_pointer - local.get $1 + local.get $7 i32.const 9516 i32.load i32.const 1 i32.shr_u - local.tee $5 + local.tee $8 i32.const 5 i32.add i32.mul i32.const 5 i32.add - local.tee $6 + local.tee $9 i32.const 1 i32.shl i32.const 1 call $~lib/rt/itcms/__new - local.tee $2 + local.tee $1 i32.store + i32.const 0 + local.set $0 loop $for-loop|149 - local.get $1 - local.get $61 - i32.gt_s + local.get $3 + local.get $7 + i32.lt_s if + local.get $2 local.get $3 - local.get $61 i32.add i32.load8_u - local.tee $7 + local.tee $10 i32.eqz i32.const 4 i32.add - local.set $8 + local.set $11 local.get $0 i32.const 1 i32.shl - local.get $2 + local.get $1 i32.add i32.const 9456 i32.const 9488 - local.get $7 + local.get $10 select - local.get $8 + local.get $11 i32.const 1 i32.shl call $~lib/memory/memory.copy local.get $0 - local.get $8 + local.get $11 i32.add local.set $0 - local.get $5 + local.get $8 if local.get $0 i32.const 1 i32.shl - local.get $2 + local.get $1 i32.add i32.const 9520 - local.get $5 + local.get $8 i32.const 1 i32.shl call $~lib/memory/memory.copy local.get $0 - local.get $5 + local.get $8 i32.add local.set $0 end - local.get $61 + local.get $3 i32.const 1 i32.add - local.set $61 + local.set $3 br $for-loop|149 end end - local.get $1 - local.get $3 + local.get $2 + local.get $7 i32.add i32.load8_u - local.tee $1 + local.tee $2 i32.eqz i32.const 4 i32.add @@ -25872,27 +25945,27 @@ local.get $0 i32.const 1 i32.shl - local.get $2 + local.get $1 i32.add i32.const 9456 i32.const 9488 - local.get $1 + local.get $2 select local.get $3 i32.const 1 i32.shl call $~lib/memory/memory.copy - local.get $6 + local.get $9 local.get $0 local.get $3 i32.add local.tee $0 i32.gt_s if - local.get $2 + local.get $1 local.get $0 call $~lib/string/String#substring - local.set $2 + local.set $0 global.get $~lib/memory/__stack_pointer i32.const 4 i32.add @@ -25903,15 +25976,17 @@ i32.const 4 i32.add global.set $~lib/memory/__stack_pointer + local.get $1 + local.set $0 end global.get $~lib/memory/__stack_pointer - local.tee $0 - local.get $2 - i32.store + local.tee $1 local.get $0 + i32.store + local.get $1 i32.const 9552 i32.store offset=8 - local.get $2 + local.get $0 i32.const 9552 call $~lib/string/String.__eq i32.eqz @@ -26328,12 +26403,12 @@ i32.const 36 i32.const 13552 call $~lib/rt/__newArray - local.set $1 + local.set $0 global.get $~lib/memory/__stack_pointer - local.tee $0 - local.get $1 - i32.store offset=164 + local.tee $1 local.get $0 + i32.store offset=164 + local.get $1 i32.const 4 i32.sub global.set $~lib/memory/__stack_pointer @@ -26342,23 +26417,21 @@ i32.lt_s br_if $folding-inner1 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 9520 i32.store i32.const 0 - local.set $0 - i32.const 0 - local.set $62 - local.get $1 + local.set $2 + local.get $0 i32.load offset=4 local.set $3 - local.get $1 + local.get $0 i32.load offset=12 - local.set $1 - local.get $2 + local.set $0 + local.get $1 i32.const 4 i32.sub global.set $~lib/memory/__stack_pointer @@ -26370,10 +26443,10 @@ i32.const 0 i32.store block $__inlined_func$~lib/util/string/joinIntegerArray - local.get $1 + local.get $0 i32.const 1 i32.sub - local.tee $1 + local.tee $7 i32.const 0 i32.lt_s if @@ -26382,16 +26455,16 @@ i32.add global.set $~lib/memory/__stack_pointer i32.const 9232 - local.set $2 + local.set $0 br $__inlined_func$~lib/util/string/joinIntegerArray end - local.get $1 + local.get $7 i32.eqz if local.get $3 i32.load8_s call $~lib/util/number/itoa32 - local.set $2 + local.set $0 global.get $~lib/memory/__stack_pointer i32.const 4 i32.add @@ -26399,74 +26472,76 @@ br $__inlined_func$~lib/util/string/joinIntegerArray end global.get $~lib/memory/__stack_pointer - local.get $1 + local.get $7 i32.const 9516 i32.load i32.const 1 i32.shr_u - local.tee $5 + local.tee $8 i32.const 11 i32.add i32.mul i32.const 11 i32.add - local.tee $6 + local.tee $9 i32.const 1 i32.shl i32.const 1 call $~lib/rt/itcms/__new - local.tee $2 + local.tee $1 i32.store + i32.const 0 + local.set $0 loop $for-loop|050 - local.get $1 - local.get $62 - i32.gt_s + local.get $2 + local.get $7 + i32.lt_s if local.get $0 i32.const 1 i32.shl - local.get $2 + local.get $1 i32.add + local.get $2 local.get $3 - local.get $62 i32.add i32.load8_s call $~lib/util/number/itoa_buffered local.get $0 i32.add local.set $0 - local.get $5 + local.get $8 if local.get $0 i32.const 1 i32.shl - local.get $2 + local.get $1 i32.add i32.const 9520 - local.get $5 + local.get $8 i32.const 1 i32.shl call $~lib/memory/memory.copy local.get $0 - local.get $5 + local.get $8 i32.add local.set $0 end - local.get $62 + local.get $2 i32.const 1 i32.add - local.set $62 + local.set $2 br $for-loop|050 end end - local.get $6 + local.get $9 local.get $0 i32.const 1 i32.shl - local.get $2 - i32.add local.get $1 + i32.add local.get $3 + local.get $7 i32.add i32.load8_s call $~lib/util/number/itoa_buffered @@ -26475,10 +26550,10 @@ local.tee $0 i32.gt_s if - local.get $2 + local.get $1 local.get $0 call $~lib/string/String#substring - local.set $2 + local.set $0 global.get $~lib/memory/__stack_pointer i32.const 4 i32.add @@ -26489,18 +26564,20 @@ i32.const 4 i32.add global.set $~lib/memory/__stack_pointer + local.get $1 + local.set $0 end global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - local.get $2 + local.get $0 i32.store global.get $~lib/memory/__stack_pointer i32.const 13584 i32.store offset=8 - local.get $2 + local.get $0 i32.const 13584 call $~lib/string/String.__eq i32.eqz @@ -26517,12 +26594,12 @@ i32.const 9 i32.const 13616 call $~lib/rt/__newArray - local.set $1 + local.set $0 global.get $~lib/memory/__stack_pointer - local.tee $0 - local.get $1 - i32.store offset=164 + local.tee $1 local.get $0 + i32.store offset=164 + local.get $1 i32.const 4 i32.sub global.set $~lib/memory/__stack_pointer @@ -26531,23 +26608,21 @@ i32.lt_s br_if $folding-inner1 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 9520 i32.store i32.const 0 - local.set $0 - i32.const 0 - local.set $62 - local.get $1 + local.set $2 + local.get $0 i32.load offset=4 local.set $3 - local.get $1 + local.get $0 i32.load offset=12 - local.set $1 - local.get $2 + local.set $0 + local.get $1 i32.const 4 i32.sub global.set $~lib/memory/__stack_pointer @@ -26559,10 +26634,10 @@ i32.const 0 i32.store block $__inlined_func$~lib/util/string/joinIntegerArray - local.get $1 + local.get $0 i32.const 1 i32.sub - local.tee $1 + local.tee $7 i32.const 0 i32.lt_s if @@ -26571,16 +26646,16 @@ i32.add global.set $~lib/memory/__stack_pointer i32.const 9232 - local.set $2 + local.set $0 br $__inlined_func$~lib/util/string/joinIntegerArray end - local.get $1 + local.get $7 i32.eqz if local.get $3 i32.load16_u call $~lib/util/number/utoa32 - local.set $2 + local.set $0 global.get $~lib/memory/__stack_pointer i32.const 4 i32.add @@ -26588,35 +26663,37 @@ br $__inlined_func$~lib/util/string/joinIntegerArray end global.get $~lib/memory/__stack_pointer - local.get $1 + local.get $7 i32.const 9516 i32.load i32.const 1 i32.shr_u - local.tee $5 + local.tee $8 i32.const 10 i32.add i32.mul i32.const 10 i32.add - local.tee $6 + local.tee $9 i32.const 1 i32.shl i32.const 1 call $~lib/rt/itcms/__new - local.tee $2 + local.tee $1 i32.store + i32.const 0 + local.set $0 loop $for-loop|051 - local.get $1 - local.get $62 - i32.gt_s + local.get $2 + local.get $7 + i32.lt_s if local.get $0 i32.const 1 i32.shl - local.get $2 + local.get $1 i32.add - local.get $62 + local.get $2 i32.const 1 i32.shl local.get $3 @@ -26626,37 +26703,37 @@ local.get $0 i32.add local.set $0 - local.get $5 + local.get $8 if local.get $0 i32.const 1 i32.shl - local.get $2 + local.get $1 i32.add i32.const 9520 - local.get $5 + local.get $8 i32.const 1 i32.shl call $~lib/memory/memory.copy local.get $0 - local.get $5 + local.get $8 i32.add local.set $0 end - local.get $62 + local.get $2 i32.const 1 i32.add - local.set $62 + local.set $2 br $for-loop|051 end end - local.get $6 + local.get $9 local.get $0 i32.const 1 i32.shl - local.get $2 - i32.add local.get $1 + i32.add + local.get $7 i32.const 1 i32.shl local.get $3 @@ -26668,10 +26745,10 @@ local.tee $0 i32.gt_s if - local.get $2 + local.get $1 local.get $0 call $~lib/string/String#substring - local.set $2 + local.set $0 global.get $~lib/memory/__stack_pointer i32.const 4 i32.add @@ -26682,18 +26759,20 @@ i32.const 4 i32.add global.set $~lib/memory/__stack_pointer + local.get $1 + local.set $0 end global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - local.get $2 + local.get $0 i32.store global.get $~lib/memory/__stack_pointer i32.const 13648 i32.store offset=8 - local.get $2 + local.get $0 i32.const 13648 call $~lib/string/String.__eq i32.eqz @@ -26912,7 +26991,7 @@ i32.const 9520 i32.store i32.const 0 - local.set $62 + local.set $2 local.get $1 i32.load offset=4 local.set $3 @@ -26938,7 +27017,7 @@ local.get $1 i32.const 1 i32.sub - local.tee $0 + local.tee $1 i32.const 0 i32.lt_s if @@ -26947,10 +27026,10 @@ i32.add global.set $~lib/memory/__stack_pointer i32.const 9232 - local.set $2 + local.set $0 br $__inlined_func$~lib/util/string/joinReferenceArray<~lib/array/Array> end - local.get $0 + local.get $1 i32.eqz if global.get $~lib/memory/__stack_pointer @@ -26965,7 +27044,7 @@ else i32.const 9232 end - local.set $2 + local.set $0 global.get $~lib/memory/__stack_pointer i32.const 12 i32.add @@ -26973,7 +27052,7 @@ br $__inlined_func$~lib/util/string/joinReferenceArray<~lib/array/Array> end i32.const 9232 - local.set $2 + local.set $0 global.get $~lib/memory/__stack_pointer i32.const 9232 i32.store offset=4 @@ -26981,74 +27060,74 @@ i32.load i32.const 1 i32.shr_u - local.set $1 + local.set $7 loop $for-loop|052 - local.get $0 - local.get $62 + local.get $1 + local.get $2 i32.gt_s if global.get $~lib/memory/__stack_pointer - local.get $62 + local.get $2 i32.const 2 i32.shl local.get $3 i32.add i32.load - local.tee $5 + local.tee $8 i32.store - local.get $5 + local.get $8 if global.get $~lib/memory/__stack_pointer - local.get $5 + local.get $8 call $~lib/array/Array#toString - local.set $5 + local.set $8 global.get $~lib/memory/__stack_pointer - local.get $5 + local.get $8 i32.store offset=8 - local.get $2 - local.get $5 + local.get $0 + local.get $8 call $~lib/string/String.__concat - local.tee $2 + local.tee $0 i32.store offset=4 end - local.get $1 + local.get $7 if global.get $~lib/memory/__stack_pointer - local.get $2 + local.get $0 i32.const 9520 call $~lib/string/String.__concat - local.tee $2 + local.tee $0 i32.store offset=4 end - local.get $62 + local.get $2 i32.const 1 i32.add - local.set $62 + local.set $2 br $for-loop|052 end end global.get $~lib/memory/__stack_pointer - local.get $0 + local.get $1 i32.const 2 i32.shl local.get $3 i32.add i32.load - local.tee $0 + local.tee $1 i32.store - local.get $0 + local.get $1 if global.get $~lib/memory/__stack_pointer - local.get $0 + local.get $1 call $~lib/array/Array#toString - local.set $0 + local.set $1 global.get $~lib/memory/__stack_pointer - local.get $0 + local.get $1 i32.store offset=8 - local.get $2 local.get $0 + local.get $1 call $~lib/string/String.__concat - local.tee $2 + local.tee $0 i32.store offset=4 end global.get $~lib/memory/__stack_pointer @@ -27061,12 +27140,12 @@ i32.add global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - local.get $2 + local.get $0 i32.store global.get $~lib/memory/__stack_pointer i32.const 14304 i32.store offset=8 - local.get $2 + local.get $0 i32.const 14304 call $~lib/string/String.__eq i32.eqz @@ -27126,7 +27205,7 @@ i32.const 9520 i32.store i32.const 0 - local.set $62 + local.set $2 local.get $1 i32.load offset=4 local.set $3 @@ -27152,7 +27231,7 @@ local.get $1 i32.const 1 i32.sub - local.tee $0 + local.tee $1 i32.const 0 i32.lt_s if @@ -27161,10 +27240,10 @@ i32.add global.set $~lib/memory/__stack_pointer i32.const 9232 - local.set $2 + local.set $0 br $__inlined_func$~lib/util/string/joinReferenceArray<~lib/array/Array> end - local.get $0 + local.get $1 i32.eqz if global.get $~lib/memory/__stack_pointer @@ -27179,7 +27258,7 @@ else i32.const 9232 end - local.set $2 + local.set $0 global.get $~lib/memory/__stack_pointer i32.const 12 i32.add @@ -27187,7 +27266,7 @@ br $__inlined_func$~lib/util/string/joinReferenceArray<~lib/array/Array> end i32.const 9232 - local.set $2 + local.set $0 global.get $~lib/memory/__stack_pointer i32.const 9232 i32.store offset=4 @@ -27195,74 +27274,74 @@ i32.load i32.const 1 i32.shr_u - local.set $1 + local.set $7 loop $for-loop|053 - local.get $0 - local.get $62 + local.get $1 + local.get $2 i32.gt_s if global.get $~lib/memory/__stack_pointer - local.get $62 + local.get $2 i32.const 2 i32.shl local.get $3 i32.add i32.load - local.tee $5 + local.tee $8 i32.store - local.get $5 + local.get $8 if global.get $~lib/memory/__stack_pointer - local.get $5 + local.get $8 call $~lib/array/Array#toString - local.set $5 + local.set $8 global.get $~lib/memory/__stack_pointer - local.get $5 + local.get $8 i32.store offset=8 - local.get $2 - local.get $5 + local.get $0 + local.get $8 call $~lib/string/String.__concat - local.tee $2 + local.tee $0 i32.store offset=4 end - local.get $1 + local.get $7 if global.get $~lib/memory/__stack_pointer - local.get $2 + local.get $0 i32.const 9520 call $~lib/string/String.__concat - local.tee $2 + local.tee $0 i32.store offset=4 end - local.get $62 + local.get $2 i32.const 1 i32.add - local.set $62 + local.set $2 br $for-loop|053 end end global.get $~lib/memory/__stack_pointer - local.get $0 + local.get $1 i32.const 2 i32.shl local.get $3 i32.add i32.load - local.tee $0 + local.tee $1 i32.store - local.get $0 + local.get $1 if global.get $~lib/memory/__stack_pointer - local.get $0 + local.get $1 call $~lib/array/Array#toString - local.set $0 + local.set $1 global.get $~lib/memory/__stack_pointer - local.get $0 + local.get $1 i32.store offset=8 - local.get $2 local.get $0 + local.get $1 call $~lib/string/String.__concat - local.tee $2 + local.tee $0 i32.store offset=4 end global.get $~lib/memory/__stack_pointer @@ -27275,12 +27354,12 @@ i32.add global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - local.get $2 + local.get $0 i32.store global.get $~lib/memory/__stack_pointer i32.const 14304 i32.store offset=8 - local.get $2 + local.get $0 i32.const 14304 call $~lib/string/String.__eq i32.eqz @@ -27348,7 +27427,7 @@ i32.const 9520 i32.store i32.const 0 - local.set $62 + local.set $2 local.get $1 i32.load offset=4 local.set $3 @@ -27374,7 +27453,7 @@ local.get $1 i32.const 1 i32.sub - local.tee $0 + local.tee $1 i32.const 0 i32.lt_s if @@ -27383,10 +27462,10 @@ i32.add global.set $~lib/memory/__stack_pointer i32.const 9232 - local.set $2 + local.set $0 br $__inlined_func$~lib/util/string/joinReferenceArray<~lib/array/Array<~lib/array/Array>> end - local.get $0 + local.get $1 i32.eqz if global.get $~lib/memory/__stack_pointer @@ -27401,7 +27480,7 @@ else i32.const 9232 end - local.set $2 + local.set $0 global.get $~lib/memory/__stack_pointer i32.const 12 i32.add @@ -27409,7 +27488,7 @@ br $__inlined_func$~lib/util/string/joinReferenceArray<~lib/array/Array<~lib/array/Array>> end i32.const 9232 - local.set $2 + local.set $0 global.get $~lib/memory/__stack_pointer i32.const 9232 i32.store offset=4 @@ -27417,74 +27496,74 @@ i32.load i32.const 1 i32.shr_u - local.set $1 + local.set $7 loop $for-loop|054 - local.get $0 - local.get $62 + local.get $1 + local.get $2 i32.gt_s if global.get $~lib/memory/__stack_pointer - local.get $62 + local.get $2 i32.const 2 i32.shl local.get $3 i32.add i32.load - local.tee $5 + local.tee $8 i32.store - local.get $5 + local.get $8 if global.get $~lib/memory/__stack_pointer - local.get $5 + local.get $8 call $~lib/array/Array<~lib/array/Array>#toString - local.set $5 + local.set $8 global.get $~lib/memory/__stack_pointer - local.get $5 + local.get $8 i32.store offset=8 - local.get $2 - local.get $5 + local.get $0 + local.get $8 call $~lib/string/String.__concat - local.tee $2 + local.tee $0 i32.store offset=4 end - local.get $1 + local.get $7 if global.get $~lib/memory/__stack_pointer - local.get $2 + local.get $0 i32.const 9520 call $~lib/string/String.__concat - local.tee $2 + local.tee $0 i32.store offset=4 end - local.get $62 + local.get $2 i32.const 1 i32.add - local.set $62 + local.set $2 br $for-loop|054 end end global.get $~lib/memory/__stack_pointer - local.get $0 + local.get $1 i32.const 2 i32.shl local.get $3 i32.add i32.load - local.tee $0 + local.tee $1 i32.store - local.get $0 + local.get $1 if global.get $~lib/memory/__stack_pointer - local.get $0 + local.get $1 call $~lib/array/Array<~lib/array/Array>#toString - local.set $0 + local.set $1 global.get $~lib/memory/__stack_pointer - local.get $0 + local.get $1 i32.store offset=8 - local.get $2 local.get $0 + local.get $1 call $~lib/string/String.__concat - local.tee $2 + local.tee $0 i32.store offset=4 end global.get $~lib/memory/__stack_pointer @@ -27497,12 +27576,12 @@ i32.add global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - local.get $2 + local.get $0 i32.store global.get $~lib/memory/__stack_pointer i32.const 13008 i32.store offset=8 - local.get $2 + local.get $0 i32.const 13008 call $~lib/string/String.__eq i32.eqz @@ -27565,9 +27644,9 @@ global.get $~lib/memory/__stack_pointer local.get $1 call $~lib/array/Array<~lib/array/Array>#flat - local.tee $0 + local.tee $1 i32.store offset=128 - local.get $0 + local.get $1 i32.load offset=12 i32.const 10 i32.ne @@ -27580,16 +27659,16 @@ unreachable end i32.const 0 - local.set $2 + local.set $0 loop $for-loop|7 - local.get $2 + local.get $0 i32.const 10 i32.lt_s if + local.get $1 local.get $0 - local.get $2 call $~lib/array/Array#__get - local.get $2 + local.get $0 i32.ne if i32.const 0 @@ -27599,10 +27678,10 @@ call $~lib/builtins/abort unreachable end - local.get $2 + local.get $0 i32.const 1 i32.add - local.set $2 + local.set $0 br $for-loop|7 end end @@ -27668,134 +27747,140 @@ i64.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 $8 + i32.const 0 + local.set $2 + i32.const 0 + local.set $0 loop $for-loop|0317 - local.get $1 - local.get $60 - i32.gt_s + local.get $0 + local.get $8 + i32.lt_s if - local.get $60 + local.get $0 i32.const 2 i32.shl - local.get $2 + local.get $7 i32.add i32.load - local.tee $3 + local.tee $1 if (result i32) - local.get $3 + local.get $1 i32.load offset=12 else i32.const 0 end - local.get $29 + local.get $2 i32.add - local.set $29 - local.get $60 + local.set $2 + local.get $0 i32.const 1 i32.add - local.set $60 + local.set $0 br $for-loop|0317 end end global.get $~lib/memory/__stack_pointer - local.get $29 + local.get $2 i32.const 2 i32.shl - local.tee $3 + local.tee $0 i32.const 0 call $~lib/rt/itcms/__new - local.tee $5 + local.tee $9 i32.store global.get $~lib/memory/__stack_pointer i32.const 16 i32.const 31 call $~lib/rt/itcms/__new - local.tee $6 + local.tee $10 i32.store offset=4 - local.get $6 - local.get $29 + local.get $10 + local.get $2 i32.store offset=12 - local.get $6 - local.get $3 + local.get $10 + local.get $0 i32.store offset=8 - local.get $6 - local.get $5 + local.get $10 + local.get $9 i32.store offset=4 - local.get $6 - local.get $5 + local.get $10 + local.get $9 i32.store - local.get $5 + local.get $9 if - local.get $6 - local.get $5 + local.get $10 + local.get $9 i32.const 0 call $byn-split-outlined-A$~lib/rt/itcms/__link end i32.const 0 - local.set $60 + local.set $1 + i32.const 0 + local.set $0 loop $for-loop|1320 - local.get $1 - local.get $60 - i32.gt_s + local.get $0 + local.get $8 + i32.lt_s if - local.get $60 + local.get $0 i32.const 2 i32.shl - local.get $2 + local.get $7 i32.add i32.load - local.tee $3 + local.tee $11 if - local.get $4 - local.get $5 + local.get $1 + local.get $9 i32.add - local.get $3 + local.get $11 i32.load offset=4 - local.get $3 + local.get $11 i32.load offset=12 i32.const 2 i32.shl - local.tee $3 + local.tee $11 call $~lib/memory/memory.copy - local.get $3 - local.get $4 + local.get $1 + local.get $11 i32.add - local.set $4 + local.set $1 end - local.get $60 + local.get $0 i32.const 1 i32.add - local.set $60 + local.set $0 br $for-loop|1320 end end i32.const 0 - local.set $60 + local.set $0 loop $for-loop|2323 - local.get $29 - local.get $60 - i32.gt_s + local.get $0 + local.get $2 + i32.lt_s if - local.get $60 + local.get $0 i32.const 2 i32.shl - local.get $5 + local.get $9 i32.add i32.load local.tee $1 if - local.get $5 + local.get $9 local.get $1 i32.const 1 call $byn-split-outlined-A$~lib/rt/itcms/__link end - local.get $60 + local.get $0 i32.const 1 i32.add - local.set $60 + local.set $0 br $for-loop|2323 end end @@ -27803,7 +27888,7 @@ i32.const 8 i32.add global.set $~lib/memory/__stack_pointer - local.get $6 + local.get $10 i32.store offset=160 global.get $~lib/memory/__stack_pointer i32.const 8 @@ -27813,7 +27898,7 @@ call $~lib/rt/__newArray local.tee $0 i32.store offset=148 - local.get $6 + local.get $10 i32.load offset=12 i32.const 8 i32.ne @@ -27826,28 +27911,28 @@ unreachable end i32.const 0 - local.set $2 + local.set $1 loop $for-loop|8 local.get $0 i32.load offset=12 - local.get $2 + local.get $1 i32.gt_s if - local.get $6 - local.get $2 + local.get $10 + local.get $1 call $~lib/array/Array#__get - local.set $1 + local.set $2 global.get $~lib/memory/__stack_pointer - local.get $1 + local.get $2 i32.store local.get $0 - local.get $2 + local.get $1 call $~lib/array/Array#__get local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 i32.store offset=8 - local.get $1 + local.get $2 local.get $3 call $~lib/string/String.__eq i32.eqz @@ -27859,10 +27944,10 @@ call $~lib/builtins/abort unreachable end - local.get $2 + local.get $1 i32.const 1 i32.add - local.set $2 + local.set $1 br $for-loop|8 end end @@ -27959,76 +28044,78 @@ i32.lt_s br_if $folding-inner1 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 local.get $1 i32.load offset=12 - local.tee $2 + local.tee $3 i32.const 2 i32.const 26 i32.const 0 call $~lib/rt/__newArray - local.tee $3 + local.tee $7 i32.store - local.get $3 + local.get $7 i32.load offset=4 - local.set $4 + local.set $8 + i32.const 0 + local.set $0 loop $for-loop|065 - local.get $2 + local.get $3 local.get $1 i32.load offset=12 - local.tee $5 - local.get $2 - local.get $5 + local.tee $9 + local.get $3 + local.get $9 i32.lt_s select - local.get $28 + local.get $0 i32.gt_s if global.get $~lib/memory/__stack_pointer - local.tee $5 - local.get $28 + local.tee $9 + local.get $0 i32.const 2 i32.shl - local.tee $6 + local.tee $10 local.get $1 i32.load offset=4 i32.add i32.load - local.tee $7 + local.tee $11 i32.store offset=4 i32.const 3 global.set $~argumentsLength - local.get $5 - local.get $7 - local.get $28 + local.get $9 + local.get $11 + local.get $0 local.get $1 i32.const 15120 i32.load call_indirect $0 (type $i32_i32_i32_=>_i32) - local.tee $5 + local.tee $9 i32.store offset=8 - local.get $4 - local.get $6 + local.get $8 + local.get $10 i32.add - local.get $5 + local.get $9 i32.store - local.get $5 + local.get $9 if - local.get $3 - local.get $5 + local.get $7 + local.get $9 i32.const 1 call $byn-split-outlined-A$~lib/rt/itcms/__link end - local.get $28 + local.get $0 i32.const 1 i32.add - local.set $28 + local.set $0 br $for-loop|065 end end @@ -28037,9 +28124,9 @@ i32.add global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - local.get $3 + local.get $7 i32.store - local.get $3 + local.get $7 call $~lib/array/Array<~lib/array/Array>#flat local.tee $0 i32.store offset=144 @@ -28215,7 +28302,7 @@ end local.get $0 i32.load offset=4 - local.set $0 + local.set $4 loop $while-continue|0 local.get $2 local.get $3 @@ -28225,12 +28312,12 @@ local.get $2 i32.const 2 i32.shl - local.get $0 + local.get $4 i32.add i32.load - local.tee $4 + local.tee $0 i32.store - local.get $4 + local.get $0 local.get $1 call $~lib/string/String.__eq if @@ -28510,13 +28597,13 @@ i32.store local.get $0 i32.load offset=12 - local.tee $2 + local.tee $3 local.get $1 i32.load offset=12 i32.const 0 local.get $1 select - local.tee $3 + local.tee $2 i32.add local.tee $4 i32.const 268435455 @@ -28542,7 +28629,7 @@ local.tee $5 local.get $0 i32.load offset=4 - local.get $2 + local.get $3 i32.const 2 i32.shl local.tee $0 @@ -28552,7 +28639,7 @@ i32.add local.get $1 i32.load offset=4 - local.get $3 + local.get $2 i32.const 2 i32.shl call $~lib/memory/memory.copy @@ -28725,30 +28812,30 @@ i32.const 0 i32.gt_s select - local.tee $1 + local.tee $5 i32.const 2 i32.const 3 i32.const 0 call $~lib/rt/__newArray - local.tee $2 + local.tee $1 i32.store - local.get $2 + local.get $1 i32.load offset=4 local.get $0 i32.load offset=4 - local.tee $5 + local.tee $2 local.get $4 i32.const 2 i32.shl i32.add local.tee $6 - local.get $1 + local.get $5 i32.const 2 i32.shl call $~lib/memory/memory.copy local.get $3 - local.get $1 local.get $4 + local.get $5 i32.add local.tee $4 i32.ne @@ -28757,7 +28844,7 @@ local.get $4 i32.const 2 i32.shl - local.get $5 + local.get $2 i32.add local.get $3 local.get $4 @@ -28768,14 +28855,14 @@ end local.get $0 local.get $3 - local.get $1 + local.get $5 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 $2 + local.get $1 ) (func $~lib/array/Array#splice (param $0 i32) (param $1 i32) (result i32) (local $2 i32) @@ -29826,16 +29913,16 @@ 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 local.get $1 i32.const 1 i32.sub - local.tee $6 + local.tee $5 i32.const 0 i32.lt_s if @@ -29846,7 +29933,7 @@ i32.const 9232 return end - local.get $6 + local.get $5 i32.eqz if global.get $~lib/memory/__stack_pointer @@ -29867,21 +29954,21 @@ end loop $for-loop|0 local.get $1 - local.get $5 + local.get $4 i32.gt_s if global.get $~lib/memory/__stack_pointer - local.get $5 + local.get $4 i32.const 2 i32.shl local.get $0 i32.add i32.load - local.tee $7 + local.tee $6 i32.store offset=4 - local.get $7 + local.get $6 if - local.get $7 + local.get $6 i32.const 20 i32.sub i32.load offset=16 @@ -29891,40 +29978,42 @@ i32.add local.set $3 end - local.get $5 + local.get $4 i32.const 1 i32.add - local.set $5 + local.set $4 br $for-loop|0 end end + i32.const 0 + local.set $1 global.get $~lib/memory/__stack_pointer + local.get $3 + local.get $5 local.get $2 i32.const 20 i32.sub i32.load offset=16 i32.const 1 i32.shr_u - local.tee $1 - local.get $6 + local.tee $3 i32.mul - local.get $3 i32.add i32.const 1 i32.shl i32.const 1 call $~lib/rt/itcms/__new - local.tee $3 + local.tee $6 i32.store offset=8 i32.const 0 - local.set $5 + local.set $4 loop $for-loop|1 + local.get $4 local.get $5 - local.get $6 i32.lt_s if global.get $~lib/memory/__stack_pointer - local.get $5 + local.get $4 i32.const 2 i32.shl local.get $0 @@ -29934,10 +30023,10 @@ i32.store offset=4 local.get $7 if - local.get $4 + local.get $1 i32.const 1 i32.shl - local.get $3 + local.get $6 i32.add local.get $7 local.get $7 @@ -29950,37 +30039,37 @@ i32.const 1 i32.shl call $~lib/memory/memory.copy - local.get $4 + local.get $1 local.get $7 i32.add - local.set $4 + local.set $1 end - local.get $1 + local.get $3 if - local.get $4 + local.get $1 i32.const 1 i32.shl - local.get $3 + local.get $6 i32.add local.get $2 - local.get $1 + local.get $3 i32.const 1 i32.shl call $~lib/memory/memory.copy local.get $1 - local.get $4 + local.get $3 i32.add - local.set $4 + local.set $1 end - local.get $5 + local.get $4 i32.const 1 i32.add - local.set $5 + local.set $4 br $for-loop|1 end end global.get $~lib/memory/__stack_pointer - local.get $6 + local.get $5 i32.const 2 i32.shl local.get $0 @@ -29990,10 +30079,10 @@ i32.store offset=4 local.get $0 if - local.get $4 + local.get $1 i32.const 1 i32.shl - local.get $3 + local.get $6 i32.add local.get $0 local.get $0 @@ -30010,7 +30099,7 @@ i32.const 12 i32.add global.set $~lib/memory/__stack_pointer - local.get $3 + local.get $6 ) (func $~lib/array/Array<~lib/array/Array>#flat (param $0 i32) (result i32) (local $1 i32) @@ -30042,104 +30131,108 @@ local.set $4 local.get $0 i32.load offset=12 - local.set $5 + local.set $3 + i32.const 0 + local.set $0 loop $for-loop|0 - local.get $2 - local.get $5 + local.get $0 + local.get $3 i32.lt_s if - local.get $2 + local.get $0 i32.const 2 i32.shl local.get $4 i32.add i32.load - local.tee $0 + local.tee $2 if (result i32) - local.get $0 + local.get $2 i32.load offset=12 else i32.const 0 end - local.get $3 + local.get $1 i32.add - local.set $3 - local.get $2 + local.set $1 + local.get $0 i32.const 1 i32.add - local.set $2 + local.set $0 br $for-loop|0 end end global.get $~lib/memory/__stack_pointer - local.get $3 + local.get $1 i32.const 2 i32.shl - local.tee $2 + local.tee $0 i32.const 0 call $~lib/rt/itcms/__new - local.tee $6 + local.tee $5 i32.store global.get $~lib/memory/__stack_pointer i32.const 16 i32.const 3 call $~lib/rt/itcms/__new - local.tee $0 + local.tee $2 i32.store offset=4 - local.get $0 - local.get $3 + local.get $2 + local.get $1 i32.store offset=12 - local.get $0 local.get $2 - i32.store offset=8 local.get $0 - local.get $6 + i32.store offset=8 + local.get $2 + local.get $5 i32.store offset=4 - local.get $0 - local.get $6 + local.get $2 + local.get $5 i32.store - local.get $6 + local.get $5 if - local.get $0 - local.get $6 + local.get $2 + local.get $5 i32.const 0 call $byn-split-outlined-A$~lib/rt/itcms/__link end i32.const 0 - local.set $2 + local.set $1 + i32.const 0 + local.set $0 loop $for-loop|1 - local.get $2 - local.get $5 + local.get $0 + local.get $3 i32.lt_s if - local.get $2 + local.get $0 i32.const 2 i32.shl local.get $4 i32.add i32.load - local.tee $3 + local.tee $6 if local.get $1 - local.get $6 + local.get $5 i32.add - local.get $3 + local.get $6 i32.load offset=4 - local.get $3 + local.get $6 i32.load offset=12 i32.const 2 i32.shl - local.tee $3 + local.tee $6 call $~lib/memory/memory.copy local.get $1 - local.get $3 + local.get $6 i32.add local.set $1 end - local.get $2 + local.get $0 i32.const 1 i32.add - local.set $2 + local.set $0 br $for-loop|1 end end @@ -30147,7 +30240,7 @@ i32.const 8 i32.add global.set $~lib/memory/__stack_pointer - local.get $0 + local.get $2 ) (func $export:~lib/array/Array#get:dataStart (param $0 i32) (result i32) (local $1 i32) @@ -30181,11 +30274,11 @@ (local $2 i32) (local $3 i32) (local $4 i32) + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.sub + global.set $~lib/memory/__stack_pointer block $folding-inner1 - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.sub - global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer i32.const 15652 i32.lt_s @@ -31122,13 +31215,13 @@ i32.store local.get $0 i32.load offset=12 - local.tee $4 + local.tee $2 local.get $1 i32.load offset=12 i32.const 0 local.get $1 select - local.tee $2 + local.tee $4 i32.add local.tee $3 i32.const 268435455 @@ -31154,7 +31247,7 @@ local.tee $5 local.get $0 i32.load offset=4 - local.get $4 + local.get $2 i32.const 2 i32.shl local.tee $0 @@ -31164,7 +31257,7 @@ i32.add local.get $1 i32.load offset=4 - local.get $2 + local.get $4 i32.const 2 i32.shl call $~lib/memory/memory.copy @@ -31386,17 +31479,17 @@ i32.const 7 i32.const 0 call $~lib/rt/__newArray - local.tee $3 + local.tee $4 i32.store local.get $0 i32.load offset=12 - local.set $4 + local.set $3 loop $for-loop|0 - local.get $4 + local.get $3 local.get $0 i32.load offset=12 local.tee $5 - local.get $4 + local.get $3 local.get $5 i32.lt_s select @@ -31420,7 +31513,7 @@ i32.load call_indirect $0 (type $i32_i32_i32_=>_i32) if - local.get $3 + local.get $4 local.get $5 call $~lib/array/Array#push drop @@ -31440,7 +31533,7 @@ i32.const 8 i32.add global.set $~lib/memory/__stack_pointer - local.get $3 + local.get $4 return end i32.const 32064 @@ -31830,30 +31923,30 @@ i32.const 0 i32.gt_s select - local.tee $1 + local.tee $5 i32.const 2 i32.const 7 i32.const 0 call $~lib/rt/__newArray - local.tee $2 + local.tee $1 i32.store - local.get $2 + local.get $1 i32.load offset=4 local.get $0 i32.load offset=4 - local.tee $5 + local.tee $2 local.get $4 i32.const 2 i32.shl i32.add local.tee $6 - local.get $1 + local.get $5 i32.const 2 i32.shl call $~lib/memory/memory.copy local.get $3 - local.get $1 local.get $4 + local.get $5 i32.add local.tee $4 i32.ne @@ -31862,7 +31955,7 @@ local.get $4 i32.const 2 i32.shl - local.get $5 + local.get $2 i32.add local.get $3 local.get $4 @@ -31873,7 +31966,7 @@ end local.get $0 local.get $3 - local.get $1 + local.get $5 i32.sub i32.store offset=12 global.get $~lib/memory/__stack_pointer @@ -31884,7 +31977,7 @@ i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $2 + local.get $1 return end i32.const 32064 @@ -31920,6 +32013,7 @@ local.get $0 i32.store local.get $0 + local.tee $1 i32.load offset=4 local.set $2 local.get $0 @@ -31928,6 +32022,8 @@ i32.const 1 i32.gt_u if + i32.const 0 + local.set $0 local.get $4 i32.const 1 i32.shr_u @@ -31935,38 +32031,38 @@ local.get $4 i32.const 1 i32.sub - local.set $4 + local.set $5 loop $while-continue|0 - local.get $1 + local.get $0 local.get $3 i32.lt_u if - local.get $1 + local.get $0 i32.const 2 i32.shl local.get $2 i32.add - local.tee $5 + local.tee $6 i32.load - local.set $6 + local.set $4 + local.get $6 local.get $5 - local.get $4 - local.get $1 + local.get $0 i32.sub i32.const 2 i32.shl local.get $2 i32.add - local.tee $5 + local.tee $6 i32.load i32.store - local.get $5 local.get $6 + local.get $4 i32.store - local.get $1 + local.get $0 i32.const 1 i32.add - local.set $1 + local.set $0 br $while-continue|0 end end @@ -31975,7 +32071,7 @@ i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $0 + local.get $1 ) (func $export:~lib/array/Array#sort@varargs (param $0 i32) (param $1 i32) (result i32) (local $2 i32) @@ -32128,11 +32224,11 @@ (local $2 i32) (local $3 i32) (local $4 i32) + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.sub + global.set $~lib/memory/__stack_pointer block $folding-inner1 - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.sub - global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer i32.const 15652 i32.lt_s @@ -32962,13 +33058,13 @@ i32.store local.get $0 i32.load offset=12 - local.tee $4 + local.tee $2 local.get $1 i32.load offset=12 i32.const 0 local.get $1 select - local.tee $2 + local.tee $4 i32.add local.tee $3 i32.const 1073741820 @@ -32994,14 +33090,14 @@ local.tee $5 local.get $0 i32.load offset=4 - local.get $4 + local.get $2 call $~lib/memory/memory.copy - local.get $4 + local.get $2 local.get $5 i32.add local.get $1 i32.load offset=4 - local.get $2 + local.get $4 call $~lib/memory/memory.copy global.get $~lib/memory/__stack_pointer i32.const 4 @@ -33024,7 +33120,6 @@ (func $export:~lib/array/Array#copyWithin@varargs (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (result i32) (local $4 i32) (local $5 i32) - (local $6 i32) global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub @@ -33056,12 +33151,10 @@ i32.const 2147483647 local.set $3 end + local.get $3 local.get $0 i32.load offset=12 local.tee $4 - local.set $5 - local.get $3 - local.get $4 local.get $3 local.get $4 i32.lt_s @@ -33069,7 +33162,7 @@ local.set $3 local.get $0 i32.load offset=4 - local.tee $6 + local.tee $5 local.get $1 i32.const 0 i32.lt_s @@ -33087,12 +33180,13 @@ local.get $1 local.get $4 local.get $1 - local.get $5 + local.get $4 i32.lt_s select end local.tee $1 i32.add + local.get $5 local.get $2 i32.const 0 i32.lt_s @@ -33115,7 +33209,6 @@ select end local.tee $2 - local.get $6 i32.add local.get $3 i32.const 0 @@ -33310,17 +33403,17 @@ i32.const 6 i32.const 0 call $~lib/rt/__newArray - local.tee $3 + local.tee $4 i32.store local.get $0 i32.load offset=12 - local.set $4 + local.set $3 loop $for-loop|0 - local.get $4 + local.get $3 local.get $0 i32.load offset=12 local.tee $5 - local.get $4 + local.get $3 local.get $5 i32.lt_s select @@ -33342,7 +33435,7 @@ i32.load call_indirect $0 (type $i32_i32_i32_=>_i32) if - local.get $3 + local.get $4 local.get $5 call $~lib/array/Array#push drop @@ -33362,7 +33455,7 @@ i32.const 8 i32.add global.set $~lib/memory/__stack_pointer - local.get $3 + local.get $4 return end i32.const 32064 @@ -33767,33 +33860,33 @@ i32.const 0 i32.gt_s select - local.tee $1 + local.tee $5 i32.const 0 i32.const 6 i32.const 0 call $~lib/rt/__newArray - local.tee $2 + local.tee $1 i32.store - local.get $2 + local.get $1 i32.load offset=4 local.get $4 local.get $0 i32.load offset=4 - local.tee $5 + local.tee $2 i32.add local.tee $6 - local.get $1 + local.get $5 call $~lib/memory/memory.copy local.get $3 - local.get $1 local.get $4 + local.get $5 i32.add local.tee $4 i32.ne if local.get $6 + local.get $2 local.get $4 - local.get $5 i32.add local.get $3 local.get $4 @@ -33802,7 +33895,7 @@ end local.get $0 local.get $3 - local.get $1 + local.get $5 i32.sub i32.store offset=12 global.get $~lib/memory/__stack_pointer @@ -33813,7 +33906,7 @@ i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $2 + local.get $1 return end i32.const 32064 @@ -34198,21 +34291,21 @@ local.get $3 local.get $1 i32.store offset=4 - block $__inlined_func$~lib/array/Array<~lib/string/String>#findIndex (result i32) - local.get $3 - i32.const 4 - i32.sub - global.set $~lib/memory/__stack_pointer - global.get $~lib/memory/__stack_pointer - i32.const 15652 - i32.lt_s - br_if $folding-inner0 - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store - local.get $0 - i32.load offset=12 - local.set $3 + local.get $3 + i32.const 4 + i32.sub + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 15652 + i32.lt_s + br_if $folding-inner0 + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store + local.get $0 + i32.load offset=12 + local.set $3 + block $__inlined_func$~lib/array/Array<~lib/string/String>#findIndex loop $for-loop|0 local.get $3 local.get $0 @@ -34248,7 +34341,6 @@ i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $2 br $__inlined_func$~lib/array/Array<~lib/string/String>#findIndex end local.get $2 @@ -34263,11 +34355,13 @@ i32.add global.set $~lib/memory/__stack_pointer i32.const -1 + local.set $2 end global.get $~lib/memory/__stack_pointer i32.const 8 i32.add global.set $~lib/memory/__stack_pointer + local.get $2 return end i32.const 32064 @@ -34296,23 +34390,23 @@ local.get $2 local.get $1 i32.store offset=4 - block $__inlined_func$~lib/array/Array<~lib/string/String>#findLastIndex (result i32) - local.get $2 - i32.const 4 - i32.sub - global.set $~lib/memory/__stack_pointer - global.get $~lib/memory/__stack_pointer - i32.const 15652 - i32.lt_s - br_if $folding-inner0 - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store - local.get $0 - i32.load offset=12 - i32.const 1 - i32.sub - local.set $2 + local.get $2 + i32.const 4 + i32.sub + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 15652 + i32.lt_s + br_if $folding-inner0 + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store + local.get $0 + i32.load offset=12 + i32.const 1 + i32.sub + local.set $2 + block $__inlined_func$~lib/array/Array<~lib/string/String>#findLastIndex loop $for-loop|0 local.get $2 i32.const 0 @@ -34341,7 +34435,6 @@ i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $2 br $__inlined_func$~lib/array/Array<~lib/string/String>#findLastIndex end local.get $2 @@ -34356,11 +34449,13 @@ i32.add global.set $~lib/memory/__stack_pointer i32.const -1 + local.set $2 end global.get $~lib/memory/__stack_pointer i32.const 8 i32.add global.set $~lib/memory/__stack_pointer + local.get $2 return end i32.const 32064 @@ -34705,18 +34800,18 @@ i32.load offset=12 local.set $2 end - block $__inlined_func$~lib/array/Array<~lib/string/String>#lastIndexOf (result i32) - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.sub - global.set $~lib/memory/__stack_pointer - global.get $~lib/memory/__stack_pointer - i32.const 15652 - i32.lt_s - br_if $folding-inner0 - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.sub + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 15652 + i32.lt_s + br_if $folding-inner0 + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store + block $__inlined_func$~lib/array/Array<~lib/string/String>#lastIndexOf local.get $0 i32.load offset=12 local.tee $3 @@ -34727,6 +34822,7 @@ i32.add global.set $~lib/memory/__stack_pointer i32.const -1 + local.set $2 br $__inlined_func$~lib/array/Array<~lib/string/String>#lastIndexOf end local.get $2 @@ -34770,7 +34866,6 @@ i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $2 br $__inlined_func$~lib/array/Array<~lib/string/String>#lastIndexOf end local.get $2 @@ -34785,11 +34880,13 @@ i32.add global.set $~lib/memory/__stack_pointer i32.const -1 + local.set $2 end global.get $~lib/memory/__stack_pointer i32.const 8 i32.add global.set $~lib/memory/__stack_pointer + local.get $2 return end i32.const 32064 @@ -34838,6 +34935,7 @@ (local $5 i32) (local $6 i32) (local $7 i32) + (local $8 i32) global.get $~lib/memory/__stack_pointer i32.const 8 i32.sub @@ -34867,15 +34965,15 @@ i32.store local.get $0 i32.load offset=12 - local.tee $4 + local.tee $3 local.get $1 i32.load offset=12 i32.const 0 local.get $1 select - local.tee $5 + local.tee $4 i32.add - local.tee $3 + local.tee $5 i32.const 268435455 i32.gt_u if @@ -34887,7 +34985,7 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $3 + local.get $5 i32.const 2 i32.const 33 i32.const 0 @@ -34896,65 +34994,65 @@ i32.store local.get $6 i32.load offset=4 - local.set $3 - local.get $4 + local.set $5 + local.get $3 i32.const 2 i32.shl - local.set $4 + local.set $7 local.get $0 i32.load offset=4 + local.set $3 + i32.const 0 local.set $0 loop $for-loop|0 - local.get $2 - local.get $4 + local.get $0 + local.get $7 i32.lt_u if - local.get $2 - local.get $3 + local.get $0 + local.get $5 i32.add local.get $0 - local.get $2 + local.get $3 i32.add i32.load - local.tee $7 + local.tee $8 i32.store - local.get $7 + local.get $8 if local.get $6 - local.get $7 + local.get $8 i32.const 1 call $byn-split-outlined-A$~lib/rt/itcms/__link end - local.get $2 + local.get $0 i32.const 4 i32.add - local.set $2 + local.set $0 br $for-loop|0 end end - local.get $3 - local.get $4 + local.get $5 + local.get $7 i32.add - local.set $2 + local.set $0 local.get $1 i32.load offset=4 local.set $1 - local.get $5 + local.get $4 i32.const 2 i32.shl local.set $3 - i32.const 0 - local.set $0 loop $for-loop|1 - local.get $0 + local.get $2 local.get $3 i32.lt_u if local.get $0 local.get $2 i32.add - local.get $0 local.get $1 + local.get $2 i32.add i32.load local.tee $4 @@ -34966,10 +35064,10 @@ i32.const 1 call $byn-split-outlined-A$~lib/rt/itcms/__link end - local.get $0 + local.get $2 i32.const 4 i32.add - local.set $0 + local.set $2 br $for-loop|1 end end @@ -35039,15 +35137,15 @@ local.get $1 i32.const 1 i32.sub - local.tee $3 + local.tee $1 i32.const 2 i32.shl i32.add i32.load - local.tee $1 + local.tee $3 i32.store local.get $0 - local.get $3 + local.get $1 i32.store offset=12 local.get $2 i32.const 4 @@ -35057,7 +35155,7 @@ i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $1 + local.get $3 return end i32.const 32064 @@ -35305,12 +35403,12 @@ global.get $~lib/memory/__stack_pointer local.get $0 i32.load offset=4 - local.tee $3 - i32.load local.tee $1 + i32.load + local.tee $3 i32.store - local.get $3 - local.get $3 + local.get $1 + local.get $1 i32.const 4 i32.add local.get $2 @@ -35321,7 +35419,7 @@ i32.shl local.tee $4 call $~lib/memory/memory.copy - local.get $3 + local.get $1 local.get $4 i32.add i32.const 0 @@ -35337,7 +35435,7 @@ i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $1 + local.get $3 return end i32.const 32064 @@ -35555,13 +35653,13 @@ i32.store local.get $0 i32.load offset=12 - local.set $3 + local.set $4 local.get $1 i32.const 0 i32.lt_s if (result i32) local.get $1 - local.get $3 + local.get $4 i32.add local.tee $1 i32.const 0 @@ -35571,9 +35669,9 @@ 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 @@ -35584,7 +35682,7 @@ i32.lt_s if (result i32) local.get $2 - local.get $3 + local.get $4 i32.add local.tee $2 i32.const 0 @@ -35594,9 +35692,9 @@ select else local.get $2 - local.get $3 + local.get $4 local.get $2 - local.get $3 + local.get $4 i32.lt_s select end @@ -35613,49 +35711,47 @@ i32.const 33 i32.const 0 call $~lib/rt/__newArray - local.tee $3 + local.tee $4 i32.store - local.get $3 + local.get $4 i32.load offset=4 - local.set $4 + local.set $5 local.get $0 i32.load offset=4 local.get $1 i32.const 2 i32.shl i32.add - local.set $5 - i32.const 0 local.set $0 local.get $2 i32.const 2 i32.shl local.set $1 loop $while-continue|0 - local.get $0 local.get $1 - i32.lt_u + local.get $3 + i32.gt_u if - local.get $0 - local.get $4 + local.get $3 + local.get $5 i32.add local.get $0 - local.get $5 + local.get $3 i32.add i32.load local.tee $2 i32.store local.get $2 if - local.get $3 + local.get $4 local.get $2 i32.const 1 call $byn-split-outlined-A$~lib/rt/itcms/__link end - local.get $0 + local.get $3 i32.const 4 i32.add - local.set $0 + local.set $3 br $while-continue|0 end end @@ -35667,7 +35763,7 @@ i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $3 + local.get $4 return end i32.const 32064 @@ -35758,30 +35854,30 @@ i32.const 0 i32.gt_s select - local.tee $1 + local.tee $5 i32.const 2 i32.const 33 i32.const 0 call $~lib/rt/__newArray - local.tee $2 + local.tee $1 i32.store - local.get $2 + local.get $1 i32.load offset=4 local.get $0 i32.load offset=4 - local.tee $5 + local.tee $2 local.get $4 i32.const 2 i32.shl i32.add local.tee $6 - local.get $1 + local.get $5 i32.const 2 i32.shl call $~lib/memory/memory.copy local.get $3 - local.get $1 local.get $4 + local.get $5 i32.add local.tee $4 i32.ne @@ -35790,7 +35886,7 @@ local.get $4 i32.const 2 i32.shl - local.get $5 + local.get $2 i32.add local.get $3 local.get $4 @@ -35801,7 +35897,7 @@ end local.get $0 local.get $3 - local.get $1 + local.get $5 i32.sub i32.store offset=12 global.get $~lib/memory/__stack_pointer @@ -35812,7 +35908,7 @@ i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $2 + local.get $1 return end i32.const 32064 @@ -35843,6 +35939,7 @@ local.get $0 i32.store local.get $0 + local.tee $1 i32.load offset=4 local.set $2 local.get $0 @@ -35863,6 +35960,8 @@ i32.const 1 i32.gt_u if + i32.const 0 + local.set $0 local.get $4 i32.const 1 i32.shr_u @@ -35870,40 +35969,40 @@ local.get $4 i32.const 1 i32.sub - local.set $3 + local.set $4 loop $while-continue|0 - local.get $1 + local.get $0 local.get $5 i32.lt_u if global.get $~lib/memory/__stack_pointer - local.get $1 + local.get $0 i32.const 2 i32.shl local.get $2 i32.add - local.tee $4 - i32.load local.tee $6 + i32.load + local.tee $3 i32.store + local.get $6 local.get $4 - local.get $3 - local.get $1 + local.get $0 i32.sub i32.const 2 i32.shl local.get $2 i32.add - local.tee $4 + local.tee $6 i32.load i32.store - local.get $4 local.get $6 + local.get $3 i32.store - local.get $1 + local.get $0 i32.const 1 i32.add - local.set $1 + local.set $0 br $while-continue|0 end end @@ -35916,7 +36015,7 @@ i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $0 + local.get $1 return end i32.const 32064 diff --git a/tests/compiler/std/arraybuffer.optimized.wat b/tests/compiler/std/arraybuffer.optimized.wat index 65e99ff7d4..13d74b7958 100644 --- a/tests/compiler/std/arraybuffer.optimized.wat +++ b/tests/compiler/std/arraybuffer.optimized.wat @@ -738,12 +738,12 @@ (local $0 i32) (local $1 i32) memory.size - local.tee $0 + local.tee $1 i32.const 0 i32.le_s if (result i32) i32.const 1 - local.get $0 + local.get $1 i32.sub memory.grow i32.const 0 @@ -761,11 +761,11 @@ i32.const 0 i32.store loop $for-loop|0 - local.get $1 + local.get $0 i32.const 23 i32.lt_u if - local.get $1 + local.get $0 i32.const 2 i32.shl i32.const 18240 @@ -773,14 +773,14 @@ i32.const 0 i32.store offset=4 i32.const 0 - local.set $0 + local.set $1 loop $for-loop|1 - local.get $0 + local.get $1 i32.const 16 i32.lt_u if - local.get $0 local.get $1 + local.get $0 i32.const 4 i32.shl i32.add @@ -790,17 +790,17 @@ i32.add i32.const 0 i32.store offset=96 - local.get $0 + local.get $1 i32.const 1 i32.add - local.set $0 + local.set $1 br $for-loop|1 end end - local.get $1 + local.get $0 i32.const 1 i32.add - local.set $1 + local.set $0 br $for-loop|0 end end @@ -2555,29 +2555,19 @@ end ) (func $~lib/rt/__visit_members (param $0 i32) - block $folding-inner1 - block $folding-inner0 + block $folding-inner2 + block $folding-inner1 block $invalid - block $~lib/array/Array - block $~lib/string/String - block $~lib/arraybuffer/ArrayBuffer - local.get $0 - i32.const 8 - i32.sub - i32.load - br_table $~lib/arraybuffer/ArrayBuffer $~lib/string/String $folding-inner0 $~lib/array/Array $folding-inner1 $folding-inner1 $folding-inner1 $folding-inner1 $folding-inner1 $folding-inner1 $folding-inner1 $folding-inner1 $folding-inner1 $folding-inner1 $folding-inner1 $folding-inner0 $invalid - end - return + block $~lib/string/String + block $~lib/arraybuffer/ArrayBuffer + local.get $0 + i32.const 8 + i32.sub + i32.load + br_table $~lib/arraybuffer/ArrayBuffer $~lib/string/String $folding-inner1 $folding-inner2 $folding-inner2 $folding-inner2 $folding-inner2 $folding-inner2 $folding-inner2 $folding-inner2 $folding-inner2 $folding-inner2 $folding-inner2 $folding-inner2 $folding-inner2 $folding-inner1 $invalid end return end - local.get $0 - i32.load - local.tee $0 - if - local.get $0 - call $byn-split-outlined-A$~lib/rt/itcms/__visit - end return end unreachable @@ -2885,6 +2875,7 @@ end global.get $~lib/memory/__stack_pointer local.tee $0 + local.get $0 i32.const 4 i32.sub global.set $~lib/memory/__stack_pointer @@ -2893,27 +2884,26 @@ i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer - local.tee $1 + local.tee $0 i32.const 0 i32.store - local.get $1 + local.get $0 i32.const 12 i32.const 5 call $~lib/rt/itcms/__new - local.tee $1 + local.tee $0 i32.store global.get $~lib/memory/__stack_pointer - local.get $1 + local.get $0 i32.const 0 call $~lib/arraybuffer/ArrayBufferView#constructor - local.tee $1 + local.tee $0 i32.store global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer local.get $0 - local.get $1 i32.store offset=8 global.get $~lib/memory/__stack_pointer i32.const 4 @@ -2924,7 +2914,7 @@ i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer - local.tee $0 + local.tee $1 i32.const 0 i32.store i32.const 8 @@ -2934,28 +2924,28 @@ i32.const 1632 i32.const 8 call $~lib/memory/memory.copy - local.get $0 + local.get $1 local.get $2 i32.store i32.const 16 i32.const 3 call $~lib/rt/itcms/__new - local.tee $0 + local.tee $1 local.get $2 i32.store local.get $2 if - local.get $0 + local.get $1 local.get $2 call $byn-split-outlined-A$~lib/rt/itcms/__link end - local.get $0 + local.get $1 local.get $2 i32.store offset=4 - local.get $0 + local.get $1 i32.const 8 i32.store offset=8 - local.get $0 + local.get $1 i32.const 2 i32.store offset=12 global.get $~lib/memory/__stack_pointer @@ -2963,7 +2953,7 @@ i32.add global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - local.get $0 + local.get $1 i32.store offset=12 global.get $~lib/memory/__stack_pointer i32.const 4 @@ -2974,30 +2964,30 @@ i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer - local.tee $0 + local.tee $1 i32.const 0 i32.store - local.get $0 + local.get $1 i32.const 12 i32.const 9 call $~lib/rt/itcms/__new - local.tee $0 + local.tee $1 i32.store global.get $~lib/memory/__stack_pointer - local.get $0 + local.get $1 i32.const 2 call $~lib/arraybuffer/ArrayBufferView#constructor - local.tee $0 + local.tee $1 i32.store global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - local.get $0 + local.get $1 i32.store offset=12 global.get $~lib/memory/__stack_pointer - local.get $1 + local.get $0 i32.load local.tee $0 i32.store offset=16 @@ -3033,12 +3023,12 @@ local.get $2 i32.const 0 i32.store offset=8 + local.get $1 local.get $0 i32.const 20 i32.sub i32.load offset=16 - local.get $1 - i32.lt_u + i32.gt_u local.get $1 i32.const 1073741820 i32.gt_u diff --git a/tests/compiler/std/dataview.optimized.wat b/tests/compiler/std/dataview.optimized.wat index 41d48e4299..63bf8dfbd3 100644 --- a/tests/compiler/std/dataview.optimized.wat +++ b/tests/compiler/std/dataview.optimized.wat @@ -744,12 +744,12 @@ (local $0 i32) (local $1 i32) memory.size - local.tee $0 + local.tee $1 i32.const 0 i32.le_s if (result i32) i32.const 1 - local.get $0 + local.get $1 i32.sub memory.grow i32.const 0 @@ -767,11 +767,11 @@ i32.const 0 i32.store loop $for-loop|0 - local.get $1 + local.get $0 i32.const 23 i32.lt_u if - local.get $1 + local.get $0 i32.const 2 i32.shl i32.const 18176 @@ -779,14 +779,14 @@ i32.const 0 i32.store offset=4 i32.const 0 - local.set $0 + local.set $1 loop $for-loop|1 - local.get $0 + local.get $1 i32.const 16 i32.lt_u if - local.get $0 local.get $1 + local.get $0 i32.const 4 i32.shl i32.add @@ -796,17 +796,17 @@ i32.add i32.const 0 i32.store offset=96 - local.get $0 + local.get $1 i32.const 1 i32.add - local.set $0 + local.set $1 br $for-loop|1 end end - local.get $1 + local.get $0 i32.const 1 i32.add - local.set $1 + local.set $0 br $for-loop|0 end end @@ -2442,10 +2442,10 @@ i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer - local.tee $1 + local.tee $2 i64.const 0 i64.store - local.get $1 + local.get $2 i32.const 0 i32.store offset=8 memory.size @@ -2480,7 +2480,7 @@ i32.store i32.const 1456 global.set $~lib/rt/itcms/fromSpace - local.get $1 + local.get $2 i32.const 4 i32.sub global.set $~lib/memory/__stack_pointer @@ -2499,7 +2499,8 @@ local.tee $0 i32.store global.get $~lib/memory/__stack_pointer - global.get $~lib/memory/__stack_pointer + local.tee $3 + local.get $3 i32.const 8 i32.sub global.set $~lib/memory/__stack_pointer @@ -2560,7 +2561,7 @@ i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $1 + local.get $2 local.get $0 i32.store local.get $0 diff --git a/tests/compiler/std/date.optimized.wat b/tests/compiler/std/date.optimized.wat index 44fa1b416f..5dd1102445 100644 --- a/tests/compiler/std/date.optimized.wat +++ b/tests/compiler/std/date.optimized.wat @@ -1104,12 +1104,12 @@ (local $0 i32) (local $1 i32) memory.size - local.tee $0 + local.tee $1 i32.const 0 i32.le_s if (result i32) i32.const 1 - local.get $0 + local.get $1 i32.sub memory.grow i32.const 0 @@ -1127,11 +1127,11 @@ i32.const 0 i32.store loop $for-loop|0 - local.get $1 + local.get $0 i32.const 23 i32.lt_u if - local.get $1 + local.get $0 i32.const 2 i32.shl i32.const 23952 @@ -1139,14 +1139,14 @@ i32.const 0 i32.store offset=4 i32.const 0 - local.set $0 + local.set $1 loop $for-loop|1 - local.get $0 + local.get $1 i32.const 16 i32.lt_u if - local.get $0 local.get $1 + local.get $0 i32.const 4 i32.shl i32.add @@ -1156,17 +1156,17 @@ i32.add i32.const 0 i32.store offset=96 - local.get $0 + local.get $1 i32.const 1 i32.add - local.set $0 + local.set $1 br $for-loop|1 end end - local.get $1 + local.get $0 i32.const 1 i32.add - local.set $1 + local.set $0 br $for-loop|0 end end @@ -3825,20 +3825,20 @@ (local $5 i32) (local $6 i32) (local $7 i32) - (local $8 i32) local.get $0 local.tee $2 i32.load offset=8 - local.tee $0 - i32.const 2 - i32.shr_u + local.set $0 local.get $2 i32.load offset=12 local.tee $5 i32.const 1 i32.add local.tee $4 - i32.lt_u + local.get $0 + i32.const 2 + i32.shr_u + i32.gt_u if local.get $4 i32.const 268435455 @@ -3875,14 +3875,13 @@ local.get $3 i32.gt_u select - local.tee $7 + local.tee $6 local.get $2 i32.load - local.tee $6 - local.tee $0 + local.tee $3 i32.const 20 i32.sub - local.tee $8 + local.tee $7 i32.load i32.const -4 i32.and @@ -3890,31 +3889,31 @@ i32.sub i32.le_u if - local.get $8 local.get $7 + local.get $6 i32.store offset=16 + local.get $3 + local.set $0 br $__inlined_func$~lib/rt/itcms/__renew end + local.get $6 local.get $7 - local.get $8 i32.load offset=12 call $~lib/rt/itcms/__new - local.tee $3 - local.get $0 + local.tee $0 + local.get $3 + local.get $6 local.get $7 - local.get $8 i32.load offset=16 - local.tee $0 - local.get $0 + local.tee $7 + local.get $6 local.get $7 - i32.gt_u + i32.lt_u select call $~lib/memory/memory.copy - local.get $3 - local.set $0 end local.get $0 - local.get $6 + local.get $3 i32.ne if local.get $2 @@ -3932,7 +3931,7 @@ end end local.get $2 - local.get $7 + local.get $6 i32.store offset=8 end local.get $2 @@ -4405,11 +4404,11 @@ i64.store offset=104 local.get $0 i32.load - local.tee $3 + local.tee $1 i32.const 0 i32.lt_s - local.tee $1 - local.get $3 + local.tee $3 + local.get $1 i32.const 10000 i32.ge_s i32.or @@ -4418,16 +4417,16 @@ local.tee $4 i32.const 1616 i32.const 1648 - local.get $1 + local.get $3 select - local.tee $5 + local.tee $3 i32.store - local.get $3 + local.get $1 i32.const 31 i32.shr_s - local.tee $1 + local.tee $5 local.get $1 - local.get $3 + local.get $5 i32.add i32.xor call $~lib/number/I32#toString @@ -4446,23 +4445,23 @@ local.get $1 i32.store offset=4 local.get $4 - local.get $5 + local.get $3 local.get $1 call $~lib/string/String.__concat local.tee $1 i32.store offset=16 else global.get $~lib/memory/__stack_pointer - local.get $3 + local.get $1 call $~lib/number/I32#toString - local.set $3 + local.set $1 global.get $~lib/memory/__stack_pointer - local.get $3 + local.get $1 i32.store global.get $~lib/memory/__stack_pointer i32.const 1872 i32.store offset=8 - local.get $3 + local.get $1 i32.const 4 call $~lib/string/String#padStart local.tee $1 @@ -5124,8 +5123,8 @@ ) (func $~lib/date/Date#toUTCString (param $0 i32) (result i32) (local $1 i32) - (local $2 i32) - (local $3 i64) + (local $2 i64) + (local $3 i32) (local $4 i32) (local $5 i32) (local $6 i32) @@ -5148,51 +5147,51 @@ unreachable end 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 i64.const 0 i64.store offset=16 - local.get $2 + local.get $1 i64.const 0 i64.store offset=24 - local.get $2 + local.get $1 i64.const 0 i64.store offset=32 - local.get $2 + local.get $1 i64.const 0 i64.store offset=40 - local.get $2 + local.get $1 i64.const 0 i64.store offset=48 - local.get $2 + local.get $1 i64.const 0 i64.store offset=56 - local.get $2 + local.get $1 i64.const 0 i64.store offset=64 - local.get $2 + local.get $1 i64.const 0 i64.store offset=72 - local.get $2 + local.get $1 i64.const 0 i64.store offset=80 - local.get $2 + local.get $1 i64.const 0 i64.store offset=88 i32.const 28 i32.const 4 call $~lib/rt/itcms/__new - local.tee $1 + local.tee $4 i32.const 5616 i32.const 28 call $~lib/memory/memory.copy - local.get $2 local.get $1 + local.get $4 i32.store global.get $~lib/memory/__stack_pointer i32.const 48 @@ -5209,33 +5208,33 @@ local.tee $6 local.get $0 i32.load offset=4 - local.tee $4 + local.tee $3 i32.const 3 i32.lt_s i32.sub - local.set $2 + local.set $1 i32.const 7 i32.const 0 local.get $0 i32.load offset=8 local.tee $7 - local.get $4 + local.get $3 i32.const 1579 i32.add i32.load8_u - local.get $2 - local.get $2 + local.get $1 + local.get $1 i32.const 3 i32.sub - local.get $2 + local.get $1 i32.const 0 i32.ge_s local.tee $8 select i32.const 4 i32.div_s - local.get $2 - local.get $2 + local.get $1 + local.get $1 i32.const 99 i32.sub local.get $8 @@ -5243,8 +5242,8 @@ i32.const 100 i32.div_s i32.sub - local.get $2 - local.get $2 + local.get $1 + local.get $1 i32.const 399 i32.sub local.get $8 @@ -5252,17 +5251,17 @@ i32.const 400 i32.div_s i32.add - local.get $2 + local.get $1 i32.add i32.add i32.add i32.const 7 i32.rem_s - local.tee $2 + local.tee $1 i32.const 0 i32.lt_s select - local.get $2 + local.get $1 i32.add local.set $8 global.get $~lib/memory/__stack_pointer @@ -5285,7 +5284,7 @@ local.get $9 i32.const 4 call $~lib/string/String#padStart - local.tee $2 + local.tee $1 i32.store offset=16 local.get $6 i32.const 0 @@ -5297,19 +5296,19 @@ i32.store offset=8 local.get $6 i32.const 1616 - local.get $2 + local.get $1 call $~lib/string/String.__concat - local.tee $2 + local.tee $1 i32.store offset=16 end global.get $~lib/memory/__stack_pointer local.get $8 i32.const 2 i32.shl - local.get $1 + local.get $4 i32.add i32.load - local.tee $1 + local.tee $4 i32.store offset=80 local.get $7 call $~lib/number/I32#toString @@ -5327,15 +5326,15 @@ global.get $~lib/memory/__stack_pointer local.get $6 i32.store offset=84 - local.get $1 + local.get $4 local.get $6 call $~lib/string/String.__concat - local.set $1 + local.set $4 global.get $~lib/memory/__stack_pointer - local.get $1 + local.get $4 i32.store offset=72 global.get $~lib/memory/__stack_pointer - local.get $4 + local.get $3 i32.const 1 i32.sub i32.const 2 @@ -5343,17 +5342,17 @@ local.get $5 i32.add i32.load - local.tee $4 + local.tee $3 i32.store offset=76 - local.get $1 local.get $4 + local.get $3 call $~lib/string/String.__concat - local.set $1 + local.set $3 global.get $~lib/memory/__stack_pointer - local.get $1 + local.get $3 i32.store offset=68 + local.get $3 local.get $1 - local.get $2 call $~lib/string/String.__concat local.set $1 global.get $~lib/memory/__stack_pointer @@ -5375,32 +5374,32 @@ i64.load offset=16 i64.const 86400000 i64.rem_s - local.tee $3 + local.tee $2 i64.const 0 i64.lt_s select - local.get $3 + local.get $2 i64.add i32.wrap_i64 i32.const 3600000 i32.div_s call $~lib/number/I32#toString - local.set $2 + local.set $3 global.get $~lib/memory/__stack_pointer - local.get $2 + local.get $3 i32.store offset=60 global.get $~lib/memory/__stack_pointer i32.const 1872 i32.store offset=68 - local.get $2 + local.get $3 i32.const 2 call $~lib/string/String#padStart - local.set $2 + local.set $3 global.get $~lib/memory/__stack_pointer - local.get $2 + local.get $3 i32.store offset=56 local.get $1 - local.get $2 + local.get $3 call $~lib/string/String.__concat local.set $1 global.get $~lib/memory/__stack_pointer @@ -5422,32 +5421,32 @@ i64.load offset=16 i64.const 3600000 i64.rem_s - local.tee $3 + local.tee $2 i64.const 0 i64.lt_s select - local.get $3 + local.get $2 i64.add i32.wrap_i64 i32.const 60000 i32.div_s call $~lib/number/I32#toString - local.set $2 + local.set $3 global.get $~lib/memory/__stack_pointer - local.get $2 + local.get $3 i32.store offset=44 global.get $~lib/memory/__stack_pointer i32.const 1872 i32.store offset=52 - local.get $2 + local.get $3 i32.const 2 call $~lib/string/String#padStart - local.set $2 + local.set $3 global.get $~lib/memory/__stack_pointer - local.get $2 + local.get $3 i32.store offset=40 local.get $1 - local.get $2 + local.get $3 call $~lib/string/String.__concat local.set $1 global.get $~lib/memory/__stack_pointer @@ -5469,11 +5468,11 @@ i64.load offset=16 i64.const 60000 i64.rem_s - local.tee $3 + local.tee $2 i64.const 0 i64.lt_s select - local.get $3 + local.get $2 i64.add i32.wrap_i64 i32.const 1000 @@ -5547,39 +5546,39 @@ i64.store offset=16 block $folding-inner2 block $folding-inner1 - block $folding-inner0 + local.get $1 + i32.eqz + if + global.get $~lib/memory/__stack_pointer + i32.const 1 + call $~lib/rt/__newArray + local.tee $1 + i32.store + global.get $~lib/memory/__stack_pointer local.get $1 - i32.eqz + i32.load offset=4 + i32.store offset=4 + local.get $1 + i32.load offset=4 + local.get $0 + i32.store + local.get $0 if - global.get $~lib/memory/__stack_pointer - i32.const 1 - 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 $0 - if - local.get $1 - local.get $0 - i32.const 1 - call $byn-split-outlined-A$~lib/rt/itcms/__link - end - br $folding-inner0 + i32.const 1 + call $byn-split-outlined-A$~lib/rt/itcms/__link end - local.get $0 - i32.const 20 - i32.sub - i32.load offset=16 - i32.const 1 - i32.shr_u - local.set $8 + br $folding-inner1 + end + local.get $0 + i32.const 20 + i32.sub + i32.load offset=16 + i32.const 1 + i32.shr_u + local.set $8 + block $folding-inner0 local.get $1 i32.const 20 i32.sub @@ -5600,17 +5599,17 @@ i32.load offset=4 i32.const 3456 i32.store - br $folding-inner1 - end - else + global.get $~lib/memory/__stack_pointer + i32.const 24 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $0 + return + end + else local.get $8 i32.eqz - if - i32.const 0 - call $~lib/rt/__newArray - local.set $0 - br $folding-inner1 - end + br_if $folding-inner0 global.get $~lib/memory/__stack_pointer local.get $8 i32.const 2147483647 @@ -5665,7 +5664,7 @@ br $for-loop|0 end end - br $folding-inner0 + br $folding-inner1 end global.get $~lib/memory/__stack_pointer i32.const 0 @@ -5780,18 +5779,15 @@ local.get $3 return end - global.get $~lib/memory/__stack_pointer - i32.const 24 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $1 - return + i32.const 0 + call $~lib/rt/__newArray + local.set $1 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 @@ -5997,7 +5993,7 @@ local.set $1 local.get $0 i32.load offset=12 - local.tee $7 + local.tee $6 i32.const 2 i32.ge_s if (result i32) @@ -6011,7 +6007,7 @@ local.get $1 call $~lib/util/string/strtol local.set $1 - local.get $7 + local.get $6 i32.const 3 i32.ge_s if (result i32) @@ -6047,9 +6043,8 @@ (func $start:std/date (local $0 i32) (local $1 i64) - (local $2 i64) + (local $2 i32) (local $3 i32) - (local $4 i32) global.get $~lib/memory/__stack_pointer i32.const 36 i32.sub @@ -6081,18 +6076,16 @@ local.get $0 i32.const 0 i32.store offset=32 - i32.const 1970 - i32.const 1 - i32.const 1 - i32.const 0 - i32.const 0 - i32.const 0 - i32.const 0 - call $~lib/date/epochMillis - local.tee $1 - local.set $2 block $folding-inner0 - local.get $1 + i32.const 1970 + i32.const 1 + i32.const 1 + i32.const 0 + i32.const 0 + i32.const 0 + i32.const 0 + call $~lib/date/epochMillis + local.tee $1 i64.const -8640000000000000 i64.lt_s local.get $1 @@ -6100,7 +6093,7 @@ i64.gt_s i32.or br_if $folding-inner0 - local.get $2 + local.get $1 i64.eqz i32.eqz if @@ -6120,7 +6113,6 @@ i32.const 0 call $~lib/date/epochMillis local.tee $1 - local.get $1 i64.const -8640000000000000 i64.lt_s local.get $1 @@ -6128,6 +6120,7 @@ i64.gt_s i32.or br_if $folding-inner0 + local.get $1 i64.eqz i32.eqz if @@ -6147,7 +6140,6 @@ i32.const 0 call $~lib/date/epochMillis local.tee $1 - local.get $1 i64.const -8640000000000000 i64.lt_s local.get $1 @@ -6155,6 +6147,7 @@ i64.gt_s i32.or br_if $folding-inner0 + local.get $1 i64.eqz i32.eqz if @@ -6174,7 +6167,6 @@ i32.const 0 call $~lib/date/epochMillis local.tee $1 - local.get $1 i64.const -8640000000000000 i64.lt_s local.get $1 @@ -6182,6 +6174,7 @@ i64.gt_s i32.or br_if $folding-inner0 + local.get $1 i64.const 631152000000 i64.ne if @@ -6201,7 +6194,6 @@ i32.const 0 call $~lib/date/epochMillis local.tee $1 - local.get $1 i64.const -8640000000000000 i64.lt_s local.get $1 @@ -6209,6 +6201,7 @@ i64.gt_s i32.or br_if $folding-inner0 + local.get $1 i64.const -65007360000000 i64.ne if @@ -6228,7 +6221,6 @@ i32.const 1 call $~lib/date/epochMillis local.tee $1 - local.get $1 i64.const -8640000000000000 i64.lt_s local.get $1 @@ -6236,6 +6228,7 @@ i64.gt_s i32.or br_if $folding-inner0 + local.get $1 i64.const 1541847600001 i64.ne if @@ -6255,7 +6248,6 @@ i32.const 0 call $~lib/date/epochMillis local.tee $1 - local.get $1 i64.const -8640000000000000 i64.lt_s local.get $1 @@ -6263,6 +6255,7 @@ i64.gt_s i32.or br_if $folding-inner0 + local.get $1 i64.const 8640000000000000 i64.ne if @@ -7472,32 +7465,32 @@ i32.load local.get $0 i32.load offset=4 - local.tee $3 + local.tee $2 i32.const 3 i32.lt_s i32.sub - local.set $4 + local.set $3 i32.const 7 i32.const 0 local.get $0 i32.load offset=8 - local.get $3 + local.get $2 i32.const 1579 i32.add i32.load8_u - local.get $4 - local.get $4 + local.get $3 + local.get $3 i32.const 3 i32.sub - local.get $4 + local.get $3 i32.const 0 i32.ge_s local.tee $0 select i32.const 4 i32.div_s - local.get $4 - local.get $4 + local.get $3 + local.get $3 i32.const 99 i32.sub local.get $0 @@ -7505,8 +7498,8 @@ i32.const 100 i32.div_s i32.sub - local.get $4 - local.get $4 + local.get $3 + local.get $3 i32.const 399 i32.sub local.get $0 @@ -7514,7 +7507,7 @@ i32.const 400 i32.div_s i32.add - local.get $4 + local.get $3 i32.add i32.add i32.add @@ -7545,32 +7538,32 @@ i32.load local.get $0 i32.load offset=4 - local.tee $3 + local.tee $2 i32.const 3 i32.lt_s i32.sub - local.set $4 + local.set $3 i32.const 7 i32.const 0 local.get $0 i32.load offset=8 - local.get $3 + local.get $2 i32.const 1579 i32.add i32.load8_u - local.get $4 - local.get $4 + local.get $3 + local.get $3 i32.const 3 i32.sub - local.get $4 + local.get $3 i32.const 0 i32.ge_s local.tee $0 select i32.const 4 i32.div_s - local.get $4 - local.get $4 + local.get $3 + local.get $3 i32.const 99 i32.sub local.get $0 @@ -7578,8 +7571,8 @@ i32.const 100 i32.div_s i32.sub - local.get $4 - local.get $4 + local.get $3 + local.get $3 i32.const 399 i32.sub local.get $0 @@ -7587,7 +7580,7 @@ i32.const 400 i32.div_s i32.add - local.get $4 + local.get $3 i32.add i32.add i32.add @@ -7618,32 +7611,32 @@ i32.load local.get $0 i32.load offset=4 - local.tee $3 + local.tee $2 i32.const 3 i32.lt_s i32.sub - local.set $4 + local.set $3 i32.const 7 i32.const 0 local.get $0 i32.load offset=8 - local.get $3 + local.get $2 i32.const 1579 i32.add i32.load8_u - local.get $4 - local.get $4 + local.get $3 + local.get $3 i32.const 3 i32.sub - local.get $4 + local.get $3 i32.const 0 i32.ge_s local.tee $0 select i32.const 4 i32.div_s - local.get $4 - local.get $4 + local.get $3 + local.get $3 i32.const 99 i32.sub local.get $0 @@ -7651,8 +7644,8 @@ i32.const 100 i32.div_s i32.sub - local.get $4 - local.get $4 + local.get $3 + local.get $3 i32.const 399 i32.sub local.get $0 @@ -7660,7 +7653,7 @@ i32.const 400 i32.div_s i32.add - local.get $4 + local.get $3 i32.add i32.add i32.add @@ -7691,32 +7684,32 @@ i32.load local.get $0 i32.load offset=4 - local.tee $3 + local.tee $2 i32.const 3 i32.lt_s i32.sub - local.set $4 + local.set $3 i32.const 7 i32.const 0 local.get $0 i32.load offset=8 - local.get $3 + local.get $2 i32.const 1579 i32.add i32.load8_u - local.get $4 - local.get $4 + local.get $3 + local.get $3 i32.const 3 i32.sub - local.get $4 + local.get $3 i32.const 0 i32.ge_s local.tee $0 select i32.const 4 i32.div_s - local.get $4 - local.get $4 + local.get $3 + local.get $3 i32.const 99 i32.sub local.get $0 @@ -7724,8 +7717,8 @@ i32.const 100 i32.div_s i32.sub - local.get $4 - local.get $4 + local.get $3 + local.get $3 i32.const 399 i32.sub local.get $0 @@ -7733,7 +7726,7 @@ i32.const 400 i32.div_s i32.add - local.get $4 + local.get $3 i32.add i32.add i32.add @@ -7764,32 +7757,32 @@ i32.load local.get $0 i32.load offset=4 - local.tee $3 + local.tee $2 i32.const 3 i32.lt_s i32.sub - local.set $4 + local.set $3 i32.const 7 i32.const 0 local.get $0 i32.load offset=8 - local.get $3 + local.get $2 i32.const 1579 i32.add i32.load8_u - local.get $4 - local.get $4 + local.get $3 + local.get $3 i32.const 3 i32.sub - local.get $4 + local.get $3 i32.const 0 i32.ge_s local.tee $0 select i32.const 4 i32.div_s - local.get $4 - local.get $4 + local.get $3 + local.get $3 i32.const 99 i32.sub local.get $0 @@ -7797,8 +7790,8 @@ i32.const 100 i32.div_s i32.sub - local.get $4 - local.get $4 + local.get $3 + local.get $3 i32.const 399 i32.sub local.get $0 @@ -7806,7 +7799,7 @@ i32.const 400 i32.div_s i32.add - local.get $4 + local.get $3 i32.add i32.add i32.add @@ -7837,32 +7830,32 @@ i32.load local.get $0 i32.load offset=4 - local.tee $3 + local.tee $2 i32.const 3 i32.lt_s i32.sub - local.set $4 + local.set $3 i32.const 7 i32.const 0 local.get $0 i32.load offset=8 - local.get $3 + local.get $2 i32.const 1579 i32.add i32.load8_u - local.get $4 - local.get $4 + local.get $3 + local.get $3 i32.const 3 i32.sub - local.get $4 + local.get $3 i32.const 0 i32.ge_s local.tee $0 select i32.const 4 i32.div_s - local.get $4 - local.get $4 + local.get $3 + local.get $3 i32.const 99 i32.sub local.get $0 @@ -7870,8 +7863,8 @@ i32.const 100 i32.div_s i32.sub - local.get $4 - local.get $4 + local.get $3 + local.get $3 i32.const 399 i32.sub local.get $0 @@ -7879,7 +7872,7 @@ i32.const 400 i32.div_s i32.add - local.get $4 + local.get $3 i32.add i32.add i32.add @@ -7910,32 +7903,32 @@ i32.load local.get $0 i32.load offset=4 - local.tee $3 + local.tee $2 i32.const 3 i32.lt_s i32.sub - local.set $4 + local.set $3 i32.const 7 i32.const 0 local.get $0 i32.load offset=8 - local.get $3 + local.get $2 i32.const 1579 i32.add i32.load8_u - local.get $4 - local.get $4 + local.get $3 + local.get $3 i32.const 3 i32.sub - local.get $4 + local.get $3 i32.const 0 i32.ge_s local.tee $0 select i32.const 4 i32.div_s - local.get $4 - local.get $4 + local.get $3 + local.get $3 i32.const 99 i32.sub local.get $0 @@ -7943,8 +7936,8 @@ i32.const 100 i32.div_s i32.sub - local.get $4 - local.get $4 + local.get $3 + local.get $3 i32.const 399 i32.sub local.get $0 @@ -7952,7 +7945,7 @@ i32.const 400 i32.div_s i32.add - local.get $4 + local.get $3 i32.add i32.add i32.add @@ -7983,32 +7976,32 @@ i32.load local.get $0 i32.load offset=4 - local.tee $3 + local.tee $2 i32.const 3 i32.lt_s i32.sub - local.set $4 + local.set $3 i32.const 7 i32.const 0 local.get $0 i32.load offset=8 - local.get $3 + local.get $2 i32.const 1579 i32.add i32.load8_u - local.get $4 - local.get $4 + local.get $3 + local.get $3 i32.const 3 i32.sub - local.get $4 + local.get $3 i32.const 0 i32.ge_s local.tee $0 select i32.const 4 i32.div_s - local.get $4 - local.get $4 + local.get $3 + local.get $3 i32.const 99 i32.sub local.get $0 @@ -8016,8 +8009,8 @@ i32.const 100 i32.div_s i32.sub - local.get $4 - local.get $4 + local.get $3 + local.get $3 i32.const 399 i32.sub local.get $0 @@ -8025,7 +8018,7 @@ i32.const 400 i32.div_s i32.add - local.get $4 + local.get $3 i32.add i32.add i32.add @@ -8937,7 +8930,7 @@ global.get $~lib/memory/__stack_pointer i64.const 8640000000000000 call $~lib/date/Date#constructor - local.tee $3 + local.tee $2 i32.store local.get $0 i64.load offset=16 @@ -8951,7 +8944,7 @@ call $~lib/builtins/abort unreachable end - local.get $3 + local.get $2 i64.load offset=16 i64.const 8640000000000000 i64.ne @@ -8975,7 +8968,7 @@ call $~lib/builtins/abort unreachable end - local.get $3 + local.get $2 i32.load i32.const 275760 i32.ne @@ -8999,7 +8992,7 @@ call $~lib/builtins/abort unreachable end - local.get $3 + local.get $2 i32.load offset=4 i32.const 9 i32.ne @@ -9023,7 +9016,7 @@ call $~lib/builtins/abort unreachable end - local.get $3 + local.get $2 i32.load offset=8 i32.const 13 i32.ne @@ -9039,10 +9032,10 @@ call $~lib/date/Date#toISOString local.set $0 global.get $~lib/memory/__stack_pointer - local.tee $4 + local.tee $3 local.get $0 i32.store offset=28 - local.get $4 + local.get $3 i32.const 7200 i32.store offset=32 local.get $0 @@ -9057,14 +9050,14 @@ call $~lib/builtins/abort unreachable end - local.get $3 + local.get $2 call $~lib/date/Date#toISOString local.set $0 global.get $~lib/memory/__stack_pointer - local.tee $3 + local.tee $2 local.get $0 i32.store offset=28 - local.get $3 + local.get $2 i32.const 7280 i32.store offset=32 local.get $0 @@ -9087,9 +9080,9 @@ global.get $~lib/memory/__stack_pointer i64.const -8639999999999999 call $~lib/date/Date#constructor - local.tee $3 + local.tee $2 i32.store offset=12 - local.get $3 + local.get $2 i32.load i32.const -271821 i32.ne @@ -9101,7 +9094,7 @@ call $~lib/builtins/abort unreachable end - local.get $3 + local.get $2 i32.load offset=4 i32.const 4 i32.ne @@ -9113,7 +9106,7 @@ call $~lib/builtins/abort unreachable end - local.get $3 + local.get $2 i32.load offset=8 i32.const 20 i32.ne @@ -9127,7 +9120,7 @@ end i64.const 86400000 i64.const 0 - local.get $3 + local.get $2 i64.load offset=16 i64.const 86400000 i64.rem_s @@ -9150,7 +9143,7 @@ end i64.const 3600000 i64.const 0 - local.get $3 + local.get $2 i64.load offset=16 i64.const 3600000 i64.rem_s @@ -9173,7 +9166,7 @@ end i64.const 60000 i64.const 0 - local.get $3 + local.get $2 i64.load offset=16 i64.const 60000 i64.rem_s @@ -9196,7 +9189,7 @@ end i64.const 1000 i64.const 0 - local.get $3 + local.get $2 i64.load offset=16 i64.const 1000 i64.rem_s @@ -9221,10 +9214,10 @@ call $~lib/date/Date#toISOString local.set $0 global.get $~lib/memory/__stack_pointer - local.tee $4 + local.tee $3 local.get $0 i32.store offset=28 - local.get $4 + local.get $3 i32.const 7360 i32.store offset=32 local.get $0 @@ -9239,14 +9232,14 @@ call $~lib/builtins/abort unreachable end - local.get $3 + local.get $2 call $~lib/date/Date#toISOString local.set $0 global.get $~lib/memory/__stack_pointer - local.tee $3 + local.tee $2 local.get $0 i32.store offset=28 - local.get $3 + local.get $2 i32.const 7440 i32.store offset=32 local.get $0 @@ -9535,10 +9528,9 @@ i32.gt_s select local.tee $2 - local.tee $4 + local.get $2 local.get $3 - local.get $4 - i32.lt_s + i32.gt_s select i32.const 1 i32.shl diff --git a/tests/compiler/std/map.optimized.wat b/tests/compiler/std/map.optimized.wat index 5eabd47e1c..ada92b44c6 100644 --- a/tests/compiler/std/map.optimized.wat +++ b/tests/compiler/std/map.optimized.wat @@ -752,12 +752,12 @@ (local $0 i32) (local $1 i32) memory.size - local.tee $0 + local.tee $1 i32.const 0 i32.le_s if (result i32) i32.const 1 - local.get $0 + local.get $1 i32.sub memory.grow i32.const 0 @@ -775,11 +775,11 @@ i32.const 0 i32.store loop $for-loop|0 - local.get $1 + local.get $0 i32.const 23 i32.lt_u if - local.get $1 + local.get $0 i32.const 2 i32.shl i32.const 18416 @@ -787,14 +787,14 @@ i32.const 0 i32.store offset=4 i32.const 0 - local.set $0 + local.set $1 loop $for-loop|1 - local.get $0 + local.get $1 i32.const 16 i32.lt_u if - local.get $0 local.get $1 + local.get $0 i32.const 4 i32.shl i32.add @@ -804,17 +804,17 @@ i32.add i32.const 0 i32.store offset=96 - local.get $0 + local.get $1 i32.const 1 i32.add - local.set $0 + local.set $1 br $for-loop|1 end end - local.get $1 + local.get $0 i32.const 1 i32.add - local.set $1 + local.set $0 br $for-loop|0 end end @@ -1730,7 +1730,7 @@ i32.const 2 i32.shl call $~lib/arraybuffer/ArrayBuffer#constructor - local.tee $5 + local.tee $4 i32.store global.get $~lib/memory/__stack_pointer local.get $2 @@ -1746,7 +1746,7 @@ i32.store offset=4 local.get $0 i32.load offset=8 - local.tee $4 + local.tee $5 local.get $0 i32.load offset=16 i32.const 12 @@ -1756,23 +1756,23 @@ local.get $3 local.set $2 loop $while-continue|0 - local.get $4 + local.get $5 local.get $7 i32.ne if - local.get $4 + local.get $5 i32.load offset=8 i32.const 1 i32.and i32.eqz if local.get $2 - local.get $4 + local.get $5 i32.load8_s local.tee $8 i32.store8 local.get $2 - local.get $4 + local.get $5 i32.load offset=4 i32.store offset=4 local.get $2 @@ -1809,7 +1809,7 @@ i32.and i32.const 2 i32.shl - local.get $5 + local.get $4 i32.add local.tee $8 i32.load @@ -1822,20 +1822,20 @@ i32.add local.set $2 end - local.get $4 + local.get $5 i32.const 12 i32.add - local.set $4 + local.set $5 br $while-continue|0 end end local.get $0 - local.get $5 + local.get $4 i32.store - local.get $5 + local.get $4 if local.get $0 - local.get $5 + local.get $4 call $byn-split-outlined-A$~lib/rt/itcms/__link end local.get $0 @@ -2635,7 +2635,6 @@ (local $5 i32) (local $6 i32) (local $7 i32) - (local $8 i32) local.get $0 i32.load offset=8 local.tee $4 @@ -2657,9 +2656,6 @@ call $~lib/builtins/abort unreachable end - local.get $0 - i32.load - local.set $7 local.get $1 i32.const 8 local.get $1 @@ -2668,8 +2664,11 @@ select local.get $2 i32.shl - local.set $6 - block $__inlined_func$~lib/rt/itcms/__renew + local.set $5 + local.get $0 + i32.load + local.tee $2 + block $__inlined_func$~lib/rt/itcms/__renew (result i32) local.get $3 if local.get $4 @@ -2682,104 +2681,104 @@ i32.lt_u select local.tee $1 - local.get $6 + local.get $5 local.get $1 - local.get $6 + local.get $5 i32.gt_u select - local.set $6 + local.set $5 end - local.get $6 - local.get $7 - local.tee $1 + local.get $2 i32.const 20 i32.sub - local.tee $2 + local.tee $1 i32.load i32.const -4 i32.and i32.const 16 i32.sub - i32.le_u + local.get $5 + i32.ge_u if - local.get $2 - local.get $6 + local.get $1 + local.get $5 i32.store offset=16 + local.get $2 br $__inlined_func$~lib/rt/itcms/__renew end - local.get $6 - local.get $2 + local.get $5 + local.get $1 i32.load offset=12 call $~lib/rt/itcms/__new - local.set $3 - local.get $6 - local.get $2 + local.set $6 + local.get $5 + local.get $1 i32.load offset=16 - local.tee $2 - local.get $2 - local.get $6 + local.tee $1 + local.get $1 + local.get $5 i32.gt_u select - local.set $8 + local.set $7 block $~lib/util/memory/memmove|inlined.0 - local.get $3 - local.tee $2 - local.get $1 + local.get $2 + local.get $6 + local.tee $1 i32.eq br_if $~lib/util/memory/memmove|inlined.0 - local.get $1 local.get $2 + local.get $1 i32.sub - local.get $8 + local.get $7 i32.sub i32.const 0 - local.get $8 + local.get $7 i32.const 1 i32.shl i32.sub i32.le_u if - local.get $2 local.get $1 - local.get $8 + local.get $2 + local.get $7 call $~lib/util/memory/memcpy br $~lib/util/memory/memmove|inlined.0 end local.get $1 local.get $2 - i32.gt_u + i32.lt_u if - local.get $1 + local.get $2 i32.const 7 i32.and - local.get $2 + local.get $1 i32.const 7 i32.and i32.eq if loop $while-continue|0 - local.get $2 + local.get $1 i32.const 7 i32.and if - local.get $8 + local.get $7 i32.eqz br_if $~lib/util/memory/memmove|inlined.0 - local.get $8 + local.get $7 i32.const 1 i32.sub - local.set $8 - local.get $2 - local.tee $5 + local.set $7 + local.get $1 + local.tee $3 i32.const 1 i32.add - local.set $2 - local.get $1 + local.set $1 + local.get $2 local.tee $4 i32.const 1 i32.add - local.set $1 - local.get $5 + local.set $2 + local.get $3 local.get $4 i32.load8_u i32.store8 @@ -2787,81 +2786,81 @@ end end loop $while-continue|1 - local.get $8 + local.get $7 i32.const 8 i32.ge_u if - local.get $2 local.get $1 + local.get $2 i64.load i64.store - local.get $8 + local.get $7 i32.const 8 i32.sub - local.set $8 - local.get $2 - i32.const 8 - i32.add - local.set $2 + local.set $7 local.get $1 i32.const 8 i32.add local.set $1 + local.get $2 + i32.const 8 + i32.add + local.set $2 br $while-continue|1 end end end loop $while-continue|2 - local.get $8 + local.get $7 if - local.get $2 - local.tee $5 + local.get $1 + local.tee $3 i32.const 1 i32.add - local.set $2 - local.get $1 + local.set $1 + local.get $2 local.tee $4 i32.const 1 i32.add - local.set $1 - local.get $5 + local.set $2 + local.get $3 local.get $4 i32.load8_u i32.store8 - local.get $8 + local.get $7 i32.const 1 i32.sub - local.set $8 + local.set $7 br $while-continue|2 end end else - local.get $1 + local.get $2 i32.const 7 i32.and - local.get $2 + local.get $1 i32.const 7 i32.and i32.eq if loop $while-continue|3 - local.get $2 - local.get $8 + local.get $1 + local.get $7 i32.add i32.const 7 i32.and if - local.get $8 + local.get $7 i32.eqz br_if $~lib/util/memory/memmove|inlined.0 - local.get $8 + local.get $7 i32.const 1 i32.sub - local.tee $8 - local.get $2 - i32.add + local.tee $7 local.get $1 - local.get $8 + i32.add + local.get $2 + local.get $7 i32.add i32.load8_u i32.store8 @@ -2869,18 +2868,18 @@ end end loop $while-continue|4 - local.get $8 + local.get $7 i32.const 8 i32.ge_u if - local.get $8 + local.get $7 i32.const 8 i32.sub - local.tee $8 - local.get $2 - i32.add + local.tee $7 local.get $1 - local.get $8 + i32.add + local.get $2 + local.get $7 i32.add i64.load i64.store @@ -2889,16 +2888,16 @@ end end loop $while-continue|5 - local.get $8 + local.get $7 if - local.get $8 + local.get $7 i32.const 1 i32.sub - local.tee $8 - local.get $2 - i32.add + local.tee $7 local.get $1 - local.get $8 + i32.add + local.get $2 + local.get $7 i32.add i32.load8_u i32.store8 @@ -2907,11 +2906,9 @@ end end end - local.get $3 - local.set $1 + local.get $6 end - local.get $1 - local.get $7 + local.tee $1 i32.ne if local.get $0 @@ -2928,7 +2925,7 @@ end end local.get $0 - local.get $6 + local.get $5 i32.store offset=8 end ) @@ -3064,7 +3061,7 @@ i32.const 2 i32.shl call $~lib/arraybuffer/ArrayBuffer#constructor - local.tee $5 + local.tee $4 i32.store global.get $~lib/memory/__stack_pointer local.get $2 @@ -3080,7 +3077,7 @@ i32.store offset=4 local.get $0 i32.load offset=8 - local.tee $4 + local.tee $5 local.get $0 i32.load offset=16 i32.const 12 @@ -3090,23 +3087,23 @@ local.get $3 local.set $2 loop $while-continue|0 - local.get $4 + local.get $5 local.get $7 i32.ne if - local.get $4 + local.get $5 i32.load offset=8 i32.const 1 i32.and i32.eqz if local.get $2 - local.get $4 + local.get $5 i32.load local.tee $8 i32.store local.get $2 - local.get $4 + local.get $5 i32.load offset=4 i32.store offset=4 local.get $2 @@ -3142,7 +3139,7 @@ i32.and i32.const 2 i32.shl - local.get $5 + local.get $4 i32.add local.tee $8 i32.load @@ -3155,20 +3152,20 @@ i32.add local.set $2 end - local.get $4 + local.get $5 i32.const 12 i32.add - local.set $4 + local.set $5 br $while-continue|0 end end local.get $0 - local.get $5 + local.get $4 i32.store - local.get $5 + local.get $4 if local.get $0 - local.get $5 + local.get $4 call $byn-split-outlined-A$~lib/rt/itcms/__link end local.get $0 @@ -3377,28 +3374,27 @@ (local $16 i32) (local $17 i32) (local $18 i32) - (local $19 i32) + global.get $~lib/memory/__stack_pointer + i32.const 20 + i32.sub + global.set $~lib/memory/__stack_pointer block $folding-inner1 - global.get $~lib/memory/__stack_pointer - i32.const 20 - i32.sub - global.set $~lib/memory/__stack_pointer block $folding-inner0 global.get $~lib/memory/__stack_pointer i32.const 2020 i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer - local.tee $5 + local.tee $3 i64.const 0 i64.store - local.get $5 + local.get $3 i64.const 0 i64.store offset=8 - local.get $5 + local.get $3 i32.const 0 i32.store offset=16 - local.get $5 + local.get $3 i32.const 4 i32.sub global.set $~lib/memory/__stack_pointer @@ -3407,69 +3403,67 @@ i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer - local.tee $2 + local.tee $4 i32.const 0 i32.store - local.get $2 + local.get $4 i32.const 24 i32.const 3 call $~lib/rt/itcms/__new - local.tee $9 + local.tee $5 i32.store - local.get $9 + local.get $5 i32.const 16 call $~lib/arraybuffer/ArrayBuffer#constructor - local.tee $3 + local.tee $4 i32.store - local.get $9 - local.set $2 - local.get $3 + local.get $4 if - local.get $2 - local.get $3 + local.get $5 + local.get $4 call $byn-split-outlined-A$~lib/rt/itcms/__link end - local.get $2 + local.get $5 i32.const 3 i32.store offset=4 - local.get $2 + local.get $5 i32.const 48 call $~lib/arraybuffer/ArrayBuffer#constructor - local.tee $3 + local.tee $4 i32.store offset=8 - local.get $3 + local.get $4 if - local.get $2 - local.get $3 + local.get $5 + local.get $4 call $byn-split-outlined-A$~lib/rt/itcms/__link end - local.get $2 + local.get $5 i32.const 4 i32.store offset=12 - local.get $2 + local.get $5 i32.const 0 i32.store offset=16 - local.get $2 + 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 $5 - local.get $2 i32.store loop $for-loop|1 - local.get $0 + local.get $2 i32.extend8_s i32.const 100 i32.lt_s if - local.get $2 + local.get $5 i32.load - local.get $2 + local.get $5 i32.load offset=4 - local.get $0 + local.get $2 local.tee $3 i32.extend8_s i32.const -1028477379 @@ -3480,44 +3474,44 @@ i32.rotl i32.const 668265263 i32.mul - local.tee $5 + local.tee $4 i32.const 15 i32.shr_u - local.get $5 + local.get $4 i32.xor i32.const -2048144777 i32.mul - local.tee $5 + local.tee $4 i32.const 13 i32.shr_u - local.get $5 + local.get $4 i32.xor i32.const -1028477379 i32.mul - local.tee $5 + local.tee $4 i32.const 16 i32.shr_u - local.get $5 + local.get $4 i32.xor i32.and i32.const 2 i32.shl i32.add i32.load - local.set $6 + local.set $4 block $__inlined_func$~lib/map/Map#find loop $while-continue|0 - local.get $6 + local.get $4 if - local.get $6 + local.get $4 i32.load offset=8 - local.tee $5 + local.tee $6 i32.const 1 i32.and if (result i32) i32.const 0 else - local.get $6 + local.get $4 i32.load8_u local.get $3 i32.const 255 @@ -3525,17 +3519,17 @@ i32.eq end br_if $__inlined_func$~lib/map/Map#find - local.get $5 + local.get $6 i32.const -2 i32.and - local.set $6 + local.set $4 br $while-continue|0 end end i32.const 0 - local.set $6 + local.set $4 end - local.get $6 + local.get $4 if i32.const 0 i32.const 1568 @@ -3544,18 +3538,18 @@ call $~lib/builtins/abort unreachable end + local.get $5 + local.get $2 local.get $2 - local.get $0 - local.get $0 i32.extend8_s i32.const 10 i32.add call $~lib/map/Map#set - local.get $2 + local.get $5 i32.load - local.get $2 + local.get $5 i32.load offset=4 - local.get $0 + local.get $2 local.tee $3 i32.extend8_s i32.const -1028477379 @@ -3566,44 +3560,44 @@ i32.rotl i32.const 668265263 i32.mul - local.tee $5 + local.tee $4 i32.const 15 i32.shr_u - local.get $5 + local.get $4 i32.xor i32.const -2048144777 i32.mul - local.tee $5 + local.tee $4 i32.const 13 i32.shr_u - local.get $5 + local.get $4 i32.xor i32.const -1028477379 i32.mul - local.tee $5 + local.tee $4 i32.const 16 i32.shr_u - local.get $5 + local.get $4 i32.xor i32.and i32.const 2 i32.shl i32.add i32.load - local.set $6 + local.set $4 block $__inlined_func$~lib/map/Map#find1 loop $while-continue|02 - local.get $6 + local.get $4 if - local.get $6 + local.get $4 i32.load offset=8 - local.tee $5 + local.tee $6 i32.const 1 i32.and if (result i32) i32.const 0 else - local.get $6 + local.get $4 i32.load8_u local.get $3 i32.const 255 @@ -3611,19 +3605,17 @@ i32.eq end br_if $__inlined_func$~lib/map/Map#find1 - local.get $5 + local.get $6 i32.const -2 i32.and - local.set $6 + local.set $4 br $while-continue|02 end end i32.const 0 - local.set $6 + local.set $4 end - local.get $6 - i32.const 0 - i32.ne + local.get $4 i32.eqz if i32.const 0 @@ -3633,10 +3625,10 @@ call $~lib/builtins/abort unreachable end + local.get $5 local.get $2 - local.get $0 call $~lib/map/Map#get - local.get $0 + local.get $2 i32.extend8_s i32.const 10 i32.add @@ -3649,14 +3641,14 @@ call $~lib/builtins/abort unreachable end - local.get $0 + local.get $2 i32.const 1 i32.add - local.set $0 + local.set $2 br $for-loop|1 end end - local.get $2 + local.get $5 i32.load offset=20 i32.const 100 i32.ne @@ -3669,18 +3661,18 @@ unreachable end i32.const 0 - local.set $0 + local.set $2 loop $for-loop|3 - local.get $0 + local.get $2 i32.extend8_s i32.const 100 i32.lt_s if - local.get $2 + local.get $5 i32.load - local.get $2 + local.get $5 i32.load offset=4 - local.get $0 + local.get $2 local.tee $3 i32.extend8_s i32.const -1028477379 @@ -3691,44 +3683,44 @@ i32.rotl i32.const 668265263 i32.mul - local.tee $5 + local.tee $4 i32.const 15 i32.shr_u - local.get $5 + local.get $4 i32.xor i32.const -2048144777 i32.mul - local.tee $5 + local.tee $4 i32.const 13 i32.shr_u - local.get $5 + local.get $4 i32.xor i32.const -1028477379 i32.mul - local.tee $5 + local.tee $4 i32.const 16 i32.shr_u - local.get $5 + local.get $4 i32.xor i32.and i32.const 2 i32.shl i32.add i32.load - local.set $6 + local.set $4 block $__inlined_func$~lib/map/Map#find4 loop $while-continue|05 - local.get $6 + local.get $4 if - local.get $6 + local.get $4 i32.load offset=8 - local.tee $5 + local.tee $6 i32.const 1 i32.and if (result i32) i32.const 0 else - local.get $6 + local.get $4 i32.load8_u local.get $3 i32.const 255 @@ -3736,19 +3728,17 @@ i32.eq end br_if $__inlined_func$~lib/map/Map#find4 - local.get $5 + local.get $6 i32.const -2 i32.and - local.set $6 + local.set $4 br $while-continue|05 end end i32.const 0 - local.set $6 + local.set $4 end - local.get $6 - i32.const 0 - i32.ne + local.get $4 i32.eqz if i32.const 0 @@ -3758,10 +3748,10 @@ call $~lib/builtins/abort unreachable end + local.get $5 local.get $2 - local.get $0 call $~lib/map/Map#get - local.get $0 + local.get $2 i32.extend8_s i32.const 10 i32.add @@ -3774,18 +3764,18 @@ call $~lib/builtins/abort unreachable end + local.get $5 + local.get $2 local.get $2 - local.get $0 - local.get $0 i32.extend8_s i32.const 20 i32.add call $~lib/map/Map#set - local.get $2 + local.get $5 i32.load - local.get $2 + local.get $5 i32.load offset=4 - local.get $0 + local.get $2 local.tee $3 i32.extend8_s i32.const -1028477379 @@ -3796,44 +3786,44 @@ i32.rotl i32.const 668265263 i32.mul - local.tee $5 + local.tee $4 i32.const 15 i32.shr_u - local.get $5 + local.get $4 i32.xor i32.const -2048144777 i32.mul - local.tee $5 + local.tee $4 i32.const 13 i32.shr_u - local.get $5 + local.get $4 i32.xor i32.const -1028477379 i32.mul - local.tee $5 + local.tee $4 i32.const 16 i32.shr_u - local.get $5 + local.get $4 i32.xor i32.and i32.const 2 i32.shl i32.add i32.load - local.set $6 + local.set $4 block $__inlined_func$~lib/map/Map#find7 loop $while-continue|08 - local.get $6 + local.get $4 if - local.get $6 + local.get $4 i32.load offset=8 - local.tee $5 + local.tee $6 i32.const 1 i32.and if (result i32) i32.const 0 else - local.get $6 + local.get $4 i32.load8_u local.get $3 i32.const 255 @@ -3841,19 +3831,17 @@ i32.eq end br_if $__inlined_func$~lib/map/Map#find7 - local.get $5 + local.get $6 i32.const -2 i32.and - local.set $6 + local.set $4 br $while-continue|08 end end i32.const 0 - local.set $6 + local.set $4 end - local.get $6 - i32.const 0 - i32.ne + local.get $4 i32.eqz if i32.const 0 @@ -3863,10 +3851,10 @@ call $~lib/builtins/abort unreachable end + local.get $5 local.get $2 - local.get $0 call $~lib/map/Map#get - local.get $0 + local.get $2 i32.extend8_s i32.const 20 i32.add @@ -3879,14 +3867,14 @@ call $~lib/builtins/abort unreachable end - local.get $0 + local.get $2 i32.const 1 i32.add - local.set $0 + local.set $2 br $for-loop|3 end end - local.get $2 + local.get $5 i32.load offset=20 i32.const 100 i32.ne @@ -3899,7 +3887,7 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $10 + local.tee $2 i32.const 4 i32.sub global.set $~lib/memory/__stack_pointer @@ -3908,17 +3896,16 @@ i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer - local.tee $7 + local.tee $3 i32.const 0 i32.store - local.get $2 + local.get $5 i32.load offset=8 local.set $6 - local.get $2 + local.get $5 i32.load offset=16 - local.tee $5 - local.set $3 - local.get $7 + local.set $7 + local.get $3 i32.const 8 i32.sub global.set $~lib/memory/__stack_pointer @@ -3927,28 +3914,28 @@ i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer - local.tee $0 + local.tee $4 i64.const 0 i64.store - local.get $0 + local.get $4 i32.const 16 i32.const 4 call $~lib/rt/itcms/__new - local.tee $8 + local.tee $4 i32.store - local.get $8 + local.get $4 i32.const 0 i32.store - local.get $8 + local.get $4 i32.const 0 i32.store offset=4 - local.get $8 + local.get $4 i32.const 0 i32.store offset=8 - local.get $8 + local.get $4 i32.const 0 i32.store offset=12 - local.get $3 + local.get $7 i32.const 1073741820 i32.gt_u if @@ -3960,95 +3947,94 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $3 + local.get $7 i32.const 8 - local.get $3 + local.get $7 i32.const 8 i32.gt_u select - local.tee $2 + local.tee $8 i32.const 0 call $~lib/rt/itcms/__new - local.tee $0 + local.tee $9 i32.store offset=4 - local.get $8 - local.get $0 + local.get $4 + local.get $9 i32.store - local.get $0 + local.get $9 if - local.get $8 - local.get $0 + local.get $4 + local.get $9 call $byn-split-outlined-A$~lib/rt/itcms/__link end - local.get $8 - local.get $0 + local.get $4 + local.get $9 i32.store offset=4 + local.get $4 local.get $8 - local.get $2 i32.store offset=8 - local.get $8 - local.get $3 + local.get $4 + local.get $7 i32.store offset=12 global.get $~lib/memory/__stack_pointer i32.const 8 i32.add global.set $~lib/memory/__stack_pointer - local.get $7 - local.get $8 + local.get $3 + local.get $4 i32.store loop $for-loop|0 - local.get $5 - local.get $19 - i32.gt_s + local.get $1 + local.get $7 + i32.lt_s if - local.get $19 + local.get $1 i32.const 12 i32.mul local.get $6 i32.add - local.tee $2 + local.tee $3 i32.load offset=8 i32.const 1 i32.and i32.eqz if local.get $4 - local.tee $0 - i32.const 1 - i32.add - local.set $4 - local.get $8 local.get $0 - local.get $2 + local.get $3 i32.load8_s call $~lib/array/Array#__set + local.get $0 + i32.const 1 + i32.add + local.set $0 end - local.get $19 + local.get $1 i32.const 1 i32.add - local.set $19 + local.set $1 br $for-loop|0 end end - local.get $8 local.get $4 + local.get $0 i32.const 0 i32.const 0 call $~lib/array/ensureCapacity - local.get $8 local.get $4 + 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 $10 - local.get $8 + local.get $2 + local.get $4 i32.store offset=4 global.get $~lib/memory/__stack_pointer - local.get $9 + local.get $5 call $~lib/map/Map#values - local.tee $17 + local.tee $13 i32.store offset=8 global.get $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer @@ -4060,70 +4046,71 @@ i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer - local.tee $0 + local.tee $1 i32.const 0 i32.store - local.get $0 + local.get $1 i32.const 24 i32.const 6 call $~lib/rt/itcms/__new - local.tee $7 + local.tee $6 i32.store - local.get $7 + local.get $6 i32.const 16 call $~lib/arraybuffer/ArrayBuffer#constructor - local.tee $0 + local.tee $1 i32.store - local.get $0 + local.get $1 if - local.get $7 - local.get $0 + local.get $6 + local.get $1 call $byn-split-outlined-A$~lib/rt/itcms/__link end - local.get $7 + local.get $6 i32.const 3 i32.store offset=4 - local.get $7 + local.get $6 i32.const 32 call $~lib/arraybuffer/ArrayBuffer#constructor - local.tee $0 + local.tee $1 i32.store offset=8 - local.get $0 + local.get $1 if - local.get $7 - local.get $0 + local.get $6 + local.get $1 call $byn-split-outlined-A$~lib/rt/itcms/__link end - local.get $7 + local.get $6 i32.const 4 i32.store offset=12 - local.get $7 + local.get $6 i32.const 0 i32.store offset=16 - local.get $7 + local.get $6 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 $7 + local.get $6 i32.store offset=12 global.get $~lib/memory/__stack_pointer call $~lib/map/Map#constructor - local.tee $13 + local.tee $15 i32.store offset=16 + i32.const 0 + local.set $1 loop $for-loop|4 - local.get $8 + local.get $4 i32.load offset=12 local.get $1 i32.gt_s if - local.get $1 - local.tee $6 - local.get $8 + local.get $4 i32.load offset=12 - i32.ge_u + local.get $1 + i32.le_u if i32.const 1248 i32.const 1728 @@ -4132,21 +4119,21 @@ call $~lib/builtins/abort unreachable end - local.get $6 - local.get $8 + local.get $1 + local.get $4 i32.load offset=4 i32.add i32.load8_s - local.set $2 - local.get $17 - local.get $6 + local.set $7 + local.get $13 + local.get $1 call $~lib/array/Array#__get - local.set $12 - local.get $9 + local.set $14 + local.get $5 i32.load - local.get $9 + local.get $5 i32.load offset=4 - local.get $2 + local.get $7 local.tee $0 i32.extend8_s i32.const -1028477379 @@ -4157,44 +4144,44 @@ i32.rotl i32.const 668265263 i32.mul - local.tee $1 + local.tee $2 i32.const 15 i32.shr_u - local.get $1 + local.get $2 i32.xor i32.const -2048144777 i32.mul - local.tee $1 + local.tee $2 i32.const 13 i32.shr_u - local.get $1 + local.get $2 i32.xor i32.const -1028477379 i32.mul - local.tee $1 + local.tee $2 i32.const 16 i32.shr_u - local.get $1 + 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#find10 loop $while-continue|011 - local.get $3 + local.get $2 if - local.get $3 + local.get $2 i32.load offset=8 - local.tee $1 + local.tee $3 i32.const 1 i32.and if (result i32) i32.const 0 else - local.get $3 + local.get $2 i32.load8_u local.get $0 i32.const 255 @@ -4202,19 +4189,17 @@ i32.eq end br_if $__inlined_func$~lib/map/Map#find10 - local.get $1 + local.get $3 i32.const -2 i32.and - local.set $3 + local.set $2 br $while-continue|011 end end i32.const 0 - local.set $3 + local.set $2 end - local.get $3 - i32.const 0 - i32.ne + local.get $2 i32.eqz if i32.const 0 @@ -4224,14 +4209,14 @@ call $~lib/builtins/abort unreachable end - local.get $9 + local.get $5 i32.load - local.get $9 + local.get $5 i32.load offset=4 - local.get $12 + local.get $14 i32.const 20 i32.sub - local.tee $1 + local.tee $2 i32.extend8_s i32.const -1028477379 i32.mul @@ -4265,40 +4250,38 @@ i32.shl i32.add i32.load - local.set $3 + local.set $0 block $__inlined_func$~lib/map/Map#find13 loop $while-continue|014 - local.get $3 + local.get $0 if - local.get $3 + local.get $0 i32.load offset=8 - local.tee $0 + local.tee $3 i32.const 1 i32.and if (result i32) i32.const 0 else - local.get $3 + local.get $0 i32.load8_u - local.get $1 + local.get $2 i32.const 255 i32.and i32.eq end br_if $__inlined_func$~lib/map/Map#find13 - local.get $0 + local.get $3 i32.const -2 i32.and - local.set $3 + local.set $0 br $while-continue|014 end end i32.const 0 - local.set $3 + local.set $0 end - local.get $3 - i32.const 0 - i32.ne + local.get $0 i32.eqz if i32.const 0 @@ -4319,12 +4302,10 @@ global.get $~lib/memory/__stack_pointer i32.const 0 i32.store - local.get $2 - local.set $5 - local.get $7 - local.tee $1 + local.get $6 + local.tee $3 i32.load - local.get $2 + local.get $7 i32.extend8_s i32.const -1028477379 i32.mul @@ -4353,61 +4334,62 @@ i32.const 16 i32.shr_u i32.xor - local.tee $16 - local.get $1 + local.tee $12 + local.get $3 i32.load offset=4 i32.and i32.const 2 i32.shl i32.add i32.load - local.set $3 + local.set $2 block $__inlined_func$~lib/map/Map#find loop $while-continue|015 - local.get $3 + local.get $2 if - local.get $3 - i32.load offset=4 + local.get $2 local.tee $0 + i32.load offset=4 + local.tee $2 i32.const 1 i32.and if (result i32) i32.const 0 else - local.get $3 + local.get $0 i32.load8_u - local.get $5 + local.get $7 i32.const 255 i32.and i32.eq end br_if $__inlined_func$~lib/map/Map#find - local.get $0 + local.get $2 i32.const -2 i32.and - local.set $3 + local.set $2 br $while-continue|015 end end i32.const 0 - local.set $3 + local.set $0 end - local.get $3 + local.get $0 if - local.get $3 - local.get $5 + local.get $0 + local.get $7 i32.store8 offset=1 else - local.get $1 + local.get $3 i32.load offset=16 - local.get $1 + local.get $3 i32.load offset=12 i32.eq if - local.get $1 - local.tee $4 + local.get $3 + local.tee $2 i32.load offset=20 - local.get $1 + local.get $3 i32.load offset=12 i32.const 3 i32.mul @@ -4415,17 +4397,17 @@ i32.div_s i32.lt_s if (result i32) - local.get $4 + local.get $2 i32.load offset=4 else - local.get $4 + local.get $2 i32.load offset=4 i32.const 1 i32.shl i32.const 1 i32.or end - local.set $18 + local.set $16 global.get $~lib/memory/__stack_pointer i32.const 8 i32.sub @@ -4439,14 +4421,14 @@ i64.const 0 i64.store local.get $0 - local.get $18 + local.get $16 i32.const 1 i32.add local.tee $0 i32.const 2 i32.shl call $~lib/arraybuffer/ArrayBuffer#constructor - local.tee $11 + local.tee $8 i32.store global.get $~lib/memory/__stack_pointer local.get $0 @@ -4454,45 +4436,45 @@ i32.shl i32.const 3 i32.div_s - local.tee $15 + local.tee $11 i32.const 3 i32.shl call $~lib/arraybuffer/ArrayBuffer#constructor - local.tee $3 + local.tee $9 i32.store offset=4 - local.get $4 + local.get $2 i32.load offset=8 - local.tee $19 - local.get $4 + local.tee $17 + local.get $2 i32.load offset=16 i32.const 3 i32.shl i32.add - local.set $14 - local.get $3 + local.set $10 + local.get $9 local.set $0 loop $while-continue|00 - local.get $14 - local.get $19 + local.get $10 + local.get $17 i32.ne if - local.get $19 + local.get $17 i32.load offset=4 i32.const 1 i32.and i32.eqz if local.get $0 - local.get $19 + local.get $17 i32.load8_s - local.tee $10 + local.tee $18 i32.store8 local.get $0 - local.get $19 + local.get $17 i32.load8_s offset=1 i32.store8 offset=1 local.get $0 - local.get $10 + local.get $18 i32.extend8_s i32.const -1028477379 i32.mul @@ -4502,35 +4484,35 @@ i32.rotl i32.const 668265263 i32.mul - local.tee $10 - local.get $10 + local.tee $18 + local.get $18 i32.const 15 i32.shr_u i32.xor i32.const -2048144777 i32.mul - local.tee $10 - local.get $10 + local.tee $18 + local.get $18 i32.const 13 i32.shr_u i32.xor i32.const -1028477379 i32.mul - local.tee $10 - local.get $10 + local.tee $18 + local.get $18 i32.const 16 i32.shr_u i32.xor - local.get $18 + local.get $16 i32.and i32.const 2 i32.shl - local.get $11 + local.get $8 i32.add - local.tee $10 + local.tee $18 i32.load i32.store offset=4 - local.get $10 + local.get $18 local.get $0 i32.store local.get $0 @@ -4538,39 +4520,39 @@ i32.add local.set $0 end - local.get $19 + local.get $17 i32.const 8 i32.add - local.set $19 + local.set $17 br $while-continue|00 end end - local.get $4 - local.get $11 + local.get $2 + local.get $8 i32.store - local.get $11 + local.get $8 if - local.get $1 - local.get $11 + local.get $3 + local.get $8 call $byn-split-outlined-A$~lib/rt/itcms/__link end - local.get $1 - local.get $18 + local.get $3 + local.get $16 i32.store offset=4 - local.get $1 local.get $3 + local.get $9 i32.store offset=8 - local.get $3 + local.get $9 if - local.get $1 local.get $3 + local.get $9 call $byn-split-outlined-A$~lib/rt/itcms/__link end - local.get $1 - local.get $15 + local.get $3 + local.get $11 i32.store offset=12 - local.get $1 - local.get $1 + local.get $3 + local.get $3 i32.load offset=20 i32.store offset=16 global.get $~lib/memory/__stack_pointer @@ -4579,70 +4561,70 @@ global.set $~lib/memory/__stack_pointer end global.get $~lib/memory/__stack_pointer - local.get $1 + local.get $3 i32.load offset=8 - local.tee $3 + local.tee $0 i32.store - local.get $1 - local.get $1 + local.get $3 + local.get $3 i32.load offset=16 - local.tee $0 + local.tee $2 i32.const 1 i32.add i32.store offset=16 - local.get $0 + local.get $2 i32.const 3 i32.shl - local.get $3 + local.get $0 i32.add - local.tee $3 - local.get $2 + local.tee $0 + local.get $7 i32.store8 - local.get $3 - local.get $5 + local.get $0 + local.get $7 i32.store8 offset=1 - local.get $1 - local.get $1 + local.get $3 + local.get $3 i32.load offset=20 i32.const 1 i32.add i32.store offset=20 + local.get $0 local.get $3 - local.get $1 i32.load - local.get $1 + local.get $3 i32.load offset=4 - local.get $16 + local.get $12 i32.and i32.const 2 i32.shl i32.add - local.tee $0 + local.tee $2 i32.load i32.store offset=4 + local.get $2 local.get $0 - local.get $3 i32.store end global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $13 - local.get $12 + local.get $15 + local.get $14 i32.const 20 i32.sub local.tee $0 local.get $0 call $~lib/map/Map#set - local.get $6 + local.get $1 i32.const 1 i32.add local.set $1 br $for-loop|4 end end - local.get $7 + local.get $6 i32.load offset=20 i32.const 100 i32.ne @@ -4654,7 +4636,7 @@ call $~lib/builtins/abort unreachable end - local.get $13 + local.get $15 i32.load offset=20 i32.const 100 i32.ne @@ -4674,9 +4656,9 @@ i32.const 50 i32.lt_s if - local.get $9 + local.get $5 i32.load - local.get $9 + local.get $5 i32.load offset=4 local.get $1 local.tee $0 @@ -4713,20 +4695,20 @@ i32.shl i32.add i32.load - local.set $3 + local.set $2 block $__inlined_func$~lib/map/Map#find17 loop $while-continue|018 - local.get $3 + local.get $2 if - local.get $3 + local.get $2 i32.load offset=8 - local.tee $2 + local.tee $3 i32.const 1 i32.and if (result i32) i32.const 0 else - local.get $3 + local.get $2 i32.load8_u local.get $0 i32.const 255 @@ -4734,19 +4716,17 @@ i32.eq end br_if $__inlined_func$~lib/map/Map#find17 - local.get $2 + local.get $3 i32.const -2 i32.and - local.set $3 + local.set $2 br $while-continue|018 end end i32.const 0 - local.set $3 + local.set $2 end - local.get $3 - i32.const 0 - i32.ne + local.get $2 i32.eqz if i32.const 0 @@ -4756,7 +4736,7 @@ call $~lib/builtins/abort unreachable end - local.get $9 + local.get $5 local.get $1 call $~lib/map/Map#get local.get $1 @@ -4772,12 +4752,12 @@ call $~lib/builtins/abort unreachable end - local.get $9 + local.get $5 local.get $1 call $~lib/map/Map#delete - local.get $9 + local.get $5 i32.load - local.get $9 + local.get $5 i32.load offset=4 local.get $1 local.tee $0 @@ -4814,20 +4794,20 @@ i32.shl i32.add i32.load - local.set $3 + local.set $2 block $__inlined_func$~lib/map/Map#find20 loop $while-continue|021 - local.get $3 + local.get $2 if - local.get $3 + local.get $2 i32.load offset=8 - local.tee $2 + local.tee $3 i32.const 1 i32.and if (result i32) i32.const 0 else - local.get $3 + local.get $2 i32.load8_u local.get $0 i32.const 255 @@ -4835,17 +4815,17 @@ i32.eq end br_if $__inlined_func$~lib/map/Map#find20 - local.get $2 + local.get $3 i32.const -2 i32.and - local.set $3 + local.set $2 br $while-continue|021 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 @@ -4861,7 +4841,7 @@ br $for-loop|6 end end - local.get $9 + local.get $5 i32.load offset=20 i32.const 50 i32.ne @@ -4881,9 +4861,9 @@ i32.const 50 i32.lt_s if - local.get $9 + local.get $5 i32.load - local.get $9 + local.get $5 i32.load offset=4 local.get $1 local.tee $0 @@ -4920,20 +4900,20 @@ i32.shl i32.add i32.load - local.set $3 + local.set $2 block $__inlined_func$~lib/map/Map#find23 loop $while-continue|024 - local.get $3 + local.get $2 if - local.get $3 + local.get $2 i32.load offset=8 - local.tee $2 + local.tee $3 i32.const 1 i32.and if (result i32) i32.const 0 else - local.get $3 + local.get $2 i32.load8_u local.get $0 i32.const 255 @@ -4941,17 +4921,17 @@ i32.eq end br_if $__inlined_func$~lib/map/Map#find23 - local.get $2 + local.get $3 i32.const -2 i32.and - local.set $3 + local.set $2 br $while-continue|024 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 @@ -4960,16 +4940,16 @@ call $~lib/builtins/abort unreachable end - local.get $9 + local.get $5 local.get $1 local.get $1 i32.extend8_s i32.const 10 i32.add call $~lib/map/Map#set - local.get $9 + local.get $5 i32.load - local.get $9 + local.get $5 i32.load offset=4 local.get $1 local.tee $0 @@ -5006,20 +4986,20 @@ i32.shl i32.add i32.load - local.set $3 + local.set $2 block $__inlined_func$~lib/map/Map#find26 loop $while-continue|027 - local.get $3 + local.get $2 if - local.get $3 + local.get $2 i32.load offset=8 - local.tee $2 + local.tee $3 i32.const 1 i32.and if (result i32) i32.const 0 else - local.get $3 + local.get $2 i32.load8_u local.get $0 i32.const 255 @@ -5027,19 +5007,17 @@ i32.eq end br_if $__inlined_func$~lib/map/Map#find26 - local.get $2 + local.get $3 i32.const -2 i32.and - local.set $3 + local.set $2 br $while-continue|027 end end i32.const 0 - local.set $3 + local.set $2 end - local.get $3 - i32.const 0 - i32.ne + local.get $2 i32.eqz if i32.const 0 @@ -5049,12 +5027,12 @@ call $~lib/builtins/abort unreachable end - local.get $9 + local.get $5 local.get $1 call $~lib/map/Map#delete - local.get $9 + local.get $5 i32.load - local.get $9 + local.get $5 i32.load offset=4 local.get $1 local.tee $0 @@ -5091,20 +5069,20 @@ i32.shl i32.add i32.load - local.set $3 + local.set $2 block $__inlined_func$~lib/map/Map#find29 loop $while-continue|030 - local.get $3 + local.get $2 if - local.get $3 + local.get $2 i32.load offset=8 - local.tee $2 + local.tee $3 i32.const 1 i32.and if (result i32) i32.const 0 else - local.get $3 + local.get $2 i32.load8_u local.get $0 i32.const 255 @@ -5112,17 +5090,17 @@ i32.eq end br_if $__inlined_func$~lib/map/Map#find29 - local.get $2 + local.get $3 i32.const -2 i32.and - local.set $3 + local.set $2 br $while-continue|030 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 @@ -5138,7 +5116,7 @@ br $for-loop|8 end end - local.get $9 + local.get $5 i32.load offset=20 i32.const 50 i32.ne @@ -5150,9 +5128,9 @@ call $~lib/builtins/abort unreachable end - local.get $9 + local.get $5 call $~lib/map/Map#clear - local.get $9 + local.get $5 i32.load offset=20 if i32.const 0 @@ -5211,7 +5189,7 @@ i32.const 2 i32.shl call $~lib/arraybuffer/ArrayBuffer#constructor - local.tee $5 + local.tee $4 i32.store global.get $~lib/memory/__stack_pointer local.get $2 @@ -5227,7 +5205,7 @@ i32.store offset=4 local.get $0 i32.load offset=8 - local.tee $4 + local.tee $5 local.get $0 i32.load offset=16 i32.const 12 @@ -5237,23 +5215,23 @@ local.get $3 local.set $2 loop $while-continue|0 - local.get $4 + local.get $5 local.get $7 i32.ne if - local.get $4 + local.get $5 i32.load offset=8 i32.const 1 i32.and i32.eqz if local.get $2 - local.get $4 + local.get $5 i32.load8_u local.tee $8 i32.store8 local.get $2 - local.get $4 + local.get $5 i32.load offset=4 i32.store offset=4 local.get $2 @@ -5289,7 +5267,7 @@ i32.and i32.const 2 i32.shl - local.get $5 + local.get $4 i32.add local.tee $8 i32.load @@ -5302,20 +5280,20 @@ i32.add local.set $2 end - local.get $4 + local.get $5 i32.const 12 i32.add - local.set $4 + local.set $5 br $while-continue|0 end end local.get $0 - local.get $5 + local.get $4 i32.store - local.get $5 + local.get $4 if local.get $0 - local.get $5 + local.get $4 call $byn-split-outlined-A$~lib/rt/itcms/__link end local.get $0 @@ -5575,28 +5553,27 @@ (local $16 i32) (local $17 i32) (local $18 i32) - (local $19 i32) + global.get $~lib/memory/__stack_pointer + i32.const 20 + i32.sub + global.set $~lib/memory/__stack_pointer block $folding-inner1 - global.get $~lib/memory/__stack_pointer - i32.const 20 - i32.sub - global.set $~lib/memory/__stack_pointer block $folding-inner0 global.get $~lib/memory/__stack_pointer i32.const 2020 i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer - local.tee $5 + local.tee $3 i64.const 0 i64.store - local.get $5 + local.get $3 i64.const 0 i64.store offset=8 - local.get $5 + local.get $3 i32.const 0 i32.store offset=16 - local.get $5 + local.get $3 i32.const 4 i32.sub global.set $~lib/memory/__stack_pointer @@ -5605,70 +5582,68 @@ i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer - local.tee $2 + local.tee $4 i32.const 0 i32.store - local.get $2 + local.get $4 i32.const 24 i32.const 8 call $~lib/rt/itcms/__new - local.tee $9 + local.tee $5 i32.store - local.get $9 + local.get $5 i32.const 16 call $~lib/arraybuffer/ArrayBuffer#constructor - local.tee $3 + local.tee $4 i32.store - local.get $9 - local.set $2 - local.get $3 + local.get $4 if - local.get $2 - local.get $3 + local.get $5 + local.get $4 call $byn-split-outlined-A$~lib/rt/itcms/__link end - local.get $2 + local.get $5 i32.const 3 i32.store offset=4 - local.get $2 + local.get $5 i32.const 48 call $~lib/arraybuffer/ArrayBuffer#constructor - local.tee $3 + local.tee $4 i32.store offset=8 - local.get $3 + local.get $4 if - local.get $2 - local.get $3 + local.get $5 + local.get $4 call $byn-split-outlined-A$~lib/rt/itcms/__link end - local.get $2 + local.get $5 i32.const 4 i32.store offset=12 - local.get $2 + local.get $5 i32.const 0 i32.store offset=16 - local.get $2 + 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 $5 - local.get $2 i32.store loop $for-loop|1 - local.get $0 + local.get $2 i32.const 255 i32.and i32.const 100 i32.lt_u if - local.get $2 + local.get $5 i32.load - local.get $2 + local.get $5 i32.load offset=4 - local.get $0 + local.get $2 local.tee $3 i32.const 255 i32.and @@ -5680,44 +5655,44 @@ i32.rotl i32.const 668265263 i32.mul - local.tee $5 + local.tee $4 i32.const 15 i32.shr_u - local.get $5 + local.get $4 i32.xor i32.const -2048144777 i32.mul - local.tee $5 + local.tee $4 i32.const 13 i32.shr_u - local.get $5 + local.get $4 i32.xor i32.const -1028477379 i32.mul - local.tee $5 + local.tee $4 i32.const 16 i32.shr_u - local.get $5 + local.get $4 i32.xor i32.and i32.const 2 i32.shl i32.add i32.load - local.set $6 + local.set $4 block $__inlined_func$~lib/map/Map#find loop $while-continue|0 - local.get $6 + local.get $4 if - local.get $6 + local.get $4 i32.load offset=8 - local.tee $5 + local.tee $6 i32.const 1 i32.and if (result i32) i32.const 0 else - local.get $6 + local.get $4 i32.load8_u local.get $3 i32.const 255 @@ -5725,17 +5700,17 @@ i32.eq end br_if $__inlined_func$~lib/map/Map#find - local.get $5 + local.get $6 i32.const -2 i32.and - local.set $6 + local.set $4 br $while-continue|0 end end i32.const 0 - local.set $6 + local.set $4 end - local.get $6 + local.get $4 if i32.const 0 i32.const 1568 @@ -5744,19 +5719,19 @@ call $~lib/builtins/abort unreachable end + local.get $5 + local.get $2 local.get $2 - local.get $0 - local.get $0 i32.const 255 i32.and i32.const 10 i32.add call $~lib/map/Map#set - local.get $2 + local.get $5 i32.load - local.get $2 + local.get $5 i32.load offset=4 - local.get $0 + local.get $2 local.tee $3 i32.const 255 i32.and @@ -5768,44 +5743,44 @@ i32.rotl i32.const 668265263 i32.mul - local.tee $5 + local.tee $4 i32.const 15 i32.shr_u - local.get $5 + local.get $4 i32.xor i32.const -2048144777 i32.mul - local.tee $5 + local.tee $4 i32.const 13 i32.shr_u - local.get $5 + local.get $4 i32.xor i32.const -1028477379 i32.mul - local.tee $5 + local.tee $4 i32.const 16 i32.shr_u - local.get $5 + local.get $4 i32.xor i32.and i32.const 2 i32.shl i32.add i32.load - local.set $6 + local.set $4 block $__inlined_func$~lib/map/Map#find1 loop $while-continue|02 - local.get $6 + local.get $4 if - local.get $6 + local.get $4 i32.load offset=8 - local.tee $5 + local.tee $6 i32.const 1 i32.and if (result i32) i32.const 0 else - local.get $6 + local.get $4 i32.load8_u local.get $3 i32.const 255 @@ -5813,19 +5788,17 @@ i32.eq end br_if $__inlined_func$~lib/map/Map#find1 - local.get $5 + local.get $6 i32.const -2 i32.and - local.set $6 + local.set $4 br $while-continue|02 end end i32.const 0 - local.set $6 + local.set $4 end - local.get $6 - i32.const 0 - i32.ne + local.get $4 i32.eqz if i32.const 0 @@ -5835,10 +5808,10 @@ call $~lib/builtins/abort unreachable end + local.get $5 local.get $2 - local.get $0 call $~lib/map/Map#get - local.get $0 + local.get $2 i32.const 255 i32.and i32.const 10 @@ -5852,14 +5825,14 @@ call $~lib/builtins/abort unreachable end - local.get $0 + local.get $2 i32.const 1 i32.add - local.set $0 + local.set $2 br $for-loop|1 end end - local.get $2 + local.get $5 i32.load offset=20 i32.const 100 i32.ne @@ -5872,19 +5845,19 @@ unreachable end i32.const 0 - local.set $0 + local.set $2 loop $for-loop|3 - local.get $0 + local.get $2 i32.const 255 i32.and i32.const 100 i32.lt_u if - local.get $2 + local.get $5 i32.load - local.get $2 + local.get $5 i32.load offset=4 - local.get $0 + local.get $2 local.tee $3 i32.const 255 i32.and @@ -5896,44 +5869,44 @@ i32.rotl i32.const 668265263 i32.mul - local.tee $5 + local.tee $4 i32.const 15 i32.shr_u - local.get $5 + local.get $4 i32.xor i32.const -2048144777 i32.mul - local.tee $5 + local.tee $4 i32.const 13 i32.shr_u - local.get $5 + local.get $4 i32.xor i32.const -1028477379 i32.mul - local.tee $5 + local.tee $4 i32.const 16 i32.shr_u - local.get $5 + local.get $4 i32.xor i32.and i32.const 2 i32.shl i32.add i32.load - local.set $6 + local.set $4 block $__inlined_func$~lib/map/Map#find4 loop $while-continue|05 - local.get $6 + local.get $4 if - local.get $6 + local.get $4 i32.load offset=8 - local.tee $5 + local.tee $6 i32.const 1 i32.and if (result i32) i32.const 0 else - local.get $6 + local.get $4 i32.load8_u local.get $3 i32.const 255 @@ -5941,19 +5914,17 @@ i32.eq end br_if $__inlined_func$~lib/map/Map#find4 - local.get $5 + local.get $6 i32.const -2 i32.and - local.set $6 + local.set $4 br $while-continue|05 end end i32.const 0 - local.set $6 + local.set $4 end - local.get $6 - i32.const 0 - i32.ne + local.get $4 i32.eqz if i32.const 0 @@ -5963,10 +5934,10 @@ call $~lib/builtins/abort unreachable end + local.get $5 local.get $2 - local.get $0 call $~lib/map/Map#get - local.get $0 + local.get $2 i32.const 255 i32.and i32.const 10 @@ -5980,19 +5951,19 @@ call $~lib/builtins/abort unreachable end + local.get $5 + local.get $2 local.get $2 - local.get $0 - local.get $0 i32.const 255 i32.and i32.const 20 i32.add call $~lib/map/Map#set - local.get $2 + local.get $5 i32.load - local.get $2 + local.get $5 i32.load offset=4 - local.get $0 + local.get $2 local.tee $3 i32.const 255 i32.and @@ -6004,44 +5975,44 @@ i32.rotl i32.const 668265263 i32.mul - local.tee $5 + local.tee $4 i32.const 15 i32.shr_u - local.get $5 + local.get $4 i32.xor i32.const -2048144777 i32.mul - local.tee $5 + local.tee $4 i32.const 13 i32.shr_u - local.get $5 + local.get $4 i32.xor i32.const -1028477379 i32.mul - local.tee $5 + local.tee $4 i32.const 16 i32.shr_u - local.get $5 + local.get $4 i32.xor i32.and i32.const 2 i32.shl i32.add i32.load - local.set $6 + local.set $4 block $__inlined_func$~lib/map/Map#find7 loop $while-continue|08 - local.get $6 + local.get $4 if - local.get $6 + local.get $4 i32.load offset=8 - local.tee $5 + local.tee $6 i32.const 1 i32.and if (result i32) i32.const 0 else - local.get $6 + local.get $4 i32.load8_u local.get $3 i32.const 255 @@ -6049,19 +6020,17 @@ i32.eq end br_if $__inlined_func$~lib/map/Map#find7 - local.get $5 + local.get $6 i32.const -2 i32.and - local.set $6 + local.set $4 br $while-continue|08 end end i32.const 0 - local.set $6 + local.set $4 end - local.get $6 - i32.const 0 - i32.ne + local.get $4 i32.eqz if i32.const 0 @@ -6071,10 +6040,10 @@ call $~lib/builtins/abort unreachable end + local.get $5 local.get $2 - local.get $0 call $~lib/map/Map#get - local.get $0 + local.get $2 i32.const 255 i32.and i32.const 20 @@ -6088,14 +6057,14 @@ call $~lib/builtins/abort unreachable end - local.get $0 + local.get $2 i32.const 1 i32.add - local.set $0 + local.set $2 br $for-loop|3 end end - local.get $2 + local.get $5 i32.load offset=20 i32.const 100 i32.ne @@ -6108,7 +6077,7 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $10 + local.tee $2 i32.const 4 i32.sub global.set $~lib/memory/__stack_pointer @@ -6117,17 +6086,16 @@ i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer - local.tee $7 + local.tee $3 i32.const 0 i32.store - local.get $2 + local.get $5 i32.load offset=8 local.set $6 - local.get $2 + local.get $5 i32.load offset=16 - local.tee $5 - local.set $3 - local.get $7 + local.set $7 + local.get $3 i32.const 8 i32.sub global.set $~lib/memory/__stack_pointer @@ -6136,28 +6104,28 @@ i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer - local.tee $0 + local.tee $4 i64.const 0 i64.store - local.get $0 + local.get $4 i32.const 16 i32.const 9 call $~lib/rt/itcms/__new - local.tee $8 + local.tee $4 i32.store - local.get $8 + local.get $4 i32.const 0 i32.store - local.get $8 + local.get $4 i32.const 0 i32.store offset=4 - local.get $8 + local.get $4 i32.const 0 i32.store offset=8 - local.get $8 + local.get $4 i32.const 0 i32.store offset=12 - local.get $3 + local.get $7 i32.const 1073741820 i32.gt_u if @@ -6169,95 +6137,94 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $3 + local.get $7 i32.const 8 - local.get $3 + local.get $7 i32.const 8 i32.gt_u select - local.tee $2 + local.tee $8 i32.const 0 call $~lib/rt/itcms/__new - local.tee $0 + local.tee $9 i32.store offset=4 - local.get $8 - local.get $0 + local.get $4 + local.get $9 i32.store - local.get $0 + local.get $9 if - local.get $8 - local.get $0 + local.get $4 + local.get $9 call $byn-split-outlined-A$~lib/rt/itcms/__link end - local.get $8 - local.get $0 + local.get $4 + local.get $9 i32.store offset=4 + local.get $4 local.get $8 - local.get $2 i32.store offset=8 - local.get $8 - local.get $3 + local.get $4 + local.get $7 i32.store offset=12 global.get $~lib/memory/__stack_pointer i32.const 8 i32.add global.set $~lib/memory/__stack_pointer - local.get $7 - local.get $8 + local.get $3 + local.get $4 i32.store loop $for-loop|0 - local.get $5 - local.get $19 - i32.gt_s + local.get $1 + local.get $7 + i32.lt_s if - local.get $19 + local.get $1 i32.const 12 i32.mul local.get $6 i32.add - local.tee $2 + local.tee $3 i32.load offset=8 i32.const 1 i32.and i32.eqz if local.get $4 - local.tee $0 - i32.const 1 - i32.add - local.set $4 - local.get $8 local.get $0 - local.get $2 + local.get $3 i32.load8_u call $~lib/array/Array#__set + local.get $0 + i32.const 1 + i32.add + local.set $0 end - local.get $19 + local.get $1 i32.const 1 i32.add - local.set $19 + local.set $1 br $for-loop|0 end end - local.get $8 local.get $4 + local.get $0 i32.const 0 i32.const 0 call $~lib/array/ensureCapacity - local.get $8 local.get $4 + 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 $10 - local.get $8 + local.get $2 + local.get $4 i32.store offset=4 global.get $~lib/memory/__stack_pointer - local.get $9 + local.get $5 call $~lib/map/Map#values - local.tee $17 + local.tee $13 i32.store offset=8 global.get $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer @@ -6269,70 +6236,71 @@ i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer - local.tee $0 + local.tee $1 i32.const 0 i32.store - local.get $0 + local.get $1 i32.const 24 i32.const 10 call $~lib/rt/itcms/__new - local.tee $7 + local.tee $6 i32.store - local.get $7 + local.get $6 i32.const 16 call $~lib/arraybuffer/ArrayBuffer#constructor - local.tee $0 + local.tee $1 i32.store - local.get $0 + local.get $1 if - local.get $7 - local.get $0 + local.get $6 + local.get $1 call $byn-split-outlined-A$~lib/rt/itcms/__link end - local.get $7 + local.get $6 i32.const 3 i32.store offset=4 - local.get $7 + local.get $6 i32.const 32 call $~lib/arraybuffer/ArrayBuffer#constructor - local.tee $0 + local.tee $1 i32.store offset=8 - local.get $0 + local.get $1 if - local.get $7 - local.get $0 + local.get $6 + local.get $1 call $byn-split-outlined-A$~lib/rt/itcms/__link end - local.get $7 + local.get $6 i32.const 4 i32.store offset=12 - local.get $7 + local.get $6 i32.const 0 i32.store offset=16 - local.get $7 + local.get $6 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 $7 + local.get $6 i32.store offset=12 global.get $~lib/memory/__stack_pointer call $~lib/map/Map#constructor - local.tee $13 + local.tee $15 i32.store offset=16 + i32.const 0 + local.set $1 loop $for-loop|4 - local.get $8 + local.get $4 i32.load offset=12 local.get $1 i32.gt_s if - local.get $1 - local.tee $6 - local.get $8 + local.get $4 i32.load offset=12 - i32.ge_u + local.get $1 + i32.le_u if i32.const 1248 i32.const 1728 @@ -6341,21 +6309,21 @@ call $~lib/builtins/abort unreachable end - local.get $6 - local.get $8 + local.get $1 + local.get $4 i32.load offset=4 i32.add i32.load8_u - local.set $2 - local.get $17 - local.get $6 + local.set $7 + local.get $13 + local.get $1 call $~lib/array/Array#__get - local.set $12 - local.get $9 + local.set $14 + local.get $5 i32.load - local.get $9 + local.get $5 i32.load offset=4 - local.get $2 + local.get $7 local.tee $0 i32.const 255 i32.and @@ -6367,44 +6335,44 @@ i32.rotl i32.const 668265263 i32.mul - local.tee $1 + local.tee $2 i32.const 15 i32.shr_u - local.get $1 + local.get $2 i32.xor i32.const -2048144777 i32.mul - local.tee $1 + local.tee $2 i32.const 13 i32.shr_u - local.get $1 + local.get $2 i32.xor i32.const -1028477379 i32.mul - local.tee $1 + local.tee $2 i32.const 16 i32.shr_u - local.get $1 + 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#find10 loop $while-continue|011 - local.get $3 + local.get $2 if - local.get $3 + local.get $2 i32.load offset=8 - local.tee $1 + local.tee $3 i32.const 1 i32.and if (result i32) i32.const 0 else - local.get $3 + local.get $2 i32.load8_u local.get $0 i32.const 255 @@ -6412,19 +6380,17 @@ i32.eq end br_if $__inlined_func$~lib/map/Map#find10 - local.get $1 + local.get $3 i32.const -2 i32.and - local.set $3 + local.set $2 br $while-continue|011 end end i32.const 0 - local.set $3 + local.set $2 end - local.get $3 - i32.const 0 - i32.ne + local.get $2 i32.eqz if i32.const 0 @@ -6434,14 +6400,14 @@ call $~lib/builtins/abort unreachable end - local.get $9 + local.get $5 i32.load - local.get $9 + local.get $5 i32.load offset=4 - local.get $12 + local.get $14 i32.const 20 i32.sub - local.tee $1 + local.tee $2 i32.const 255 i32.and i32.const -1028477379 @@ -6476,40 +6442,38 @@ i32.shl i32.add i32.load - local.set $3 + local.set $0 block $__inlined_func$~lib/map/Map#find13 loop $while-continue|014 - local.get $3 + local.get $0 if - local.get $3 + local.get $0 i32.load offset=8 - local.tee $0 + local.tee $3 i32.const 1 i32.and if (result i32) i32.const 0 else - local.get $3 + local.get $0 i32.load8_u - local.get $1 + local.get $2 i32.const 255 i32.and i32.eq end br_if $__inlined_func$~lib/map/Map#find13 - local.get $0 + local.get $3 i32.const -2 i32.and - local.set $3 + local.set $0 br $while-continue|014 end end i32.const 0 - local.set $3 + local.set $0 end - local.get $3 - i32.const 0 - i32.ne + local.get $0 i32.eqz if i32.const 0 @@ -6530,12 +6494,10 @@ global.get $~lib/memory/__stack_pointer i32.const 0 i32.store - local.get $2 - local.set $5 - local.get $7 - local.tee $1 + local.get $6 + local.tee $3 i32.load - local.get $2 + local.get $7 i32.const 255 i32.and i32.const -1028477379 @@ -6565,61 +6527,62 @@ i32.const 16 i32.shr_u i32.xor - local.tee $16 - local.get $1 + local.tee $12 + local.get $3 i32.load offset=4 i32.and i32.const 2 i32.shl i32.add i32.load - local.set $3 + local.set $2 block $__inlined_func$~lib/map/Map#find loop $while-continue|015 - local.get $3 + local.get $2 if - local.get $3 - i32.load offset=4 + local.get $2 local.tee $0 + i32.load offset=4 + local.tee $2 i32.const 1 i32.and if (result i32) i32.const 0 else - local.get $3 + local.get $0 i32.load8_u - local.get $5 + local.get $7 i32.const 255 i32.and i32.eq end br_if $__inlined_func$~lib/map/Map#find - local.get $0 + local.get $2 i32.const -2 i32.and - local.set $3 + local.set $2 br $while-continue|015 end end i32.const 0 - local.set $3 + local.set $0 end - local.get $3 + local.get $0 if - local.get $3 - local.get $5 + local.get $0 + local.get $7 i32.store8 offset=1 else - local.get $1 + local.get $3 i32.load offset=16 - local.get $1 + local.get $3 i32.load offset=12 i32.eq if - local.get $1 - local.tee $4 + local.get $3 + local.tee $2 i32.load offset=20 - local.get $1 + local.get $3 i32.load offset=12 i32.const 3 i32.mul @@ -6627,17 +6590,17 @@ i32.div_s i32.lt_s if (result i32) - local.get $4 + local.get $2 i32.load offset=4 else - local.get $4 + local.get $2 i32.load offset=4 i32.const 1 i32.shl i32.const 1 i32.or end - local.set $18 + local.set $16 global.get $~lib/memory/__stack_pointer i32.const 8 i32.sub @@ -6651,14 +6614,14 @@ i64.const 0 i64.store local.get $0 - local.get $18 + local.get $16 i32.const 1 i32.add local.tee $0 i32.const 2 i32.shl call $~lib/arraybuffer/ArrayBuffer#constructor - local.tee $11 + local.tee $8 i32.store global.get $~lib/memory/__stack_pointer local.get $0 @@ -6666,45 +6629,45 @@ i32.shl i32.const 3 i32.div_s - local.tee $15 + local.tee $11 i32.const 3 i32.shl call $~lib/arraybuffer/ArrayBuffer#constructor - local.tee $3 + local.tee $9 i32.store offset=4 - local.get $4 + local.get $2 i32.load offset=8 - local.tee $19 - local.get $4 + local.tee $17 + local.get $2 i32.load offset=16 i32.const 3 i32.shl i32.add - local.set $14 - local.get $3 + local.set $10 + local.get $9 local.set $0 loop $while-continue|00 - local.get $14 - local.get $19 + local.get $10 + local.get $17 i32.ne if - local.get $19 + local.get $17 i32.load offset=4 i32.const 1 i32.and i32.eqz if local.get $0 - local.get $19 + local.get $17 i32.load8_u - local.tee $10 + local.tee $18 i32.store8 local.get $0 - local.get $19 + local.get $17 i32.load8_u offset=1 i32.store8 offset=1 local.get $0 - local.get $10 + local.get $18 i32.const -1028477379 i32.mul i32.const 374761394 @@ -6713,35 +6676,35 @@ i32.rotl i32.const 668265263 i32.mul - local.tee $10 - local.get $10 + local.tee $18 + local.get $18 i32.const 15 i32.shr_u i32.xor i32.const -2048144777 i32.mul - local.tee $10 - local.get $10 + local.tee $18 + local.get $18 i32.const 13 i32.shr_u i32.xor i32.const -1028477379 i32.mul - local.tee $10 - local.get $10 + local.tee $18 + local.get $18 i32.const 16 i32.shr_u i32.xor - local.get $18 + local.get $16 i32.and i32.const 2 i32.shl - local.get $11 + local.get $8 i32.add - local.tee $10 + local.tee $18 i32.load i32.store offset=4 - local.get $10 + local.get $18 local.get $0 i32.store local.get $0 @@ -6749,39 +6712,39 @@ i32.add local.set $0 end - local.get $19 + local.get $17 i32.const 8 i32.add - local.set $19 + local.set $17 br $while-continue|00 end end - local.get $4 - local.get $11 + local.get $2 + local.get $8 i32.store - local.get $11 + local.get $8 if - local.get $1 - local.get $11 + local.get $3 + local.get $8 call $byn-split-outlined-A$~lib/rt/itcms/__link end - local.get $1 - local.get $18 + local.get $3 + local.get $16 i32.store offset=4 - local.get $1 local.get $3 + local.get $9 i32.store offset=8 - local.get $3 + local.get $9 if - local.get $1 local.get $3 + local.get $9 call $byn-split-outlined-A$~lib/rt/itcms/__link end - local.get $1 - local.get $15 + local.get $3 + local.get $11 i32.store offset=12 - local.get $1 - local.get $1 + local.get $3 + local.get $3 i32.load offset=20 i32.store offset=16 global.get $~lib/memory/__stack_pointer @@ -6790,70 +6753,70 @@ global.set $~lib/memory/__stack_pointer end global.get $~lib/memory/__stack_pointer - local.get $1 + local.get $3 i32.load offset=8 - local.tee $3 + local.tee $0 i32.store - local.get $1 - local.get $1 + local.get $3 + local.get $3 i32.load offset=16 - local.tee $0 + local.tee $2 i32.const 1 i32.add i32.store offset=16 - local.get $0 + local.get $2 i32.const 3 i32.shl - local.get $3 + local.get $0 i32.add - local.tee $3 - local.get $2 + local.tee $0 + local.get $7 i32.store8 - local.get $3 - local.get $5 + local.get $0 + local.get $7 i32.store8 offset=1 - local.get $1 - local.get $1 + local.get $3 + local.get $3 i32.load offset=20 i32.const 1 i32.add i32.store offset=20 + local.get $0 local.get $3 - local.get $1 i32.load - local.get $1 + local.get $3 i32.load offset=4 - local.get $16 + local.get $12 i32.and i32.const 2 i32.shl i32.add - local.tee $0 + local.tee $2 i32.load i32.store offset=4 + local.get $2 local.get $0 - local.get $3 i32.store end global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $13 - local.get $12 + local.get $15 + local.get $14 i32.const 20 i32.sub local.tee $0 local.get $0 call $~lib/map/Map#set - local.get $6 + local.get $1 i32.const 1 i32.add local.set $1 br $for-loop|4 end end - local.get $7 + local.get $6 i32.load offset=20 i32.const 100 i32.ne @@ -6865,7 +6828,7 @@ call $~lib/builtins/abort unreachable end - local.get $13 + local.get $15 i32.load offset=20 i32.const 100 i32.ne @@ -6886,9 +6849,9 @@ i32.const 50 i32.lt_u if - local.get $9 + local.get $5 i32.load - local.get $9 + local.get $5 i32.load offset=4 local.get $1 local.tee $0 @@ -6926,20 +6889,20 @@ i32.shl i32.add i32.load - local.set $3 + local.set $2 block $__inlined_func$~lib/map/Map#find17 loop $while-continue|018 - local.get $3 + local.get $2 if - local.get $3 + local.get $2 i32.load offset=8 - local.tee $2 + local.tee $3 i32.const 1 i32.and if (result i32) i32.const 0 else - local.get $3 + local.get $2 i32.load8_u local.get $0 i32.const 255 @@ -6947,19 +6910,17 @@ i32.eq end br_if $__inlined_func$~lib/map/Map#find17 - local.get $2 + local.get $3 i32.const -2 i32.and - local.set $3 + local.set $2 br $while-continue|018 end end i32.const 0 - local.set $3 + local.set $2 end - local.get $3 - i32.const 0 - i32.ne + local.get $2 i32.eqz if i32.const 0 @@ -6969,7 +6930,7 @@ call $~lib/builtins/abort unreachable end - local.get $9 + local.get $5 local.get $1 call $~lib/map/Map#get local.get $1 @@ -6986,12 +6947,12 @@ call $~lib/builtins/abort unreachable end - local.get $9 + local.get $5 local.get $1 call $~lib/map/Map#delete - local.get $9 + local.get $5 i32.load - local.get $9 + local.get $5 i32.load offset=4 local.get $1 local.tee $0 @@ -7029,20 +6990,20 @@ i32.shl i32.add i32.load - local.set $3 + local.set $2 block $__inlined_func$~lib/map/Map#find20 loop $while-continue|021 - local.get $3 + local.get $2 if - local.get $3 + local.get $2 i32.load offset=8 - local.tee $2 + local.tee $3 i32.const 1 i32.and if (result i32) i32.const 0 else - local.get $3 + local.get $2 i32.load8_u local.get $0 i32.const 255 @@ -7050,17 +7011,17 @@ i32.eq end br_if $__inlined_func$~lib/map/Map#find20 - local.get $2 + local.get $3 i32.const -2 i32.and - local.set $3 + local.set $2 br $while-continue|021 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 @@ -7076,7 +7037,7 @@ br $for-loop|6 end end - local.get $9 + local.get $5 i32.load offset=20 i32.const 50 i32.ne @@ -7097,9 +7058,9 @@ i32.const 50 i32.lt_u if - local.get $9 + local.get $5 i32.load - local.get $9 + local.get $5 i32.load offset=4 local.get $1 local.tee $0 @@ -7137,20 +7098,20 @@ i32.shl i32.add i32.load - local.set $3 + local.set $2 block $__inlined_func$~lib/map/Map#find23 loop $while-continue|024 - local.get $3 + local.get $2 if - local.get $3 + local.get $2 i32.load offset=8 - local.tee $2 + local.tee $3 i32.const 1 i32.and if (result i32) i32.const 0 else - local.get $3 + local.get $2 i32.load8_u local.get $0 i32.const 255 @@ -7158,17 +7119,17 @@ i32.eq end br_if $__inlined_func$~lib/map/Map#find23 - local.get $2 + local.get $3 i32.const -2 i32.and - local.set $3 + local.set $2 br $while-continue|024 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 @@ -7177,7 +7138,7 @@ call $~lib/builtins/abort unreachable end - local.get $9 + local.get $5 local.get $1 local.get $1 i32.const 255 @@ -7185,9 +7146,9 @@ i32.const 10 i32.add call $~lib/map/Map#set - local.get $9 + local.get $5 i32.load - local.get $9 + local.get $5 i32.load offset=4 local.get $1 local.tee $0 @@ -7225,20 +7186,20 @@ i32.shl i32.add i32.load - local.set $3 + local.set $2 block $__inlined_func$~lib/map/Map#find26 loop $while-continue|027 - local.get $3 + local.get $2 if - local.get $3 + local.get $2 i32.load offset=8 - local.tee $2 + local.tee $3 i32.const 1 i32.and if (result i32) i32.const 0 else - local.get $3 + local.get $2 i32.load8_u local.get $0 i32.const 255 @@ -7246,19 +7207,17 @@ i32.eq end br_if $__inlined_func$~lib/map/Map#find26 - local.get $2 + local.get $3 i32.const -2 i32.and - local.set $3 + local.set $2 br $while-continue|027 end end i32.const 0 - local.set $3 + local.set $2 end - local.get $3 - i32.const 0 - i32.ne + local.get $2 i32.eqz if i32.const 0 @@ -7268,12 +7227,12 @@ call $~lib/builtins/abort unreachable end - local.get $9 + local.get $5 local.get $1 call $~lib/map/Map#delete - local.get $9 + local.get $5 i32.load - local.get $9 + local.get $5 i32.load offset=4 local.get $1 local.tee $0 @@ -7311,20 +7270,20 @@ i32.shl i32.add i32.load - local.set $3 + local.set $2 block $__inlined_func$~lib/map/Map#find29 loop $while-continue|030 - local.get $3 + local.get $2 if - local.get $3 + local.get $2 i32.load offset=8 - local.tee $2 + local.tee $3 i32.const 1 i32.and if (result i32) i32.const 0 else - local.get $3 + local.get $2 i32.load8_u local.get $0 i32.const 255 @@ -7332,17 +7291,17 @@ i32.eq end br_if $__inlined_func$~lib/map/Map#find29 - local.get $2 + local.get $3 i32.const -2 i32.and - local.set $3 + local.set $2 br $while-continue|030 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 @@ -7358,7 +7317,7 @@ br $for-loop|8 end end - local.get $9 + local.get $5 i32.load offset=20 i32.const 50 i32.ne @@ -7370,9 +7329,9 @@ call $~lib/builtins/abort unreachable end - local.get $9 + local.get $5 call $~lib/map/Map#clear - local.get $9 + local.get $5 i32.load offset=20 if i32.const 0 @@ -7431,7 +7390,7 @@ i32.const 2 i32.shl call $~lib/arraybuffer/ArrayBuffer#constructor - local.tee $5 + local.tee $4 i32.store global.get $~lib/memory/__stack_pointer local.get $2 @@ -7447,7 +7406,7 @@ i32.store offset=4 local.get $0 i32.load offset=8 - local.tee $4 + local.tee $5 local.get $0 i32.load offset=16 i32.const 12 @@ -7457,23 +7416,23 @@ local.get $3 local.set $2 loop $while-continue|0 - local.get $4 + local.get $5 local.get $7 i32.ne if - local.get $4 + local.get $5 i32.load offset=8 i32.const 1 i32.and i32.eqz if local.get $2 - local.get $4 + local.get $5 i32.load16_s local.tee $8 i32.store16 local.get $2 - local.get $4 + local.get $5 i32.load offset=4 i32.store offset=4 local.get $2 @@ -7510,7 +7469,7 @@ i32.and i32.const 2 i32.shl - local.get $5 + local.get $4 i32.add local.tee $8 i32.load @@ -7523,20 +7482,20 @@ i32.add local.set $2 end - local.get $4 + local.get $5 i32.const 12 i32.add - local.set $4 + local.set $5 br $while-continue|0 end end local.get $0 - local.get $5 + local.get $4 i32.store - local.get $5 + local.get $4 if local.get $0 - local.get $5 + local.get $4 call $byn-split-outlined-A$~lib/rt/itcms/__link end local.get $0 @@ -7833,28 +7792,27 @@ (local $16 i32) (local $17 i32) (local $18 i32) - (local $19 i32) + global.get $~lib/memory/__stack_pointer + i32.const 20 + i32.sub + global.set $~lib/memory/__stack_pointer block $folding-inner1 - global.get $~lib/memory/__stack_pointer - i32.const 20 - i32.sub - global.set $~lib/memory/__stack_pointer block $folding-inner0 global.get $~lib/memory/__stack_pointer i32.const 2020 i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer - local.tee $5 + local.tee $3 i64.const 0 i64.store - local.get $5 + local.get $3 i64.const 0 i64.store offset=8 - local.get $5 + local.get $3 i32.const 0 i32.store offset=16 - local.get $5 + local.get $3 i32.const 4 i32.sub global.set $~lib/memory/__stack_pointer @@ -7863,69 +7821,67 @@ i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer - local.tee $2 + local.tee $4 i32.const 0 i32.store - local.get $2 + local.get $4 i32.const 24 i32.const 11 call $~lib/rt/itcms/__new - local.tee $9 + local.tee $5 i32.store - local.get $9 + local.get $5 i32.const 16 call $~lib/arraybuffer/ArrayBuffer#constructor - local.tee $3 + local.tee $4 i32.store - local.get $9 - local.set $2 - local.get $3 + local.get $4 if - local.get $2 - local.get $3 + local.get $5 + local.get $4 call $byn-split-outlined-A$~lib/rt/itcms/__link end - local.get $2 + local.get $5 i32.const 3 i32.store offset=4 - local.get $2 + local.get $5 i32.const 48 call $~lib/arraybuffer/ArrayBuffer#constructor - local.tee $3 + local.tee $4 i32.store offset=8 - local.get $3 + local.get $4 if - local.get $2 - local.get $3 + local.get $5 + local.get $4 call $byn-split-outlined-A$~lib/rt/itcms/__link end - local.get $2 + local.get $5 i32.const 4 i32.store offset=12 - local.get $2 + local.get $5 i32.const 0 i32.store offset=16 - local.get $2 + 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 $5 - local.get $2 i32.store loop $for-loop|1 - local.get $0 + local.get $2 i32.extend16_s i32.const 100 i32.lt_s if - local.get $2 + local.get $5 i32.load - local.get $2 + local.get $5 i32.load offset=4 - local.get $0 + local.get $2 local.tee $3 i32.extend16_s i32.const -1028477379 @@ -7936,44 +7892,44 @@ i32.rotl i32.const 668265263 i32.mul - local.tee $5 + local.tee $4 i32.const 15 i32.shr_u - local.get $5 + local.get $4 i32.xor i32.const -2048144777 i32.mul - local.tee $5 + local.tee $4 i32.const 13 i32.shr_u - local.get $5 + local.get $4 i32.xor i32.const -1028477379 i32.mul - local.tee $5 + local.tee $4 i32.const 16 i32.shr_u - local.get $5 + local.get $4 i32.xor i32.and i32.const 2 i32.shl i32.add i32.load - local.set $6 + local.set $4 block $__inlined_func$~lib/map/Map#find loop $while-continue|0 - local.get $6 + local.get $4 if - local.get $6 + local.get $4 i32.load offset=8 - local.tee $5 + local.tee $6 i32.const 1 i32.and if (result i32) i32.const 0 else - local.get $6 + local.get $4 i32.load16_u local.get $3 i32.const 65535 @@ -7981,17 +7937,17 @@ i32.eq end br_if $__inlined_func$~lib/map/Map#find - local.get $5 + local.get $6 i32.const -2 i32.and - local.set $6 + local.set $4 br $while-continue|0 end end i32.const 0 - local.set $6 + local.set $4 end - local.get $6 + local.get $4 if i32.const 0 i32.const 1568 @@ -8000,18 +7956,18 @@ call $~lib/builtins/abort unreachable end + local.get $5 + local.get $2 local.get $2 - local.get $0 - local.get $0 i32.extend16_s i32.const 10 i32.add call $~lib/map/Map#set - local.get $2 + local.get $5 i32.load - local.get $2 + local.get $5 i32.load offset=4 - local.get $0 + local.get $2 local.tee $3 i32.extend16_s i32.const -1028477379 @@ -8022,44 +7978,44 @@ i32.rotl i32.const 668265263 i32.mul - local.tee $5 + local.tee $4 i32.const 15 i32.shr_u - local.get $5 + local.get $4 i32.xor i32.const -2048144777 i32.mul - local.tee $5 + local.tee $4 i32.const 13 i32.shr_u - local.get $5 + local.get $4 i32.xor i32.const -1028477379 i32.mul - local.tee $5 + local.tee $4 i32.const 16 i32.shr_u - local.get $5 + local.get $4 i32.xor i32.and i32.const 2 i32.shl i32.add i32.load - local.set $6 + local.set $4 block $__inlined_func$~lib/map/Map#find1 loop $while-continue|02 - local.get $6 + local.get $4 if - local.get $6 + local.get $4 i32.load offset=8 - local.tee $5 + local.tee $6 i32.const 1 i32.and if (result i32) i32.const 0 else - local.get $6 + local.get $4 i32.load16_u local.get $3 i32.const 65535 @@ -8067,19 +8023,17 @@ i32.eq end br_if $__inlined_func$~lib/map/Map#find1 - local.get $5 + local.get $6 i32.const -2 i32.and - local.set $6 + local.set $4 br $while-continue|02 end end i32.const 0 - local.set $6 + local.set $4 end - local.get $6 - i32.const 0 - i32.ne + local.get $4 i32.eqz if i32.const 0 @@ -8089,10 +8043,10 @@ call $~lib/builtins/abort unreachable end + local.get $5 local.get $2 - local.get $0 call $~lib/map/Map#get - local.get $0 + local.get $2 i32.extend16_s i32.const 10 i32.add @@ -8105,14 +8059,14 @@ call $~lib/builtins/abort unreachable end - local.get $0 + local.get $2 i32.const 1 i32.add - local.set $0 + local.set $2 br $for-loop|1 end end - local.get $2 + local.get $5 i32.load offset=20 i32.const 100 i32.ne @@ -8125,18 +8079,18 @@ unreachable end i32.const 0 - local.set $0 + local.set $2 loop $for-loop|3 - local.get $0 + local.get $2 i32.extend16_s i32.const 100 i32.lt_s if - local.get $2 + local.get $5 i32.load - local.get $2 + local.get $5 i32.load offset=4 - local.get $0 + local.get $2 local.tee $3 i32.extend16_s i32.const -1028477379 @@ -8147,44 +8101,44 @@ i32.rotl i32.const 668265263 i32.mul - local.tee $5 + local.tee $4 i32.const 15 i32.shr_u - local.get $5 + local.get $4 i32.xor i32.const -2048144777 i32.mul - local.tee $5 + local.tee $4 i32.const 13 i32.shr_u - local.get $5 + local.get $4 i32.xor i32.const -1028477379 i32.mul - local.tee $5 + local.tee $4 i32.const 16 i32.shr_u - local.get $5 + local.get $4 i32.xor i32.and i32.const 2 i32.shl i32.add i32.load - local.set $6 + local.set $4 block $__inlined_func$~lib/map/Map#find4 loop $while-continue|05 - local.get $6 + local.get $4 if - local.get $6 + local.get $4 i32.load offset=8 - local.tee $5 + local.tee $6 i32.const 1 i32.and if (result i32) i32.const 0 else - local.get $6 + local.get $4 i32.load16_u local.get $3 i32.const 65535 @@ -8192,19 +8146,17 @@ i32.eq end br_if $__inlined_func$~lib/map/Map#find4 - local.get $5 + local.get $6 i32.const -2 i32.and - local.set $6 + local.set $4 br $while-continue|05 end end i32.const 0 - local.set $6 + local.set $4 end - local.get $6 - i32.const 0 - i32.ne + local.get $4 i32.eqz if i32.const 0 @@ -8214,10 +8166,10 @@ call $~lib/builtins/abort unreachable end + local.get $5 local.get $2 - local.get $0 call $~lib/map/Map#get - local.get $0 + local.get $2 i32.extend16_s i32.const 10 i32.add @@ -8230,18 +8182,18 @@ call $~lib/builtins/abort unreachable end + local.get $5 + local.get $2 local.get $2 - local.get $0 - local.get $0 i32.extend16_s i32.const 20 i32.add call $~lib/map/Map#set - local.get $2 + local.get $5 i32.load - local.get $2 + local.get $5 i32.load offset=4 - local.get $0 + local.get $2 local.tee $3 i32.extend16_s i32.const -1028477379 @@ -8252,44 +8204,44 @@ i32.rotl i32.const 668265263 i32.mul - local.tee $5 + local.tee $4 i32.const 15 i32.shr_u - local.get $5 + local.get $4 i32.xor i32.const -2048144777 i32.mul - local.tee $5 + local.tee $4 i32.const 13 i32.shr_u - local.get $5 + local.get $4 i32.xor i32.const -1028477379 i32.mul - local.tee $5 + local.tee $4 i32.const 16 i32.shr_u - local.get $5 + local.get $4 i32.xor i32.and i32.const 2 i32.shl i32.add i32.load - local.set $6 + local.set $4 block $__inlined_func$~lib/map/Map#find7 loop $while-continue|08 - local.get $6 + local.get $4 if - local.get $6 + local.get $4 i32.load offset=8 - local.tee $5 + local.tee $6 i32.const 1 i32.and if (result i32) i32.const 0 else - local.get $6 + local.get $4 i32.load16_u local.get $3 i32.const 65535 @@ -8297,19 +8249,17 @@ i32.eq end br_if $__inlined_func$~lib/map/Map#find7 - local.get $5 + local.get $6 i32.const -2 i32.and - local.set $6 + local.set $4 br $while-continue|08 end end i32.const 0 - local.set $6 + local.set $4 end - local.get $6 - i32.const 0 - i32.ne + local.get $4 i32.eqz if i32.const 0 @@ -8319,10 +8269,10 @@ call $~lib/builtins/abort unreachable end + local.get $5 local.get $2 - local.get $0 call $~lib/map/Map#get - local.get $0 + local.get $2 i32.extend16_s i32.const 20 i32.add @@ -8335,14 +8285,14 @@ call $~lib/builtins/abort unreachable end - local.get $0 + local.get $2 i32.const 1 i32.add - local.set $0 + local.set $2 br $for-loop|3 end end - local.get $2 + local.get $5 i32.load offset=20 i32.const 100 i32.ne @@ -8355,7 +8305,7 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $10 + local.tee $2 i32.const 4 i32.sub global.set $~lib/memory/__stack_pointer @@ -8364,17 +8314,16 @@ i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer - local.tee $7 + local.tee $3 i32.const 0 i32.store - local.get $2 + local.get $5 i32.load offset=8 local.set $6 - local.get $2 + local.get $5 i32.load offset=16 - local.tee $5 - local.set $3 - local.get $7 + local.set $7 + local.get $3 i32.const 8 i32.sub global.set $~lib/memory/__stack_pointer @@ -8383,28 +8332,28 @@ i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer - local.tee $0 + local.tee $4 i64.const 0 i64.store - local.get $0 + local.get $4 i32.const 16 i32.const 12 call $~lib/rt/itcms/__new - local.tee $8 + local.tee $4 i32.store - local.get $8 + local.get $4 i32.const 0 i32.store - local.get $8 + local.get $4 i32.const 0 i32.store offset=4 - local.get $8 + local.get $4 i32.const 0 i32.store offset=8 - local.get $8 + local.get $4 i32.const 0 i32.store offset=12 - local.get $3 + local.get $7 i32.const 536870910 i32.gt_u if @@ -8416,97 +8365,96 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $3 + local.get $7 i32.const 8 - local.get $3 + local.get $7 i32.const 8 i32.gt_u select i32.const 1 i32.shl - local.tee $2 + local.tee $8 i32.const 0 call $~lib/rt/itcms/__new - local.tee $0 + local.tee $9 i32.store offset=4 - local.get $8 - local.get $0 + local.get $4 + local.get $9 i32.store - local.get $0 + local.get $9 if - local.get $8 - local.get $0 + local.get $4 + local.get $9 call $byn-split-outlined-A$~lib/rt/itcms/__link end - local.get $8 - local.get $0 + local.get $4 + local.get $9 i32.store offset=4 + local.get $4 local.get $8 - local.get $2 i32.store offset=8 - local.get $8 - local.get $3 + local.get $4 + local.get $7 i32.store offset=12 global.get $~lib/memory/__stack_pointer i32.const 8 i32.add global.set $~lib/memory/__stack_pointer - local.get $7 - local.get $8 + local.get $3 + local.get $4 i32.store loop $for-loop|0 - local.get $5 - local.get $19 - i32.gt_s + local.get $1 + local.get $7 + i32.lt_s if - local.get $19 + local.get $1 i32.const 12 i32.mul local.get $6 i32.add - local.tee $2 + local.tee $3 i32.load offset=8 i32.const 1 i32.and i32.eqz if local.get $4 - local.tee $0 - i32.const 1 - i32.add - local.set $4 - local.get $8 local.get $0 - local.get $2 + local.get $3 i32.load16_s call $~lib/array/Array#__set + local.get $0 + i32.const 1 + i32.add + local.set $0 end - local.get $19 + local.get $1 i32.const 1 i32.add - local.set $19 + local.set $1 br $for-loop|0 end end - local.get $8 local.get $4 + local.get $0 i32.const 1 i32.const 0 call $~lib/array/ensureCapacity - local.get $8 local.get $4 + 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 $10 - local.get $8 + local.get $2 + local.get $4 i32.store offset=4 global.get $~lib/memory/__stack_pointer - local.get $9 + local.get $5 call $~lib/map/Map#values - local.tee $17 + local.tee $13 i32.store offset=8 global.get $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer @@ -8518,70 +8466,71 @@ i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer - local.tee $0 + local.tee $1 i32.const 0 i32.store - local.get $0 + local.get $1 i32.const 24 i32.const 13 call $~lib/rt/itcms/__new - local.tee $7 + local.tee $6 i32.store - local.get $7 + local.get $6 i32.const 16 call $~lib/arraybuffer/ArrayBuffer#constructor - local.tee $0 + local.tee $1 i32.store - local.get $0 + local.get $1 if - local.get $7 - local.get $0 + local.get $6 + local.get $1 call $byn-split-outlined-A$~lib/rt/itcms/__link end - local.get $7 + local.get $6 i32.const 3 i32.store offset=4 - local.get $7 + local.get $6 i32.const 32 call $~lib/arraybuffer/ArrayBuffer#constructor - local.tee $0 + local.tee $1 i32.store offset=8 - local.get $0 + local.get $1 if - local.get $7 - local.get $0 + local.get $6 + local.get $1 call $byn-split-outlined-A$~lib/rt/itcms/__link end - local.get $7 + local.get $6 i32.const 4 i32.store offset=12 - local.get $7 + local.get $6 i32.const 0 i32.store offset=16 - local.get $7 + local.get $6 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 $7 + local.get $6 i32.store offset=12 global.get $~lib/memory/__stack_pointer call $~lib/map/Map#constructor - local.tee $13 + local.tee $15 i32.store offset=16 + i32.const 0 + local.set $1 loop $for-loop|4 - local.get $8 + local.get $4 i32.load offset=12 local.get $1 i32.gt_s if - local.get $1 - local.tee $6 - local.get $8 + local.get $4 i32.load offset=12 - i32.ge_u + local.get $1 + i32.le_u if i32.const 1248 i32.const 1728 @@ -8590,23 +8539,23 @@ call $~lib/builtins/abort unreachable end - local.get $8 + local.get $4 i32.load offset=4 - local.get $6 + local.get $1 i32.const 1 i32.shl i32.add i32.load16_s - local.set $2 - local.get $17 - local.get $6 + local.set $7 + local.get $13 + local.get $1 call $~lib/array/Array#__get - local.set $12 - local.get $9 + local.set $14 + local.get $5 i32.load - local.get $9 + local.get $5 i32.load offset=4 - local.get $2 + local.get $7 local.tee $0 i32.extend16_s i32.const -1028477379 @@ -8617,44 +8566,44 @@ i32.rotl i32.const 668265263 i32.mul - local.tee $1 + local.tee $2 i32.const 15 i32.shr_u - local.get $1 + local.get $2 i32.xor i32.const -2048144777 i32.mul - local.tee $1 + local.tee $2 i32.const 13 i32.shr_u - local.get $1 + local.get $2 i32.xor i32.const -1028477379 i32.mul - local.tee $1 + local.tee $2 i32.const 16 i32.shr_u - local.get $1 + 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#find10 loop $while-continue|011 - local.get $3 + local.get $2 if - local.get $3 + local.get $2 i32.load offset=8 - local.tee $1 + local.tee $3 i32.const 1 i32.and if (result i32) i32.const 0 else - local.get $3 + local.get $2 i32.load16_u local.get $0 i32.const 65535 @@ -8662,19 +8611,17 @@ i32.eq end br_if $__inlined_func$~lib/map/Map#find10 - local.get $1 + local.get $3 i32.const -2 i32.and - local.set $3 + local.set $2 br $while-continue|011 end end i32.const 0 - local.set $3 + local.set $2 end - local.get $3 - i32.const 0 - i32.ne + local.get $2 i32.eqz if i32.const 0 @@ -8684,14 +8631,14 @@ call $~lib/builtins/abort unreachable end - local.get $9 + local.get $5 i32.load - local.get $9 + local.get $5 i32.load offset=4 - local.get $12 + local.get $14 i32.const 20 i32.sub - local.tee $1 + local.tee $2 i32.extend16_s i32.const -1028477379 i32.mul @@ -8725,40 +8672,38 @@ i32.shl i32.add i32.load - local.set $3 + local.set $0 block $__inlined_func$~lib/map/Map#find13 loop $while-continue|014 - local.get $3 + local.get $0 if - local.get $3 + local.get $0 i32.load offset=8 - local.tee $0 + local.tee $3 i32.const 1 i32.and if (result i32) i32.const 0 else - local.get $3 + local.get $0 i32.load16_u - local.get $1 + local.get $2 i32.const 65535 i32.and i32.eq end br_if $__inlined_func$~lib/map/Map#find13 - local.get $0 + local.get $3 i32.const -2 i32.and - local.set $3 + local.set $0 br $while-continue|014 end end i32.const 0 - local.set $3 + local.set $0 end - local.get $3 - i32.const 0 - i32.ne + local.get $0 i32.eqz if i32.const 0 @@ -8779,12 +8724,10 @@ global.get $~lib/memory/__stack_pointer i32.const 0 i32.store - local.get $2 - local.set $5 - local.get $7 - local.tee $1 + local.get $6 + local.tee $3 i32.load - local.get $2 + local.get $7 i32.extend16_s i32.const -1028477379 i32.mul @@ -8813,61 +8756,62 @@ i32.const 16 i32.shr_u i32.xor - local.tee $16 - local.get $1 + local.tee $12 + local.get $3 i32.load offset=4 i32.and i32.const 2 i32.shl i32.add i32.load - local.set $3 + local.set $2 block $__inlined_func$~lib/map/Map#find loop $while-continue|015 - local.get $3 + local.get $2 if - local.get $3 - i32.load offset=4 + local.get $2 local.tee $0 + i32.load offset=4 + local.tee $2 i32.const 1 i32.and if (result i32) i32.const 0 else - local.get $3 + local.get $0 i32.load16_u - local.get $5 + local.get $7 i32.const 65535 i32.and i32.eq end br_if $__inlined_func$~lib/map/Map#find - local.get $0 + local.get $2 i32.const -2 i32.and - local.set $3 + local.set $2 br $while-continue|015 end end i32.const 0 - local.set $3 + local.set $0 end - local.get $3 + local.get $0 if - local.get $3 - local.get $5 + local.get $0 + local.get $7 i32.store16 offset=2 else - local.get $1 + local.get $3 i32.load offset=16 - local.get $1 + local.get $3 i32.load offset=12 i32.eq if - local.get $1 - local.tee $4 + local.get $3 + local.tee $2 i32.load offset=20 - local.get $1 + local.get $3 i32.load offset=12 i32.const 3 i32.mul @@ -8875,17 +8819,17 @@ i32.div_s i32.lt_s if (result i32) - local.get $4 + local.get $2 i32.load offset=4 else - local.get $4 + local.get $2 i32.load offset=4 i32.const 1 i32.shl i32.const 1 i32.or end - local.set $18 + local.set $16 global.get $~lib/memory/__stack_pointer i32.const 8 i32.sub @@ -8899,14 +8843,14 @@ i64.const 0 i64.store local.get $0 - local.get $18 + local.get $16 i32.const 1 i32.add local.tee $0 i32.const 2 i32.shl call $~lib/arraybuffer/ArrayBuffer#constructor - local.tee $11 + local.tee $8 i32.store global.get $~lib/memory/__stack_pointer local.get $0 @@ -8914,45 +8858,45 @@ i32.shl i32.const 3 i32.div_s - local.tee $15 + local.tee $11 i32.const 3 i32.shl call $~lib/arraybuffer/ArrayBuffer#constructor - local.tee $3 + local.tee $9 i32.store offset=4 - local.get $4 + local.get $2 i32.load offset=8 - local.tee $19 - local.get $4 + local.tee $17 + local.get $2 i32.load offset=16 i32.const 3 i32.shl i32.add - local.set $14 - local.get $3 + local.set $10 + local.get $9 local.set $0 loop $while-continue|00 - local.get $14 - local.get $19 + local.get $10 + local.get $17 i32.ne if - local.get $19 + local.get $17 i32.load offset=4 i32.const 1 i32.and i32.eqz if local.get $0 - local.get $19 + local.get $17 i32.load16_s - local.tee $10 + local.tee $18 i32.store16 local.get $0 - local.get $19 + local.get $17 i32.load16_s offset=2 i32.store16 offset=2 local.get $0 - local.get $10 + local.get $18 i32.extend16_s i32.const -1028477379 i32.mul @@ -8962,35 +8906,35 @@ i32.rotl i32.const 668265263 i32.mul - local.tee $10 - local.get $10 + local.tee $18 + local.get $18 i32.const 15 i32.shr_u i32.xor i32.const -2048144777 i32.mul - local.tee $10 - local.get $10 + local.tee $18 + local.get $18 i32.const 13 i32.shr_u i32.xor i32.const -1028477379 i32.mul - local.tee $10 - local.get $10 + local.tee $18 + local.get $18 i32.const 16 i32.shr_u i32.xor - local.get $18 + local.get $16 i32.and i32.const 2 i32.shl - local.get $11 + local.get $8 i32.add - local.tee $10 + local.tee $18 i32.load i32.store offset=4 - local.get $10 + local.get $18 local.get $0 i32.store local.get $0 @@ -8998,39 +8942,39 @@ i32.add local.set $0 end - local.get $19 + local.get $17 i32.const 8 i32.add - local.set $19 + local.set $17 br $while-continue|00 end end - local.get $4 - local.get $11 + local.get $2 + local.get $8 i32.store - local.get $11 + local.get $8 if - local.get $1 - local.get $11 + local.get $3 + local.get $8 call $byn-split-outlined-A$~lib/rt/itcms/__link end - local.get $1 - local.get $18 + local.get $3 + local.get $16 i32.store offset=4 - local.get $1 local.get $3 + local.get $9 i32.store offset=8 - local.get $3 + local.get $9 if - local.get $1 local.get $3 + local.get $9 call $byn-split-outlined-A$~lib/rt/itcms/__link end - local.get $1 - local.get $15 + local.get $3 + local.get $11 i32.store offset=12 - local.get $1 - local.get $1 + local.get $3 + local.get $3 i32.load offset=20 i32.store offset=16 global.get $~lib/memory/__stack_pointer @@ -9039,70 +8983,70 @@ global.set $~lib/memory/__stack_pointer end global.get $~lib/memory/__stack_pointer - local.get $1 + local.get $3 i32.load offset=8 - local.tee $3 + local.tee $0 i32.store - local.get $1 - local.get $1 + local.get $3 + local.get $3 i32.load offset=16 - local.tee $0 + local.tee $2 i32.const 1 i32.add i32.store offset=16 - local.get $0 + local.get $2 i32.const 3 i32.shl - local.get $3 + local.get $0 i32.add - local.tee $3 - local.get $2 + local.tee $0 + local.get $7 i32.store16 - local.get $3 - local.get $5 + local.get $0 + local.get $7 i32.store16 offset=2 - local.get $1 - local.get $1 + local.get $3 + local.get $3 i32.load offset=20 i32.const 1 i32.add i32.store offset=20 + local.get $0 local.get $3 - local.get $1 i32.load - local.get $1 + local.get $3 i32.load offset=4 - local.get $16 + local.get $12 i32.and i32.const 2 i32.shl i32.add - local.tee $0 + local.tee $2 i32.load i32.store offset=4 + local.get $2 local.get $0 - local.get $3 i32.store end global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $13 - local.get $12 + local.get $15 + local.get $14 i32.const 20 i32.sub local.tee $0 local.get $0 call $~lib/map/Map#set - local.get $6 + local.get $1 i32.const 1 i32.add local.set $1 br $for-loop|4 end end - local.get $7 + local.get $6 i32.load offset=20 i32.const 100 i32.ne @@ -9114,7 +9058,7 @@ call $~lib/builtins/abort unreachable end - local.get $13 + local.get $15 i32.load offset=20 i32.const 100 i32.ne @@ -9134,9 +9078,9 @@ i32.const 50 i32.lt_s if - local.get $9 + local.get $5 i32.load - local.get $9 + local.get $5 i32.load offset=4 local.get $1 local.tee $0 @@ -9173,20 +9117,20 @@ i32.shl i32.add i32.load - local.set $3 + local.set $2 block $__inlined_func$~lib/map/Map#find17 loop $while-continue|018 - local.get $3 + local.get $2 if - local.get $3 + local.get $2 i32.load offset=8 - local.tee $2 + local.tee $3 i32.const 1 i32.and if (result i32) i32.const 0 else - local.get $3 + local.get $2 i32.load16_u local.get $0 i32.const 65535 @@ -9194,19 +9138,17 @@ i32.eq end br_if $__inlined_func$~lib/map/Map#find17 - local.get $2 + local.get $3 i32.const -2 i32.and - local.set $3 + local.set $2 br $while-continue|018 end end i32.const 0 - local.set $3 + local.set $2 end - local.get $3 - i32.const 0 - i32.ne + local.get $2 i32.eqz if i32.const 0 @@ -9216,7 +9158,7 @@ call $~lib/builtins/abort unreachable end - local.get $9 + local.get $5 local.get $1 call $~lib/map/Map#get local.get $1 @@ -9232,12 +9174,12 @@ call $~lib/builtins/abort unreachable end - local.get $9 + local.get $5 local.get $1 call $~lib/map/Map#delete - local.get $9 + local.get $5 i32.load - local.get $9 + local.get $5 i32.load offset=4 local.get $1 local.tee $0 @@ -9274,20 +9216,20 @@ i32.shl i32.add i32.load - local.set $3 + local.set $2 block $__inlined_func$~lib/map/Map#find20 loop $while-continue|021 - local.get $3 + local.get $2 if - local.get $3 + local.get $2 i32.load offset=8 - local.tee $2 + local.tee $3 i32.const 1 i32.and if (result i32) i32.const 0 else - local.get $3 + local.get $2 i32.load16_u local.get $0 i32.const 65535 @@ -9295,17 +9237,17 @@ i32.eq end br_if $__inlined_func$~lib/map/Map#find20 - local.get $2 + local.get $3 i32.const -2 i32.and - local.set $3 + local.set $2 br $while-continue|021 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 @@ -9321,7 +9263,7 @@ br $for-loop|6 end end - local.get $9 + local.get $5 i32.load offset=20 i32.const 50 i32.ne @@ -9341,9 +9283,9 @@ i32.const 50 i32.lt_s if - local.get $9 + local.get $5 i32.load - local.get $9 + local.get $5 i32.load offset=4 local.get $1 local.tee $0 @@ -9380,20 +9322,20 @@ i32.shl i32.add i32.load - local.set $3 + local.set $2 block $__inlined_func$~lib/map/Map#find23 loop $while-continue|024 - local.get $3 + local.get $2 if - local.get $3 + local.get $2 i32.load offset=8 - local.tee $2 + local.tee $3 i32.const 1 i32.and if (result i32) i32.const 0 else - local.get $3 + local.get $2 i32.load16_u local.get $0 i32.const 65535 @@ -9401,17 +9343,17 @@ i32.eq end br_if $__inlined_func$~lib/map/Map#find23 - local.get $2 + local.get $3 i32.const -2 i32.and - local.set $3 + local.set $2 br $while-continue|024 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 @@ -9420,16 +9362,16 @@ call $~lib/builtins/abort unreachable end - local.get $9 + local.get $5 local.get $1 local.get $1 i32.extend16_s i32.const 10 i32.add call $~lib/map/Map#set - local.get $9 + local.get $5 i32.load - local.get $9 + local.get $5 i32.load offset=4 local.get $1 local.tee $0 @@ -9466,20 +9408,20 @@ i32.shl i32.add i32.load - local.set $3 + local.set $2 block $__inlined_func$~lib/map/Map#find26 loop $while-continue|027 - local.get $3 + local.get $2 if - local.get $3 + local.get $2 i32.load offset=8 - local.tee $2 + local.tee $3 i32.const 1 i32.and if (result i32) i32.const 0 else - local.get $3 + local.get $2 i32.load16_u local.get $0 i32.const 65535 @@ -9487,19 +9429,17 @@ i32.eq end br_if $__inlined_func$~lib/map/Map#find26 - local.get $2 + local.get $3 i32.const -2 i32.and - local.set $3 + local.set $2 br $while-continue|027 end end i32.const 0 - local.set $3 + local.set $2 end - local.get $3 - i32.const 0 - i32.ne + local.get $2 i32.eqz if i32.const 0 @@ -9509,12 +9449,12 @@ call $~lib/builtins/abort unreachable end - local.get $9 + local.get $5 local.get $1 call $~lib/map/Map#delete - local.get $9 + local.get $5 i32.load - local.get $9 + local.get $5 i32.load offset=4 local.get $1 local.tee $0 @@ -9551,20 +9491,20 @@ i32.shl i32.add i32.load - local.set $3 + local.set $2 block $__inlined_func$~lib/map/Map#find29 loop $while-continue|030 - local.get $3 + local.get $2 if - local.get $3 + local.get $2 i32.load offset=8 - local.tee $2 + local.tee $3 i32.const 1 i32.and if (result i32) i32.const 0 else - local.get $3 + local.get $2 i32.load16_u local.get $0 i32.const 65535 @@ -9572,17 +9512,17 @@ i32.eq end br_if $__inlined_func$~lib/map/Map#find29 - local.get $2 + local.get $3 i32.const -2 i32.and - local.set $3 + local.set $2 br $while-continue|030 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 @@ -9598,7 +9538,7 @@ br $for-loop|8 end end - local.get $9 + local.get $5 i32.load offset=20 i32.const 50 i32.ne @@ -9610,9 +9550,9 @@ call $~lib/builtins/abort unreachable end - local.get $9 + local.get $5 call $~lib/map/Map#clear - local.get $9 + local.get $5 i32.load offset=20 if i32.const 0 @@ -9671,7 +9611,7 @@ i32.const 2 i32.shl call $~lib/arraybuffer/ArrayBuffer#constructor - local.tee $5 + local.tee $4 i32.store global.get $~lib/memory/__stack_pointer local.get $2 @@ -9687,7 +9627,7 @@ i32.store offset=4 local.get $0 i32.load offset=8 - local.tee $4 + local.tee $5 local.get $0 i32.load offset=16 i32.const 12 @@ -9697,23 +9637,23 @@ local.get $3 local.set $2 loop $while-continue|0 - local.get $4 + local.get $5 local.get $7 i32.ne if - local.get $4 + local.get $5 i32.load offset=8 i32.const 1 i32.and i32.eqz if local.get $2 - local.get $4 + local.get $5 i32.load16_u local.tee $8 i32.store16 local.get $2 - local.get $4 + local.get $5 i32.load offset=4 i32.store offset=4 local.get $2 @@ -9749,7 +9689,7 @@ i32.and i32.const 2 i32.shl - local.get $5 + local.get $4 i32.add local.tee $8 i32.load @@ -9762,20 +9702,20 @@ i32.add local.set $2 end - local.get $4 + local.get $5 i32.const 12 i32.add - local.set $4 + local.set $5 br $while-continue|0 end end local.get $0 - local.get $5 + local.get $4 i32.store - local.get $5 + local.get $4 if local.get $0 - local.get $5 + local.get $4 call $byn-split-outlined-A$~lib/rt/itcms/__link end local.get $0 @@ -10035,28 +9975,27 @@ (local $16 i32) (local $17 i32) (local $18 i32) - (local $19 i32) + global.get $~lib/memory/__stack_pointer + i32.const 20 + i32.sub + global.set $~lib/memory/__stack_pointer block $folding-inner1 - global.get $~lib/memory/__stack_pointer - i32.const 20 - i32.sub - global.set $~lib/memory/__stack_pointer block $folding-inner0 global.get $~lib/memory/__stack_pointer i32.const 2020 i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer - local.tee $5 + local.tee $3 i64.const 0 i64.store - local.get $5 + local.get $3 i64.const 0 i64.store offset=8 - local.get $5 + local.get $3 i32.const 0 i32.store offset=16 - local.get $5 + local.get $3 i32.const 4 i32.sub global.set $~lib/memory/__stack_pointer @@ -10065,70 +10004,68 @@ i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer - local.tee $2 + local.tee $4 i32.const 0 i32.store - local.get $2 + local.get $4 i32.const 24 i32.const 14 call $~lib/rt/itcms/__new - local.tee $9 + local.tee $5 i32.store - local.get $9 + local.get $5 i32.const 16 call $~lib/arraybuffer/ArrayBuffer#constructor - local.tee $3 + local.tee $4 i32.store - local.get $9 - local.set $2 - local.get $3 + local.get $4 if - local.get $2 - local.get $3 + local.get $5 + local.get $4 call $byn-split-outlined-A$~lib/rt/itcms/__link end - local.get $2 + local.get $5 i32.const 3 i32.store offset=4 - local.get $2 + local.get $5 i32.const 48 call $~lib/arraybuffer/ArrayBuffer#constructor - local.tee $3 + local.tee $4 i32.store offset=8 - local.get $3 + local.get $4 if - local.get $2 - local.get $3 + local.get $5 + local.get $4 call $byn-split-outlined-A$~lib/rt/itcms/__link end - local.get $2 + local.get $5 i32.const 4 i32.store offset=12 - local.get $2 + local.get $5 i32.const 0 i32.store offset=16 - local.get $2 + 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 $5 - local.get $2 i32.store loop $for-loop|1 - local.get $0 + local.get $2 i32.const 65535 i32.and i32.const 100 i32.lt_u if - local.get $2 + local.get $5 i32.load - local.get $2 + local.get $5 i32.load offset=4 - local.get $0 + local.get $2 local.tee $3 i32.const 65535 i32.and @@ -10140,44 +10077,44 @@ i32.rotl i32.const 668265263 i32.mul - local.tee $5 + local.tee $4 i32.const 15 i32.shr_u - local.get $5 + local.get $4 i32.xor i32.const -2048144777 i32.mul - local.tee $5 + local.tee $4 i32.const 13 i32.shr_u - local.get $5 + local.get $4 i32.xor i32.const -1028477379 i32.mul - local.tee $5 + local.tee $4 i32.const 16 i32.shr_u - local.get $5 + local.get $4 i32.xor i32.and i32.const 2 i32.shl i32.add i32.load - local.set $6 + local.set $4 block $__inlined_func$~lib/map/Map#find loop $while-continue|0 - local.get $6 + local.get $4 if - local.get $6 + local.get $4 i32.load offset=8 - local.tee $5 + local.tee $6 i32.const 1 i32.and if (result i32) i32.const 0 else - local.get $6 + local.get $4 i32.load16_u local.get $3 i32.const 65535 @@ -10185,17 +10122,17 @@ i32.eq end br_if $__inlined_func$~lib/map/Map#find - local.get $5 + local.get $6 i32.const -2 i32.and - local.set $6 + local.set $4 br $while-continue|0 end end i32.const 0 - local.set $6 + local.set $4 end - local.get $6 + local.get $4 if i32.const 0 i32.const 1568 @@ -10204,19 +10141,19 @@ call $~lib/builtins/abort unreachable end + local.get $5 + local.get $2 local.get $2 - local.get $0 - local.get $0 i32.const 65535 i32.and i32.const 10 i32.add call $~lib/map/Map#set - local.get $2 + local.get $5 i32.load - local.get $2 + local.get $5 i32.load offset=4 - local.get $0 + local.get $2 local.tee $3 i32.const 65535 i32.and @@ -10228,44 +10165,44 @@ i32.rotl i32.const 668265263 i32.mul - local.tee $5 + local.tee $4 i32.const 15 i32.shr_u - local.get $5 + local.get $4 i32.xor i32.const -2048144777 i32.mul - local.tee $5 + local.tee $4 i32.const 13 i32.shr_u - local.get $5 + local.get $4 i32.xor i32.const -1028477379 i32.mul - local.tee $5 + local.tee $4 i32.const 16 i32.shr_u - local.get $5 + local.get $4 i32.xor i32.and i32.const 2 i32.shl i32.add i32.load - local.set $6 + local.set $4 block $__inlined_func$~lib/map/Map#find1 loop $while-continue|02 - local.get $6 + local.get $4 if - local.get $6 + local.get $4 i32.load offset=8 - local.tee $5 + local.tee $6 i32.const 1 i32.and if (result i32) i32.const 0 else - local.get $6 + local.get $4 i32.load16_u local.get $3 i32.const 65535 @@ -10273,19 +10210,17 @@ i32.eq end br_if $__inlined_func$~lib/map/Map#find1 - local.get $5 + local.get $6 i32.const -2 i32.and - local.set $6 + local.set $4 br $while-continue|02 end end i32.const 0 - local.set $6 + local.set $4 end - local.get $6 - i32.const 0 - i32.ne + local.get $4 i32.eqz if i32.const 0 @@ -10295,10 +10230,10 @@ call $~lib/builtins/abort unreachable end + local.get $5 local.get $2 - local.get $0 call $~lib/map/Map#get - local.get $0 + local.get $2 i32.const 65535 i32.and i32.const 10 @@ -10312,14 +10247,14 @@ call $~lib/builtins/abort unreachable end - local.get $0 + local.get $2 i32.const 1 i32.add - local.set $0 + local.set $2 br $for-loop|1 end end - local.get $2 + local.get $5 i32.load offset=20 i32.const 100 i32.ne @@ -10332,19 +10267,19 @@ unreachable end i32.const 0 - local.set $0 + local.set $2 loop $for-loop|3 - local.get $0 + local.get $2 i32.const 65535 i32.and i32.const 100 i32.lt_u if - local.get $2 + local.get $5 i32.load - local.get $2 + local.get $5 i32.load offset=4 - local.get $0 + local.get $2 local.tee $3 i32.const 65535 i32.and @@ -10356,44 +10291,44 @@ i32.rotl i32.const 668265263 i32.mul - local.tee $5 + local.tee $4 i32.const 15 i32.shr_u - local.get $5 + local.get $4 i32.xor i32.const -2048144777 i32.mul - local.tee $5 + local.tee $4 i32.const 13 i32.shr_u - local.get $5 + local.get $4 i32.xor i32.const -1028477379 i32.mul - local.tee $5 + local.tee $4 i32.const 16 i32.shr_u - local.get $5 + local.get $4 i32.xor i32.and i32.const 2 i32.shl i32.add i32.load - local.set $6 + local.set $4 block $__inlined_func$~lib/map/Map#find4 loop $while-continue|05 - local.get $6 + local.get $4 if - local.get $6 + local.get $4 i32.load offset=8 - local.tee $5 + local.tee $6 i32.const 1 i32.and if (result i32) i32.const 0 else - local.get $6 + local.get $4 i32.load16_u local.get $3 i32.const 65535 @@ -10401,19 +10336,17 @@ i32.eq end br_if $__inlined_func$~lib/map/Map#find4 - local.get $5 + local.get $6 i32.const -2 i32.and - local.set $6 + local.set $4 br $while-continue|05 end end i32.const 0 - local.set $6 + local.set $4 end - local.get $6 - i32.const 0 - i32.ne + local.get $4 i32.eqz if i32.const 0 @@ -10423,10 +10356,10 @@ call $~lib/builtins/abort unreachable end + local.get $5 local.get $2 - local.get $0 call $~lib/map/Map#get - local.get $0 + local.get $2 i32.const 65535 i32.and i32.const 10 @@ -10440,19 +10373,19 @@ call $~lib/builtins/abort unreachable end + local.get $5 + local.get $2 local.get $2 - local.get $0 - local.get $0 i32.const 65535 i32.and i32.const 20 i32.add call $~lib/map/Map#set - local.get $2 + local.get $5 i32.load - local.get $2 + local.get $5 i32.load offset=4 - local.get $0 + local.get $2 local.tee $3 i32.const 65535 i32.and @@ -10464,44 +10397,44 @@ i32.rotl i32.const 668265263 i32.mul - local.tee $5 + local.tee $4 i32.const 15 i32.shr_u - local.get $5 + local.get $4 i32.xor i32.const -2048144777 i32.mul - local.tee $5 + local.tee $4 i32.const 13 i32.shr_u - local.get $5 + local.get $4 i32.xor i32.const -1028477379 i32.mul - local.tee $5 + local.tee $4 i32.const 16 i32.shr_u - local.get $5 + local.get $4 i32.xor i32.and i32.const 2 i32.shl i32.add i32.load - local.set $6 + local.set $4 block $__inlined_func$~lib/map/Map#find7 loop $while-continue|08 - local.get $6 + local.get $4 if - local.get $6 + local.get $4 i32.load offset=8 - local.tee $5 + local.tee $6 i32.const 1 i32.and if (result i32) i32.const 0 else - local.get $6 + local.get $4 i32.load16_u local.get $3 i32.const 65535 @@ -10509,19 +10442,17 @@ i32.eq end br_if $__inlined_func$~lib/map/Map#find7 - local.get $5 + local.get $6 i32.const -2 i32.and - local.set $6 + local.set $4 br $while-continue|08 end end i32.const 0 - local.set $6 + local.set $4 end - local.get $6 - i32.const 0 - i32.ne + local.get $4 i32.eqz if i32.const 0 @@ -10531,10 +10462,10 @@ call $~lib/builtins/abort unreachable end + local.get $5 local.get $2 - local.get $0 call $~lib/map/Map#get - local.get $0 + local.get $2 i32.const 65535 i32.and i32.const 20 @@ -10548,14 +10479,14 @@ call $~lib/builtins/abort unreachable end - local.get $0 + local.get $2 i32.const 1 i32.add - local.set $0 + local.set $2 br $for-loop|3 end end - local.get $2 + local.get $5 i32.load offset=20 i32.const 100 i32.ne @@ -10568,7 +10499,7 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $10 + local.tee $2 i32.const 4 i32.sub global.set $~lib/memory/__stack_pointer @@ -10577,17 +10508,16 @@ i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer - local.tee $7 + local.tee $3 i32.const 0 i32.store - local.get $2 + local.get $5 i32.load offset=8 local.set $6 - local.get $2 + local.get $5 i32.load offset=16 - local.tee $5 - local.set $3 - local.get $7 + local.set $7 + local.get $3 i32.const 8 i32.sub global.set $~lib/memory/__stack_pointer @@ -10596,28 +10526,28 @@ i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer - local.tee $0 + local.tee $4 i64.const 0 i64.store - local.get $0 + local.get $4 i32.const 16 i32.const 15 call $~lib/rt/itcms/__new - local.tee $8 + local.tee $4 i32.store - local.get $8 + local.get $4 i32.const 0 i32.store - local.get $8 + local.get $4 i32.const 0 i32.store offset=4 - local.get $8 + local.get $4 i32.const 0 i32.store offset=8 - local.get $8 + local.get $4 i32.const 0 i32.store offset=12 - local.get $3 + local.get $7 i32.const 536870910 i32.gt_u if @@ -10629,97 +10559,96 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $3 + local.get $7 i32.const 8 - local.get $3 + local.get $7 i32.const 8 i32.gt_u select i32.const 1 i32.shl - local.tee $2 + local.tee $8 i32.const 0 call $~lib/rt/itcms/__new - local.tee $0 + local.tee $9 i32.store offset=4 - local.get $8 - local.get $0 + local.get $4 + local.get $9 i32.store - local.get $0 + local.get $9 if - local.get $8 - local.get $0 + local.get $4 + local.get $9 call $byn-split-outlined-A$~lib/rt/itcms/__link end - local.get $8 - local.get $0 + local.get $4 + local.get $9 i32.store offset=4 + local.get $4 local.get $8 - local.get $2 i32.store offset=8 - local.get $8 - local.get $3 + local.get $4 + local.get $7 i32.store offset=12 global.get $~lib/memory/__stack_pointer i32.const 8 i32.add global.set $~lib/memory/__stack_pointer - local.get $7 - local.get $8 + local.get $3 + local.get $4 i32.store loop $for-loop|0 - local.get $5 - local.get $19 - i32.gt_s + local.get $1 + local.get $7 + i32.lt_s if - local.get $19 + local.get $1 i32.const 12 i32.mul local.get $6 i32.add - local.tee $2 + local.tee $3 i32.load offset=8 i32.const 1 i32.and i32.eqz if local.get $4 - local.tee $0 - i32.const 1 - i32.add - local.set $4 - local.get $8 local.get $0 - local.get $2 + local.get $3 i32.load16_u call $~lib/array/Array#__set + local.get $0 + i32.const 1 + i32.add + local.set $0 end - local.get $19 + local.get $1 i32.const 1 i32.add - local.set $19 + local.set $1 br $for-loop|0 end end - local.get $8 local.get $4 + local.get $0 i32.const 1 i32.const 0 call $~lib/array/ensureCapacity - local.get $8 local.get $4 + 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 $10 - local.get $8 + local.get $2 + local.get $4 i32.store offset=4 global.get $~lib/memory/__stack_pointer - local.get $9 + local.get $5 call $~lib/map/Map#values - local.tee $17 + local.tee $13 i32.store offset=8 global.get $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer @@ -10731,70 +10660,71 @@ i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer - local.tee $0 + local.tee $1 i32.const 0 i32.store - local.get $0 + local.get $1 i32.const 24 i32.const 16 call $~lib/rt/itcms/__new - local.tee $7 + local.tee $6 i32.store - local.get $7 + local.get $6 i32.const 16 call $~lib/arraybuffer/ArrayBuffer#constructor - local.tee $0 + local.tee $1 i32.store - local.get $0 + local.get $1 if - local.get $7 - local.get $0 + local.get $6 + local.get $1 call $byn-split-outlined-A$~lib/rt/itcms/__link end - local.get $7 + local.get $6 i32.const 3 i32.store offset=4 - local.get $7 + local.get $6 i32.const 32 call $~lib/arraybuffer/ArrayBuffer#constructor - local.tee $0 + local.tee $1 i32.store offset=8 - local.get $0 + local.get $1 if - local.get $7 - local.get $0 + local.get $6 + local.get $1 call $byn-split-outlined-A$~lib/rt/itcms/__link end - local.get $7 + local.get $6 i32.const 4 i32.store offset=12 - local.get $7 + local.get $6 i32.const 0 i32.store offset=16 - local.get $7 + local.get $6 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 $7 + local.get $6 i32.store offset=12 global.get $~lib/memory/__stack_pointer call $~lib/map/Map#constructor - local.tee $13 + local.tee $15 i32.store offset=16 + i32.const 0 + local.set $1 loop $for-loop|4 - local.get $8 + local.get $4 i32.load offset=12 local.get $1 i32.gt_s if - local.get $1 - local.tee $6 - local.get $8 + local.get $4 i32.load offset=12 - i32.ge_u + local.get $1 + i32.le_u if i32.const 1248 i32.const 1728 @@ -10803,23 +10733,23 @@ call $~lib/builtins/abort unreachable end - local.get $8 + local.get $4 i32.load offset=4 - local.get $6 + local.get $1 i32.const 1 i32.shl i32.add i32.load16_u - local.set $2 - local.get $17 - local.get $6 + local.set $7 + local.get $13 + local.get $1 call $~lib/array/Array#__get - local.set $12 - local.get $9 + local.set $14 + local.get $5 i32.load - local.get $9 + local.get $5 i32.load offset=4 - local.get $2 + local.get $7 local.tee $0 i32.const 65535 i32.and @@ -10831,44 +10761,44 @@ i32.rotl i32.const 668265263 i32.mul - local.tee $1 + local.tee $2 i32.const 15 i32.shr_u - local.get $1 + local.get $2 i32.xor i32.const -2048144777 i32.mul - local.tee $1 + local.tee $2 i32.const 13 i32.shr_u - local.get $1 + local.get $2 i32.xor i32.const -1028477379 i32.mul - local.tee $1 + local.tee $2 i32.const 16 i32.shr_u - local.get $1 + 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#find10 loop $while-continue|011 - local.get $3 + local.get $2 if - local.get $3 + local.get $2 i32.load offset=8 - local.tee $1 + local.tee $3 i32.const 1 i32.and if (result i32) i32.const 0 else - local.get $3 + local.get $2 i32.load16_u local.get $0 i32.const 65535 @@ -10876,19 +10806,17 @@ i32.eq end br_if $__inlined_func$~lib/map/Map#find10 - local.get $1 + local.get $3 i32.const -2 i32.and - local.set $3 + local.set $2 br $while-continue|011 end end i32.const 0 - local.set $3 + local.set $2 end - local.get $3 - i32.const 0 - i32.ne + local.get $2 i32.eqz if i32.const 0 @@ -10898,14 +10826,14 @@ call $~lib/builtins/abort unreachable end - local.get $9 + local.get $5 i32.load - local.get $9 + local.get $5 i32.load offset=4 - local.get $12 + local.get $14 i32.const 20 i32.sub - local.tee $1 + local.tee $2 i32.const 65535 i32.and i32.const -1028477379 @@ -10940,40 +10868,38 @@ i32.shl i32.add i32.load - local.set $3 + local.set $0 block $__inlined_func$~lib/map/Map#find13 loop $while-continue|014 - local.get $3 + local.get $0 if - local.get $3 + local.get $0 i32.load offset=8 - local.tee $0 + local.tee $3 i32.const 1 i32.and if (result i32) i32.const 0 else - local.get $3 + local.get $0 i32.load16_u - local.get $1 + local.get $2 i32.const 65535 i32.and i32.eq end br_if $__inlined_func$~lib/map/Map#find13 - local.get $0 + local.get $3 i32.const -2 i32.and - local.set $3 + local.set $0 br $while-continue|014 end end i32.const 0 - local.set $3 + local.set $0 end - local.get $3 - i32.const 0 - i32.ne + local.get $0 i32.eqz if i32.const 0 @@ -10994,12 +10920,10 @@ global.get $~lib/memory/__stack_pointer i32.const 0 i32.store - local.get $2 - local.set $5 - local.get $7 - local.tee $1 + local.get $6 + local.tee $3 i32.load - local.get $2 + local.get $7 i32.const 65535 i32.and i32.const -1028477379 @@ -11029,61 +10953,62 @@ i32.const 16 i32.shr_u i32.xor - local.tee $16 - local.get $1 + local.tee $12 + local.get $3 i32.load offset=4 i32.and i32.const 2 i32.shl i32.add i32.load - local.set $3 + local.set $2 block $__inlined_func$~lib/map/Map#find loop $while-continue|015 - local.get $3 + local.get $2 if - local.get $3 - i32.load offset=4 + local.get $2 local.tee $0 + i32.load offset=4 + local.tee $2 i32.const 1 i32.and if (result i32) i32.const 0 else - local.get $3 + local.get $0 i32.load16_u - local.get $5 + local.get $7 i32.const 65535 i32.and i32.eq end br_if $__inlined_func$~lib/map/Map#find - local.get $0 + local.get $2 i32.const -2 i32.and - local.set $3 + local.set $2 br $while-continue|015 end end i32.const 0 - local.set $3 + local.set $0 end - local.get $3 + local.get $0 if - local.get $3 - local.get $5 + local.get $0 + local.get $7 i32.store16 offset=2 else - local.get $1 + local.get $3 i32.load offset=16 - local.get $1 + local.get $3 i32.load offset=12 i32.eq if - local.get $1 - local.tee $4 + local.get $3 + local.tee $2 i32.load offset=20 - local.get $1 + local.get $3 i32.load offset=12 i32.const 3 i32.mul @@ -11091,17 +11016,17 @@ i32.div_s i32.lt_s if (result i32) - local.get $4 + local.get $2 i32.load offset=4 else - local.get $4 + local.get $2 i32.load offset=4 i32.const 1 i32.shl i32.const 1 i32.or end - local.set $18 + local.set $16 global.get $~lib/memory/__stack_pointer i32.const 8 i32.sub @@ -11115,14 +11040,14 @@ i64.const 0 i64.store local.get $0 - local.get $18 + local.get $16 i32.const 1 i32.add local.tee $0 i32.const 2 i32.shl call $~lib/arraybuffer/ArrayBuffer#constructor - local.tee $11 + local.tee $8 i32.store global.get $~lib/memory/__stack_pointer local.get $0 @@ -11130,45 +11055,45 @@ i32.shl i32.const 3 i32.div_s - local.tee $15 + local.tee $11 i32.const 3 i32.shl call $~lib/arraybuffer/ArrayBuffer#constructor - local.tee $3 + local.tee $9 i32.store offset=4 - local.get $4 + local.get $2 i32.load offset=8 - local.tee $19 - local.get $4 + local.tee $17 + local.get $2 i32.load offset=16 i32.const 3 i32.shl i32.add - local.set $14 - local.get $3 + local.set $10 + local.get $9 local.set $0 loop $while-continue|00 - local.get $14 - local.get $19 + local.get $10 + local.get $17 i32.ne if - local.get $19 + local.get $17 i32.load offset=4 i32.const 1 i32.and i32.eqz if local.get $0 - local.get $19 + local.get $17 i32.load16_u - local.tee $10 + local.tee $18 i32.store16 local.get $0 - local.get $19 + local.get $17 i32.load16_u offset=2 i32.store16 offset=2 local.get $0 - local.get $10 + local.get $18 i32.const -1028477379 i32.mul i32.const 374761395 @@ -11177,35 +11102,35 @@ i32.rotl i32.const 668265263 i32.mul - local.tee $10 - local.get $10 + local.tee $18 + local.get $18 i32.const 15 i32.shr_u i32.xor i32.const -2048144777 i32.mul - local.tee $10 - local.get $10 + local.tee $18 + local.get $18 i32.const 13 i32.shr_u i32.xor i32.const -1028477379 i32.mul - local.tee $10 - local.get $10 + local.tee $18 + local.get $18 i32.const 16 i32.shr_u i32.xor - local.get $18 + local.get $16 i32.and i32.const 2 i32.shl - local.get $11 + local.get $8 i32.add - local.tee $10 + local.tee $18 i32.load i32.store offset=4 - local.get $10 + local.get $18 local.get $0 i32.store local.get $0 @@ -11213,39 +11138,39 @@ i32.add local.set $0 end - local.get $19 + local.get $17 i32.const 8 i32.add - local.set $19 + local.set $17 br $while-continue|00 end end - local.get $4 - local.get $11 + local.get $2 + local.get $8 i32.store - local.get $11 + local.get $8 if - local.get $1 - local.get $11 + local.get $3 + local.get $8 call $byn-split-outlined-A$~lib/rt/itcms/__link end - local.get $1 - local.get $18 + local.get $3 + local.get $16 i32.store offset=4 - local.get $1 local.get $3 + local.get $9 i32.store offset=8 - local.get $3 + local.get $9 if - local.get $1 local.get $3 + local.get $9 call $byn-split-outlined-A$~lib/rt/itcms/__link end - local.get $1 - local.get $15 + local.get $3 + local.get $11 i32.store offset=12 - local.get $1 - local.get $1 + local.get $3 + local.get $3 i32.load offset=20 i32.store offset=16 global.get $~lib/memory/__stack_pointer @@ -11254,70 +11179,70 @@ global.set $~lib/memory/__stack_pointer end global.get $~lib/memory/__stack_pointer - local.get $1 + local.get $3 i32.load offset=8 - local.tee $3 + local.tee $0 i32.store - local.get $1 - local.get $1 + local.get $3 + local.get $3 i32.load offset=16 - local.tee $0 + local.tee $2 i32.const 1 i32.add i32.store offset=16 - local.get $0 + local.get $2 i32.const 3 i32.shl - local.get $3 + local.get $0 i32.add - local.tee $3 - local.get $2 + local.tee $0 + local.get $7 i32.store16 - local.get $3 - local.get $5 + local.get $0 + local.get $7 i32.store16 offset=2 - local.get $1 - local.get $1 + local.get $3 + local.get $3 i32.load offset=20 i32.const 1 i32.add i32.store offset=20 + local.get $0 local.get $3 - local.get $1 i32.load - local.get $1 + local.get $3 i32.load offset=4 - local.get $16 + local.get $12 i32.and i32.const 2 i32.shl i32.add - local.tee $0 + local.tee $2 i32.load i32.store offset=4 + local.get $2 local.get $0 - local.get $3 i32.store end global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $13 - local.get $12 + local.get $15 + local.get $14 i32.const 20 i32.sub local.tee $0 local.get $0 call $~lib/map/Map#set - local.get $6 + local.get $1 i32.const 1 i32.add local.set $1 br $for-loop|4 end end - local.get $7 + local.get $6 i32.load offset=20 i32.const 100 i32.ne @@ -11329,7 +11254,7 @@ call $~lib/builtins/abort unreachable end - local.get $13 + local.get $15 i32.load offset=20 i32.const 100 i32.ne @@ -11350,9 +11275,9 @@ i32.const 50 i32.lt_u if - local.get $9 + local.get $5 i32.load - local.get $9 + local.get $5 i32.load offset=4 local.get $1 local.tee $0 @@ -11390,20 +11315,20 @@ i32.shl i32.add i32.load - local.set $3 + local.set $2 block $__inlined_func$~lib/map/Map#find17 loop $while-continue|018 - local.get $3 + local.get $2 if - local.get $3 + local.get $2 i32.load offset=8 - local.tee $2 + local.tee $3 i32.const 1 i32.and if (result i32) i32.const 0 else - local.get $3 + local.get $2 i32.load16_u local.get $0 i32.const 65535 @@ -11411,19 +11336,17 @@ i32.eq end br_if $__inlined_func$~lib/map/Map#find17 - local.get $2 + local.get $3 i32.const -2 i32.and - local.set $3 + local.set $2 br $while-continue|018 end end i32.const 0 - local.set $3 + local.set $2 end - local.get $3 - i32.const 0 - i32.ne + local.get $2 i32.eqz if i32.const 0 @@ -11433,7 +11356,7 @@ call $~lib/builtins/abort unreachable end - local.get $9 + local.get $5 local.get $1 call $~lib/map/Map#get local.get $1 @@ -11450,12 +11373,12 @@ call $~lib/builtins/abort unreachable end - local.get $9 + local.get $5 local.get $1 call $~lib/map/Map#delete - local.get $9 + local.get $5 i32.load - local.get $9 + local.get $5 i32.load offset=4 local.get $1 local.tee $0 @@ -11493,20 +11416,20 @@ i32.shl i32.add i32.load - local.set $3 + local.set $2 block $__inlined_func$~lib/map/Map#find20 loop $while-continue|021 - local.get $3 + local.get $2 if - local.get $3 + local.get $2 i32.load offset=8 - local.tee $2 + local.tee $3 i32.const 1 i32.and if (result i32) i32.const 0 else - local.get $3 + local.get $2 i32.load16_u local.get $0 i32.const 65535 @@ -11514,17 +11437,17 @@ i32.eq end br_if $__inlined_func$~lib/map/Map#find20 - local.get $2 + local.get $3 i32.const -2 i32.and - local.set $3 + local.set $2 br $while-continue|021 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 @@ -11540,7 +11463,7 @@ br $for-loop|6 end end - local.get $9 + local.get $5 i32.load offset=20 i32.const 50 i32.ne @@ -11561,9 +11484,9 @@ i32.const 50 i32.lt_u if - local.get $9 + local.get $5 i32.load - local.get $9 + local.get $5 i32.load offset=4 local.get $1 local.tee $0 @@ -11601,20 +11524,20 @@ i32.shl i32.add i32.load - local.set $3 + local.set $2 block $__inlined_func$~lib/map/Map#find23 loop $while-continue|024 - local.get $3 + local.get $2 if - local.get $3 + local.get $2 i32.load offset=8 - local.tee $2 + local.tee $3 i32.const 1 i32.and if (result i32) i32.const 0 else - local.get $3 + local.get $2 i32.load16_u local.get $0 i32.const 65535 @@ -11622,17 +11545,17 @@ i32.eq end br_if $__inlined_func$~lib/map/Map#find23 - local.get $2 + local.get $3 i32.const -2 i32.and - local.set $3 + local.set $2 br $while-continue|024 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 @@ -11641,7 +11564,7 @@ call $~lib/builtins/abort unreachable end - local.get $9 + local.get $5 local.get $1 local.get $1 i32.const 65535 @@ -11649,9 +11572,9 @@ i32.const 10 i32.add call $~lib/map/Map#set - local.get $9 + local.get $5 i32.load - local.get $9 + local.get $5 i32.load offset=4 local.get $1 local.tee $0 @@ -11689,20 +11612,20 @@ i32.shl i32.add i32.load - local.set $3 + local.set $2 block $__inlined_func$~lib/map/Map#find26 loop $while-continue|027 - local.get $3 + local.get $2 if - local.get $3 + local.get $2 i32.load offset=8 - local.tee $2 + local.tee $3 i32.const 1 i32.and if (result i32) i32.const 0 else - local.get $3 + local.get $2 i32.load16_u local.get $0 i32.const 65535 @@ -11710,19 +11633,17 @@ i32.eq end br_if $__inlined_func$~lib/map/Map#find26 - local.get $2 + local.get $3 i32.const -2 i32.and - local.set $3 + local.set $2 br $while-continue|027 end end i32.const 0 - local.set $3 + local.set $2 end - local.get $3 - i32.const 0 - i32.ne + local.get $2 i32.eqz if i32.const 0 @@ -11732,12 +11653,12 @@ call $~lib/builtins/abort unreachable end - local.get $9 + local.get $5 local.get $1 call $~lib/map/Map#delete - local.get $9 + local.get $5 i32.load - local.get $9 + local.get $5 i32.load offset=4 local.get $1 local.tee $0 @@ -11775,20 +11696,20 @@ i32.shl i32.add i32.load - local.set $3 + local.set $2 block $__inlined_func$~lib/map/Map#find29 loop $while-continue|030 - local.get $3 + local.get $2 if - local.get $3 + local.get $2 i32.load offset=8 - local.tee $2 + local.tee $3 i32.const 1 i32.and if (result i32) i32.const 0 else - local.get $3 + local.get $2 i32.load16_u local.get $0 i32.const 65535 @@ -11796,17 +11717,17 @@ i32.eq end br_if $__inlined_func$~lib/map/Map#find29 - local.get $2 + local.get $3 i32.const -2 i32.and - local.set $3 + local.set $2 br $while-continue|030 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 @@ -11822,7 +11743,7 @@ br $for-loop|8 end end - local.get $9 + local.get $5 i32.load offset=20 i32.const 50 i32.ne @@ -11834,9 +11755,9 @@ call $~lib/builtins/abort unreachable end - local.get $9 + local.get $5 call $~lib/map/Map#clear - local.get $9 + local.get $5 i32.load offset=20 if i32.const 0 @@ -12087,29 +12008,29 @@ i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer - local.tee $4 + local.tee $1 i64.const 0 i64.store - local.get $4 + local.get $1 i64.const 0 i64.store offset=8 - local.get $4 + local.get $1 i32.const 0 i32.store offset=16 - local.get $4 + local.get $1 call $~lib/map/Map#constructor - local.tee $5 + local.tee $2 i32.store loop $for-loop|0 - local.get $2 + local.get $0 i32.const 100 i32.lt_s if - local.get $5 + local.get $2 i32.load - local.get $5 - i32.load offset=4 local.get $2 + i32.load offset=4 + local.get $0 i32.const -1028477379 i32.mul i32.const 374761397 @@ -12118,22 +12039,22 @@ i32.rotl i32.const 668265263 i32.mul - local.tee $4 - local.get $4 + local.tee $1 + local.get $1 i32.const 15 i32.shr_u i32.xor i32.const -2048144777 i32.mul - local.tee $4 - local.get $4 + local.tee $1 + local.get $1 i32.const 13 i32.shr_u i32.xor i32.const -1028477379 i32.mul - local.tee $4 - local.get $4 + local.tee $1 + local.get $1 i32.const 16 i32.shr_u i32.xor @@ -12142,12 +12063,12 @@ i32.shl i32.add i32.load - local.set $6 + local.set $1 block $__inlined_func$~lib/map/Map#find loop $while-continue|0 - local.get $6 + local.get $1 if - local.get $6 + local.get $1 i32.load offset=8 local.tee $4 i32.const 1 @@ -12155,8 +12076,8 @@ if (result i32) i32.const 0 else - local.get $2 - local.get $6 + local.get $0 + local.get $1 i32.load i32.eq end @@ -12164,14 +12085,14 @@ local.get $4 i32.const -2 i32.and - local.set $6 + local.set $1 br $while-continue|0 end end i32.const 0 - local.set $6 + local.set $1 end - local.get $6 + local.get $1 if i32.const 0 i32.const 1568 @@ -12180,17 +12101,17 @@ call $~lib/builtins/abort unreachable end - local.get $5 - local.get $2 local.get $2 + local.get $0 + local.get $0 i32.const 10 i32.add call $~lib/map/Map#set - local.get $5 + local.get $2 i32.load - local.get $5 - i32.load offset=4 local.get $2 + i32.load offset=4 + local.get $0 i32.const -1028477379 i32.mul i32.const 374761397 @@ -12199,22 +12120,22 @@ i32.rotl i32.const 668265263 i32.mul - local.tee $4 - local.get $4 + local.tee $1 + local.get $1 i32.const 15 i32.shr_u i32.xor i32.const -2048144777 i32.mul - local.tee $4 - local.get $4 + local.tee $1 + local.get $1 i32.const 13 i32.shr_u i32.xor i32.const -1028477379 i32.mul - local.tee $4 - local.get $4 + local.tee $1 + local.get $1 i32.const 16 i32.shr_u i32.xor @@ -12223,12 +12144,12 @@ i32.shl i32.add i32.load - local.set $6 + local.set $1 block $__inlined_func$~lib/map/Map#find1 loop $while-continue|02 - local.get $6 + local.get $1 if - local.get $6 + local.get $1 i32.load offset=8 local.tee $4 i32.const 1 @@ -12236,8 +12157,8 @@ if (result i32) i32.const 0 else - local.get $2 - local.get $6 + local.get $0 + local.get $1 i32.load i32.eq end @@ -12245,14 +12166,14 @@ local.get $4 i32.const -2 i32.and - local.set $6 + local.set $1 br $while-continue|02 end end i32.const 0 - local.set $6 + local.set $1 end - local.get $6 + local.get $1 i32.eqz if i32.const 0 @@ -12262,10 +12183,10 @@ call $~lib/builtins/abort unreachable end - local.get $5 local.get $2 + local.get $0 call $~lib/map/Map#get - local.get $2 + local.get $0 i32.const 10 i32.add i32.ne @@ -12277,14 +12198,14 @@ call $~lib/builtins/abort unreachable end - local.get $2 + local.get $0 i32.const 1 i32.add - local.set $2 + local.set $0 br $for-loop|0 end end - local.get $5 + local.get $2 i32.load offset=20 i32.const 100 i32.ne @@ -12297,17 +12218,17 @@ unreachable end i32.const 0 - local.set $2 + local.set $0 loop $for-loop|1 - local.get $2 + local.get $0 i32.const 100 i32.lt_s if - local.get $5 + local.get $2 i32.load - local.get $5 - i32.load offset=4 local.get $2 + i32.load offset=4 + local.get $0 i32.const -1028477379 i32.mul i32.const 374761397 @@ -12316,22 +12237,22 @@ i32.rotl i32.const 668265263 i32.mul - local.tee $4 - local.get $4 + local.tee $1 + local.get $1 i32.const 15 i32.shr_u i32.xor i32.const -2048144777 i32.mul - local.tee $4 - local.get $4 + local.tee $1 + local.get $1 i32.const 13 i32.shr_u i32.xor i32.const -1028477379 i32.mul - local.tee $4 - local.get $4 + local.tee $1 + local.get $1 i32.const 16 i32.shr_u i32.xor @@ -12340,12 +12261,12 @@ i32.shl i32.add i32.load - local.set $6 + local.set $1 block $__inlined_func$~lib/map/Map#find4 loop $while-continue|05 - local.get $6 + local.get $1 if - local.get $6 + local.get $1 i32.load offset=8 local.tee $4 i32.const 1 @@ -12353,8 +12274,8 @@ if (result i32) i32.const 0 else - local.get $2 - local.get $6 + local.get $0 + local.get $1 i32.load i32.eq end @@ -12362,14 +12283,14 @@ local.get $4 i32.const -2 i32.and - local.set $6 + local.set $1 br $while-continue|05 end end i32.const 0 - local.set $6 + local.set $1 end - local.get $6 + local.get $1 i32.eqz if i32.const 0 @@ -12379,10 +12300,10 @@ call $~lib/builtins/abort unreachable end - local.get $5 local.get $2 + local.get $0 call $~lib/map/Map#get - local.get $2 + local.get $0 i32.const 10 i32.add i32.ne @@ -12394,17 +12315,17 @@ call $~lib/builtins/abort unreachable end - local.get $5 - local.get $2 local.get $2 + local.get $0 + local.get $0 i32.const 20 i32.add call $~lib/map/Map#set - local.get $5 + local.get $2 i32.load - local.get $5 - i32.load offset=4 local.get $2 + i32.load offset=4 + local.get $0 i32.const -1028477379 i32.mul i32.const 374761397 @@ -12413,22 +12334,22 @@ i32.rotl i32.const 668265263 i32.mul - local.tee $4 - local.get $4 + local.tee $1 + local.get $1 i32.const 15 i32.shr_u i32.xor i32.const -2048144777 i32.mul - local.tee $4 - local.get $4 + local.tee $1 + local.get $1 i32.const 13 i32.shr_u i32.xor i32.const -1028477379 i32.mul - local.tee $4 - local.get $4 + local.tee $1 + local.get $1 i32.const 16 i32.shr_u i32.xor @@ -12437,12 +12358,12 @@ i32.shl i32.add i32.load - local.set $6 + local.set $1 block $__inlined_func$~lib/map/Map#find7 loop $while-continue|08 - local.get $6 + local.get $1 if - local.get $6 + local.get $1 i32.load offset=8 local.tee $4 i32.const 1 @@ -12450,8 +12371,8 @@ if (result i32) i32.const 0 else - local.get $2 - local.get $6 + local.get $0 + local.get $1 i32.load i32.eq end @@ -12459,14 +12380,14 @@ local.get $4 i32.const -2 i32.and - local.set $6 + local.set $1 br $while-continue|08 end end i32.const 0 - local.set $6 + local.set $1 end - local.get $6 + local.get $1 i32.eqz if i32.const 0 @@ -12476,10 +12397,10 @@ call $~lib/builtins/abort unreachable end - local.get $5 local.get $2 + local.get $0 call $~lib/map/Map#get - local.get $2 + local.get $0 i32.const 20 i32.add i32.ne @@ -12491,14 +12412,14 @@ call $~lib/builtins/abort unreachable end - local.get $2 + local.get $0 i32.const 1 i32.add - local.set $2 + local.set $0 br $for-loop|1 end end - local.get $5 + local.get $2 i32.load offset=20 i32.const 100 i32.ne @@ -12511,7 +12432,7 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $6 + local.tee $1 i32.const 4 i32.sub global.set $~lib/memory/__stack_pointer @@ -12520,45 +12441,46 @@ 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 $5 + local.get $2 i32.load offset=8 - local.set $7 + local.set $5 + local.get $0 local.get $2 - local.get $5 i32.load offset=16 - local.tee $8 + local.tee $6 call $~lib/array/Array#constructor local.tee $4 i32.store + i32.const 0 + local.set $0 loop $for-loop|02 local.get $3 - local.get $8 + local.get $6 i32.lt_s if local.get $3 i32.const 12 i32.mul - local.get $7 + local.get $5 i32.add - local.tee $9 + local.tee $7 i32.load offset=8 i32.const 1 i32.and i32.eqz if - local.get $1 - local.tee $2 - i32.const 1 - i32.add - local.set $1 local.get $4 - local.get $2 - local.get $9 + local.get $0 + local.get $7 i32.load call $~lib/array/Array#__set + local.get $0 + i32.const 1 + i32.add + local.set $0 end local.get $3 i32.const 1 @@ -12568,33 +12490,35 @@ end end local.get $4 - local.get $1 + local.get $0 i32.const 2 i32.const 0 call $~lib/array/ensureCapacity local.get $4 - 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 $6 + local.get $1 local.get $4 i32.store offset=4 global.get $~lib/memory/__stack_pointer - local.get $5 + local.get $2 call $~lib/map/Map#values - local.tee $1 + local.tee $6 i32.store offset=8 global.get $~lib/memory/__stack_pointer call $~lib/map/Map#constructor - local.tee $2 + local.tee $7 i32.store offset=12 global.get $~lib/memory/__stack_pointer call $~lib/map/Map#constructor - local.tee $3 + local.tee $8 i32.store offset=16 + i32.const 0 + local.set $0 loop $for-loop|2 local.get $4 i32.load offset=12 @@ -12604,16 +12528,16 @@ local.get $4 local.get $0 call $~lib/array/Array#__get - local.set $7 - local.get $1 + local.set $3 + local.get $6 local.get $0 call $~lib/array/Array#__get - local.set $8 - local.get $5 + local.set $9 + local.get $2 i32.load - local.get $5 + local.get $2 i32.load offset=4 - local.get $7 + local.get $3 i32.const -1028477379 i32.mul i32.const 374761397 @@ -12622,22 +12546,22 @@ i32.rotl i32.const 668265263 i32.mul - local.tee $6 - local.get $6 + local.tee $1 + local.get $1 i32.const 15 i32.shr_u i32.xor i32.const -2048144777 i32.mul - local.tee $6 - local.get $6 + local.tee $1 + local.get $1 i32.const 13 i32.shr_u i32.xor i32.const -1028477379 i32.mul - local.tee $6 - local.get $6 + local.tee $1 + local.get $1 i32.const 16 i32.shr_u i32.xor @@ -12646,36 +12570,36 @@ i32.shl i32.add i32.load - local.set $6 + local.set $1 block $__inlined_func$~lib/map/Map#find10 loop $while-continue|011 - local.get $6 + local.get $1 if - local.get $6 + local.get $1 i32.load offset=8 - local.tee $9 + local.tee $5 i32.const 1 i32.and if (result i32) i32.const 0 else - local.get $7 - local.get $6 + local.get $3 + local.get $1 i32.load i32.eq end br_if $__inlined_func$~lib/map/Map#find10 - local.get $9 + local.get $5 i32.const -2 i32.and - local.set $6 + local.set $1 br $while-continue|011 end end i32.const 0 - local.set $6 + local.set $1 end - local.get $6 + local.get $1 i32.eqz if i32.const 0 @@ -12685,14 +12609,14 @@ call $~lib/builtins/abort unreachable end - local.get $5 + local.get $2 i32.load - local.get $5 + local.get $2 i32.load offset=4 - local.get $8 + local.get $9 i32.const 20 i32.sub - local.tee $9 + local.tee $10 i32.const -1028477379 i32.mul i32.const 374761397 @@ -12701,22 +12625,22 @@ i32.rotl i32.const 668265263 i32.mul - local.tee $6 - local.get $6 + local.tee $1 + local.get $1 i32.const 15 i32.shr_u i32.xor i32.const -2048144777 i32.mul - local.tee $6 - local.get $6 + local.tee $1 + local.get $1 i32.const 13 i32.shr_u i32.xor i32.const -1028477379 i32.mul - local.tee $6 - local.get $6 + local.tee $1 + local.get $1 i32.const 16 i32.shr_u i32.xor @@ -12725,36 +12649,36 @@ i32.shl i32.add i32.load - local.set $6 + local.set $1 block $__inlined_func$~lib/map/Map#find13 loop $while-continue|014 - local.get $6 + local.get $1 if - local.get $6 + local.get $1 i32.load offset=8 - local.tee $10 + local.tee $5 i32.const 1 i32.and if (result i32) i32.const 0 else - local.get $9 - local.get $6 + local.get $10 + local.get $1 i32.load i32.eq end br_if $__inlined_func$~lib/map/Map#find13 - local.get $10 + local.get $5 i32.const -2 i32.and - local.set $6 + local.set $1 br $while-continue|014 end end i32.const 0 - local.set $6 + local.set $1 end - local.get $6 + local.get $1 i32.eqz if i32.const 0 @@ -12764,16 +12688,16 @@ call $~lib/builtins/abort unreachable end - local.get $2 local.get $7 - local.get $7 - call $~lib/map/Map#set local.get $3 + local.get $3 + call $~lib/map/Map#set local.get $8 + local.get $9 i32.const 20 i32.sub - local.tee $6 - local.get $6 + local.tee $1 + local.get $1 call $~lib/map/Map#set local.get $0 i32.const 1 @@ -12782,7 +12706,7 @@ br $for-loop|2 end end - local.get $2 + local.get $7 i32.load offset=20 i32.const 100 i32.ne @@ -12794,7 +12718,7 @@ call $~lib/builtins/abort unreachable end - local.get $3 + local.get $8 i32.load offset=20 i32.const 100 i32.ne @@ -12813,12 +12737,11 @@ i32.const 50 i32.lt_s if - local.get $5 + local.get $2 i32.load - local.get $5 + local.get $2 i32.load offset=4 local.get $0 - local.tee $1 i32.const -1028477379 i32.mul i32.const 374761397 @@ -12827,22 +12750,22 @@ i32.rotl i32.const 668265263 i32.mul - local.tee $0 - local.get $0 + local.tee $1 + local.get $1 i32.const 15 i32.shr_u i32.xor i32.const -2048144777 i32.mul - local.tee $0 - local.get $0 + local.tee $1 + local.get $1 i32.const 13 i32.shr_u i32.xor i32.const -1028477379 i32.mul - local.tee $0 - local.get $0 + local.tee $1 + local.get $1 i32.const 16 i32.shr_u i32.xor @@ -12851,36 +12774,36 @@ i32.shl i32.add i32.load - local.set $0 + local.set $1 block $__inlined_func$~lib/map/Map#find16 loop $while-continue|017 - local.get $0 + local.get $1 if - local.get $0 + local.get $1 i32.load offset=8 - local.tee $2 + local.tee $3 i32.const 1 i32.and if (result i32) i32.const 0 else - local.get $1 local.get $0 + local.get $1 i32.load i32.eq end br_if $__inlined_func$~lib/map/Map#find16 - local.get $2 + local.get $3 i32.const -2 i32.and - local.set $0 + local.set $1 br $while-continue|017 end end i32.const 0 - local.set $0 + local.set $1 end - local.get $0 + local.get $1 i32.eqz if i32.const 0 @@ -12890,10 +12813,10 @@ call $~lib/builtins/abort unreachable end - local.get $5 - local.get $1 + local.get $2 + local.get $0 call $~lib/map/Map#get - local.get $1 + local.get $0 i32.const 20 i32.add i32.ne @@ -12905,14 +12828,14 @@ call $~lib/builtins/abort unreachable end - local.get $5 - local.get $1 + local.get $2 + local.get $0 call $~lib/map/Map#delete - local.get $5 + local.get $2 i32.load - local.get $5 + local.get $2 i32.load offset=4 - local.get $1 + local.get $0 i32.const -1028477379 i32.mul i32.const 374761397 @@ -12921,22 +12844,22 @@ i32.rotl i32.const 668265263 i32.mul - local.tee $0 - local.get $0 + local.tee $1 + local.get $1 i32.const 15 i32.shr_u i32.xor i32.const -2048144777 i32.mul - local.tee $0 - local.get $0 + local.tee $1 + local.get $1 i32.const 13 i32.shr_u i32.xor i32.const -1028477379 i32.mul - local.tee $0 - local.get $0 + local.tee $1 + local.get $1 i32.const 16 i32.shr_u i32.xor @@ -12945,36 +12868,36 @@ i32.shl i32.add i32.load - local.set $0 + local.set $1 block $__inlined_func$~lib/map/Map#find19 loop $while-continue|020 - local.get $0 + local.get $1 if - local.get $0 + local.get $1 i32.load offset=8 - local.tee $2 + local.tee $3 i32.const 1 i32.and if (result i32) i32.const 0 else - local.get $1 local.get $0 + local.get $1 i32.load i32.eq end br_if $__inlined_func$~lib/map/Map#find19 - local.get $2 + local.get $3 i32.const -2 i32.and - local.set $0 + local.set $1 br $while-continue|020 end end i32.const 0 - local.set $0 + local.set $1 end - local.get $0 + local.get $1 if i32.const 0 i32.const 1568 @@ -12983,14 +12906,14 @@ call $~lib/builtins/abort unreachable end - local.get $1 + local.get $0 i32.const 1 i32.add local.set $0 br $for-loop|3 end end - local.get $5 + local.get $2 i32.load offset=20 i32.const 50 i32.ne @@ -13009,12 +12932,11 @@ i32.const 50 i32.lt_s if - local.get $5 + local.get $2 i32.load - local.get $5 + local.get $2 i32.load offset=4 local.get $0 - local.tee $1 i32.const -1028477379 i32.mul i32.const 374761397 @@ -13023,22 +12945,22 @@ i32.rotl i32.const 668265263 i32.mul - local.tee $0 - local.get $0 + local.tee $1 + local.get $1 i32.const 15 i32.shr_u i32.xor i32.const -2048144777 i32.mul - local.tee $0 - local.get $0 + local.tee $1 + local.get $1 i32.const 13 i32.shr_u i32.xor i32.const -1028477379 i32.mul - local.tee $0 - local.get $0 + local.tee $1 + local.get $1 i32.const 16 i32.shr_u i32.xor @@ -13047,36 +12969,36 @@ i32.shl i32.add i32.load - local.set $0 + local.set $1 block $__inlined_func$~lib/map/Map#find22 loop $while-continue|023 - local.get $0 + local.get $1 if - local.get $0 + local.get $1 i32.load offset=8 - local.tee $2 + local.tee $3 i32.const 1 i32.and if (result i32) i32.const 0 else - local.get $1 local.get $0 + local.get $1 i32.load i32.eq end br_if $__inlined_func$~lib/map/Map#find22 - local.get $2 + local.get $3 i32.const -2 i32.and - local.set $0 + local.set $1 br $while-continue|023 end end i32.const 0 - local.set $0 + local.set $1 end - local.get $0 + local.get $1 if i32.const 0 i32.const 1568 @@ -13085,17 +13007,17 @@ call $~lib/builtins/abort unreachable end - local.get $5 - local.get $1 - local.get $1 + local.get $2 + local.get $0 + local.get $0 i32.const 10 i32.add call $~lib/map/Map#set - local.get $5 + local.get $2 i32.load - local.get $5 + local.get $2 i32.load offset=4 - local.get $1 + local.get $0 i32.const -1028477379 i32.mul i32.const 374761397 @@ -13104,22 +13026,22 @@ i32.rotl i32.const 668265263 i32.mul - local.tee $0 - local.get $0 + local.tee $1 + local.get $1 i32.const 15 i32.shr_u i32.xor i32.const -2048144777 i32.mul - local.tee $0 - local.get $0 + local.tee $1 + local.get $1 i32.const 13 i32.shr_u i32.xor i32.const -1028477379 i32.mul - local.tee $0 - local.get $0 + local.tee $1 + local.get $1 i32.const 16 i32.shr_u i32.xor @@ -13128,36 +13050,36 @@ i32.shl i32.add i32.load - local.set $0 + local.set $1 block $__inlined_func$~lib/map/Map#find25 loop $while-continue|026 - local.get $0 + local.get $1 if - local.get $0 + local.get $1 i32.load offset=8 - local.tee $2 + local.tee $3 i32.const 1 i32.and if (result i32) i32.const 0 else - local.get $1 local.get $0 + local.get $1 i32.load i32.eq end br_if $__inlined_func$~lib/map/Map#find25 - local.get $2 + local.get $3 i32.const -2 i32.and - local.set $0 + local.set $1 br $while-continue|026 end end i32.const 0 - local.set $0 + local.set $1 end - local.get $0 + local.get $1 i32.eqz if i32.const 0 @@ -13167,14 +13089,14 @@ call $~lib/builtins/abort unreachable end - local.get $5 - local.get $1 + local.get $2 + local.get $0 call $~lib/map/Map#delete - local.get $5 + local.get $2 i32.load - local.get $5 + local.get $2 i32.load offset=4 - local.get $1 + local.get $0 i32.const -1028477379 i32.mul i32.const 374761397 @@ -13183,22 +13105,22 @@ i32.rotl i32.const 668265263 i32.mul - local.tee $0 - local.get $0 + local.tee $1 + local.get $1 i32.const 15 i32.shr_u i32.xor i32.const -2048144777 i32.mul - local.tee $0 - local.get $0 + local.tee $1 + local.get $1 i32.const 13 i32.shr_u i32.xor i32.const -1028477379 i32.mul - local.tee $0 - local.get $0 + local.tee $1 + local.get $1 i32.const 16 i32.shr_u i32.xor @@ -13207,36 +13129,36 @@ i32.shl i32.add i32.load - local.set $0 + local.set $1 block $__inlined_func$~lib/map/Map#find28 loop $while-continue|029 - local.get $0 + local.get $1 if - local.get $0 + local.get $1 i32.load offset=8 - local.tee $2 + local.tee $3 i32.const 1 i32.and if (result i32) i32.const 0 else - local.get $1 local.get $0 + local.get $1 i32.load i32.eq end br_if $__inlined_func$~lib/map/Map#find28 - local.get $2 + local.get $3 i32.const -2 i32.and - local.set $0 + local.set $1 br $while-continue|029 end end i32.const 0 - local.set $0 + local.set $1 end - local.get $0 + local.get $1 if i32.const 0 i32.const 1568 @@ -13245,14 +13167,14 @@ call $~lib/builtins/abort unreachable end - local.get $1 + local.get $0 i32.const 1 i32.add local.set $0 br $for-loop|4 end end - local.get $5 + local.get $2 i32.load offset=20 i32.const 50 i32.ne @@ -13264,9 +13186,9 @@ call $~lib/builtins/abort unreachable end - local.get $5 + local.get $2 call $~lib/map/Map#clear - local.get $5 + local.get $2 i32.load offset=20 if i32.const 0 @@ -13324,7 +13246,7 @@ i32.const 2 i32.shl call $~lib/arraybuffer/ArrayBuffer#constructor - local.tee $5 + local.tee $4 i32.store global.get $~lib/memory/__stack_pointer local.get $2 @@ -13340,7 +13262,7 @@ i32.store offset=4 local.get $0 i32.load offset=8 - local.tee $4 + local.tee $5 local.get $0 i32.load offset=16 i32.const 12 @@ -13350,23 +13272,23 @@ local.get $3 local.set $2 loop $while-continue|0 - local.get $4 + local.get $5 local.get $7 i32.ne if - local.get $4 + local.get $5 i32.load offset=8 i32.const 1 i32.and i32.eqz if local.get $2 - local.get $4 + local.get $5 i32.load local.tee $8 i32.store local.get $2 - local.get $4 + local.get $5 i32.load offset=4 i32.store offset=4 local.get $2 @@ -13402,7 +13324,7 @@ i32.and i32.const 2 i32.shl - local.get $5 + local.get $4 i32.add local.tee $8 i32.load @@ -13415,20 +13337,20 @@ i32.add local.set $2 end - local.get $4 + local.get $5 i32.const 12 i32.add - local.set $4 + local.set $5 br $while-continue|0 end end local.get $0 - local.get $5 + local.get $4 i32.store - local.get $5 + local.get $4 if local.get $0 - local.get $5 + local.get $4 call $byn-split-outlined-A$~lib/rt/itcms/__link end local.get $0 @@ -13688,16 +13610,16 @@ i32.lt_s br_if $folding-inner1 global.get $~lib/memory/__stack_pointer - local.tee $3 + local.tee $2 i64.const 0 i64.store - local.get $3 + local.get $2 i64.const 0 i64.store offset=8 - local.get $3 + local.get $2 i32.const 0 i32.store offset=16 - local.get $3 + local.get $2 i32.const 4 i32.sub global.set $~lib/memory/__stack_pointer @@ -13706,66 +13628,66 @@ i32.lt_s br_if $folding-inner1 global.get $~lib/memory/__stack_pointer - local.tee $4 + local.tee $3 i32.const 0 i32.store - local.get $4 + local.get $3 i32.const 24 i32.const 17 call $~lib/rt/itcms/__new - local.tee $11 + local.tee $12 i32.store - local.get $11 + local.get $12 i32.const 16 call $~lib/arraybuffer/ArrayBuffer#constructor - local.tee $4 + local.tee $3 i32.store - local.get $4 + local.get $3 if - local.get $11 - local.get $4 + local.get $12 + local.get $3 call $byn-split-outlined-A$~lib/rt/itcms/__link end - local.get $11 + local.get $12 i32.const 3 i32.store offset=4 - local.get $11 + local.get $12 i32.const 48 call $~lib/arraybuffer/ArrayBuffer#constructor - local.tee $4 + local.tee $3 i32.store offset=8 - local.get $4 + local.get $3 if - local.get $11 - local.get $4 + local.get $12 + local.get $3 call $byn-split-outlined-A$~lib/rt/itcms/__link end - local.get $11 + local.get $12 i32.const 4 i32.store offset=12 - local.get $11 + local.get $12 i32.const 0 i32.store offset=16 - local.get $11 + local.get $12 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 $11 + local.get $2 + local.get $12 i32.store loop $for-loop|0 - local.get $2 + local.get $0 i32.const 100 i32.lt_u if - local.get $11 + local.get $12 i32.load - local.get $11 + local.get $12 i32.load offset=4 - local.get $2 + local.get $0 i32.const -1028477379 i32.mul i32.const 374761397 @@ -13774,22 +13696,22 @@ i32.rotl i32.const 668265263 i32.mul - local.tee $3 - local.get $3 + local.tee $2 + local.get $2 i32.const 15 i32.shr_u i32.xor i32.const -2048144777 i32.mul - local.tee $3 - local.get $3 + local.tee $2 + local.get $2 i32.const 13 i32.shr_u i32.xor i32.const -1028477379 i32.mul - local.tee $3 - local.get $3 + local.tee $2 + local.get $2 i32.const 16 i32.shr_u i32.xor @@ -13798,12 +13720,12 @@ i32.shl i32.add i32.load - local.set $4 + local.set $2 block $__inlined_func$~lib/map/Map#find loop $while-continue|0 - local.get $4 + local.get $2 if - local.get $4 + local.get $2 i32.load offset=8 local.tee $3 i32.const 1 @@ -13811,8 +13733,8 @@ if (result i32) i32.const 0 else + local.get $0 local.get $2 - local.get $4 i32.load i32.eq end @@ -13820,14 +13742,14 @@ local.get $3 i32.const -2 i32.and - local.set $4 + local.set $2 br $while-continue|0 end end i32.const 0 - local.set $4 + local.set $2 end - local.get $4 + local.get $2 if i32.const 0 i32.const 1568 @@ -13836,17 +13758,17 @@ call $~lib/builtins/abort unreachable end - local.get $11 - local.get $2 - local.get $2 + local.get $12 + local.get $0 + local.get $0 i32.const 10 i32.add call $~lib/map/Map#set - local.get $11 + local.get $12 i32.load - local.get $11 + local.get $12 i32.load offset=4 - local.get $2 + local.get $0 i32.const -1028477379 i32.mul i32.const 374761397 @@ -13855,22 +13777,22 @@ i32.rotl i32.const 668265263 i32.mul - local.tee $3 - local.get $3 + local.tee $2 + local.get $2 i32.const 15 i32.shr_u i32.xor i32.const -2048144777 i32.mul - local.tee $3 - local.get $3 + local.tee $2 + local.get $2 i32.const 13 i32.shr_u i32.xor i32.const -1028477379 i32.mul - local.tee $3 - local.get $3 + local.tee $2 + local.get $2 i32.const 16 i32.shr_u i32.xor @@ -13879,12 +13801,12 @@ i32.shl i32.add i32.load - local.set $4 + local.set $2 block $__inlined_func$~lib/map/Map#find1 loop $while-continue|02 - local.get $4 + local.get $2 if - local.get $4 + local.get $2 i32.load offset=8 local.tee $3 i32.const 1 @@ -13892,8 +13814,8 @@ if (result i32) i32.const 0 else + local.get $0 local.get $2 - local.get $4 i32.load i32.eq end @@ -13901,14 +13823,14 @@ local.get $3 i32.const -2 i32.and - local.set $4 + local.set $2 br $while-continue|02 end end i32.const 0 - local.set $4 + local.set $2 end - local.get $4 + local.get $2 i32.eqz if i32.const 0 @@ -13918,10 +13840,10 @@ call $~lib/builtins/abort unreachable end - local.get $11 - local.get $2 + local.get $12 + local.get $0 call $~lib/map/Map#get - local.get $2 + local.get $0 i32.const 10 i32.add i32.ne @@ -13933,14 +13855,14 @@ call $~lib/builtins/abort unreachable end - local.get $2 + local.get $0 i32.const 1 i32.add - local.set $2 + local.set $0 br $for-loop|0 end end - local.get $11 + local.get $12 i32.load offset=20 i32.const 100 i32.ne @@ -13953,17 +13875,17 @@ unreachable end i32.const 0 - local.set $2 + local.set $0 loop $for-loop|1 - local.get $2 + local.get $0 i32.const 100 i32.lt_u if - local.get $11 + local.get $12 i32.load - local.get $11 + local.get $12 i32.load offset=4 - local.get $2 + local.get $0 i32.const -1028477379 i32.mul i32.const 374761397 @@ -13972,22 +13894,22 @@ i32.rotl i32.const 668265263 i32.mul - local.tee $3 - local.get $3 + local.tee $2 + local.get $2 i32.const 15 i32.shr_u i32.xor i32.const -2048144777 i32.mul - local.tee $3 - local.get $3 + local.tee $2 + local.get $2 i32.const 13 i32.shr_u i32.xor i32.const -1028477379 i32.mul - local.tee $3 - local.get $3 + local.tee $2 + local.get $2 i32.const 16 i32.shr_u i32.xor @@ -13996,12 +13918,12 @@ i32.shl i32.add i32.load - local.set $4 + local.set $2 block $__inlined_func$~lib/map/Map#find4 loop $while-continue|05 - local.get $4 + local.get $2 if - local.get $4 + local.get $2 i32.load offset=8 local.tee $3 i32.const 1 @@ -14009,8 +13931,8 @@ if (result i32) i32.const 0 else + local.get $0 local.get $2 - local.get $4 i32.load i32.eq end @@ -14018,14 +13940,14 @@ local.get $3 i32.const -2 i32.and - local.set $4 + local.set $2 br $while-continue|05 end end i32.const 0 - local.set $4 + local.set $2 end - local.get $4 + local.get $2 i32.eqz if i32.const 0 @@ -14035,10 +13957,10 @@ call $~lib/builtins/abort unreachable end - local.get $11 - local.get $2 + local.get $12 + local.get $0 call $~lib/map/Map#get - local.get $2 + local.get $0 i32.const 10 i32.add i32.ne @@ -14050,17 +13972,17 @@ call $~lib/builtins/abort unreachable end - local.get $11 - local.get $2 - local.get $2 + local.get $12 + local.get $0 + local.get $0 i32.const 20 i32.add call $~lib/map/Map#set - local.get $11 + local.get $12 i32.load - local.get $11 + local.get $12 i32.load offset=4 - local.get $2 + local.get $0 i32.const -1028477379 i32.mul i32.const 374761397 @@ -14069,22 +13991,22 @@ i32.rotl i32.const 668265263 i32.mul - local.tee $3 - local.get $3 + local.tee $2 + local.get $2 i32.const 15 i32.shr_u i32.xor i32.const -2048144777 i32.mul - local.tee $3 - local.get $3 + local.tee $2 + local.get $2 i32.const 13 i32.shr_u i32.xor i32.const -1028477379 i32.mul - local.tee $3 - local.get $3 + local.tee $2 + local.get $2 i32.const 16 i32.shr_u i32.xor @@ -14093,12 +14015,12 @@ i32.shl i32.add i32.load - local.set $4 + local.set $2 block $__inlined_func$~lib/map/Map#find7 loop $while-continue|08 - local.get $4 + local.get $2 if - local.get $4 + local.get $2 i32.load offset=8 local.tee $3 i32.const 1 @@ -14106,8 +14028,8 @@ if (result i32) i32.const 0 else + local.get $0 local.get $2 - local.get $4 i32.load i32.eq end @@ -14115,14 +14037,14 @@ local.get $3 i32.const -2 i32.and - local.set $4 + local.set $2 br $while-continue|08 end end i32.const 0 - local.set $4 + local.set $2 end - local.get $4 + local.get $2 i32.eqz if i32.const 0 @@ -14132,10 +14054,10 @@ call $~lib/builtins/abort unreachable end - local.get $11 - local.get $2 + local.get $12 + local.get $0 call $~lib/map/Map#get - local.get $2 + local.get $0 i32.const 20 i32.add i32.ne @@ -14147,14 +14069,14 @@ call $~lib/builtins/abort unreachable end - local.get $2 + local.get $0 i32.const 1 i32.add - local.set $2 + local.set $0 br $for-loop|1 end end - local.get $11 + local.get $12 i32.load offset=20 i32.const 100 i32.ne @@ -14167,7 +14089,7 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $4 + local.tee $3 i32.const 4 i32.sub global.set $~lib/memory/__stack_pointer @@ -14176,16 +14098,16 @@ i32.lt_s br_if $folding-inner1 global.get $~lib/memory/__stack_pointer - local.tee $3 + local.tee $0 i32.const 0 i32.store - local.get $11 + local.get $12 i32.load offset=8 - local.set $6 - local.get $11 + local.set $4 + local.get $12 i32.load offset=16 - local.set $7 - local.get $3 + local.set $5 + local.get $0 i32.const 8 i32.sub global.set $~lib/memory/__stack_pointer @@ -14215,7 +14137,7 @@ local.get $2 i32.const 0 i32.store offset=12 - local.get $7 + local.get $5 i32.const 268435455 i32.gt_u if @@ -14227,75 +14149,76 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $7 + local.get $5 i32.const 8 - local.get $7 + local.get $5 i32.const 8 i32.gt_u select i32.const 2 i32.shl - local.tee $8 + local.tee $6 i32.const 0 call $~lib/rt/itcms/__new - local.tee $9 + local.tee $7 i32.store offset=4 local.get $2 - local.get $9 + local.get $7 i32.store - local.get $9 + local.get $7 if local.get $2 - local.get $9 + local.get $7 call $byn-split-outlined-A$~lib/rt/itcms/__link end local.get $2 - local.get $9 + local.get $7 i32.store offset=4 local.get $2 - local.get $8 + local.get $6 i32.store offset=8 local.get $2 - local.get $7 + local.get $5 i32.store offset=12 global.get $~lib/memory/__stack_pointer i32.const 8 i32.add global.set $~lib/memory/__stack_pointer - local.get $3 + local.get $0 local.get $2 i32.store + i32.const 0 + local.set $0 loop $for-loop|02 + local.get $0 local.get $5 - local.get $7 i32.lt_s if - local.get $5 + local.get $0 i32.const 12 i32.mul - local.get $6 + local.get $4 i32.add - local.tee $8 + local.tee $6 i32.load offset=8 i32.const 1 i32.and i32.eqz if + local.get $2 + local.get $1 + local.get $6 + i32.load + call $~lib/array/Array#__set local.get $1 - local.tee $3 i32.const 1 i32.add local.set $1 - local.get $2 - local.get $3 - local.get $8 - i32.load - call $~lib/array/Array#__set end - local.get $5 + local.get $0 i32.const 1 i32.add - local.set $5 + local.set $0 br $for-loop|02 end end @@ -14311,13 +14234,13 @@ i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $4 + local.get $3 local.get $2 i32.store offset=4 global.get $~lib/memory/__stack_pointer - local.get $11 + local.get $12 call $~lib/map/Map#values - local.tee $7 + local.tee $6 i32.store offset=8 global.get $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer @@ -14329,59 +14252,61 @@ i32.lt_s br_if $folding-inner1 global.get $~lib/memory/__stack_pointer - local.tee $3 + local.tee $1 i32.const 0 i32.store - local.get $3 + local.get $1 i32.const 24 i32.const 19 call $~lib/rt/itcms/__new - local.tee $12 + local.tee $13 i32.store - local.get $12 + local.get $13 i32.const 16 call $~lib/arraybuffer/ArrayBuffer#constructor - local.tee $3 + local.tee $1 i32.store - local.get $3 + local.get $1 if - local.get $12 - local.get $3 + local.get $13 + local.get $1 call $byn-split-outlined-A$~lib/rt/itcms/__link end - local.get $12 + local.get $13 i32.const 3 i32.store offset=4 - local.get $12 + local.get $13 i32.const 48 call $~lib/arraybuffer/ArrayBuffer#constructor - local.tee $3 + local.tee $1 i32.store offset=8 - local.get $3 + local.get $1 if - local.get $12 - local.get $3 + local.get $13 + local.get $1 call $byn-split-outlined-A$~lib/rt/itcms/__link end - local.get $12 + local.get $13 i32.const 4 i32.store offset=12 - local.get $12 + local.get $13 i32.const 0 i32.store offset=16 - local.get $12 + local.get $13 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 $12 + local.get $13 i32.store offset=12 global.get $~lib/memory/__stack_pointer call $~lib/map/Map#constructor - local.tee $9 + local.tee $14 i32.store offset=16 + i32.const 0 + local.set $0 loop $for-loop|2 local.get $2 i32.load offset=12 @@ -14389,7 +14314,7 @@ i32.gt_s if local.get $0 - local.tee $1 + local.tee $3 local.get $2 i32.load offset=12 i32.ge_u @@ -14403,21 +14328,21 @@ end local.get $2 i32.load offset=4 - local.get $1 + local.get $3 i32.const 2 i32.shl i32.add i32.load - local.set $3 - local.get $7 - local.get $1 + local.set $15 + local.get $6 + local.get $3 call $~lib/array/Array#__get - local.set $8 - local.get $11 + local.set $5 + local.get $12 i32.load - local.get $11 + local.get $12 i32.load offset=4 - local.get $3 + local.get $15 i32.const -1028477379 i32.mul i32.const 374761397 @@ -14450,36 +14375,36 @@ i32.shl i32.add i32.load - local.set $4 + local.set $0 block $__inlined_func$~lib/map/Map#find10 loop $while-continue|011 - local.get $4 + local.get $0 if - local.get $4 + local.get $0 i32.load offset=8 - local.tee $0 + local.tee $1 i32.const 1 i32.and if (result i32) i32.const 0 else - local.get $3 - local.get $4 + local.get $15 + local.get $0 i32.load i32.eq end br_if $__inlined_func$~lib/map/Map#find10 - local.get $0 + local.get $1 i32.const -2 i32.and - local.set $4 + local.set $0 br $while-continue|011 end end i32.const 0 - local.set $4 + local.set $0 end - local.get $4 + local.get $0 i32.eqz if i32.const 0 @@ -14489,14 +14414,14 @@ call $~lib/builtins/abort unreachable end - local.get $11 + local.get $12 i32.load - local.get $11 + local.get $12 i32.load offset=4 - local.get $8 + local.get $5 i32.const 20 i32.sub - local.tee $0 + local.tee $1 i32.const -1028477379 i32.mul i32.const 374761397 @@ -14505,22 +14430,22 @@ i32.rotl i32.const 668265263 i32.mul - local.tee $4 - local.get $4 + local.tee $0 + local.get $0 i32.const 15 i32.shr_u i32.xor i32.const -2048144777 i32.mul - local.tee $4 - local.get $4 + local.tee $0 + local.get $0 i32.const 13 i32.shr_u i32.xor i32.const -1028477379 i32.mul - local.tee $4 - local.get $4 + local.tee $0 + local.get $0 i32.const 16 i32.shr_u i32.xor @@ -14529,36 +14454,36 @@ i32.shl i32.add i32.load - local.set $4 + local.set $0 block $__inlined_func$~lib/map/Map#find13 loop $while-continue|014 - local.get $4 + local.get $0 if - local.get $4 + local.get $0 i32.load offset=8 - local.tee $5 + local.tee $4 i32.const 1 i32.and if (result i32) i32.const 0 else + local.get $1 local.get $0 - local.get $4 i32.load i32.eq end br_if $__inlined_func$~lib/map/Map#find13 - local.get $5 + local.get $4 i32.const -2 i32.and - local.set $4 + local.set $0 br $while-continue|014 end end i32.const 0 - local.set $4 + local.set $0 end - local.get $4 + local.get $0 i32.eqz if i32.const 0 @@ -14579,10 +14504,9 @@ global.get $~lib/memory/__stack_pointer i32.const 0 i32.store - local.get $12 + local.get $13 i32.load - local.get $3 - local.tee $4 + local.get $15 i32.const -1028477379 i32.mul i32.const 374761397 @@ -14610,8 +14534,8 @@ i32.shr_u local.get $0 i32.xor - local.tee $6 - local.get $12 + local.tee $7 + local.get $13 i32.load offset=4 i32.and i32.const 2 @@ -14624,20 +14548,21 @@ local.get $0 if local.get $0 + local.tee $1 i32.load offset=8 - local.tee $5 + local.tee $0 i32.const 1 i32.and if (result i32) i32.const 0 else - local.get $4 - local.get $0 + local.get $15 + local.get $1 i32.load i32.eq end br_if $__inlined_func$~lib/map/Map#find15 - local.get $5 + local.get $0 i32.const -2 i32.and local.set $0 @@ -14645,23 +14570,23 @@ end end i32.const 0 - local.set $0 + local.set $1 end - local.get $0 + local.get $1 if - local.get $0 - local.get $3 + local.get $1 + local.get $15 i32.store offset=4 else - local.get $12 + local.get $13 i32.load offset=16 - local.get $12 + local.get $13 i32.load offset=12 i32.eq if - local.get $12 + local.get $13 i32.load offset=20 - local.get $12 + local.get $13 i32.load offset=12 i32.const 3 i32.mul @@ -14669,17 +14594,17 @@ i32.div_s i32.lt_s if (result i32) - local.get $12 + local.get $13 i32.load offset=4 else - local.get $12 + local.get $13 i32.load offset=4 i32.const 1 i32.shl i32.const 1 i32.or end - local.set $13 + local.set $10 global.get $~lib/memory/__stack_pointer i32.const 8 i32.sub @@ -14693,14 +14618,14 @@ i64.const 0 i64.store local.get $0 - local.get $13 + local.get $10 i32.const 1 i32.add local.tee $0 i32.const 2 i32.shl call $~lib/arraybuffer/ArrayBuffer#constructor - local.tee $14 + local.tee $11 i32.store global.get $~lib/memory/__stack_pointer local.get $0 @@ -14708,41 +14633,41 @@ i32.shl i32.const 3 i32.div_s - local.tee $5 + local.tee $8 i32.const 12 i32.mul call $~lib/arraybuffer/ArrayBuffer#constructor - local.tee $4 + local.tee $1 i32.store offset=4 - local.get $12 + local.get $13 i32.load offset=8 - local.tee $10 - local.get $12 + local.tee $4 + local.get $13 i32.load offset=16 i32.const 12 i32.mul i32.add - local.set $15 - local.get $4 + local.set $9 + local.get $1 local.set $0 loop $while-continue|00 - local.get $10 - local.get $15 + local.get $4 + local.get $9 i32.ne if - local.get $10 + local.get $4 i32.load offset=8 i32.const 1 i32.and i32.eqz if local.get $0 - local.get $10 + local.get $4 i32.load local.tee $16 i32.store local.get $0 - local.get $10 + local.get $4 i32.load offset=4 i32.store offset=4 local.get $0 @@ -14774,11 +14699,11 @@ i32.shr_u local.get $16 i32.xor - local.get $13 + local.get $10 i32.and i32.const 2 i32.shl - local.get $14 + local.get $11 i32.add local.tee $16 i32.load @@ -14791,39 +14716,39 @@ i32.add local.set $0 end - local.get $10 + local.get $4 i32.const 12 i32.add - local.set $10 + local.set $4 br $while-continue|00 end end - local.get $12 - local.get $14 + local.get $13 + local.get $11 i32.store - local.get $14 + local.get $11 if - local.get $12 - local.get $14 + local.get $13 + local.get $11 call $byn-split-outlined-A$~lib/rt/itcms/__link end - local.get $12 local.get $13 + local.get $10 i32.store offset=4 - local.get $12 - local.get $4 + local.get $13 + local.get $1 i32.store offset=8 - local.get $4 + local.get $1 if - local.get $12 - local.get $4 + local.get $13 + local.get $1 call $byn-split-outlined-A$~lib/rt/itcms/__link end - local.get $12 - local.get $5 + local.get $13 + local.get $8 i32.store offset=12 - local.get $12 - local.get $12 + local.get $13 + local.get $13 i32.load offset=20 i32.store offset=16 global.get $~lib/memory/__stack_pointer @@ -14832,48 +14757,48 @@ global.set $~lib/memory/__stack_pointer end global.get $~lib/memory/__stack_pointer - local.get $12 + local.get $13 i32.load offset=8 local.tee $0 i32.store - local.get $12 - local.get $12 + local.get $13 + local.get $13 i32.load offset=16 - local.tee $4 + local.tee $1 i32.const 1 i32.add i32.store offset=16 - local.get $4 + local.get $1 i32.const 12 i32.mul local.get $0 i32.add local.tee $0 - local.get $3 + local.get $15 i32.store local.get $0 - local.get $3 + local.get $15 i32.store offset=4 - local.get $12 - local.get $12 + local.get $13 + local.get $13 i32.load offset=20 i32.const 1 i32.add i32.store offset=20 local.get $0 - local.get $12 + local.get $13 i32.load - local.get $12 + local.get $13 i32.load offset=4 - local.get $6 + local.get $7 i32.and i32.const 2 i32.shl i32.add - local.tee $3 + local.tee $1 i32.load i32.store offset=8 - local.get $3 + local.get $1 local.get $0 i32.store end @@ -14881,21 +14806,21 @@ i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $9 - local.get $8 + local.get $14 + local.get $5 i32.const 20 i32.sub local.tee $0 local.get $0 call $~lib/map/Map#set - local.get $1 + local.get $3 i32.const 1 i32.add local.set $0 br $for-loop|2 end end - local.get $12 + local.get $13 i32.load offset=20 i32.const 100 i32.ne @@ -14907,7 +14832,7 @@ call $~lib/builtins/abort unreachable end - local.get $9 + local.get $14 i32.load offset=20 i32.const 100 i32.ne @@ -14926,9 +14851,9 @@ i32.const 50 i32.lt_u if - local.get $11 + local.get $12 i32.load - local.get $11 + local.get $12 i32.load offset=4 local.get $0 i32.const -1028477379 @@ -15002,7 +14927,7 @@ call $~lib/builtins/abort unreachable end - local.get $11 + local.get $12 local.get $0 call $~lib/map/Map#get local.get $0 @@ -15017,12 +14942,12 @@ call $~lib/builtins/abort unreachable end - local.get $11 + local.get $12 local.get $0 call $~lib/map/Map#delete - local.get $11 + local.get $12 i32.load - local.get $11 + local.get $12 i32.load offset=4 local.get $0 i32.const -1028477379 @@ -15102,7 +15027,7 @@ br $for-loop|3 end end - local.get $11 + local.get $12 i32.load offset=20 i32.const 50 i32.ne @@ -15121,9 +15046,9 @@ i32.const 50 i32.lt_u if - local.get $11 + local.get $12 i32.load - local.get $11 + local.get $12 i32.load offset=4 local.get $0 i32.const -1028477379 @@ -15196,15 +15121,15 @@ call $~lib/builtins/abort unreachable end - local.get $11 + local.get $12 local.get $0 local.get $0 i32.const 10 i32.add call $~lib/map/Map#set - local.get $11 + local.get $12 i32.load - local.get $11 + local.get $12 i32.load offset=4 local.get $0 i32.const -1028477379 @@ -15278,12 +15203,12 @@ call $~lib/builtins/abort unreachable end - local.get $11 + local.get $12 local.get $0 call $~lib/map/Map#delete - local.get $11 + local.get $12 i32.load - local.get $11 + local.get $12 i32.load offset=4 local.get $0 i32.const -1028477379 @@ -15363,7 +15288,7 @@ br $for-loop|4 end end - local.get $11 + local.get $12 i32.load offset=20 i32.const 50 i32.ne @@ -15375,9 +15300,9 @@ call $~lib/builtins/abort unreachable end - local.get $11 + local.get $12 call $~lib/map/Map#clear - local.get $11 + local.get $12 i32.load offset=20 if i32.const 0 @@ -15520,7 +15445,7 @@ i32.const 2 i32.shl call $~lib/arraybuffer/ArrayBuffer#constructor - local.tee $5 + local.tee $4 i32.store global.get $~lib/memory/__stack_pointer local.get $2 @@ -15536,7 +15461,7 @@ i32.store offset=4 local.get $0 i32.load offset=8 - local.tee $4 + local.tee $5 local.get $0 i32.load offset=16 i32.const 4 @@ -15546,23 +15471,23 @@ local.get $3 local.set $2 loop $while-continue|0 - local.get $4 + local.get $5 local.get $8 i32.ne if - local.get $4 + local.get $5 i32.load offset=12 i32.const 1 i32.and i32.eqz if local.get $2 - local.get $4 + local.get $5 i64.load local.tee $6 i64.store local.get $2 - local.get $4 + local.get $5 i32.load offset=8 i32.store offset=8 local.get $2 @@ -15610,7 +15535,7 @@ i32.and i32.const 2 i32.shl - local.get $5 + local.get $4 i32.add local.tee $9 i32.load @@ -15623,20 +15548,20 @@ i32.add local.set $2 end - local.get $4 + local.get $5 i32.const 16 i32.add - local.set $4 + local.set $5 br $while-continue|0 end end local.get $0 - local.get $5 + local.get $4 i32.store - local.get $5 + local.get $4 if local.get $0 - local.get $5 + local.get $4 call $byn-split-outlined-A$~lib/rt/itcms/__link end local.get $0 @@ -15969,8 +15894,8 @@ (local $0 i32) (local $1 i32) (local $2 i32) - (local $3 i32) - (local $4 i64) + (local $3 i64) + (local $4 i32) (local $5 i32) (local $6 i32) (local $7 i32) @@ -16012,47 +15937,47 @@ i32.lt_s br_if $folding-inner1 global.get $~lib/memory/__stack_pointer - local.tee $5 + local.tee $4 i32.const 0 i32.store - local.get $5 + local.get $4 i32.const 24 i32.const 20 call $~lib/rt/itcms/__new - local.tee $5 + local.tee $10 i32.store - local.get $5 + local.get $10 i32.const 16 call $~lib/arraybuffer/ArrayBuffer#constructor - local.tee $6 + local.tee $4 i32.store - local.get $6 + local.get $4 if - local.get $5 - local.get $6 + local.get $10 + local.get $4 call $byn-split-outlined-A$~lib/rt/itcms/__link end - local.get $5 + local.get $10 i32.const 3 i32.store offset=4 - local.get $5 + local.get $10 i32.const 64 call $~lib/arraybuffer/ArrayBuffer#constructor - local.tee $6 + local.tee $4 i32.store offset=8 - local.get $6 + local.get $4 if - local.get $5 - local.get $6 + local.get $10 + local.get $4 call $byn-split-outlined-A$~lib/rt/itcms/__link end - local.get $5 + local.get $10 i32.const 4 i32.store offset=12 - local.get $5 + local.get $10 i32.const 0 i32.store offset=16 - local.get $5 + local.get $10 i32.const 0 i32.store offset=20 global.get $~lib/memory/__stack_pointer @@ -16060,15 +15985,15 @@ i32.add global.set $~lib/memory/__stack_pointer local.get $2 - local.get $5 + local.get $10 i32.store loop $for-loop|0 - local.get $4 + local.get $3 i64.const 100 i64.lt_s if - local.get $5 - local.get $4 + local.get $10 + local.get $3 call $~lib/map/Map#has if i32.const 0 @@ -16078,15 +16003,15 @@ call $~lib/builtins/abort unreachable end - local.get $5 - local.get $4 - local.get $4 + local.get $10 + local.get $3 + local.get $3 i32.wrap_i64 i32.const 10 i32.add call $~lib/map/Map#set - local.get $5 - local.get $4 + local.get $10 + local.get $3 call $~lib/map/Map#has i32.eqz if @@ -16097,10 +16022,10 @@ call $~lib/builtins/abort unreachable end - local.get $5 - local.get $4 + local.get $10 + local.get $3 call $~lib/map/Map#get - local.get $4 + local.get $3 i32.wrap_i64 i32.const 10 i32.add @@ -16113,14 +16038,14 @@ call $~lib/builtins/abort unreachable end - local.get $4 + local.get $3 i64.const 1 i64.add - local.set $4 + local.set $3 br $for-loop|0 end end - local.get $5 + local.get $10 i32.load offset=20 i32.const 100 i32.ne @@ -16133,14 +16058,14 @@ unreachable end i64.const 0 - local.set $4 + local.set $3 loop $for-loop|1 - local.get $4 + local.get $3 i64.const 100 i64.lt_s if - local.get $5 - local.get $4 + local.get $10 + local.get $3 call $~lib/map/Map#has i32.eqz if @@ -16151,10 +16076,10 @@ call $~lib/builtins/abort unreachable end - local.get $5 - local.get $4 + local.get $10 + local.get $3 call $~lib/map/Map#get - local.get $4 + local.get $3 i32.wrap_i64 i32.const 10 i32.add @@ -16167,15 +16092,15 @@ call $~lib/builtins/abort unreachable end - local.get $5 - local.get $4 - local.get $4 + local.get $10 + local.get $3 + local.get $3 i32.wrap_i64 i32.const 20 i32.add call $~lib/map/Map#set - local.get $5 - local.get $4 + local.get $10 + local.get $3 call $~lib/map/Map#has i32.eqz if @@ -16186,10 +16111,10 @@ call $~lib/builtins/abort unreachable end - local.get $5 - local.get $4 + local.get $10 + local.get $3 call $~lib/map/Map#get - local.get $4 + local.get $3 i32.wrap_i64 i32.const 20 i32.add @@ -16202,14 +16127,14 @@ call $~lib/builtins/abort unreachable end - local.get $4 + local.get $3 i64.const 1 i64.add - local.set $4 + local.set $3 br $for-loop|1 end end - local.get $5 + local.get $10 i32.load offset=20 i32.const 100 i32.ne @@ -16222,7 +16147,7 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $6 + local.tee $2 i32.const 4 i32.sub global.set $~lib/memory/__stack_pointer @@ -16231,16 +16156,16 @@ i32.lt_s br_if $folding-inner1 global.get $~lib/memory/__stack_pointer - local.tee $2 + local.tee $4 i32.const 0 i32.store - local.get $5 + local.get $10 i32.load offset=8 - local.set $7 - local.get $5 + local.set $5 + local.get $10 i32.load offset=16 - local.set $8 - local.get $2 + local.set $6 + local.get $4 i32.const 8 i32.sub global.set $~lib/memory/__stack_pointer @@ -16249,28 +16174,28 @@ i32.lt_s br_if $folding-inner1 global.get $~lib/memory/__stack_pointer - local.tee $9 + local.tee $7 i64.const 0 i64.store - local.get $9 + local.get $7 i32.const 16 i32.const 21 call $~lib/rt/itcms/__new - local.tee $10 + local.tee $11 i32.store - local.get $10 + local.get $11 i32.const 0 i32.store - local.get $10 + local.get $11 i32.const 0 i32.store offset=4 - local.get $10 + local.get $11 i32.const 0 i32.store offset=8 - local.get $10 + local.get $11 i32.const 0 i32.store offset=12 - local.get $8 + local.get $6 i32.const 134217727 i32.gt_u if @@ -16282,97 +16207,96 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $8 + local.get $6 i32.const 8 - local.get $8 + local.get $6 i32.const 8 i32.gt_u select i32.const 3 i32.shl - local.tee $9 + local.tee $7 i32.const 0 call $~lib/rt/itcms/__new - local.tee $11 + local.tee $8 i32.store offset=4 - local.get $10 local.get $11 + local.get $8 i32.store - local.get $11 + local.get $8 if - local.get $10 local.get $11 + local.get $8 call $byn-split-outlined-A$~lib/rt/itcms/__link end - local.get $10 local.get $11 + local.get $8 i32.store offset=4 - local.get $10 - local.get $9 + local.get $11 + local.get $7 i32.store offset=8 - local.get $10 - local.get $8 + local.get $11 + local.get $6 i32.store offset=12 global.get $~lib/memory/__stack_pointer i32.const 8 i32.add global.set $~lib/memory/__stack_pointer - local.get $2 - local.get $10 + local.get $4 + local.get $11 i32.store loop $for-loop|02 - local.get $3 - local.get $8 + local.get $1 + local.get $6 i32.lt_s if - local.get $3 + local.get $1 i32.const 4 i32.shl - local.get $7 + local.get $5 i32.add - local.tee $9 + local.tee $4 i32.load offset=12 i32.const 1 i32.and i32.eqz if + local.get $11 + local.get $0 + local.get $4 + i64.load + call $~lib/array/Array#__set local.get $0 - local.tee $2 i32.const 1 i32.add local.set $0 - local.get $10 - local.get $2 - local.get $9 - i64.load - call $~lib/array/Array#__set end - local.get $3 + local.get $1 i32.const 1 i32.add - local.set $3 + local.set $1 br $for-loop|02 end end - local.get $10 + local.get $11 local.get $0 i32.const 3 i32.const 0 call $~lib/array/ensureCapacity - local.get $10 + local.get $11 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 $6 - local.get $10 + local.get $2 + local.get $11 i32.store offset=4 global.get $~lib/memory/__stack_pointer - local.get $5 + local.get $10 call $~lib/map/Map#values - local.tee $11 + local.tee $12 i32.store offset=8 global.get $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer @@ -16384,68 +16308,70 @@ i32.lt_s br_if $folding-inner1 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 24 i32.const 22 call $~lib/rt/itcms/__new - local.tee $12 + local.tee $13 i32.store - local.get $12 + local.get $13 i32.const 16 call $~lib/arraybuffer/ArrayBuffer#constructor - local.tee $2 + local.tee $1 i32.store - local.get $2 + local.get $1 if - local.get $12 - local.get $2 + local.get $13 + local.get $1 call $byn-split-outlined-A$~lib/rt/itcms/__link end - local.get $12 + local.get $13 i32.const 3 i32.store offset=4 - local.get $12 + local.get $13 i32.const 96 call $~lib/arraybuffer/ArrayBuffer#constructor - local.tee $2 + local.tee $1 i32.store offset=8 - local.get $2 + local.get $1 if - local.get $12 - local.get $2 + local.get $13 + local.get $1 call $byn-split-outlined-A$~lib/rt/itcms/__link end - local.get $12 + local.get $13 i32.const 4 i32.store offset=12 - local.get $12 + local.get $13 i32.const 0 i32.store offset=16 - local.get $12 + local.get $13 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 $12 + local.get $13 i32.store offset=12 global.get $~lib/memory/__stack_pointer call $~lib/map/Map#constructor - local.tee $6 + local.tee $14 i32.store offset=16 + i32.const 0 + local.set $0 loop $for-loop|2 - local.get $10 + local.get $11 i32.load offset=12 - local.get $1 + local.get $0 i32.gt_s if - local.get $1 - local.tee $2 - local.get $10 + local.get $0 + local.tee $1 + local.get $11 i32.load offset=12 i32.ge_u if @@ -16456,20 +16382,20 @@ call $~lib/builtins/abort unreachable end - local.get $10 + local.get $11 i32.load offset=4 - local.get $2 + local.get $1 i32.const 3 i32.shl i32.add i64.load - local.set $4 - local.get $11 - local.get $2 + local.set $3 + local.get $12 + local.get $1 call $~lib/array/Array#__get - local.set $7 - local.get $5 - local.get $4 + local.set $15 + local.get $10 + local.get $3 call $~lib/map/Map#has i32.eqz if @@ -16480,8 +16406,8 @@ call $~lib/builtins/abort unreachable end - local.get $5 - local.get $7 + local.get $10 + local.get $15 i32.const 20 i32.sub i64.extend_i32_s @@ -16506,9 +16432,9 @@ global.get $~lib/memory/__stack_pointer i32.const 0 i32.store - local.get $12 + local.get $13 i32.load - local.get $4 + local.get $3 i32.wrap_i64 i32.const -1028477379 i32.mul @@ -16518,7 +16444,7 @@ i32.rotl i32.const 668265263 i32.mul - local.get $4 + local.get $3 i64.const 32 i64.shr_u i32.wrap_i64 @@ -16548,58 +16474,58 @@ i32.const 16 i32.shr_u i32.xor - local.tee $13 - local.get $12 + local.tee $5 + local.get $13 i32.load offset=4 i32.and i32.const 2 i32.shl i32.add i32.load - local.set $1 + local.set $0 block $__inlined_func$~lib/map/Map#find loop $while-continue|0 - local.get $1 + local.get $0 if - local.get $1 + local.get $0 i32.load offset=16 - local.tee $0 + local.tee $2 i32.const 1 i32.and if (result i32) i32.const 0 else - local.get $4 - local.get $1 + local.get $3 + local.get $0 i64.load i64.eq end br_if $__inlined_func$~lib/map/Map#find - local.get $0 + local.get $2 i32.const -2 i32.and - local.set $1 + local.set $0 br $while-continue|0 end end i32.const 0 - local.set $1 + local.set $0 end - local.get $1 + local.get $0 if - local.get $1 - local.get $4 + local.get $0 + local.get $3 i64.store offset=8 else - local.get $12 + local.get $13 i32.load offset=16 - local.get $12 + local.get $13 i32.load offset=12 i32.eq if - local.get $12 + local.get $13 i32.load offset=20 - local.get $12 + local.get $13 i32.load offset=12 i32.const 3 i32.mul @@ -16607,10 +16533,10 @@ i32.div_s i32.lt_s if (result i32) - local.get $12 + local.get $13 i32.load offset=4 else - local.get $12 + local.get $13 i32.load offset=4 i32.const 1 i32.shl @@ -16646,41 +16572,41 @@ i32.shl i32.const 3 i32.div_s - local.tee $14 + local.tee $6 i32.const 24 i32.mul call $~lib/arraybuffer/ArrayBuffer#constructor - local.tee $1 + local.tee $2 i32.store offset=4 - local.get $12 + local.get $13 i32.load offset=8 - local.tee $3 - local.get $12 + local.tee $4 + local.get $13 i32.load offset=16 i32.const 24 i32.mul i32.add - local.set $15 - local.get $1 + local.set $7 + local.get $2 local.set $0 loop $while-continue|00 - local.get $3 - local.get $15 + local.get $4 + local.get $7 i32.ne if - local.get $3 + local.get $4 i32.load offset=16 i32.const 1 i32.and i32.eqz if local.get $0 - local.get $3 + local.get $4 i64.load local.tee $16 i64.store local.get $0 - local.get $3 + local.get $4 i64.load offset=8 i64.store offset=8 local.get $0 @@ -16741,39 +16667,39 @@ i32.add local.set $0 end - local.get $3 + local.get $4 i32.const 24 i32.add - local.set $3 + local.set $4 br $while-continue|00 end end - local.get $12 + local.get $13 local.get $9 i32.store local.get $9 if - local.get $12 + local.get $13 local.get $9 call $byn-split-outlined-A$~lib/rt/itcms/__link end - local.get $12 + local.get $13 local.get $8 i32.store offset=4 - local.get $12 - local.get $1 + local.get $13 + local.get $2 i32.store offset=8 - local.get $1 + local.get $2 if - local.get $12 - local.get $1 + local.get $13 + local.get $2 call $byn-split-outlined-A$~lib/rt/itcms/__link end - local.get $12 - local.get $14 + local.get $13 + local.get $6 i32.store offset=12 - local.get $12 - local.get $12 + local.get $13 + local.get $13 i32.load offset=20 i32.store offset=16 global.get $~lib/memory/__stack_pointer @@ -16782,48 +16708,48 @@ global.set $~lib/memory/__stack_pointer end global.get $~lib/memory/__stack_pointer - local.get $12 + local.get $13 i32.load offset=8 local.tee $0 i32.store - local.get $12 - local.get $12 + local.get $13 + local.get $13 i32.load offset=16 - local.tee $1 + local.tee $2 i32.const 1 i32.add i32.store offset=16 - local.get $1 + local.get $2 i32.const 24 i32.mul local.get $0 i32.add local.tee $0 - local.get $4 + local.get $3 i64.store local.get $0 - local.get $4 + local.get $3 i64.store offset=8 - local.get $12 - local.get $12 + local.get $13 + local.get $13 i32.load offset=20 i32.const 1 i32.add i32.store offset=20 local.get $0 - local.get $12 + local.get $13 i32.load - local.get $12 - i32.load offset=4 local.get $13 + i32.load offset=4 + local.get $5 i32.and i32.const 2 i32.shl i32.add - local.tee $1 + local.tee $2 i32.load i32.store offset=16 - local.get $1 + local.get $2 local.get $0 i32.store end @@ -16831,21 +16757,21 @@ i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $6 - local.get $7 + local.get $14 + local.get $15 i32.const 20 i32.sub local.tee $0 local.get $0 call $~lib/map/Map#set - local.get $2 + local.get $1 i32.const 1 i32.add - local.set $1 + local.set $0 br $for-loop|2 end end - local.get $12 + local.get $13 i32.load offset=20 i32.const 100 i32.ne @@ -16857,7 +16783,7 @@ call $~lib/builtins/abort unreachable end - local.get $6 + local.get $14 i32.load offset=20 i32.const 100 i32.ne @@ -16870,14 +16796,14 @@ unreachable end i64.const 0 - local.set $4 + local.set $3 loop $for-loop|3 - local.get $4 + local.get $3 i64.const 50 i64.lt_s if - local.get $5 - local.get $4 + local.get $10 + local.get $3 call $~lib/map/Map#has i32.eqz if @@ -16888,10 +16814,10 @@ call $~lib/builtins/abort unreachable end - local.get $5 - local.get $4 + local.get $10 + local.get $3 call $~lib/map/Map#get - local.get $4 + local.get $3 i32.wrap_i64 i32.const 20 i32.add @@ -16904,11 +16830,11 @@ call $~lib/builtins/abort unreachable end - local.get $5 - local.get $4 + local.get $10 + local.get $3 call $~lib/map/Map#delete - local.get $5 - local.get $4 + local.get $10 + local.get $3 call $~lib/map/Map#has if i32.const 0 @@ -16918,14 +16844,14 @@ call $~lib/builtins/abort unreachable end - local.get $4 + local.get $3 i64.const 1 i64.add - local.set $4 + local.set $3 br $for-loop|3 end end - local.get $5 + local.get $10 i32.load offset=20 i32.const 50 i32.ne @@ -16938,14 +16864,14 @@ unreachable end i64.const 0 - local.set $4 + local.set $3 loop $for-loop|4 - local.get $4 + local.get $3 i64.const 50 i64.lt_s if - local.get $5 - local.get $4 + local.get $10 + local.get $3 call $~lib/map/Map#has if i32.const 0 @@ -16955,15 +16881,15 @@ call $~lib/builtins/abort unreachable end - local.get $5 - local.get $4 - local.get $4 + local.get $10 + local.get $3 + local.get $3 i32.wrap_i64 i32.const 10 i32.add call $~lib/map/Map#set - local.get $5 - local.get $4 + local.get $10 + local.get $3 call $~lib/map/Map#has i32.eqz if @@ -16974,11 +16900,11 @@ call $~lib/builtins/abort unreachable end - local.get $5 - local.get $4 + local.get $10 + local.get $3 call $~lib/map/Map#delete - local.get $5 - local.get $4 + local.get $10 + local.get $3 call $~lib/map/Map#has if i32.const 0 @@ -16988,14 +16914,14 @@ call $~lib/builtins/abort unreachable end - local.get $4 + local.get $3 i64.const 1 i64.add - local.set $4 + local.set $3 br $for-loop|4 end end - local.get $5 + local.get $10 i32.load offset=20 i32.const 50 i32.ne @@ -17007,9 +16933,9 @@ call $~lib/builtins/abort unreachable end - local.get $5 + local.get $10 call $~lib/map/Map#clear - local.get $5 + local.get $10 i32.load offset=20 if i32.const 0 @@ -17152,7 +17078,7 @@ i32.const 2 i32.shl call $~lib/arraybuffer/ArrayBuffer#constructor - local.tee $5 + local.tee $4 i32.store global.get $~lib/memory/__stack_pointer local.get $2 @@ -17168,7 +17094,7 @@ i32.store offset=4 local.get $0 i32.load offset=8 - local.tee $4 + local.tee $5 local.get $0 i32.load offset=16 i32.const 4 @@ -17178,23 +17104,23 @@ local.get $3 local.set $2 loop $while-continue|0 - local.get $4 + local.get $5 local.get $8 i32.ne if - local.get $4 + local.get $5 i32.load offset=12 i32.const 1 i32.and i32.eqz if local.get $2 - local.get $4 + local.get $5 i64.load local.tee $6 i64.store local.get $2 - local.get $4 + local.get $5 i32.load offset=8 i32.store offset=8 local.get $2 @@ -17242,7 +17168,7 @@ i32.and i32.const 2 i32.shl - local.get $5 + local.get $4 i32.add local.tee $9 i32.load @@ -17255,20 +17181,20 @@ i32.add local.set $2 end - local.get $4 + local.get $5 i32.const 16 i32.add - local.set $4 + local.set $5 br $while-continue|0 end end local.get $0 - local.get $5 + local.get $4 i32.store - local.get $5 + local.get $4 if local.get $0 - local.get $5 + local.get $4 call $byn-split-outlined-A$~lib/rt/itcms/__link end local.get $0 @@ -17525,8 +17451,8 @@ (local $0 i32) (local $1 i32) (local $2 i32) - (local $3 i32) - (local $4 i64) + (local $3 i64) + (local $4 i32) (local $5 i32) (local $6 i32) (local $7 i32) @@ -17568,47 +17494,47 @@ i32.lt_s br_if $folding-inner1 global.get $~lib/memory/__stack_pointer - local.tee $5 + local.tee $4 i32.const 0 i32.store - local.get $5 + local.get $4 i32.const 24 i32.const 23 call $~lib/rt/itcms/__new - local.tee $5 + local.tee $10 i32.store - local.get $5 + local.get $10 i32.const 16 call $~lib/arraybuffer/ArrayBuffer#constructor - local.tee $6 + local.tee $4 i32.store - local.get $6 + local.get $4 if - local.get $5 - local.get $6 + local.get $10 + local.get $4 call $byn-split-outlined-A$~lib/rt/itcms/__link end - local.get $5 + local.get $10 i32.const 3 i32.store offset=4 - local.get $5 + local.get $10 i32.const 64 call $~lib/arraybuffer/ArrayBuffer#constructor - local.tee $6 + local.tee $4 i32.store offset=8 - local.get $6 + local.get $4 if - local.get $5 - local.get $6 + local.get $10 + local.get $4 call $byn-split-outlined-A$~lib/rt/itcms/__link end - local.get $5 + local.get $10 i32.const 4 i32.store offset=12 - local.get $5 + local.get $10 i32.const 0 i32.store offset=16 - local.get $5 + local.get $10 i32.const 0 i32.store offset=20 global.get $~lib/memory/__stack_pointer @@ -17616,15 +17542,15 @@ i32.add global.set $~lib/memory/__stack_pointer local.get $2 - local.get $5 + local.get $10 i32.store loop $for-loop|0 - local.get $4 + local.get $3 i64.const 100 i64.lt_u if - local.get $5 - local.get $4 + local.get $10 + local.get $3 call $~lib/map/Map#has if i32.const 0 @@ -17634,15 +17560,15 @@ call $~lib/builtins/abort unreachable end - local.get $5 - local.get $4 - local.get $4 + local.get $10 + local.get $3 + local.get $3 i32.wrap_i64 i32.const 10 i32.add call $~lib/map/Map#set - local.get $5 - local.get $4 + local.get $10 + local.get $3 call $~lib/map/Map#has i32.eqz if @@ -17653,10 +17579,10 @@ call $~lib/builtins/abort unreachable end - local.get $5 - local.get $4 + local.get $10 + local.get $3 call $~lib/map/Map#get - local.get $4 + local.get $3 i32.wrap_i64 i32.const 10 i32.add @@ -17669,14 +17595,14 @@ call $~lib/builtins/abort unreachable end - local.get $4 + local.get $3 i64.const 1 i64.add - local.set $4 + local.set $3 br $for-loop|0 end end - local.get $5 + local.get $10 i32.load offset=20 i32.const 100 i32.ne @@ -17689,14 +17615,14 @@ unreachable end i64.const 0 - local.set $4 + local.set $3 loop $for-loop|1 - local.get $4 + local.get $3 i64.const 100 i64.lt_u if - local.get $5 - local.get $4 + local.get $10 + local.get $3 call $~lib/map/Map#has i32.eqz if @@ -17707,10 +17633,10 @@ call $~lib/builtins/abort unreachable end - local.get $5 - local.get $4 + local.get $10 + local.get $3 call $~lib/map/Map#get - local.get $4 + local.get $3 i32.wrap_i64 i32.const 10 i32.add @@ -17723,15 +17649,15 @@ call $~lib/builtins/abort unreachable end - local.get $5 - local.get $4 - local.get $4 + local.get $10 + local.get $3 + local.get $3 i32.wrap_i64 i32.const 20 i32.add call $~lib/map/Map#set - local.get $5 - local.get $4 + local.get $10 + local.get $3 call $~lib/map/Map#has i32.eqz if @@ -17742,10 +17668,10 @@ call $~lib/builtins/abort unreachable end - local.get $5 - local.get $4 + local.get $10 + local.get $3 call $~lib/map/Map#get - local.get $4 + local.get $3 i32.wrap_i64 i32.const 20 i32.add @@ -17758,14 +17684,14 @@ call $~lib/builtins/abort unreachable end - local.get $4 + local.get $3 i64.const 1 i64.add - local.set $4 + local.set $3 br $for-loop|1 end end - local.get $5 + local.get $10 i32.load offset=20 i32.const 100 i32.ne @@ -17778,7 +17704,7 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $6 + local.tee $2 i32.const 4 i32.sub global.set $~lib/memory/__stack_pointer @@ -17787,16 +17713,16 @@ i32.lt_s br_if $folding-inner1 global.get $~lib/memory/__stack_pointer - local.tee $2 + local.tee $4 i32.const 0 i32.store - local.get $5 + local.get $10 i32.load offset=8 - local.set $7 - local.get $5 + local.set $5 + local.get $10 i32.load offset=16 - local.set $8 - local.get $2 + local.set $6 + local.get $4 i32.const 8 i32.sub global.set $~lib/memory/__stack_pointer @@ -17805,28 +17731,28 @@ i32.lt_s br_if $folding-inner1 global.get $~lib/memory/__stack_pointer - local.tee $9 + local.tee $7 i64.const 0 i64.store - local.get $9 + local.get $7 i32.const 16 i32.const 24 call $~lib/rt/itcms/__new - local.tee $10 + local.tee $11 i32.store - local.get $10 + local.get $11 i32.const 0 i32.store - local.get $10 + local.get $11 i32.const 0 i32.store offset=4 - local.get $10 + local.get $11 i32.const 0 i32.store offset=8 - local.get $10 + local.get $11 i32.const 0 i32.store offset=12 - local.get $8 + local.get $6 i32.const 134217727 i32.gt_u if @@ -17838,97 +17764,96 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $8 + local.get $6 i32.const 8 - local.get $8 + local.get $6 i32.const 8 i32.gt_u select i32.const 3 i32.shl - local.tee $9 + local.tee $7 i32.const 0 call $~lib/rt/itcms/__new - local.tee $11 + local.tee $8 i32.store offset=4 - local.get $10 local.get $11 + local.get $8 i32.store - local.get $11 + local.get $8 if - local.get $10 local.get $11 + local.get $8 call $byn-split-outlined-A$~lib/rt/itcms/__link end - local.get $10 local.get $11 + local.get $8 i32.store offset=4 - local.get $10 - local.get $9 + local.get $11 + local.get $7 i32.store offset=8 - local.get $10 - local.get $8 + local.get $11 + local.get $6 i32.store offset=12 global.get $~lib/memory/__stack_pointer i32.const 8 i32.add global.set $~lib/memory/__stack_pointer - local.get $2 - local.get $10 + local.get $4 + local.get $11 i32.store loop $for-loop|02 - local.get $3 - local.get $8 + local.get $1 + local.get $6 i32.lt_s if - local.get $3 + local.get $1 i32.const 4 i32.shl - local.get $7 + local.get $5 i32.add - local.tee $9 + local.tee $4 i32.load offset=12 i32.const 1 i32.and i32.eqz if + local.get $11 + local.get $0 + local.get $4 + i64.load + call $~lib/array/Array#__set local.get $0 - local.tee $2 i32.const 1 i32.add local.set $0 - local.get $10 - local.get $2 - local.get $9 - i64.load - call $~lib/array/Array#__set end - local.get $3 + local.get $1 i32.const 1 i32.add - local.set $3 + local.set $1 br $for-loop|02 end end - local.get $10 + local.get $11 local.get $0 i32.const 3 i32.const 0 call $~lib/array/ensureCapacity - local.get $10 + local.get $11 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 $6 - local.get $10 + local.get $2 + local.get $11 i32.store offset=4 global.get $~lib/memory/__stack_pointer - local.get $5 + local.get $10 call $~lib/map/Map#values - local.tee $11 + local.tee $12 i32.store offset=8 global.get $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer @@ -17940,68 +17865,70 @@ i32.lt_s br_if $folding-inner1 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 24 i32.const 25 call $~lib/rt/itcms/__new - local.tee $12 + local.tee $13 i32.store - local.get $12 + local.get $13 i32.const 16 call $~lib/arraybuffer/ArrayBuffer#constructor - local.tee $2 + local.tee $1 i32.store - local.get $2 + local.get $1 if - local.get $12 - local.get $2 + local.get $13 + local.get $1 call $byn-split-outlined-A$~lib/rt/itcms/__link end - local.get $12 + local.get $13 i32.const 3 i32.store offset=4 - local.get $12 + local.get $13 i32.const 96 call $~lib/arraybuffer/ArrayBuffer#constructor - local.tee $2 + local.tee $1 i32.store offset=8 - local.get $2 + local.get $1 if - local.get $12 - local.get $2 + local.get $13 + local.get $1 call $byn-split-outlined-A$~lib/rt/itcms/__link end - local.get $12 + local.get $13 i32.const 4 i32.store offset=12 - local.get $12 + local.get $13 i32.const 0 i32.store offset=16 - local.get $12 + local.get $13 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 $12 + local.get $13 i32.store offset=12 global.get $~lib/memory/__stack_pointer call $~lib/map/Map#constructor - local.tee $6 + local.tee $14 i32.store offset=16 + i32.const 0 + local.set $0 loop $for-loop|2 - local.get $10 + local.get $11 i32.load offset=12 - local.get $1 + local.get $0 i32.gt_s if - local.get $1 - local.tee $2 - local.get $10 + local.get $0 + local.tee $1 + local.get $11 i32.load offset=12 i32.ge_u if @@ -18012,20 +17939,20 @@ call $~lib/builtins/abort unreachable end - local.get $10 + local.get $11 i32.load offset=4 - local.get $2 + local.get $1 i32.const 3 i32.shl i32.add i64.load - local.set $4 - local.get $11 - local.get $2 + local.set $3 + local.get $12 + local.get $1 call $~lib/array/Array#__get - local.set $7 - local.get $5 - local.get $4 + local.set $15 + local.get $10 + local.get $3 call $~lib/map/Map#has i32.eqz if @@ -18036,8 +17963,8 @@ call $~lib/builtins/abort unreachable end - local.get $5 - local.get $7 + local.get $10 + local.get $15 i32.const 20 i32.sub i64.extend_i32_s @@ -18062,9 +17989,9 @@ global.get $~lib/memory/__stack_pointer i32.const 0 i32.store - local.get $12 + local.get $13 i32.load - local.get $4 + local.get $3 i32.wrap_i64 i32.const -1028477379 i32.mul @@ -18074,7 +18001,7 @@ i32.rotl i32.const 668265263 i32.mul - local.get $4 + local.get $3 i64.const 32 i64.shr_u i32.wrap_i64 @@ -18104,58 +18031,58 @@ i32.const 16 i32.shr_u i32.xor - local.tee $13 - local.get $12 + local.tee $5 + local.get $13 i32.load offset=4 i32.and i32.const 2 i32.shl i32.add i32.load - local.set $1 + local.set $0 block $__inlined_func$~lib/map/Map#find loop $while-continue|0 - local.get $1 + local.get $0 if - local.get $1 + local.get $0 i32.load offset=16 - local.tee $0 + local.tee $2 i32.const 1 i32.and if (result i32) i32.const 0 else - local.get $4 - local.get $1 + local.get $3 + local.get $0 i64.load i64.eq end br_if $__inlined_func$~lib/map/Map#find - local.get $0 + local.get $2 i32.const -2 i32.and - local.set $1 + local.set $0 br $while-continue|0 end end i32.const 0 - local.set $1 + local.set $0 end - local.get $1 + local.get $0 if - local.get $1 - local.get $4 + local.get $0 + local.get $3 i64.store offset=8 else - local.get $12 + local.get $13 i32.load offset=16 - local.get $12 + local.get $13 i32.load offset=12 i32.eq if - local.get $12 + local.get $13 i32.load offset=20 - local.get $12 + local.get $13 i32.load offset=12 i32.const 3 i32.mul @@ -18163,10 +18090,10 @@ i32.div_s i32.lt_s if (result i32) - local.get $12 + local.get $13 i32.load offset=4 else - local.get $12 + local.get $13 i32.load offset=4 i32.const 1 i32.shl @@ -18202,41 +18129,41 @@ i32.shl i32.const 3 i32.div_s - local.tee $14 + local.tee $6 i32.const 24 i32.mul call $~lib/arraybuffer/ArrayBuffer#constructor - local.tee $1 + local.tee $2 i32.store offset=4 - local.get $12 + local.get $13 i32.load offset=8 - local.tee $3 - local.get $12 + local.tee $4 + local.get $13 i32.load offset=16 i32.const 24 i32.mul i32.add - local.set $15 - local.get $1 + local.set $7 + local.get $2 local.set $0 loop $while-continue|00 - local.get $3 - local.get $15 + local.get $4 + local.get $7 i32.ne if - local.get $3 + local.get $4 i32.load offset=16 i32.const 1 i32.and i32.eqz if local.get $0 - local.get $3 + local.get $4 i64.load local.tee $16 i64.store local.get $0 - local.get $3 + local.get $4 i64.load offset=8 i64.store offset=8 local.get $0 @@ -18297,39 +18224,39 @@ i32.add local.set $0 end - local.get $3 + local.get $4 i32.const 24 i32.add - local.set $3 + local.set $4 br $while-continue|00 end end - local.get $12 + local.get $13 local.get $9 i32.store local.get $9 if - local.get $12 + local.get $13 local.get $9 call $byn-split-outlined-A$~lib/rt/itcms/__link end - local.get $12 + local.get $13 local.get $8 i32.store offset=4 - local.get $12 - local.get $1 + local.get $13 + local.get $2 i32.store offset=8 - local.get $1 + local.get $2 if - local.get $12 - local.get $1 + local.get $13 + local.get $2 call $byn-split-outlined-A$~lib/rt/itcms/__link end - local.get $12 - local.get $14 + local.get $13 + local.get $6 i32.store offset=12 - local.get $12 - local.get $12 + local.get $13 + local.get $13 i32.load offset=20 i32.store offset=16 global.get $~lib/memory/__stack_pointer @@ -18338,48 +18265,48 @@ global.set $~lib/memory/__stack_pointer end global.get $~lib/memory/__stack_pointer - local.get $12 + local.get $13 i32.load offset=8 local.tee $0 i32.store - local.get $12 - local.get $12 + local.get $13 + local.get $13 i32.load offset=16 - local.tee $1 + local.tee $2 i32.const 1 i32.add i32.store offset=16 - local.get $1 + local.get $2 i32.const 24 i32.mul local.get $0 i32.add local.tee $0 - local.get $4 + local.get $3 i64.store local.get $0 - local.get $4 + local.get $3 i64.store offset=8 - local.get $12 - local.get $12 + local.get $13 + local.get $13 i32.load offset=20 i32.const 1 i32.add i32.store offset=20 local.get $0 - local.get $12 + local.get $13 i32.load - local.get $12 - i32.load offset=4 local.get $13 + i32.load offset=4 + local.get $5 i32.and i32.const 2 i32.shl i32.add - local.tee $1 + local.tee $2 i32.load i32.store offset=16 - local.get $1 + local.get $2 local.get $0 i32.store end @@ -18387,21 +18314,21 @@ i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $6 - local.get $7 + local.get $14 + local.get $15 i32.const 20 i32.sub local.tee $0 local.get $0 call $~lib/map/Map#set - local.get $2 + local.get $1 i32.const 1 i32.add - local.set $1 + local.set $0 br $for-loop|2 end end - local.get $12 + local.get $13 i32.load offset=20 i32.const 100 i32.ne @@ -18413,7 +18340,7 @@ call $~lib/builtins/abort unreachable end - local.get $6 + local.get $14 i32.load offset=20 i32.const 100 i32.ne @@ -18426,14 +18353,14 @@ unreachable end i64.const 0 - local.set $4 + local.set $3 loop $for-loop|3 - local.get $4 + local.get $3 i64.const 50 i64.lt_u if - local.get $5 - local.get $4 + local.get $10 + local.get $3 call $~lib/map/Map#has i32.eqz if @@ -18444,10 +18371,10 @@ call $~lib/builtins/abort unreachable end - local.get $5 - local.get $4 + local.get $10 + local.get $3 call $~lib/map/Map#get - local.get $4 + local.get $3 i32.wrap_i64 i32.const 20 i32.add @@ -18460,11 +18387,11 @@ call $~lib/builtins/abort unreachable end - local.get $5 - local.get $4 + local.get $10 + local.get $3 call $~lib/map/Map#delete - local.get $5 - local.get $4 + local.get $10 + local.get $3 call $~lib/map/Map#has if i32.const 0 @@ -18474,14 +18401,14 @@ call $~lib/builtins/abort unreachable end - local.get $4 + local.get $3 i64.const 1 i64.add - local.set $4 + local.set $3 br $for-loop|3 end end - local.get $5 + local.get $10 i32.load offset=20 i32.const 50 i32.ne @@ -18494,14 +18421,14 @@ unreachable end i64.const 0 - local.set $4 + local.set $3 loop $for-loop|4 - local.get $4 + local.get $3 i64.const 50 i64.lt_u if - local.get $5 - local.get $4 + local.get $10 + local.get $3 call $~lib/map/Map#has if i32.const 0 @@ -18511,15 +18438,15 @@ call $~lib/builtins/abort unreachable end - local.get $5 - local.get $4 - local.get $4 + local.get $10 + local.get $3 + local.get $3 i32.wrap_i64 i32.const 10 i32.add call $~lib/map/Map#set - local.get $5 - local.get $4 + local.get $10 + local.get $3 call $~lib/map/Map#has i32.eqz if @@ -18530,11 +18457,11 @@ call $~lib/builtins/abort unreachable end - local.get $5 - local.get $4 + local.get $10 + local.get $3 call $~lib/map/Map#delete - local.get $5 - local.get $4 + local.get $10 + local.get $3 call $~lib/map/Map#has if i32.const 0 @@ -18544,14 +18471,14 @@ call $~lib/builtins/abort unreachable end - local.get $4 + local.get $3 i64.const 1 i64.add - local.set $4 + local.set $3 br $for-loop|4 end end - local.get $5 + local.get $10 i32.load offset=20 i32.const 50 i32.ne @@ -18563,9 +18490,9 @@ call $~lib/builtins/abort unreachable end - local.get $5 + local.get $10 call $~lib/map/Map#clear - local.get $5 + local.get $10 i32.load offset=20 if i32.const 0 @@ -18624,7 +18551,7 @@ i32.const 2 i32.shl call $~lib/arraybuffer/ArrayBuffer#constructor - local.tee $5 + local.tee $4 i32.store global.get $~lib/memory/__stack_pointer local.get $2 @@ -18640,7 +18567,7 @@ i32.store offset=4 local.get $0 i32.load offset=8 - local.tee $4 + local.tee $5 local.get $0 i32.load offset=16 i32.const 12 @@ -18650,23 +18577,23 @@ local.get $3 local.set $2 loop $while-continue|0 - local.get $4 + local.get $5 local.get $7 i32.ne if - local.get $4 + local.get $5 i32.load offset=8 i32.const 1 i32.and i32.eqz if local.get $2 - local.get $4 + local.get $5 f32.load local.tee $8 f32.store local.get $2 - local.get $4 + local.get $5 i32.load offset=4 i32.store offset=4 local.get $2 @@ -18703,7 +18630,7 @@ i32.and i32.const 2 i32.shl - local.get $5 + local.get $4 i32.add local.tee $9 i32.load @@ -18716,20 +18643,20 @@ i32.add local.set $2 end - local.get $4 + local.get $5 i32.const 12 i32.add - local.set $4 + local.set $5 br $while-continue|0 end end local.get $0 - local.get $5 + local.get $4 i32.store - local.get $5 + local.get $4 if local.get $0 - local.get $5 + local.get $4 call $byn-split-outlined-A$~lib/rt/itcms/__link end local.get $0 @@ -18966,15 +18893,15 @@ (local $2 i32) (local $3 i32) (local $4 i32) - (local $5 i32) + (local $5 f32) (local $6 i32) - (local $7 f32) + (local $7 i32) (local $8 i32) (local $9 i32) (local $10 i32) - (local $11 f32) + (local $11 i32) (local $12 i32) - (local $13 i32) + (local $13 f32) (local $14 i32) (local $15 i32) (local $16 i32) @@ -19007,47 +18934,47 @@ i32.lt_s br_if $folding-inner1 global.get $~lib/memory/__stack_pointer - local.tee $1 + local.tee $3 i32.const 0 i32.store - local.get $1 + local.get $3 i32.const 24 i32.const 26 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 $1 + local.tee $3 i32.store - local.get $1 + local.get $3 if - local.get $13 - local.get $1 + local.get $4 + local.get $3 call $byn-split-outlined-A$~lib/rt/itcms/__link end - local.get $13 + local.get $4 i32.const 3 i32.store offset=4 - local.get $13 + local.get $4 i32.const 48 call $~lib/arraybuffer/ArrayBuffer#constructor - local.tee $1 + local.tee $3 i32.store offset=8 - local.get $1 + local.get $3 if - local.get $13 - local.get $1 + local.get $4 + local.get $3 call $byn-split-outlined-A$~lib/rt/itcms/__link end - 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 @@ -19055,18 +18982,18 @@ i32.add global.set $~lib/memory/__stack_pointer local.get $2 - local.get $13 + local.get $4 i32.store loop $for-loop|0 - local.get $7 + local.get $5 f32.const 100 f32.lt if - local.get $13 + local.get $4 i32.load - local.get $13 + local.get $4 i32.load offset=4 - local.get $7 + local.get $5 i32.reinterpret_f32 i32.const -1028477379 i32.mul @@ -19076,22 +19003,22 @@ i32.rotl i32.const 668265263 i32.mul - local.tee $1 - local.get $1 + local.tee $2 + local.get $2 i32.const 15 i32.shr_u i32.xor i32.const -2048144777 i32.mul - local.tee $1 - local.get $1 + local.tee $2 + local.get $2 i32.const 13 i32.shr_u i32.xor i32.const -1028477379 i32.mul - local.tee $1 - local.get $1 + local.tee $2 + local.get $2 i32.const 16 i32.shr_u i32.xor @@ -19100,36 +19027,36 @@ i32.shl i32.add i32.load - local.set $6 + local.set $2 block $__inlined_func$~lib/map/Map#find loop $while-continue|0 - local.get $6 + local.get $2 if - local.get $6 + local.get $2 i32.load offset=8 - local.tee $1 + local.tee $3 i32.const 1 i32.and if (result i32) i32.const 0 else - local.get $7 - local.get $6 + local.get $5 + local.get $2 f32.load f32.eq end br_if $__inlined_func$~lib/map/Map#find - local.get $1 + local.get $3 i32.const -2 i32.and - local.set $6 + local.set $2 br $while-continue|0 end end i32.const 0 - local.set $6 + local.set $2 end - local.get $6 + local.get $2 if i32.const 0 i32.const 1568 @@ -19138,18 +19065,18 @@ call $~lib/builtins/abort unreachable end - local.get $13 - local.get $7 - local.get $7 + local.get $4 + local.get $5 + local.get $5 i32.trunc_f32_s i32.const 10 i32.add call $~lib/map/Map#set - local.get $13 + local.get $4 i32.load - local.get $13 + local.get $4 i32.load offset=4 - local.get $7 + local.get $5 i32.reinterpret_f32 i32.const -1028477379 i32.mul @@ -19159,22 +19086,22 @@ i32.rotl i32.const 668265263 i32.mul - local.tee $1 - local.get $1 + local.tee $2 + local.get $2 i32.const 15 i32.shr_u i32.xor i32.const -2048144777 i32.mul - local.tee $1 - local.get $1 + local.tee $2 + local.get $2 i32.const 13 i32.shr_u i32.xor i32.const -1028477379 i32.mul - local.tee $1 - local.get $1 + local.tee $2 + local.get $2 i32.const 16 i32.shr_u i32.xor @@ -19183,36 +19110,36 @@ i32.shl i32.add i32.load - local.set $6 + local.set $2 block $__inlined_func$~lib/map/Map#find1 loop $while-continue|02 - local.get $6 + local.get $2 if - local.get $6 + local.get $2 i32.load offset=8 - local.tee $1 + local.tee $3 i32.const 1 i32.and if (result i32) i32.const 0 else - local.get $7 - local.get $6 + local.get $5 + local.get $2 f32.load f32.eq end br_if $__inlined_func$~lib/map/Map#find1 - local.get $1 + local.get $3 i32.const -2 i32.and - local.set $6 + local.set $2 br $while-continue|02 end end i32.const 0 - local.set $6 + local.set $2 end - local.get $6 + local.get $2 i32.eqz if i32.const 0 @@ -19222,10 +19149,10 @@ call $~lib/builtins/abort unreachable end - local.get $13 - local.get $7 + local.get $4 + local.get $5 call $~lib/map/Map#get - local.get $7 + local.get $5 i32.trunc_f32_s i32.const 10 i32.add @@ -19238,14 +19165,14 @@ call $~lib/builtins/abort unreachable end - local.get $7 + local.get $5 f32.const 1 f32.add - local.set $7 + local.set $5 br $for-loop|0 end end - local.get $13 + local.get $4 i32.load offset=20 i32.const 100 i32.ne @@ -19258,17 +19185,17 @@ unreachable end f32.const 0 - local.set $7 + local.set $5 loop $for-loop|1 - local.get $7 + local.get $5 f32.const 100 f32.lt if - local.get $13 + local.get $4 i32.load - local.get $13 + local.get $4 i32.load offset=4 - local.get $7 + local.get $5 i32.reinterpret_f32 i32.const -1028477379 i32.mul @@ -19278,22 +19205,22 @@ i32.rotl i32.const 668265263 i32.mul - local.tee $1 - local.get $1 + local.tee $2 + local.get $2 i32.const 15 i32.shr_u i32.xor i32.const -2048144777 i32.mul - local.tee $1 - local.get $1 + local.tee $2 + local.get $2 i32.const 13 i32.shr_u i32.xor i32.const -1028477379 i32.mul - local.tee $1 - local.get $1 + local.tee $2 + local.get $2 i32.const 16 i32.shr_u i32.xor @@ -19302,36 +19229,36 @@ i32.shl i32.add i32.load - local.set $6 + local.set $2 block $__inlined_func$~lib/map/Map#find4 loop $while-continue|05 - local.get $6 + local.get $2 if - local.get $6 + local.get $2 i32.load offset=8 - local.tee $1 + local.tee $3 i32.const 1 i32.and if (result i32) i32.const 0 else - local.get $7 - local.get $6 + local.get $5 + local.get $2 f32.load f32.eq end br_if $__inlined_func$~lib/map/Map#find4 - local.get $1 + local.get $3 i32.const -2 i32.and - local.set $6 + local.set $2 br $while-continue|05 end end i32.const 0 - local.set $6 + local.set $2 end - local.get $6 + local.get $2 i32.eqz if i32.const 0 @@ -19341,10 +19268,10 @@ call $~lib/builtins/abort unreachable end - local.get $13 - local.get $7 + local.get $4 + local.get $5 call $~lib/map/Map#get - local.get $7 + local.get $5 i32.trunc_f32_s i32.const 10 i32.add @@ -19357,18 +19284,18 @@ call $~lib/builtins/abort unreachable end - local.get $13 - local.get $7 - local.get $7 + local.get $4 + local.get $5 + local.get $5 i32.trunc_f32_s i32.const 20 i32.add call $~lib/map/Map#set - local.get $13 + local.get $4 i32.load - local.get $13 + local.get $4 i32.load offset=4 - local.get $7 + local.get $5 i32.reinterpret_f32 i32.const -1028477379 i32.mul @@ -19378,22 +19305,22 @@ i32.rotl i32.const 668265263 i32.mul - local.tee $1 - local.get $1 + local.tee $2 + local.get $2 i32.const 15 i32.shr_u i32.xor i32.const -2048144777 i32.mul - local.tee $1 - local.get $1 + local.tee $2 + local.get $2 i32.const 13 i32.shr_u i32.xor i32.const -1028477379 i32.mul - local.tee $1 - local.get $1 + local.tee $2 + local.get $2 i32.const 16 i32.shr_u i32.xor @@ -19402,36 +19329,36 @@ i32.shl i32.add i32.load - local.set $6 + local.set $2 block $__inlined_func$~lib/map/Map#find7 loop $while-continue|08 - local.get $6 + local.get $2 if - local.get $6 + local.get $2 i32.load offset=8 - local.tee $1 + local.tee $3 i32.const 1 i32.and if (result i32) i32.const 0 else - local.get $7 - local.get $6 + local.get $5 + local.get $2 f32.load f32.eq end br_if $__inlined_func$~lib/map/Map#find7 - local.get $1 + local.get $3 i32.const -2 i32.and - local.set $6 + local.set $2 br $while-continue|08 end end i32.const 0 - local.set $6 + local.set $2 end - local.get $6 + local.get $2 i32.eqz if i32.const 0 @@ -19441,10 +19368,10 @@ call $~lib/builtins/abort unreachable end - local.get $13 - local.get $7 + local.get $4 + local.get $5 call $~lib/map/Map#get - local.get $7 + local.get $5 i32.trunc_f32_s i32.const 20 i32.add @@ -19457,14 +19384,14 @@ call $~lib/builtins/abort unreachable end - local.get $7 + local.get $5 f32.const 1 f32.add - local.set $7 + local.set $5 br $for-loop|1 end end - local.get $13 + local.get $4 i32.load offset=20 i32.const 100 i32.ne @@ -19477,7 +19404,7 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $9 + local.tee $6 i32.const 4 i32.sub global.set $~lib/memory/__stack_pointer @@ -19486,16 +19413,16 @@ i32.lt_s br_if $folding-inner1 global.get $~lib/memory/__stack_pointer - local.tee $8 + local.tee $2 i32.const 0 i32.store - local.get $13 + local.get $4 i32.load offset=8 - local.set $6 - local.get $13 + local.set $7 + local.get $4 i32.load offset=16 - local.set $3 - local.get $8 + local.set $8 + local.get $2 i32.const 8 i32.sub global.set $~lib/memory/__stack_pointer @@ -19504,28 +19431,28 @@ i32.lt_s br_if $folding-inner1 global.get $~lib/memory/__stack_pointer - local.tee $1 + local.tee $3 i64.const 0 i64.store - local.get $1 + local.get $3 i32.const 16 i32.const 27 call $~lib/rt/itcms/__new - local.tee $4 + local.tee $3 i32.store - local.get $4 + local.get $3 i32.const 0 i32.store - local.get $4 + local.get $3 i32.const 0 i32.store offset=4 - local.get $4 + local.get $3 i32.const 0 i32.store offset=8 - local.get $4 + local.get $3 i32.const 0 i32.store offset=12 - local.get $3 + local.get $8 i32.const 268435455 i32.gt_u if @@ -19537,74 +19464,74 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $3 + local.get $8 i32.const 8 - local.get $3 + local.get $8 i32.const 8 i32.gt_u select i32.const 2 i32.shl - local.tee $2 + local.tee $9 i32.const 0 call $~lib/rt/itcms/__new - local.tee $1 + local.tee $10 i32.store offset=4 - local.get $4 - local.get $1 + local.get $3 + local.get $10 i32.store - local.get $1 + local.get $10 if - local.get $4 - local.get $1 + local.get $3 + local.get $10 call $byn-split-outlined-A$~lib/rt/itcms/__link end - local.get $4 - local.get $1 + local.get $3 + local.get $10 i32.store offset=4 - local.get $4 - local.get $2 + local.get $3 + local.get $9 i32.store offset=8 - local.get $4 local.get $3 + local.get $8 i32.store offset=12 global.get $~lib/memory/__stack_pointer i32.const 8 i32.add global.set $~lib/memory/__stack_pointer - local.get $8 - local.get $4 + local.get $2 + local.get $3 i32.store loop $for-loop|02 - local.get $3 - local.get $10 - i32.gt_s + local.get $0 + local.get $8 + i32.lt_s if - local.get $10 + local.get $0 i32.const 12 i32.mul - local.get $6 + local.get $7 i32.add - local.tee $1 + local.tee $2 i32.load offset=8 i32.const 1 i32.and i32.eqz if - local.get $1 + local.get $2 f32.load - local.set $7 - local.get $5 - local.tee $1 + local.set $5 + local.get $1 + local.tee $2 i32.const 1 i32.add - local.set $5 - local.get $4 + local.set $1 + local.get $3 i32.load offset=12 - local.get $1 + local.get $2 i32.le_u if - local.get $1 + local.get $2 i32.const 0 i32.lt_s if @@ -19615,53 +19542,53 @@ call $~lib/builtins/abort unreachable end - local.get $4 - local.get $1 + local.get $3 + local.get $2 i32.const 1 i32.add - local.tee $2 + local.tee $9 i32.const 2 i32.const 1 call $~lib/array/ensureCapacity - local.get $4 - local.get $2 + local.get $3 + local.get $9 i32.store offset=12 end - local.get $4 + local.get $3 i32.load offset=4 - local.get $1 + local.get $2 i32.const 2 i32.shl i32.add - local.get $7 + local.get $5 f32.store end - local.get $10 + local.get $0 i32.const 1 i32.add - local.set $10 + local.set $0 br $for-loop|02 end end - local.get $4 - local.get $5 + local.get $3 + local.get $1 i32.const 2 i32.const 0 call $~lib/array/ensureCapacity - local.get $4 - local.get $5 + local.get $3 + 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 $9 - local.get $4 + local.get $6 + local.get $3 i32.store offset=4 global.get $~lib/memory/__stack_pointer - local.get $13 + local.get $4 call $~lib/map/Map#values - local.tee $12 + local.tee $8 i32.store offset=8 global.get $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer @@ -19680,61 +19607,63 @@ i32.const 24 i32.const 28 call $~lib/rt/itcms/__new - local.tee $3 + local.tee $12 i32.store - local.get $3 + local.get $12 i32.const 16 call $~lib/arraybuffer/ArrayBuffer#constructor local.tee $1 i32.store local.get $1 if - local.get $3 + local.get $12 local.get $1 call $byn-split-outlined-A$~lib/rt/itcms/__link end - local.get $3 + local.get $12 i32.const 3 i32.store offset=4 - local.get $3 + local.get $12 i32.const 48 call $~lib/arraybuffer/ArrayBuffer#constructor local.tee $1 i32.store offset=8 local.get $1 if - local.get $3 + local.get $12 local.get $1 call $byn-split-outlined-A$~lib/rt/itcms/__link end - local.get $3 + local.get $12 i32.const 4 i32.store offset=12 - local.get $3 + local.get $12 i32.const 0 i32.store offset=16 - local.get $3 + local.get $12 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 $12 i32.store offset=12 global.get $~lib/memory/__stack_pointer call $~lib/map/Map#constructor - local.tee $16 + local.tee $10 i32.store offset=16 + i32.const 0 + local.set $1 loop $for-loop|2 - local.get $4 + local.get $3 i32.load offset=12 - local.get $0 + local.get $1 i32.gt_s if - local.get $0 + local.get $1 local.tee $2 - local.get $4 + local.get $3 i32.load offset=12 i32.ge_u if @@ -19745,23 +19674,23 @@ call $~lib/builtins/abort unreachable end - local.get $4 + local.get $3 i32.load offset=4 local.get $2 i32.const 2 i32.shl i32.add f32.load - local.set $11 - local.get $12 + local.set $5 + local.get $8 local.get $2 call $~lib/array/Array#__get - local.set $10 - local.get $13 + local.set $9 + local.get $4 i32.load - local.get $13 + local.get $4 i32.load offset=4 - local.get $11 + local.get $5 i32.reinterpret_f32 i32.const -1028477379 i32.mul @@ -19795,12 +19724,12 @@ i32.shl i32.add i32.load - local.set $6 + local.set $1 block $__inlined_func$~lib/map/Map#find10 loop $while-continue|011 - local.get $6 + local.get $1 if - local.get $6 + local.get $1 i32.load offset=8 local.tee $0 i32.const 1 @@ -19808,8 +19737,8 @@ if (result i32) i32.const 0 else - local.get $11 - local.get $6 + local.get $5 + local.get $1 f32.load f32.eq end @@ -19817,14 +19746,14 @@ local.get $0 i32.const -2 i32.and - local.set $6 + local.set $1 br $while-continue|011 end end i32.const 0 - local.set $6 + local.set $1 end - local.get $6 + local.get $1 i32.eqz if i32.const 0 @@ -19834,15 +19763,15 @@ call $~lib/builtins/abort unreachable end - local.get $13 + local.get $4 i32.load - local.get $13 + local.get $4 i32.load offset=4 - local.get $10 + local.get $9 i32.const 20 i32.sub f32.convert_i32_s - local.tee $7 + local.tee $13 i32.reinterpret_f32 i32.const -1028477379 i32.mul @@ -19876,12 +19805,12 @@ i32.shl i32.add i32.load - local.set $6 + local.set $1 block $__inlined_func$~lib/map/Map#find13 loop $while-continue|014 - local.get $6 + local.get $1 if - local.get $6 + local.get $1 i32.load offset=8 local.tee $0 i32.const 1 @@ -19889,8 +19818,8 @@ if (result i32) i32.const 0 else - local.get $7 - local.get $6 + local.get $13 + local.get $1 f32.load f32.eq end @@ -19898,14 +19827,14 @@ local.get $0 i32.const -2 i32.and - local.set $6 + local.set $1 br $while-continue|014 end end i32.const 0 - local.set $6 + local.set $1 end - local.get $6 + local.get $1 i32.eqz if i32.const 0 @@ -19926,9 +19855,9 @@ global.get $~lib/memory/__stack_pointer i32.const 0 i32.store - local.get $3 + local.get $12 i32.load - local.get $11 + local.get $5 i32.reinterpret_f32 i32.const -1028477379 i32.mul @@ -19957,8 +19886,8 @@ i32.shr_u local.get $0 i32.xor - local.tee $9 - local.get $3 + local.tee $7 + local.get $12 i32.load offset=4 i32.and i32.const 2 @@ -19971,20 +19900,21 @@ local.get $0 if local.get $0 - i32.load offset=8 local.tee $1 + i32.load offset=8 + local.tee $0 i32.const 1 i32.and if (result i32) i32.const 0 else - local.get $11 - local.get $0 + local.get $5 + local.get $1 f32.load f32.eq end br_if $__inlined_func$~lib/map/Map#find15 - local.get $1 + local.get $0 i32.const -2 i32.and local.set $0 @@ -19992,23 +19922,23 @@ end end i32.const 0 - local.set $0 + local.set $1 end - local.get $0 + local.get $1 if - local.get $0 - local.get $11 + local.get $1 + local.get $5 f32.store offset=4 else - local.get $3 + local.get $12 i32.load offset=16 - local.get $3 + local.get $12 i32.load offset=12 i32.eq if - local.get $3 + local.get $12 i32.load offset=20 - local.get $3 + local.get $12 i32.load offset=12 i32.const 3 i32.mul @@ -20016,17 +19946,17 @@ i32.div_s i32.lt_s if (result i32) - local.get $3 + local.get $12 i32.load offset=4 else - local.get $3 + local.get $12 i32.load offset=4 i32.const 1 i32.shl i32.const 1 i32.or end - local.set $15 + local.set $14 global.get $~lib/memory/__stack_pointer i32.const 8 i32.sub @@ -20040,14 +19970,14 @@ i64.const 0 i64.store local.get $0 - local.get $15 + local.get $14 i32.const 1 i32.add local.tee $0 i32.const 2 i32.shl call $~lib/arraybuffer/ArrayBuffer#constructor - local.tee $14 + local.tee $15 i32.store global.get $~lib/memory/__stack_pointer local.get $0 @@ -20055,45 +19985,45 @@ i32.shl i32.const 3 i32.div_s - local.tee $8 + local.tee $6 i32.const 12 i32.mul call $~lib/arraybuffer/ArrayBuffer#constructor local.tee $1 i32.store offset=4 - local.get $3 + local.get $12 i32.load offset=8 - local.tee $5 - local.get $3 + local.tee $11 + local.get $12 i32.load offset=16 i32.const 12 i32.mul i32.add - local.set $17 + local.set $16 local.get $1 local.set $0 loop $while-continue|00 - local.get $5 - local.get $17 + local.get $11 + local.get $16 i32.ne if - local.get $5 + local.get $11 i32.load offset=8 i32.const 1 i32.and i32.eqz if local.get $0 - local.get $5 + local.get $11 f32.load - local.tee $7 + local.tee $13 f32.store local.get $0 - local.get $5 + local.get $11 f32.load offset=4 f32.store offset=4 local.get $0 - local.get $7 + local.get $13 i32.reinterpret_f32 i32.const -1028477379 i32.mul @@ -20103,35 +20033,35 @@ i32.rotl i32.const 668265263 i32.mul - local.tee $6 + local.tee $17 i32.const 15 i32.shr_u - local.get $6 + local.get $17 i32.xor i32.const -2048144777 i32.mul - local.tee $6 + local.tee $17 i32.const 13 i32.shr_u - local.get $6 + local.get $17 i32.xor i32.const -1028477379 i32.mul - local.tee $6 + local.tee $17 i32.const 16 i32.shr_u - local.get $6 + local.get $17 i32.xor - local.get $15 + local.get $14 i32.and i32.const 2 i32.shl - local.get $14 + local.get $15 i32.add - local.tee $6 + local.tee $17 i32.load i32.store offset=8 - local.get $6 + local.get $17 local.get $0 i32.store local.get $0 @@ -20139,39 +20069,39 @@ i32.add local.set $0 end - local.get $5 + local.get $11 i32.const 12 i32.add - local.set $5 + local.set $11 br $while-continue|00 end end - local.get $3 - local.get $14 + local.get $12 + local.get $15 i32.store - local.get $14 + local.get $15 if - local.get $3 - local.get $14 + local.get $12 + local.get $15 call $byn-split-outlined-A$~lib/rt/itcms/__link end - local.get $3 - local.get $15 + local.get $12 + local.get $14 i32.store offset=4 - local.get $3 + local.get $12 local.get $1 i32.store offset=8 local.get $1 if - local.get $3 + local.get $12 local.get $1 call $byn-split-outlined-A$~lib/rt/itcms/__link end - local.get $3 - local.get $8 + local.get $12 + local.get $6 i32.store offset=12 - local.get $3 - local.get $3 + local.get $12 + local.get $12 i32.load offset=20 i32.store offset=16 global.get $~lib/memory/__stack_pointer @@ -20180,57 +20110,57 @@ global.set $~lib/memory/__stack_pointer end global.get $~lib/memory/__stack_pointer - local.get $3 + local.get $12 i32.load offset=8 - local.tee $1 + local.tee $0 i32.store - local.get $3 - local.get $3 + local.get $12 + local.get $12 i32.load offset=16 - local.tee $0 + local.tee $1 i32.const 1 i32.add i32.store offset=16 - local.get $0 + local.get $1 i32.const 12 i32.mul - local.get $1 + local.get $0 i32.add - local.tee $1 - local.get $11 + local.tee $0 + local.get $5 f32.store - local.get $1 - local.get $11 + local.get $0 + local.get $5 f32.store offset=4 - local.get $3 - local.get $3 + local.get $12 + local.get $12 i32.load offset=20 i32.const 1 i32.add i32.store offset=20 - local.get $1 - local.get $3 + local.get $0 + local.get $12 i32.load - local.get $3 + local.get $12 i32.load offset=4 - local.get $9 + local.get $7 i32.and i32.const 2 i32.shl i32.add - local.tee $0 + local.tee $1 i32.load i32.store offset=8 - local.get $0 local.get $1 + 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 $16 local.get $10 + local.get $9 i32.const 20 i32.sub local.tee $0 @@ -20239,11 +20169,11 @@ local.get $2 i32.const 1 i32.add - local.set $0 + local.set $1 br $for-loop|2 end end - local.get $3 + local.get $12 i32.load offset=20 i32.const 100 i32.ne @@ -20255,7 +20185,7 @@ call $~lib/builtins/abort unreachable end - local.get $16 + local.get $10 i32.load offset=20 i32.const 100 i32.ne @@ -20268,17 +20198,17 @@ unreachable end f32.const 0 - local.set $7 + local.set $5 loop $for-loop|3 - local.get $7 + local.get $5 f32.const 50 f32.lt if - local.get $13 + local.get $4 i32.load - local.get $13 + local.get $4 i32.load offset=4 - local.get $7 + local.get $5 i32.reinterpret_f32 i32.const -1028477379 i32.mul @@ -20312,12 +20242,12 @@ i32.shl i32.add i32.load - local.set $6 + local.set $1 block $__inlined_func$~lib/map/Map#find18 loop $while-continue|019 - local.get $6 + local.get $1 if - local.get $6 + local.get $1 i32.load offset=8 local.tee $0 i32.const 1 @@ -20325,8 +20255,8 @@ if (result i32) i32.const 0 else - local.get $7 - local.get $6 + local.get $5 + local.get $1 f32.load f32.eq end @@ -20334,14 +20264,14 @@ local.get $0 i32.const -2 i32.and - local.set $6 + local.set $1 br $while-continue|019 end end i32.const 0 - local.set $6 + local.set $1 end - local.get $6 + local.get $1 i32.eqz if i32.const 0 @@ -20351,10 +20281,10 @@ call $~lib/builtins/abort unreachable end - local.get $13 - local.get $7 + local.get $4 + local.get $5 call $~lib/map/Map#get - local.get $7 + local.get $5 i32.trunc_f32_s i32.const 20 i32.add @@ -20367,14 +20297,14 @@ call $~lib/builtins/abort unreachable end - local.get $13 - local.get $7 + local.get $4 + local.get $5 call $~lib/map/Map#delete - local.get $13 + local.get $4 i32.load - local.get $13 + local.get $4 i32.load offset=4 - local.get $7 + local.get $5 i32.reinterpret_f32 i32.const -1028477379 i32.mul @@ -20408,12 +20338,12 @@ i32.shl i32.add i32.load - local.set $6 + local.set $1 block $__inlined_func$~lib/map/Map#find21 loop $while-continue|022 - local.get $6 + local.get $1 if - local.get $6 + local.get $1 i32.load offset=8 local.tee $0 i32.const 1 @@ -20421,8 +20351,8 @@ if (result i32) i32.const 0 else - local.get $7 - local.get $6 + local.get $5 + local.get $1 f32.load f32.eq end @@ -20430,14 +20360,14 @@ local.get $0 i32.const -2 i32.and - local.set $6 + local.set $1 br $while-continue|022 end end i32.const 0 - local.set $6 + local.set $1 end - local.get $6 + local.get $1 if i32.const 0 i32.const 1568 @@ -20446,14 +20376,14 @@ call $~lib/builtins/abort unreachable end - local.get $7 + local.get $5 f32.const 1 f32.add - local.set $7 + local.set $5 br $for-loop|3 end end - local.get $13 + local.get $4 i32.load offset=20 i32.const 50 i32.ne @@ -20466,17 +20396,17 @@ unreachable end f32.const 0 - local.set $7 + local.set $5 loop $for-loop|4 - local.get $7 + local.get $5 f32.const 50 f32.lt if - local.get $13 + local.get $4 i32.load - local.get $13 + local.get $4 i32.load offset=4 - local.get $7 + local.get $5 i32.reinterpret_f32 i32.const -1028477379 i32.mul @@ -20510,12 +20440,12 @@ i32.shl i32.add i32.load - local.set $6 + local.set $1 block $__inlined_func$~lib/map/Map#find24 loop $while-continue|025 - local.get $6 + local.get $1 if - local.get $6 + local.get $1 i32.load offset=8 local.tee $0 i32.const 1 @@ -20523,8 +20453,8 @@ if (result i32) i32.const 0 else - local.get $7 - local.get $6 + local.get $5 + local.get $1 f32.load f32.eq end @@ -20532,14 +20462,14 @@ local.get $0 i32.const -2 i32.and - local.set $6 + local.set $1 br $while-continue|025 end end i32.const 0 - local.set $6 + local.set $1 end - local.get $6 + local.get $1 if i32.const 0 i32.const 1568 @@ -20548,18 +20478,18 @@ call $~lib/builtins/abort unreachable end - local.get $13 - local.get $7 - local.get $7 + local.get $4 + local.get $5 + local.get $5 i32.trunc_f32_s i32.const 10 i32.add call $~lib/map/Map#set - local.get $13 + local.get $4 i32.load - local.get $13 + local.get $4 i32.load offset=4 - local.get $7 + local.get $5 i32.reinterpret_f32 i32.const -1028477379 i32.mul @@ -20593,12 +20523,12 @@ i32.shl i32.add i32.load - local.set $6 + local.set $1 block $__inlined_func$~lib/map/Map#find27 loop $while-continue|028 - local.get $6 + local.get $1 if - local.get $6 + local.get $1 i32.load offset=8 local.tee $0 i32.const 1 @@ -20606,8 +20536,8 @@ if (result i32) i32.const 0 else - local.get $7 - local.get $6 + local.get $5 + local.get $1 f32.load f32.eq end @@ -20615,14 +20545,14 @@ local.get $0 i32.const -2 i32.and - local.set $6 + local.set $1 br $while-continue|028 end end i32.const 0 - local.set $6 + local.set $1 end - local.get $6 + local.get $1 i32.eqz if i32.const 0 @@ -20632,14 +20562,14 @@ call $~lib/builtins/abort unreachable end - local.get $13 - local.get $7 + local.get $4 + local.get $5 call $~lib/map/Map#delete - local.get $13 + local.get $4 i32.load - local.get $13 + local.get $4 i32.load offset=4 - local.get $7 + local.get $5 i32.reinterpret_f32 i32.const -1028477379 i32.mul @@ -20673,12 +20603,12 @@ i32.shl i32.add i32.load - local.set $6 + local.set $1 block $__inlined_func$~lib/map/Map#find30 loop $while-continue|031 - local.get $6 + local.get $1 if - local.get $6 + local.get $1 i32.load offset=8 local.tee $0 i32.const 1 @@ -20686,8 +20616,8 @@ if (result i32) i32.const 0 else - local.get $7 - local.get $6 + local.get $5 + local.get $1 f32.load f32.eq end @@ -20695,14 +20625,14 @@ local.get $0 i32.const -2 i32.and - local.set $6 + local.set $1 br $while-continue|031 end end i32.const 0 - local.set $6 + local.set $1 end - local.get $6 + local.get $1 if i32.const 0 i32.const 1568 @@ -20711,14 +20641,14 @@ call $~lib/builtins/abort unreachable end - local.get $7 + local.get $5 f32.const 1 f32.add - local.set $7 + local.set $5 br $for-loop|4 end end - local.get $13 + local.get $4 i32.load offset=20 i32.const 50 i32.ne @@ -20730,9 +20660,9 @@ call $~lib/builtins/abort unreachable end - local.get $13 + local.get $4 call $~lib/map/Map#clear - local.get $13 + local.get $4 i32.load offset=20 if i32.const 0 @@ -20879,7 +20809,7 @@ i32.const 2 i32.shl call $~lib/arraybuffer/ArrayBuffer#constructor - local.tee $5 + local.tee $4 i32.store global.get $~lib/memory/__stack_pointer local.get $2 @@ -20895,7 +20825,7 @@ i32.store offset=4 local.get $0 i32.load offset=8 - local.tee $4 + local.tee $5 local.get $0 i32.load offset=16 i32.const 4 @@ -20905,23 +20835,23 @@ local.get $3 local.set $2 loop $while-continue|0 - local.get $4 + local.get $5 local.get $7 i32.ne if - local.get $4 + local.get $5 i32.load offset=12 i32.const 1 i32.and i32.eqz if local.get $2 - local.get $4 + local.get $5 f64.load local.tee $8 f64.store local.get $2 - local.get $4 + local.get $5 i32.load offset=8 i32.store offset=8 local.get $2 @@ -20971,7 +20901,7 @@ i32.and i32.const 2 i32.shl - local.get $5 + local.get $4 i32.add local.tee $10 i32.load @@ -20984,20 +20914,20 @@ i32.add local.set $2 end - local.get $4 + local.get $5 i32.const 16 i32.add - local.set $4 + local.set $5 br $while-continue|0 end end local.get $0 - local.get $5 + local.get $4 i32.store - local.get $5 + local.get $4 if local.get $0 - local.get $5 + local.get $4 call $byn-split-outlined-A$~lib/rt/itcms/__link end local.get $0 @@ -21260,10 +21190,10 @@ (local $0 i32) (local $1 i32) (local $2 i32) - (local $3 i32) - (local $4 f64) - (local $5 i32) - (local $6 i64) + (local $3 f64) + (local $4 i32) + (local $5 i64) + (local $6 i32) (local $7 i32) (local $8 i32) (local $9 i32) @@ -21304,47 +21234,47 @@ i32.lt_s br_if $folding-inner1 global.get $~lib/memory/__stack_pointer - local.tee $5 + local.tee $4 i32.const 0 i32.store - local.get $5 + local.get $4 i32.const 24 i32.const 29 call $~lib/rt/itcms/__new - local.tee $5 + local.tee $11 i32.store - local.get $5 + local.get $11 i32.const 16 call $~lib/arraybuffer/ArrayBuffer#constructor - local.tee $7 + local.tee $4 i32.store - local.get $7 + local.get $4 if - local.get $5 - local.get $7 + local.get $11 + local.get $4 call $byn-split-outlined-A$~lib/rt/itcms/__link end - local.get $5 + local.get $11 i32.const 3 i32.store offset=4 - local.get $5 + local.get $11 i32.const 64 call $~lib/arraybuffer/ArrayBuffer#constructor - local.tee $7 + local.tee $4 i32.store offset=8 - local.get $7 + local.get $4 if - local.get $5 - local.get $7 + local.get $11 + local.get $4 call $byn-split-outlined-A$~lib/rt/itcms/__link end - local.get $5 + local.get $11 i32.const 4 i32.store offset=12 - local.get $5 + local.get $11 i32.const 0 i32.store offset=16 - local.get $5 + local.get $11 i32.const 0 i32.store offset=20 global.get $~lib/memory/__stack_pointer @@ -21352,15 +21282,15 @@ i32.add global.set $~lib/memory/__stack_pointer local.get $2 - local.get $5 + local.get $11 i32.store loop $for-loop|0 - local.get $4 + local.get $3 f64.const 100 f64.lt if - local.get $5 - local.get $4 + local.get $11 + local.get $3 call $~lib/map/Map#has if i32.const 0 @@ -21370,15 +21300,15 @@ call $~lib/builtins/abort unreachable end - local.get $5 - local.get $4 - local.get $4 + local.get $11 + local.get $3 + local.get $3 i32.trunc_f64_s i32.const 10 i32.add call $~lib/map/Map#set - local.get $5 - local.get $4 + local.get $11 + local.get $3 call $~lib/map/Map#has i32.eqz if @@ -21389,10 +21319,10 @@ call $~lib/builtins/abort unreachable end - local.get $5 - local.get $4 + local.get $11 + local.get $3 call $~lib/map/Map#get - local.get $4 + local.get $3 i32.trunc_f64_s i32.const 10 i32.add @@ -21405,14 +21335,14 @@ call $~lib/builtins/abort unreachable end - local.get $4 + local.get $3 f64.const 1 f64.add - local.set $4 + local.set $3 br $for-loop|0 end end - local.get $5 + local.get $11 i32.load offset=20 i32.const 100 i32.ne @@ -21425,14 +21355,14 @@ unreachable end f64.const 0 - local.set $4 + local.set $3 loop $for-loop|1 - local.get $4 + local.get $3 f64.const 100 f64.lt if - local.get $5 - local.get $4 + local.get $11 + local.get $3 call $~lib/map/Map#has i32.eqz if @@ -21443,10 +21373,10 @@ call $~lib/builtins/abort unreachable end - local.get $5 - local.get $4 + local.get $11 + local.get $3 call $~lib/map/Map#get - local.get $4 + local.get $3 i32.trunc_f64_s i32.const 10 i32.add @@ -21459,15 +21389,15 @@ call $~lib/builtins/abort unreachable end - local.get $5 - local.get $4 - local.get $4 + local.get $11 + local.get $3 + local.get $3 i32.trunc_f64_s i32.const 20 i32.add call $~lib/map/Map#set - local.get $5 - local.get $4 + local.get $11 + local.get $3 call $~lib/map/Map#has i32.eqz if @@ -21478,10 +21408,10 @@ call $~lib/builtins/abort unreachable end - local.get $5 - local.get $4 + local.get $11 + local.get $3 call $~lib/map/Map#get - local.get $4 + local.get $3 i32.trunc_f64_s i32.const 20 i32.add @@ -21494,14 +21424,14 @@ call $~lib/builtins/abort unreachable end - local.get $4 + local.get $3 f64.const 1 f64.add - local.set $4 + local.set $3 br $for-loop|1 end end - local.get $5 + local.get $11 i32.load offset=20 i32.const 100 i32.ne @@ -21514,7 +21444,7 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $7 + local.tee $4 i32.const 4 i32.sub global.set $~lib/memory/__stack_pointer @@ -21526,12 +21456,12 @@ local.tee $2 i32.const 0 i32.store - local.get $5 + local.get $11 i32.load offset=8 - local.set $8 - local.get $5 + local.set $6 + local.get $11 i32.load offset=16 - local.set $9 + local.set $7 local.get $2 i32.const 8 i32.sub @@ -21541,28 +21471,28 @@ i32.lt_s br_if $folding-inner1 global.get $~lib/memory/__stack_pointer - local.tee $10 + local.tee $8 i64.const 0 i64.store - local.get $10 + local.get $8 i32.const 16 i32.const 30 call $~lib/rt/itcms/__new - local.tee $11 + local.tee $12 i32.store - local.get $11 + local.get $12 i32.const 0 i32.store - local.get $11 + local.get $12 i32.const 0 i32.store offset=4 - local.get $11 + local.get $12 i32.const 0 i32.store offset=8 - local.get $11 + local.get $12 i32.const 0 i32.store offset=12 - local.get $9 + local.get $7 i32.const 134217727 i32.gt_u if @@ -21574,53 +21504,53 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $9 + local.get $7 i32.const 8 - local.get $9 + local.get $7 i32.const 8 i32.gt_u select i32.const 3 i32.shl - local.tee $10 + local.tee $8 i32.const 0 call $~lib/rt/itcms/__new - local.tee $12 + local.tee $9 i32.store offset=4 - local.get $11 local.get $12 + local.get $9 i32.store - local.get $12 + local.get $9 if - local.get $11 local.get $12 + local.get $9 call $byn-split-outlined-A$~lib/rt/itcms/__link end - local.get $11 local.get $12 + local.get $9 i32.store offset=4 - local.get $11 - local.get $10 + local.get $12 + local.get $8 i32.store offset=8 - local.get $11 - local.get $9 + local.get $12 + local.get $7 i32.store offset=12 global.get $~lib/memory/__stack_pointer i32.const 8 i32.add global.set $~lib/memory/__stack_pointer local.get $2 - local.get $11 + local.get $12 i32.store loop $for-loop|02 - local.get $3 - local.get $9 + local.get $0 + local.get $7 i32.lt_s if - local.get $3 + local.get $0 i32.const 4 i32.shl - local.get $8 + local.get $6 i32.add local.tee $2 i32.load offset=12 @@ -21630,13 +21560,13 @@ if local.get $2 f64.load - local.set $4 + local.set $3 local.get $1 local.tee $2 i32.const 1 i32.add local.set $1 - local.get $11 + local.get $12 i32.load offset=12 local.get $2 i32.le_u @@ -21652,53 +21582,53 @@ call $~lib/builtins/abort unreachable end - local.get $11 + local.get $12 local.get $2 i32.const 1 i32.add - local.tee $10 + local.tee $8 i32.const 3 i32.const 1 call $~lib/array/ensureCapacity - local.get $11 - local.get $10 + local.get $12 + local.get $8 i32.store offset=12 end - local.get $11 + local.get $12 i32.load offset=4 local.get $2 i32.const 3 i32.shl i32.add - local.get $4 + local.get $3 f64.store end - local.get $3 + local.get $0 i32.const 1 i32.add - local.set $3 + local.set $0 br $for-loop|02 end end - local.get $11 + local.get $12 local.get $1 i32.const 3 i32.const 0 call $~lib/array/ensureCapacity - local.get $11 + local.get $12 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 $7 - local.get $11 + local.get $4 + local.get $12 i32.store offset=4 global.get $~lib/memory/__stack_pointer - local.get $5 + local.get $11 call $~lib/map/Map#values - local.tee $12 + local.tee $13 i32.store offset=8 global.get $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer @@ -21710,68 +21640,70 @@ i32.lt_s br_if $folding-inner1 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 24 i32.const 31 call $~lib/rt/itcms/__new - local.tee $13 + local.tee $14 i32.store - local.get $13 + local.get $14 i32.const 16 call $~lib/arraybuffer/ArrayBuffer#constructor - local.tee $2 + local.tee $1 i32.store - local.get $2 + local.get $1 if - local.get $13 - local.get $2 + local.get $14 + local.get $1 call $byn-split-outlined-A$~lib/rt/itcms/__link end - local.get $13 + local.get $14 i32.const 3 i32.store offset=4 - local.get $13 + local.get $14 i32.const 96 call $~lib/arraybuffer/ArrayBuffer#constructor - local.tee $2 + local.tee $1 i32.store offset=8 - local.get $2 + local.get $1 if - local.get $13 - local.get $2 + local.get $14 + local.get $1 call $byn-split-outlined-A$~lib/rt/itcms/__link end - local.get $13 + local.get $14 i32.const 4 i32.store offset=12 - local.get $13 + local.get $14 i32.const 0 i32.store offset=16 - local.get $13 + local.get $14 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 $13 + local.get $14 i32.store offset=12 global.get $~lib/memory/__stack_pointer call $~lib/map/Map#constructor - local.tee $7 + local.tee $15 i32.store offset=16 + i32.const 0 + local.set $1 loop $for-loop|2 - local.get $11 + local.get $12 i32.load offset=12 - local.get $0 + local.get $1 i32.gt_s if - local.get $0 - local.tee $1 - local.get $11 + local.get $1 + local.tee $2 + local.get $12 i32.load offset=12 i32.ge_u if @@ -21782,20 +21714,20 @@ call $~lib/builtins/abort unreachable end - local.get $11 + local.get $12 i32.load offset=4 - local.get $1 + local.get $2 i32.const 3 i32.shl i32.add f64.load - local.set $4 - local.get $12 - local.get $1 + local.set $3 + local.get $13 + local.get $2 call $~lib/array/Array#__get - local.set $8 - local.get $5 - local.get $4 + local.set $16 + local.get $11 + local.get $3 call $~lib/map/Map#has i32.eqz if @@ -21806,8 +21738,8 @@ call $~lib/builtins/abort unreachable end - local.get $5 - local.get $8 + local.get $11 + local.get $16 i32.const 20 i32.sub f64.convert_i32_s @@ -21832,11 +21764,11 @@ global.get $~lib/memory/__stack_pointer i32.const 0 i32.store - local.get $13 + local.get $14 i32.load - local.get $4 + local.get $3 i64.reinterpret_f64 - local.tee $6 + local.tee $5 i32.wrap_i64 i32.const -1028477379 i32.mul @@ -21846,7 +21778,7 @@ i32.rotl i32.const 668265263 i32.mul - local.get $6 + local.get $5 i64.const 32 i64.shr_u i32.wrap_i64 @@ -21876,8 +21808,8 @@ i32.const 16 i32.shr_u i32.xor - local.tee $14 - local.get $13 + local.tee $6 + local.get $14 i32.load offset=4 i32.and i32.const 2 @@ -21890,20 +21822,21 @@ local.get $0 if local.get $0 + local.tee $1 i32.load offset=16 - local.tee $2 + local.tee $0 i32.const 1 i32.and if (result i32) i32.const 0 else - local.get $4 - local.get $0 + local.get $3 + local.get $1 f64.load f64.eq end br_if $__inlined_func$~lib/map/Map#find - local.get $2 + local.get $0 i32.const -2 i32.and local.set $0 @@ -21911,23 +21844,23 @@ end end i32.const 0 - local.set $0 + local.set $1 end - local.get $0 + local.get $1 if - local.get $0 - local.get $4 + local.get $1 + local.get $3 f64.store offset=8 else - local.get $13 + local.get $14 i32.load offset=16 - local.get $13 + local.get $14 i32.load offset=12 i32.eq if - local.get $13 + local.get $14 i32.load offset=20 - local.get $13 + local.get $14 i32.load offset=12 i32.const 3 i32.mul @@ -21935,10 +21868,10 @@ i32.div_s i32.lt_s if (result i32) - local.get $13 + local.get $14 i32.load offset=4 else - local.get $13 + local.get $14 i32.load offset=4 i32.const 1 i32.shl @@ -21974,47 +21907,47 @@ i32.shl i32.const 3 i32.div_s - local.tee $15 + local.tee $7 i32.const 24 i32.mul call $~lib/arraybuffer/ArrayBuffer#constructor - local.tee $2 + local.tee $1 i32.store offset=4 - local.get $13 + local.get $14 i32.load offset=8 - local.tee $3 - local.get $13 + local.tee $4 + local.get $14 i32.load offset=16 i32.const 24 i32.mul i32.add - local.set $16 - local.get $2 + local.set $8 + local.get $1 local.set $0 loop $while-continue|00 - local.get $3 - local.get $16 + local.get $4 + local.get $8 i32.ne if - local.get $3 + local.get $4 i32.load offset=16 i32.const 1 i32.and i32.eqz if local.get $0 - local.get $3 + local.get $4 f64.load local.tee $17 f64.store local.get $0 - local.get $3 + local.get $4 f64.load offset=8 f64.store offset=8 local.get $0 local.get $17 i64.reinterpret_f64 - local.tee $6 + local.tee $5 i32.wrap_i64 i32.const -1028477379 i32.mul @@ -22024,7 +21957,7 @@ i32.rotl i32.const 668265263 i32.mul - local.get $6 + local.get $5 i64.const 32 i64.shr_u i32.wrap_i64 @@ -22071,39 +22004,39 @@ i32.add local.set $0 end - local.get $3 + local.get $4 i32.const 24 i32.add - local.set $3 + local.set $4 br $while-continue|00 end end - local.get $13 + local.get $14 local.get $10 i32.store local.get $10 if - local.get $13 + local.get $14 local.get $10 call $byn-split-outlined-A$~lib/rt/itcms/__link end - local.get $13 + local.get $14 local.get $9 i32.store offset=4 - local.get $13 - local.get $2 + local.get $14 + local.get $1 i32.store offset=8 - local.get $2 + local.get $1 if - local.get $13 - local.get $2 + local.get $14 + local.get $1 call $byn-split-outlined-A$~lib/rt/itcms/__link end - local.get $13 - local.get $15 + local.get $14 + local.get $7 i32.store offset=12 - local.get $13 - local.get $13 + local.get $14 + local.get $14 i32.load offset=20 i32.store offset=16 global.get $~lib/memory/__stack_pointer @@ -22112,48 +22045,48 @@ global.set $~lib/memory/__stack_pointer end global.get $~lib/memory/__stack_pointer - local.get $13 + local.get $14 i32.load offset=8 local.tee $0 i32.store - local.get $13 - local.get $13 + local.get $14 + local.get $14 i32.load offset=16 - local.tee $2 + local.tee $1 i32.const 1 i32.add i32.store offset=16 - local.get $2 + local.get $1 i32.const 24 i32.mul local.get $0 i32.add local.tee $0 - local.get $4 + local.get $3 f64.store local.get $0 - local.get $4 + local.get $3 f64.store offset=8 - local.get $13 - local.get $13 + local.get $14 + local.get $14 i32.load offset=20 i32.const 1 i32.add i32.store offset=20 local.get $0 - local.get $13 + local.get $14 i32.load - local.get $13 - i32.load offset=4 local.get $14 + i32.load offset=4 + local.get $6 i32.and i32.const 2 i32.shl i32.add - local.tee $2 + local.tee $1 i32.load i32.store offset=16 - local.get $2 + local.get $1 local.get $0 i32.store end @@ -22161,21 +22094,21 @@ i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $7 - local.get $8 + local.get $15 + local.get $16 i32.const 20 i32.sub local.tee $0 local.get $0 call $~lib/map/Map#set - local.get $1 + local.get $2 i32.const 1 i32.add - local.set $0 + local.set $1 br $for-loop|2 end end - local.get $13 + local.get $14 i32.load offset=20 i32.const 100 i32.ne @@ -22187,7 +22120,7 @@ call $~lib/builtins/abort unreachable end - local.get $7 + local.get $15 i32.load offset=20 i32.const 100 i32.ne @@ -22200,14 +22133,14 @@ unreachable end f64.const 0 - local.set $4 + local.set $3 loop $for-loop|3 - local.get $4 + local.get $3 f64.const 50 f64.lt if - local.get $5 - local.get $4 + local.get $11 + local.get $3 call $~lib/map/Map#has i32.eqz if @@ -22218,10 +22151,10 @@ call $~lib/builtins/abort unreachable end - local.get $5 - local.get $4 + local.get $11 + local.get $3 call $~lib/map/Map#get - local.get $4 + local.get $3 i32.trunc_f64_s i32.const 20 i32.add @@ -22234,11 +22167,11 @@ call $~lib/builtins/abort unreachable end - local.get $5 - local.get $4 + local.get $11 + local.get $3 call $~lib/map/Map#delete - local.get $5 - local.get $4 + local.get $11 + local.get $3 call $~lib/map/Map#has if i32.const 0 @@ -22248,14 +22181,14 @@ call $~lib/builtins/abort unreachable end - local.get $4 + local.get $3 f64.const 1 f64.add - local.set $4 + local.set $3 br $for-loop|3 end end - local.get $5 + local.get $11 i32.load offset=20 i32.const 50 i32.ne @@ -22268,14 +22201,14 @@ unreachable end f64.const 0 - local.set $4 + local.set $3 loop $for-loop|4 - local.get $4 + local.get $3 f64.const 50 f64.lt if - local.get $5 - local.get $4 + local.get $11 + local.get $3 call $~lib/map/Map#has if i32.const 0 @@ -22285,15 +22218,15 @@ call $~lib/builtins/abort unreachable end - local.get $5 - local.get $4 - local.get $4 + local.get $11 + local.get $3 + local.get $3 i32.trunc_f64_s i32.const 10 i32.add call $~lib/map/Map#set - local.get $5 - local.get $4 + local.get $11 + local.get $3 call $~lib/map/Map#has i32.eqz if @@ -22304,11 +22237,11 @@ call $~lib/builtins/abort unreachable end - local.get $5 - local.get $4 + local.get $11 + local.get $3 call $~lib/map/Map#delete - local.get $5 - local.get $4 + local.get $11 + local.get $3 call $~lib/map/Map#has if i32.const 0 @@ -22318,14 +22251,14 @@ call $~lib/builtins/abort unreachable end - local.get $4 + local.get $3 f64.const 1 f64.add - local.set $4 + local.set $3 br $for-loop|4 end end - local.get $5 + local.get $11 i32.load offset=20 i32.const 50 i32.ne @@ -22337,9 +22270,9 @@ call $~lib/builtins/abort unreachable end - local.get $5 + local.get $11 call $~lib/map/Map#clear - local.get $5 + local.get $11 i32.load offset=20 if i32.const 0 @@ -22809,7 +22742,6 @@ (local $3 i32) (local $4 i32) (local $5 i32) - (local $6 i32) global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub @@ -22826,66 +22758,67 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $4 + local.tee $3 i32.const 0 i32.store local.get $0 i32.load offset=8 - local.set $3 - local.get $4 + local.set $2 + local.get $3 local.get $0 i32.load offset=16 - local.tee $4 + local.tee $5 call $~lib/array/Array#constructor - local.tee $6 + local.tee $4 i32.store + i32.const 0 + local.set $0 loop $for-loop|0 - local.get $2 - local.get $4 + local.get $1 + local.get $5 i32.lt_s if - local.get $2 + local.get $1 i32.const 12 i32.mul - local.get $3 + local.get $2 i32.add - local.tee $5 + local.tee $3 i32.load offset=8 i32.const 1 i32.and i32.eqz if - local.get $1 - local.tee $0 - i32.const 1 - i32.add - local.set $1 - local.get $6 + local.get $4 local.get $0 - local.get $5 + local.get $3 i32.load offset=4 call $~lib/array/Array#__set + local.get $0 + i32.const 1 + i32.add + local.set $0 end - local.get $2 + local.get $1 i32.const 1 i32.add - local.set $2 + local.set $1 br $for-loop|0 end end - local.get $6 - local.get $1 + local.get $4 + local.get $0 i32.const 2 i32.const 0 call $~lib/array/ensureCapacity - local.get $6 - local.get $1 + local.get $4 + 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 $6 + local.get $4 ) (func $~lib/map/Map#constructor (result i32) (local $0 i32) @@ -24039,7 +23972,6 @@ (local $3 i32) (local $4 i32) (local $5 i32) - (local $6 i32) global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub @@ -24056,66 +23988,67 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $4 + local.tee $3 i32.const 0 i32.store local.get $0 i32.load offset=8 - local.set $3 - local.get $4 + local.set $2 + local.get $3 local.get $0 i32.load offset=16 - local.tee $4 + local.tee $5 call $~lib/array/Array#constructor - local.tee $6 + local.tee $4 i32.store + i32.const 0 + local.set $0 loop $for-loop|0 - local.get $2 - local.get $4 + local.get $1 + local.get $5 i32.lt_s if - local.get $2 + local.get $1 i32.const 4 i32.shl - local.get $3 + local.get $2 i32.add - local.tee $5 + local.tee $3 i32.load offset=12 i32.const 1 i32.and i32.eqz if - local.get $1 - local.tee $0 - i32.const 1 - i32.add - local.set $1 - local.get $6 + local.get $4 local.get $0 - local.get $5 + local.get $3 i32.load offset=8 call $~lib/array/Array#__set + local.get $0 + i32.const 1 + i32.add + local.set $0 end - local.get $2 + local.get $1 i32.const 1 i32.add - local.set $2 + local.set $1 br $for-loop|0 end end - local.get $6 - local.get $1 + local.get $4 + local.get $0 i32.const 2 i32.const 0 call $~lib/array/ensureCapacity - local.get $6 - local.get $1 + local.get $4 + 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 $6 + local.get $4 ) (func $~lib/map/Map#set (param $0 i32) (param $1 i64) (param $2 i32) (local $3 i32) diff --git a/tests/compiler/std/math.optimized.wat b/tests/compiler/std/math.optimized.wat index 45a5de7d71..3df3630ede 100644 --- a/tests/compiler/std/math.optimized.wat +++ b/tests/compiler/std/math.optimized.wat @@ -2854,12 +2854,13 @@ i64.const 32 i64.shr_u i32.wrap_i64 - local.tee $8 - i32.const 1072693248 - i32.sub + local.set $8 local.get $7 i32.wrap_i64 local.tee $6 + local.get $8 + i32.const 1072693248 + i32.sub i32.or i32.eqz if @@ -2926,6 +2927,13 @@ i32.const 2 i32.and select + local.tee $10 + f64.neg + local.get $10 + local.get $4 + i32.const 1 + i32.and + select else f64.const 3.141592653589793 f64.const 0 @@ -2933,14 +2941,14 @@ i32.const 2 i32.and select + local.tee $10 + f64.neg + local.get $10 + local.get $4 + i32.const 1 + i32.and + select end - local.tee $10 - f64.neg - local.get $10 - local.get $4 - i32.const 1 - i32.and - select br $__inlined_func$~lib/math/NativeMath.atan2 end local.get $9 @@ -3029,65 +3037,65 @@ (local $2 i32) (local $3 i32) (local $4 i32) - block $folding-inner0 - local.get $0 - local.get $0 - f32.ne - local.get $1 - local.get $1 - f32.ne - i32.or - if - local.get $1 - local.get $0 - f32.add - return - end + local.get $0 + local.get $0 + f32.ne + local.get $1 + local.get $1 + f32.ne + i32.or + if local.get $1 - i32.reinterpret_f32 - local.tee $3 - i32.const 1065353216 - i32.eq - if - local.get $0 - call $~lib/math/NativeMathf.atan - return - end - local.get $3 - i32.const 30 - i32.shr_u - i32.const 2 - i32.and local.get $0 - i32.reinterpret_f32 - local.tee $4 - i32.const 31 - i32.shr_u - i32.or - local.set $2 - local.get $4 - i32.const 2147483647 - i32.and - local.tee $4 - i32.eqz - if - block $break|0 - block $case3|0 - block $case2|0 - block $case1|0 - local.get $2 - br_table $case1|0 $case1|0 $case2|0 $case3|0 $break|0 - end - local.get $0 - return + f32.add + return + end + local.get $1 + i32.reinterpret_f32 + local.tee $3 + i32.const 1065353216 + i32.eq + if + local.get $0 + call $~lib/math/NativeMathf.atan + return + end + local.get $3 + i32.const 30 + i32.shr_u + i32.const 2 + i32.and + local.get $0 + i32.reinterpret_f32 + local.tee $4 + i32.const 31 + i32.shr_u + i32.or + local.set $2 + local.get $4 + i32.const 2147483647 + i32.and + local.tee $4 + i32.eqz + if + block $break|0 + block $case3|0 + block $case2|0 + block $case1|0 + local.get $2 + br_table $case1|0 $case1|0 $case2|0 $case3|0 $break|0 end - f32.const 3.1415927410125732 + local.get $0 return end - f32.const -3.1415927410125732 + f32.const 3.1415927410125732 return end + f32.const -3.1415927410125732 + return end + end + block $folding-inner0 local.get $3 i32.const 2147483647 i32.and @@ -3108,13 +3116,6 @@ i32.const 2 i32.and select - local.tee $0 - f32.neg - local.get $0 - local.get $2 - i32.const 1 - i32.and - select else f32.const 3.1415927410125732 f32.const 0 @@ -3122,14 +3123,14 @@ i32.const 2 i32.and select - local.tee $0 - f32.neg - local.get $0 - local.get $2 - i32.const 1 - i32.and - select end + local.tee $0 + f32.neg + local.get $0 + local.get $2 + i32.const 1 + i32.and + select return end local.get $4 @@ -4141,13 +4142,13 @@ (local $7 i32) (local $8 i64) (local $9 i64) + local.get $0 + i32.reinterpret_f32 + local.tee $5 + i32.const 31 + i32.shr_u + local.set $1 block $folding-inner0 - local.get $0 - i32.reinterpret_f32 - local.tee $5 - i32.const 31 - i32.shr_u - local.set $1 local.get $5 i32.const 2147483647 i32.and @@ -7050,7 +7051,6 @@ br $while-continue|0 end end - local.get $10 local.get $3 local.get $4 i64.ge_u @@ -7068,6 +7068,7 @@ i64.sub local.set $3 end + local.get $10 local.get $3 i64.const 11 i64.shl @@ -7267,7 +7268,6 @@ br $while-continue|0 end end - local.get $8 local.get $2 local.get $3 i32.ge_u @@ -7286,6 +7286,7 @@ i32.sub local.set $2 end + local.get $8 local.get $2 i32.const 8 i32.shl @@ -9563,13 +9564,13 @@ (local $7 i32) (local $8 i64) (local $9 i64) + local.get $0 + i32.reinterpret_f32 + local.tee $6 + i32.const 31 + i32.shr_u + local.set $1 block $folding-inner0 - local.get $0 - i32.reinterpret_f32 - local.tee $6 - i32.const 31 - i32.shr_u - local.set $1 local.get $6 i32.const 2147483647 i32.and @@ -10631,14 +10632,14 @@ (local $7 i32) (local $8 i64) (local $9 i64) + local.get $0 + i32.reinterpret_f32 + local.tee $6 + i32.const 31 + i32.shr_u + local.set $1 block $folding-inner1 block $folding-inner0 - local.get $0 - i32.reinterpret_f32 - local.tee $6 - i32.const 31 - i32.shr_u - local.set $1 local.get $6 i32.const 2147483647 i32.and @@ -44063,7 +44064,6 @@ global.get $~lib/math/random_state1_64 local.tee $2 global.set $~lib/math/random_state0_64 - local.get $2 local.get $6 i64.const 23 i64.shl @@ -44074,6 +44074,7 @@ i64.shr_u local.get $6 i64.xor + local.get $2 i64.xor local.get $2 i64.const 26 diff --git a/tests/compiler/std/mod.optimized.wat b/tests/compiler/std/mod.optimized.wat index 1c0226fb8c..63f17f2fce 100644 --- a/tests/compiler/std/mod.optimized.wat +++ b/tests/compiler/std/mod.optimized.wat @@ -167,7 +167,6 @@ br $while-continue|0 end end - local.get $10 local.get $3 local.get $5 i64.ge_u @@ -185,6 +184,7 @@ i64.sub local.set $3 end + local.get $10 local.get $3 i64.const 11 i64.shl @@ -427,7 +427,6 @@ br $while-continue|0 end end - local.get $9 local.get $3 local.get $4 i32.ge_u @@ -445,6 +444,7 @@ i32.sub local.set $3 end + local.get $9 local.get $3 i32.const 8 i32.shl diff --git a/tests/compiler/std/new.optimized.wat b/tests/compiler/std/new.optimized.wat index 27e13d7352..de1df4d111 100644 --- a/tests/compiler/std/new.optimized.wat +++ b/tests/compiler/std/new.optimized.wat @@ -600,12 +600,12 @@ (local $0 i32) (local $1 i32) memory.size - local.tee $0 + local.tee $1 i32.const 0 i32.le_s if (result i32) i32.const 1 - local.get $0 + local.get $1 i32.sub memory.grow i32.const 0 @@ -623,11 +623,11 @@ i32.const 0 i32.store loop $for-loop|0 - local.get $1 + local.get $0 i32.const 23 i32.lt_u if - local.get $1 + local.get $0 i32.const 2 i32.shl i32.const 17872 @@ -635,14 +635,14 @@ i32.const 0 i32.store offset=4 i32.const 0 - local.set $0 + local.set $1 loop $for-loop|1 - local.get $0 + local.get $1 i32.const 16 i32.lt_u if - local.get $0 local.get $1 + local.get $0 i32.const 4 i32.shl i32.add @@ -652,17 +652,17 @@ i32.add i32.const 0 i32.store offset=96 - local.get $0 + local.get $1 i32.const 1 i32.add - local.set $0 + local.set $1 br $for-loop|1 end end - local.get $1 + local.get $0 i32.const 1 i32.add - local.set $1 + local.set $0 br $for-loop|0 end end @@ -1376,19 +1376,19 @@ local.get $0 i32.const 20 i32.sub - local.tee $0 + local.tee $1 i32.load offset=4 i32.const 3 i32.and i32.eq if global.get $~lib/rt/itcms/iter - local.get $0 + local.get $1 i32.eq if - local.get $0 + local.get $1 i32.load offset=8 - local.tee $1 + local.tee $0 i32.eqz if i32.const 0 @@ -1398,22 +1398,22 @@ call $~lib/builtins/abort unreachable end - local.get $1 + local.get $0 global.set $~lib/rt/itcms/iter end block $__inlined_func$~lib/rt/itcms/Object#unlink - local.get $0 + local.get $1 i32.load offset=4 i32.const -4 i32.and - local.tee $1 + local.tee $0 i32.eqz if i32.const 0 - local.get $0 + local.get $1 i32.const 17860 i32.lt_u - local.get $0 + local.get $1 i32.load offset=8 select i32.eqz @@ -1427,7 +1427,7 @@ end br $__inlined_func$~lib/rt/itcms/Object#unlink end - local.get $0 + local.get $1 i32.load offset=8 local.tee $2 i32.eqz @@ -1439,7 +1439,7 @@ call $~lib/builtins/abort unreachable end - local.get $1 + local.get $0 local.get $2 i32.store offset=8 local.get $2 @@ -1447,15 +1447,15 @@ i32.load offset=4 i32.const 3 i32.and - local.get $1 + local.get $0 i32.or i32.store offset=4 end global.get $~lib/rt/itcms/toSpace local.set $2 - local.get $0 + local.get $1 i32.load offset=12 - local.tee $1 + local.tee $0 i32.const 1 i32.le_u if (result i32) @@ -1463,7 +1463,7 @@ else i32.const 1440 i32.load - local.get $1 + local.get $0 i32.lt_u if i32.const 1248 @@ -1473,7 +1473,7 @@ call $~lib/builtins/abort unreachable end - local.get $1 + local.get $0 i32.const 3 i32.shl i32.const 1444 @@ -1491,25 +1491,25 @@ local.set $3 local.get $2 i32.load offset=8 - local.set $1 - local.get $0 + local.set $0 + local.get $1 local.get $2 local.get $3 i32.or i32.store offset=4 - local.get $0 local.get $1 + local.get $0 i32.store offset=8 - local.get $1 - local.get $1 + local.get $0 + local.get $0 i32.load offset=4 i32.const 3 i32.and - local.get $0 + local.get $1 i32.or i32.store offset=4 local.get $2 - local.get $0 + local.get $1 i32.store offset=8 global.get $~lib/rt/itcms/visitCount i32.const 1 diff --git a/tests/compiler/std/operator-overloading.optimized.wat b/tests/compiler/std/operator-overloading.optimized.wat index 2c34b2475b..ad5f943b49 100644 --- a/tests/compiler/std/operator-overloading.optimized.wat +++ b/tests/compiler/std/operator-overloading.optimized.wat @@ -659,12 +659,12 @@ (local $0 i32) (local $1 i32) memory.size - local.tee $0 + local.tee $1 i32.const 0 i32.le_s if (result i32) i32.const 1 - local.get $0 + local.get $1 i32.sub memory.grow i32.const 0 @@ -682,11 +682,11 @@ i32.const 0 i32.store loop $for-loop|0 - local.get $1 + local.get $0 i32.const 23 i32.lt_u if - local.get $1 + local.get $0 i32.const 2 i32.shl i32.const 17968 @@ -694,14 +694,14 @@ i32.const 0 i32.store offset=4 i32.const 0 - local.set $0 + local.set $1 loop $for-loop|1 - local.get $0 + local.get $1 i32.const 16 i32.lt_u if - local.get $0 local.get $1 + local.get $0 i32.const 4 i32.shl i32.add @@ -711,17 +711,17 @@ i32.add i32.const 0 i32.store offset=96 - local.get $0 + local.get $1 i32.const 1 i32.add - local.set $0 + local.set $1 br $for-loop|1 end end - local.get $1 + local.get $0 i32.const 1 i32.add - local.set $1 + local.set $0 br $for-loop|0 end end @@ -3475,19 +3475,19 @@ local.get $0 i32.const 20 i32.sub - local.tee $0 + local.tee $1 i32.load offset=4 i32.const 3 i32.and i32.eq if global.get $~lib/rt/itcms/iter - local.get $0 + local.get $1 i32.eq if - local.get $0 + local.get $1 i32.load offset=8 - local.tee $1 + local.tee $0 i32.eqz if i32.const 0 @@ -3497,22 +3497,22 @@ call $~lib/builtins/abort unreachable end - local.get $1 + local.get $0 global.set $~lib/rt/itcms/iter end block $__inlined_func$~lib/rt/itcms/Object#unlink - local.get $0 + local.get $1 i32.load offset=4 i32.const -4 i32.and - local.tee $1 + local.tee $0 i32.eqz if i32.const 0 - local.get $0 + local.get $1 i32.const 17956 i32.lt_u - local.get $0 + local.get $1 i32.load offset=8 select i32.eqz @@ -3526,7 +3526,7 @@ end br $__inlined_func$~lib/rt/itcms/Object#unlink end - local.get $0 + local.get $1 i32.load offset=8 local.tee $2 i32.eqz @@ -3538,7 +3538,7 @@ call $~lib/builtins/abort unreachable end - local.get $1 + local.get $0 local.get $2 i32.store offset=8 local.get $2 @@ -3546,15 +3546,15 @@ i32.load offset=4 i32.const 3 i32.and - local.get $1 + local.get $0 i32.or i32.store offset=4 end global.get $~lib/rt/itcms/toSpace local.set $2 - local.get $0 + local.get $1 i32.load offset=12 - local.tee $1 + local.tee $0 i32.const 1 i32.le_u if (result i32) @@ -3562,7 +3562,7 @@ else i32.const 1520 i32.load - local.get $1 + local.get $0 i32.lt_u if i32.const 1248 @@ -3572,7 +3572,7 @@ call $~lib/builtins/abort unreachable end - local.get $1 + local.get $0 i32.const 3 i32.shl i32.const 1524 @@ -3590,25 +3590,25 @@ local.set $3 local.get $2 i32.load offset=8 - local.set $1 - local.get $0 + local.set $0 + local.get $1 local.get $2 local.get $3 i32.or i32.store offset=4 - local.get $0 local.get $1 + local.get $0 i32.store offset=8 - local.get $1 - local.get $1 + local.get $0 + local.get $0 i32.load offset=4 i32.const 3 i32.and - local.get $0 + local.get $1 i32.or i32.store offset=4 local.get $2 - local.get $0 + local.get $1 i32.store offset=8 global.get $~lib/rt/itcms/visitCount i32.const 1 diff --git a/tests/compiler/std/pointer.optimized.wat b/tests/compiler/std/pointer.optimized.wat index 87ab92dc44..a90a5ad507 100644 --- a/tests/compiler/std/pointer.optimized.wat +++ b/tests/compiler/std/pointer.optimized.wat @@ -864,9 +864,9 @@ unreachable end global.get $std/pointer/one - local.set $0 + local.set $1 global.get $std/pointer/two - local.tee $1 + local.tee $0 if block $~lib/util/memory/memmove|inlined.0 i32.const 8 @@ -875,33 +875,33 @@ local.get $1 i32.eq br_if $~lib/util/memory/memmove|inlined.0 - local.get $1 local.get $0 + local.get $1 i32.sub i32.const 8 i32.sub i32.const -16 i32.le_u if - local.get $0 local.get $1 + local.get $0 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 @@ -912,16 +912,16 @@ i32.const 1 i32.sub local.set $4 - local.get $0 + local.get $1 local.tee $2 i32.const 1 i32.add - local.set $0 - local.get $1 + local.set $1 + local.get $0 local.tee $3 i32.const 1 i32.add - local.set $1 + local.set $0 local.get $2 local.get $3 i32.load8_u @@ -934,22 +934,22 @@ i32.const 8 i32.ge_u if - local.get $0 local.get $1 + local.get $0 i64.load i64.store local.get $4 i32.const 8 i32.sub local.set $4 - local.get $0 - i32.const 8 - i32.add - local.set $0 local.get $1 i32.const 8 i32.add local.set $1 + local.get $0 + i32.const 8 + i32.add + local.set $0 br $while-continue|1 end end @@ -957,16 +957,16 @@ loop $while-continue|2 local.get $4 if - local.get $0 + local.get $1 local.tee $2 i32.const 1 i32.add - local.set $0 - local.get $1 + local.set $1 + local.get $0 local.tee $3 i32.const 1 i32.add - local.set $1 + local.set $0 local.get $2 local.get $3 i32.load8_u @@ -979,16 +979,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 $4 i32.add i32.const 7 @@ -1001,9 +1001,9 @@ i32.const 1 i32.sub local.tee $4 - local.get $0 - i32.add local.get $1 + i32.add + local.get $0 local.get $4 i32.add i32.load8_u @@ -1020,9 +1020,9 @@ i32.const 8 i32.sub local.tee $4 - local.get $0 - i32.add local.get $1 + i32.add + local.get $0 local.get $4 i32.add i64.load @@ -1038,9 +1038,9 @@ i32.const 1 i32.sub local.tee $4 - local.get $0 - i32.add local.get $1 + i32.add + local.get $0 local.get $4 i32.add i32.load8_u @@ -1051,37 +1051,37 @@ end end else - local.get $0 + local.get $1 i32.const 0 i32.store8 - local.get $0 + local.get $1 i32.const 8 i32.add - local.tee $1 + local.tee $0 i32.const 1 i32.sub i32.const 0 i32.store8 - local.get $0 + local.get $1 i32.const 0 i32.store8 offset=1 - local.get $0 + local.get $1 i32.const 0 i32.store8 offset=2 - local.get $1 + local.get $0 i32.const 2 i32.sub i32.const 0 i32.store8 - local.get $1 + local.get $0 i32.const 3 i32.sub i32.const 0 i32.store8 - local.get $0 + local.get $1 i32.const 0 i32.store8 offset=3 - local.get $1 + local.get $0 i32.const 4 i32.sub i32.const 0 diff --git a/tests/compiler/std/set.optimized.wat b/tests/compiler/std/set.optimized.wat index 8015b7a575..dde0f57db4 100644 --- a/tests/compiler/std/set.optimized.wat +++ b/tests/compiler/std/set.optimized.wat @@ -745,12 +745,12 @@ (local $0 i32) (local $1 i32) memory.size - local.tee $0 + local.tee $1 i32.const 0 i32.le_s if (result i32) i32.const 1 - local.get $0 + local.get $1 i32.sub memory.grow i32.const 0 @@ -768,11 +768,11 @@ i32.const 0 i32.store loop $for-loop|0 - local.get $1 + local.get $0 i32.const 23 i32.lt_u if - local.get $1 + local.get $0 i32.const 2 i32.shl i32.const 18224 @@ -780,14 +780,14 @@ i32.const 0 i32.store offset=4 i32.const 0 - local.set $0 + local.set $1 loop $for-loop|1 - local.get $0 + local.get $1 i32.const 16 i32.lt_u if - local.get $0 local.get $1 + local.get $0 i32.const 4 i32.shl i32.add @@ -797,17 +797,17 @@ i32.add i32.const 0 i32.store offset=96 - local.get $0 + local.get $1 i32.const 1 i32.add - local.set $0 + local.set $1 br $for-loop|1 end end - local.get $1 + local.get $0 i32.const 1 i32.add - local.set $1 + local.set $0 br $for-loop|0 end end @@ -2687,7 +2687,6 @@ (local $5 i32) (local $6 i32) (local $7 i32) - (local $8 i32) local.get $0 i32.load offset=8 local.tee $4 @@ -2709,9 +2708,6 @@ call $~lib/builtins/abort unreachable end - local.get $0 - i32.load - local.set $7 local.get $1 i32.const 8 local.get $1 @@ -2720,8 +2716,11 @@ select local.get $2 i32.shl - local.set $6 - block $__inlined_func$~lib/rt/itcms/__renew + local.set $5 + local.get $0 + i32.load + local.tee $2 + block $__inlined_func$~lib/rt/itcms/__renew (result i32) local.get $3 if local.get $4 @@ -2734,104 +2733,104 @@ i32.lt_u select local.tee $1 - local.get $6 + local.get $5 local.get $1 - local.get $6 + local.get $5 i32.gt_u select - local.set $6 + local.set $5 end - local.get $6 - local.get $7 - local.tee $1 + local.get $2 i32.const 20 i32.sub - local.tee $2 + local.tee $1 i32.load i32.const -4 i32.and i32.const 16 i32.sub - i32.le_u + local.get $5 + i32.ge_u if - local.get $2 - local.get $6 + local.get $1 + local.get $5 i32.store offset=16 + local.get $2 br $__inlined_func$~lib/rt/itcms/__renew end - local.get $6 - local.get $2 + local.get $5 + local.get $1 i32.load offset=12 call $~lib/rt/itcms/__new - local.set $3 - local.get $6 - local.get $2 + local.set $6 + local.get $5 + local.get $1 i32.load offset=16 - local.tee $2 - local.get $2 - local.get $6 + local.tee $1 + local.get $1 + local.get $5 i32.gt_u select - local.set $8 + local.set $7 block $~lib/util/memory/memmove|inlined.0 - local.get $3 - local.tee $2 - local.get $1 + local.get $2 + local.get $6 + local.tee $1 i32.eq br_if $~lib/util/memory/memmove|inlined.0 - local.get $1 local.get $2 + local.get $1 i32.sub - local.get $8 + local.get $7 i32.sub i32.const 0 - local.get $8 + local.get $7 i32.const 1 i32.shl i32.sub i32.le_u if - local.get $2 local.get $1 - local.get $8 + local.get $2 + local.get $7 call $~lib/util/memory/memcpy br $~lib/util/memory/memmove|inlined.0 end local.get $1 local.get $2 - i32.gt_u + i32.lt_u if - local.get $1 + local.get $2 i32.const 7 i32.and - local.get $2 + local.get $1 i32.const 7 i32.and i32.eq if loop $while-continue|0 - local.get $2 + local.get $1 i32.const 7 i32.and if - local.get $8 + local.get $7 i32.eqz br_if $~lib/util/memory/memmove|inlined.0 - local.get $8 + local.get $7 i32.const 1 i32.sub - local.set $8 - local.get $2 - local.tee $5 + local.set $7 + local.get $1 + local.tee $3 i32.const 1 i32.add - local.set $2 - local.get $1 + local.set $1 + local.get $2 local.tee $4 i32.const 1 i32.add - local.set $1 - local.get $5 + local.set $2 + local.get $3 local.get $4 i32.load8_u i32.store8 @@ -2839,81 +2838,81 @@ end end loop $while-continue|1 - local.get $8 + local.get $7 i32.const 8 i32.ge_u if - local.get $2 local.get $1 + local.get $2 i64.load i64.store - local.get $8 + local.get $7 i32.const 8 i32.sub - local.set $8 - local.get $2 - i32.const 8 - i32.add - local.set $2 + local.set $7 local.get $1 i32.const 8 i32.add local.set $1 + local.get $2 + i32.const 8 + i32.add + local.set $2 br $while-continue|1 end end end loop $while-continue|2 - local.get $8 + local.get $7 if - local.get $2 - local.tee $5 + local.get $1 + local.tee $3 i32.const 1 i32.add - local.set $2 - local.get $1 + local.set $1 + local.get $2 local.tee $4 i32.const 1 i32.add - local.set $1 - local.get $5 + local.set $2 + local.get $3 local.get $4 i32.load8_u i32.store8 - local.get $8 + local.get $7 i32.const 1 i32.sub - local.set $8 + local.set $7 br $while-continue|2 end end else - local.get $1 + local.get $2 i32.const 7 i32.and - local.get $2 + local.get $1 i32.const 7 i32.and i32.eq if loop $while-continue|3 - local.get $2 - local.get $8 + local.get $1 + local.get $7 i32.add i32.const 7 i32.and if - local.get $8 + local.get $7 i32.eqz br_if $~lib/util/memory/memmove|inlined.0 - local.get $8 + local.get $7 i32.const 1 i32.sub - local.tee $8 - local.get $2 - i32.add + local.tee $7 local.get $1 - local.get $8 + i32.add + local.get $2 + local.get $7 i32.add i32.load8_u i32.store8 @@ -2921,18 +2920,18 @@ end end loop $while-continue|4 - local.get $8 + local.get $7 i32.const 8 i32.ge_u if - local.get $8 + local.get $7 i32.const 8 i32.sub - local.tee $8 - local.get $2 - i32.add + local.tee $7 local.get $1 - local.get $8 + i32.add + local.get $2 + local.get $7 i32.add i64.load i64.store @@ -2941,16 +2940,16 @@ end end loop $while-continue|5 - local.get $8 + local.get $7 if - local.get $8 + local.get $7 i32.const 1 i32.sub - local.tee $8 - local.get $2 - i32.add + local.tee $7 local.get $1 - local.get $8 + i32.add + local.get $2 + local.get $7 i32.add i32.load8_u i32.store8 @@ -2959,11 +2958,9 @@ end end end - local.get $3 - local.set $1 + local.get $6 end - local.get $1 - local.get $7 + local.tee $1 i32.ne if local.get $0 @@ -2980,7 +2977,7 @@ end end local.get $0 - local.get $6 + local.get $5 i32.store offset=8 end ) @@ -3212,9 +3209,6 @@ (local $6 i32) (local $7 i32) (local $8 i32) - (local $9 i32) - (local $10 i32) - (local $11 i32) global.get $~lib/memory/__stack_pointer i32.const 12 i32.sub @@ -3225,28 +3219,28 @@ i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer - local.tee $3 + local.tee $1 i64.const 0 i64.store - local.get $3 + local.get $1 i32.const 0 i32.store offset=8 - local.get $3 + local.get $1 call $~lib/set/Set#constructor - local.tee $4 + local.tee $2 i32.store loop $for-loop|1 - local.get $1 + local.get $0 i32.extend8_s i32.const 100 i32.lt_s if - local.get $4 + local.get $2 i32.load - local.get $4 + local.get $2 i32.load offset=4 - local.get $1 - local.tee $3 + local.get $0 + local.tee $1 i32.extend8_s i32.const -1028477379 i32.mul @@ -3256,62 +3250,62 @@ i32.rotl i32.const 668265263 i32.mul - local.tee $5 + local.tee $4 i32.const 15 i32.shr_u - local.get $5 + local.get $4 i32.xor i32.const -2048144777 i32.mul - local.tee $5 + local.tee $4 i32.const 13 i32.shr_u - local.get $5 + local.get $4 i32.xor i32.const -1028477379 i32.mul - local.tee $5 + local.tee $4 i32.const 16 i32.shr_u - local.get $5 + local.get $4 i32.xor i32.and i32.const 2 i32.shl i32.add i32.load - local.set $5 + local.set $4 block $__inlined_func$~lib/set/Set#find loop $while-continue|0 - local.get $5 + local.get $4 if - local.get $5 + local.get $4 i32.load offset=4 - local.tee $6 + local.tee $5 i32.const 1 i32.and if (result i32) i32.const 0 else - local.get $5 + local.get $4 i32.load8_u - local.get $3 + local.get $1 i32.const 255 i32.and i32.eq end br_if $__inlined_func$~lib/set/Set#find - local.get $6 + local.get $5 i32.const -2 i32.and - local.set $5 + local.set $4 br $while-continue|0 end end i32.const 0 - local.set $5 + local.set $4 end - local.get $5 + local.get $4 if i32.const 0 i32.const 1568 @@ -3320,15 +3314,15 @@ call $~lib/builtins/abort unreachable end - local.get $4 - local.get $1 + local.get $2 + local.get $0 call $~lib/set/Set#add - local.get $4 + local.get $2 i32.load - local.get $4 + local.get $2 i32.load offset=4 - local.get $1 - local.tee $3 + local.get $0 + local.tee $1 i32.extend8_s i32.const -1028477379 i32.mul @@ -3338,64 +3332,62 @@ i32.rotl i32.const 668265263 i32.mul - local.tee $5 + local.tee $4 i32.const 15 i32.shr_u - local.get $5 + local.get $4 i32.xor i32.const -2048144777 i32.mul - local.tee $5 + local.tee $4 i32.const 13 i32.shr_u - local.get $5 + local.get $4 i32.xor i32.const -1028477379 i32.mul - local.tee $5 + local.tee $4 i32.const 16 i32.shr_u - local.get $5 + local.get $4 i32.xor i32.and i32.const 2 i32.shl i32.add i32.load - local.set $5 + local.set $4 block $__inlined_func$~lib/set/Set#find1 loop $while-continue|02 - local.get $5 + local.get $4 if - local.get $5 + local.get $4 i32.load offset=4 - local.tee $6 + local.tee $5 i32.const 1 i32.and if (result i32) i32.const 0 else - local.get $5 + local.get $4 i32.load8_u - local.get $3 + local.get $1 i32.const 255 i32.and i32.eq end br_if $__inlined_func$~lib/set/Set#find1 - local.get $6 + local.get $5 i32.const -2 i32.and - local.set $5 + local.set $4 br $while-continue|02 end end i32.const 0 - local.set $5 + local.set $4 end - local.get $5 - i32.const 0 - i32.ne + local.get $4 i32.eqz if i32.const 0 @@ -3405,14 +3397,14 @@ call $~lib/builtins/abort unreachable end - local.get $1 + local.get $0 i32.const 1 i32.add - local.set $1 + local.set $0 br $for-loop|1 end end - local.get $4 + local.get $2 i32.load offset=20 i32.const 100 i32.ne @@ -3425,19 +3417,19 @@ unreachable end i32.const 50 - local.set $1 + local.set $0 loop $for-loop|3 - local.get $1 + local.get $0 i32.extend8_s i32.const 100 i32.lt_s if - local.get $4 + local.get $2 i32.load - local.get $4 + local.get $2 i32.load offset=4 - local.get $1 - local.tee $3 + local.get $0 + local.tee $1 i32.extend8_s i32.const -1028477379 i32.mul @@ -3447,64 +3439,62 @@ i32.rotl i32.const 668265263 i32.mul - local.tee $5 + local.tee $4 i32.const 15 i32.shr_u - local.get $5 + local.get $4 i32.xor i32.const -2048144777 i32.mul - local.tee $5 + local.tee $4 i32.const 13 i32.shr_u - local.get $5 + local.get $4 i32.xor i32.const -1028477379 i32.mul - local.tee $5 + local.tee $4 i32.const 16 i32.shr_u - local.get $5 + local.get $4 i32.xor i32.and i32.const 2 i32.shl i32.add i32.load - local.set $5 + local.set $4 block $__inlined_func$~lib/set/Set#find4 loop $while-continue|05 - local.get $5 + local.get $4 if - local.get $5 + local.get $4 i32.load offset=4 - local.tee $6 + local.tee $5 i32.const 1 i32.and if (result i32) i32.const 0 else - local.get $5 + local.get $4 i32.load8_u - local.get $3 + local.get $1 i32.const 255 i32.and i32.eq end br_if $__inlined_func$~lib/set/Set#find4 - local.get $6 + local.get $5 i32.const -2 i32.and - local.set $5 + local.set $4 br $while-continue|05 end end i32.const 0 - local.set $5 + local.set $4 end - local.get $5 - i32.const 0 - i32.ne + local.get $4 i32.eqz if i32.const 0 @@ -3514,15 +3504,15 @@ call $~lib/builtins/abort unreachable end - local.get $4 - local.get $1 + local.get $2 + local.get $0 call $~lib/set/Set#add - local.get $4 + local.get $2 i32.load - local.get $4 + local.get $2 i32.load offset=4 - local.get $1 - local.tee $3 + local.get $0 + local.tee $1 i32.extend8_s i32.const -1028477379 i32.mul @@ -3532,64 +3522,62 @@ i32.rotl i32.const 668265263 i32.mul - local.tee $5 + local.tee $4 i32.const 15 i32.shr_u - local.get $5 + local.get $4 i32.xor i32.const -2048144777 i32.mul - local.tee $5 + local.tee $4 i32.const 13 i32.shr_u - local.get $5 + local.get $4 i32.xor i32.const -1028477379 i32.mul - local.tee $5 + local.tee $4 i32.const 16 i32.shr_u - local.get $5 + local.get $4 i32.xor i32.and i32.const 2 i32.shl i32.add i32.load - local.set $5 + local.set $4 block $__inlined_func$~lib/set/Set#find7 loop $while-continue|08 - local.get $5 + local.get $4 if - local.get $5 + local.get $4 i32.load offset=4 - local.tee $6 + local.tee $5 i32.const 1 i32.and if (result i32) i32.const 0 else - local.get $5 + local.get $4 i32.load8_u - local.get $3 + local.get $1 i32.const 255 i32.and i32.eq end br_if $__inlined_func$~lib/set/Set#find7 - local.get $6 + local.get $5 i32.const -2 i32.and - local.set $5 + local.set $4 br $while-continue|08 end end i32.const 0 - local.set $5 + local.set $4 end - local.get $5 - i32.const 0 - i32.ne + local.get $4 i32.eqz if i32.const 0 @@ -3599,14 +3587,14 @@ call $~lib/builtins/abort unreachable end - local.get $1 + local.get $0 i32.const 1 i32.add - local.set $1 + local.set $0 br $for-loop|3 end end - local.get $4 + local.get $2 i32.load offset=20 i32.const 100 i32.ne @@ -3619,7 +3607,7 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $6 + local.tee $4 i32.const 4 i32.sub global.set $~lib/memory/__stack_pointer @@ -3628,17 +3616,16 @@ i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer - local.tee $7 + local.tee $0 i32.const 0 i32.store - local.get $4 + local.get $2 i32.load offset=8 local.set $5 - local.get $4 + local.get $2 i32.load offset=16 - local.tee $3 - local.set $9 - local.get $7 + local.set $1 + local.get $0 i32.const 8 i32.sub global.set $~lib/memory/__stack_pointer @@ -3647,28 +3634,28 @@ i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer - local.tee $1 + local.tee $6 i64.const 0 i64.store - local.get $1 + local.get $6 i32.const 16 i32.const 4 call $~lib/rt/itcms/__new - local.tee $10 + local.tee $6 i32.store - local.get $10 + local.get $6 i32.const 0 i32.store - local.get $10 + local.get $6 i32.const 0 i32.store offset=4 - local.get $10 + local.get $6 i32.const 0 i32.store offset=8 - local.get $10 + local.get $6 i32.const 0 i32.store offset=12 - local.get $9 + local.get $1 i32.const 1073741820 i32.gt_u if @@ -3680,48 +3667,50 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $9 + local.get $1 i32.const 8 - local.get $9 + local.get $1 i32.const 8 i32.gt_u select - local.tee $1 + local.tee $7 i32.const 0 call $~lib/rt/itcms/__new - local.tee $11 + local.tee $8 i32.store offset=4 - local.get $10 - local.get $11 + local.get $6 + local.get $8 i32.store - local.get $11 + local.get $8 if - local.get $10 - local.get $11 + local.get $6 + local.get $8 call $byn-split-outlined-A$~lib/rt/itcms/__link end - local.get $10 - local.get $11 + local.get $6 + local.get $8 i32.store offset=4 - local.get $10 - local.get $1 + local.get $6 + local.get $7 i32.store offset=8 - local.get $10 - local.get $9 + local.get $6 + local.get $1 i32.store offset=12 global.get $~lib/memory/__stack_pointer i32.const 8 i32.add global.set $~lib/memory/__stack_pointer - local.get $7 - local.get $10 + local.get $0 + local.get $6 i32.store + i32.const 0 + local.set $0 loop $for-loop|0 + local.get $1 local.get $3 - local.get $8 i32.gt_s if - local.get $8 + local.get $3 i32.const 3 i32.shl local.get $5 @@ -3732,58 +3721,59 @@ i32.and i32.eqz if - local.get $2 - local.tee $1 - i32.const 1 - i32.add - local.set $2 - local.get $10 - local.get $1 + local.get $6 + local.get $0 local.get $7 i32.load8_s call $~lib/array/Array#__set + local.get $0 + i32.const 1 + i32.add + local.set $0 end - local.get $8 + local.get $3 i32.const 1 i32.add - local.set $8 + local.set $3 br $for-loop|0 end end - local.get $10 - local.get $2 + local.get $6 + local.get $0 i32.const 0 i32.const 0 call $~lib/array/ensureCapacity - local.get $10 - local.get $2 + local.get $6 + 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 $4 local.get $6 - local.get $10 i32.store offset=4 global.get $~lib/memory/__stack_pointer call $~lib/set/Set#constructor - local.tee $3 + local.tee $4 i32.store offset=8 + i32.const 0 + local.set $0 loop $for-loop|4 - local.get $10 + local.get $6 i32.load offset=12 local.get $0 i32.gt_s if - local.get $10 + local.get $6 local.get $0 call $~lib/array/Array#__get - local.set $2 - local.get $4 + local.set $3 + local.get $2 i32.load - local.get $4 - i32.load offset=4 local.get $2 + i32.load offset=4 + local.get $3 i32.extend8_s i32.const -1028477379 i32.mul @@ -3832,7 +3822,7 @@ else local.get $1 i32.load8_u - local.get $2 + local.get $3 i32.const 255 i32.and i32.eq @@ -3849,8 +3839,6 @@ local.set $1 end local.get $1 - i32.const 0 - i32.ne i32.eqz if i32.const 0 @@ -3860,8 +3848,8 @@ call $~lib/builtins/abort unreachable end - local.get $3 - local.get $10 + local.get $4 + local.get $6 local.get $0 call $~lib/array/Array#__get call $~lib/set/Set#add @@ -3872,10 +3860,10 @@ br $for-loop|4 end end - local.get $3 - i32.load offset=20 local.get $4 i32.load offset=20 + local.get $2 + i32.load offset=20 i32.ne if i32.const 0 @@ -3893,9 +3881,9 @@ i32.const 50 i32.lt_s if - local.get $4 + local.get $2 i32.load - local.get $4 + local.get $2 i32.load offset=4 local.get $0 local.tee $1 @@ -3908,44 +3896,44 @@ i32.rotl i32.const 668265263 i32.mul - local.tee $2 + local.tee $3 i32.const 15 i32.shr_u - local.get $2 + local.get $3 i32.xor i32.const -2048144777 i32.mul - local.tee $2 + local.tee $3 i32.const 13 i32.shr_u - local.get $2 + local.get $3 i32.xor i32.const -1028477379 i32.mul - local.tee $2 + local.tee $3 i32.const 16 i32.shr_u - local.get $2 + local.get $3 i32.xor i32.and i32.const 2 i32.shl i32.add i32.load - local.set $2 + local.set $3 block $__inlined_func$~lib/set/Set#find13 loop $while-continue|014 - local.get $2 + local.get $3 if - local.get $2 + local.get $3 i32.load offset=4 - local.tee $3 + local.tee $4 i32.const 1 i32.and if (result i32) i32.const 0 else - local.get $2 + local.get $3 i32.load8_u local.get $1 i32.const 255 @@ -3953,19 +3941,17 @@ i32.eq end br_if $__inlined_func$~lib/set/Set#find13 - local.get $3 + local.get $4 i32.const -2 i32.and - local.set $2 + local.set $3 br $while-continue|014 end end i32.const 0 - local.set $2 + local.set $3 end - local.get $2 - i32.const 0 - i32.ne + local.get $3 i32.eqz if i32.const 0 @@ -3975,12 +3961,12 @@ call $~lib/builtins/abort unreachable end - local.get $4 + local.get $2 local.get $0 call $~lib/set/Set#delete - local.get $4 + local.get $2 i32.load - local.get $4 + local.get $2 i32.load offset=4 local.get $0 local.tee $1 @@ -3993,44 +3979,44 @@ i32.rotl i32.const 668265263 i32.mul - local.tee $2 + local.tee $3 i32.const 15 i32.shr_u - local.get $2 + local.get $3 i32.xor i32.const -2048144777 i32.mul - local.tee $2 + local.tee $3 i32.const 13 i32.shr_u - local.get $2 + local.get $3 i32.xor i32.const -1028477379 i32.mul - local.tee $2 + local.tee $3 i32.const 16 i32.shr_u - local.get $2 + local.get $3 i32.xor i32.and i32.const 2 i32.shl i32.add i32.load - local.set $2 + local.set $3 block $__inlined_func$~lib/set/Set#find16 loop $while-continue|017 - local.get $2 + local.get $3 if - local.get $2 + local.get $3 i32.load offset=4 - local.tee $3 + local.tee $4 i32.const 1 i32.and if (result i32) i32.const 0 else - local.get $2 + local.get $3 i32.load8_u local.get $1 i32.const 255 @@ -4038,17 +4024,17 @@ i32.eq end br_if $__inlined_func$~lib/set/Set#find16 - local.get $3 + local.get $4 i32.const -2 i32.and - local.set $2 + local.set $3 br $while-continue|017 end end i32.const 0 - local.set $2 + local.set $3 end - local.get $2 + local.get $3 if i32.const 0 i32.const 1568 @@ -4064,7 +4050,7 @@ br $for-loop|6 end end - local.get $4 + local.get $2 i32.load offset=20 i32.const 50 i32.ne @@ -4084,9 +4070,9 @@ i32.const 50 i32.lt_s if - local.get $4 + local.get $2 i32.load - local.get $4 + local.get $2 i32.load offset=4 local.get $0 local.tee $1 @@ -4099,44 +4085,44 @@ i32.rotl i32.const 668265263 i32.mul - local.tee $2 + local.tee $3 i32.const 15 i32.shr_u - local.get $2 + local.get $3 i32.xor i32.const -2048144777 i32.mul - local.tee $2 + local.tee $3 i32.const 13 i32.shr_u - local.get $2 + local.get $3 i32.xor i32.const -1028477379 i32.mul - local.tee $2 + local.tee $3 i32.const 16 i32.shr_u - local.get $2 + local.get $3 i32.xor i32.and i32.const 2 i32.shl i32.add i32.load - local.set $2 + local.set $3 block $__inlined_func$~lib/set/Set#find19 loop $while-continue|020 - local.get $2 + local.get $3 if - local.get $2 + local.get $3 i32.load offset=4 - local.tee $3 + local.tee $4 i32.const 1 i32.and if (result i32) i32.const 0 else - local.get $2 + local.get $3 i32.load8_u local.get $1 i32.const 255 @@ -4144,17 +4130,17 @@ i32.eq end br_if $__inlined_func$~lib/set/Set#find19 - local.get $3 + local.get $4 i32.const -2 i32.and - local.set $2 + local.set $3 br $while-continue|020 end end i32.const 0 - local.set $2 + local.set $3 end - local.get $2 + local.get $3 if i32.const 0 i32.const 1568 @@ -4163,12 +4149,12 @@ call $~lib/builtins/abort unreachable end - local.get $4 + local.get $2 local.get $0 call $~lib/set/Set#add - local.get $4 + local.get $2 i32.load - local.get $4 + local.get $2 i32.load offset=4 local.get $0 local.tee $1 @@ -4181,44 +4167,44 @@ i32.rotl i32.const 668265263 i32.mul - local.tee $2 + local.tee $3 i32.const 15 i32.shr_u - local.get $2 + local.get $3 i32.xor i32.const -2048144777 i32.mul - local.tee $2 + local.tee $3 i32.const 13 i32.shr_u - local.get $2 + local.get $3 i32.xor i32.const -1028477379 i32.mul - local.tee $2 + local.tee $3 i32.const 16 i32.shr_u - local.get $2 + local.get $3 i32.xor i32.and i32.const 2 i32.shl i32.add i32.load - local.set $2 + local.set $3 block $__inlined_func$~lib/set/Set#find22 loop $while-continue|023 - local.get $2 + local.get $3 if - local.get $2 + local.get $3 i32.load offset=4 - local.tee $3 + local.tee $4 i32.const 1 i32.and if (result i32) i32.const 0 else - local.get $2 + local.get $3 i32.load8_u local.get $1 i32.const 255 @@ -4226,19 +4212,17 @@ i32.eq end br_if $__inlined_func$~lib/set/Set#find22 - local.get $3 + local.get $4 i32.const -2 i32.and - local.set $2 + local.set $3 br $while-continue|023 end end i32.const 0 - local.set $2 + local.set $3 end - local.get $2 - i32.const 0 - i32.ne + local.get $3 i32.eqz if i32.const 0 @@ -4248,12 +4232,12 @@ call $~lib/builtins/abort unreachable end - local.get $4 + local.get $2 local.get $0 call $~lib/set/Set#delete - local.get $4 + local.get $2 i32.load - local.get $4 + local.get $2 i32.load offset=4 local.get $0 local.tee $1 @@ -4266,44 +4250,44 @@ i32.rotl i32.const 668265263 i32.mul - local.tee $2 + local.tee $3 i32.const 15 i32.shr_u - local.get $2 + local.get $3 i32.xor i32.const -2048144777 i32.mul - local.tee $2 + local.tee $3 i32.const 13 i32.shr_u - local.get $2 + local.get $3 i32.xor i32.const -1028477379 i32.mul - local.tee $2 + local.tee $3 i32.const 16 i32.shr_u - local.get $2 + local.get $3 i32.xor i32.and i32.const 2 i32.shl i32.add i32.load - local.set $2 + local.set $3 block $__inlined_func$~lib/set/Set#find25 loop $while-continue|026 - local.get $2 + local.get $3 if - local.get $2 + local.get $3 i32.load offset=4 - local.tee $3 + local.tee $4 i32.const 1 i32.and if (result i32) i32.const 0 else - local.get $2 + local.get $3 i32.load8_u local.get $1 i32.const 255 @@ -4311,17 +4295,17 @@ i32.eq end br_if $__inlined_func$~lib/set/Set#find25 - local.get $3 + local.get $4 i32.const -2 i32.and - local.set $2 + local.set $3 br $while-continue|026 end end i32.const 0 - local.set $2 + local.set $3 end - local.get $2 + local.get $3 if i32.const 0 i32.const 1568 @@ -4337,7 +4321,7 @@ br $for-loop|8 end end - local.get $4 + local.get $2 i32.load offset=20 i32.const 50 i32.ne @@ -4349,9 +4333,9 @@ call $~lib/builtins/abort unreachable end - local.get $4 + local.get $2 call $~lib/set/Set#clear - local.get $4 + local.get $2 i32.load offset=20 if i32.const 0 @@ -4452,8 +4436,6 @@ i32.store8 local.get $2 local.get $8 - i32.const 255 - i32.and i32.const -1028477379 i32.mul i32.const 374761394 @@ -4843,9 +4825,6 @@ (local $6 i32) (local $7 i32) (local $8 i32) - (local $9 i32) - (local $10 i32) - (local $11 i32) global.get $~lib/memory/__stack_pointer i32.const 12 i32.sub @@ -4856,29 +4835,29 @@ i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer - local.tee $3 + local.tee $1 i64.const 0 i64.store - local.get $3 + local.get $1 i32.const 0 i32.store offset=8 - local.get $3 + local.get $1 call $~lib/set/Set#constructor - local.tee $4 + local.tee $2 i32.store loop $for-loop|1 - local.get $1 + local.get $0 i32.const 255 i32.and i32.const 100 i32.lt_u if - local.get $4 + local.get $2 i32.load - local.get $4 + local.get $2 i32.load offset=4 - local.get $1 - local.tee $3 + local.get $0 + local.tee $1 i32.const 255 i32.and i32.const -1028477379 @@ -4889,62 +4868,62 @@ i32.rotl i32.const 668265263 i32.mul - local.tee $5 + local.tee $4 i32.const 15 i32.shr_u - local.get $5 + local.get $4 i32.xor i32.const -2048144777 i32.mul - local.tee $5 + local.tee $4 i32.const 13 i32.shr_u - local.get $5 + local.get $4 i32.xor i32.const -1028477379 i32.mul - local.tee $5 + local.tee $4 i32.const 16 i32.shr_u - local.get $5 + local.get $4 i32.xor i32.and i32.const 2 i32.shl i32.add i32.load - local.set $5 + local.set $4 block $__inlined_func$~lib/set/Set#find loop $while-continue|0 - local.get $5 + local.get $4 if - local.get $5 + local.get $4 i32.load offset=4 - local.tee $6 + local.tee $5 i32.const 1 i32.and if (result i32) i32.const 0 else - local.get $5 + local.get $4 i32.load8_u - local.get $3 + local.get $1 i32.const 255 i32.and i32.eq end br_if $__inlined_func$~lib/set/Set#find - local.get $6 + local.get $5 i32.const -2 i32.and - local.set $5 + local.set $4 br $while-continue|0 end end i32.const 0 - local.set $5 + local.set $4 end - local.get $5 + local.get $4 if i32.const 0 i32.const 1568 @@ -4953,15 +4932,15 @@ call $~lib/builtins/abort unreachable end - local.get $4 - local.get $1 + local.get $2 + local.get $0 call $~lib/set/Set#add - local.get $4 + local.get $2 i32.load - local.get $4 + local.get $2 i32.load offset=4 - local.get $1 - local.tee $3 + local.get $0 + local.tee $1 i32.const 255 i32.and i32.const -1028477379 @@ -4972,64 +4951,62 @@ i32.rotl i32.const 668265263 i32.mul - local.tee $5 + local.tee $4 i32.const 15 i32.shr_u - local.get $5 + local.get $4 i32.xor i32.const -2048144777 i32.mul - local.tee $5 + local.tee $4 i32.const 13 i32.shr_u - local.get $5 + local.get $4 i32.xor i32.const -1028477379 i32.mul - local.tee $5 + local.tee $4 i32.const 16 i32.shr_u - local.get $5 + local.get $4 i32.xor i32.and i32.const 2 i32.shl i32.add i32.load - local.set $5 + local.set $4 block $__inlined_func$~lib/set/Set#find1 loop $while-continue|02 - local.get $5 + local.get $4 if - local.get $5 + local.get $4 i32.load offset=4 - local.tee $6 + local.tee $5 i32.const 1 i32.and if (result i32) i32.const 0 else - local.get $5 + local.get $4 i32.load8_u - local.get $3 + local.get $1 i32.const 255 i32.and i32.eq end br_if $__inlined_func$~lib/set/Set#find1 - local.get $6 + local.get $5 i32.const -2 i32.and - local.set $5 + local.set $4 br $while-continue|02 end end i32.const 0 - local.set $5 + local.set $4 end - local.get $5 - i32.const 0 - i32.ne + local.get $4 i32.eqz if i32.const 0 @@ -5039,14 +5016,14 @@ call $~lib/builtins/abort unreachable end - local.get $1 + local.get $0 i32.const 1 i32.add - local.set $1 + local.set $0 br $for-loop|1 end end - local.get $4 + local.get $2 i32.load offset=20 i32.const 100 i32.ne @@ -5059,20 +5036,20 @@ unreachable end i32.const 50 - local.set $1 + local.set $0 loop $for-loop|3 - local.get $1 + local.get $0 i32.const 255 i32.and i32.const 100 i32.lt_u if - local.get $4 + local.get $2 i32.load - local.get $4 + local.get $2 i32.load offset=4 - local.get $1 - local.tee $3 + local.get $0 + local.tee $1 i32.const 255 i32.and i32.const -1028477379 @@ -5083,64 +5060,62 @@ i32.rotl i32.const 668265263 i32.mul - local.tee $5 + local.tee $4 i32.const 15 i32.shr_u - local.get $5 + local.get $4 i32.xor i32.const -2048144777 i32.mul - local.tee $5 + local.tee $4 i32.const 13 i32.shr_u - local.get $5 + local.get $4 i32.xor i32.const -1028477379 i32.mul - local.tee $5 + local.tee $4 i32.const 16 i32.shr_u - local.get $5 + local.get $4 i32.xor i32.and i32.const 2 i32.shl i32.add i32.load - local.set $5 + local.set $4 block $__inlined_func$~lib/set/Set#find4 loop $while-continue|05 - local.get $5 + local.get $4 if - local.get $5 + local.get $4 i32.load offset=4 - local.tee $6 + local.tee $5 i32.const 1 i32.and if (result i32) i32.const 0 else - local.get $5 + local.get $4 i32.load8_u - local.get $3 + local.get $1 i32.const 255 i32.and i32.eq end br_if $__inlined_func$~lib/set/Set#find4 - local.get $6 + local.get $5 i32.const -2 i32.and - local.set $5 + local.set $4 br $while-continue|05 end end i32.const 0 - local.set $5 + local.set $4 end - local.get $5 - i32.const 0 - i32.ne + local.get $4 i32.eqz if i32.const 0 @@ -5150,15 +5125,15 @@ call $~lib/builtins/abort unreachable end - local.get $4 - local.get $1 + local.get $2 + local.get $0 call $~lib/set/Set#add - local.get $4 + local.get $2 i32.load - local.get $4 + local.get $2 i32.load offset=4 - local.get $1 - local.tee $3 + local.get $0 + local.tee $1 i32.const 255 i32.and i32.const -1028477379 @@ -5169,64 +5144,62 @@ i32.rotl i32.const 668265263 i32.mul - local.tee $5 + local.tee $4 i32.const 15 i32.shr_u - local.get $5 + local.get $4 i32.xor i32.const -2048144777 i32.mul - local.tee $5 + local.tee $4 i32.const 13 i32.shr_u - local.get $5 + local.get $4 i32.xor i32.const -1028477379 i32.mul - local.tee $5 + local.tee $4 i32.const 16 i32.shr_u - local.get $5 + local.get $4 i32.xor i32.and i32.const 2 i32.shl i32.add i32.load - local.set $5 + local.set $4 block $__inlined_func$~lib/set/Set#find7 loop $while-continue|08 - local.get $5 + local.get $4 if - local.get $5 + local.get $4 i32.load offset=4 - local.tee $6 + local.tee $5 i32.const 1 i32.and if (result i32) i32.const 0 else - local.get $5 + local.get $4 i32.load8_u - local.get $3 + local.get $1 i32.const 255 i32.and i32.eq end br_if $__inlined_func$~lib/set/Set#find7 - local.get $6 + local.get $5 i32.const -2 i32.and - local.set $5 + local.set $4 br $while-continue|08 end end i32.const 0 - local.set $5 + local.set $4 end - local.get $5 - i32.const 0 - i32.ne + local.get $4 i32.eqz if i32.const 0 @@ -5236,14 +5209,14 @@ call $~lib/builtins/abort unreachable end - local.get $1 + local.get $0 i32.const 1 i32.add - local.set $1 + local.set $0 br $for-loop|3 end end - local.get $4 + local.get $2 i32.load offset=20 i32.const 100 i32.ne @@ -5256,7 +5229,7 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $6 + local.tee $4 i32.const 4 i32.sub global.set $~lib/memory/__stack_pointer @@ -5265,17 +5238,16 @@ i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer - local.tee $7 + local.tee $0 i32.const 0 i32.store - local.get $4 + local.get $2 i32.load offset=8 local.set $5 - local.get $4 + local.get $2 i32.load offset=16 - local.tee $3 - local.set $9 - local.get $7 + local.set $1 + local.get $0 i32.const 8 i32.sub global.set $~lib/memory/__stack_pointer @@ -5284,28 +5256,28 @@ i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer - local.tee $1 + local.tee $6 i64.const 0 i64.store - local.get $1 + local.get $6 i32.const 16 i32.const 6 call $~lib/rt/itcms/__new - local.tee $10 + local.tee $6 i32.store - local.get $10 + local.get $6 i32.const 0 i32.store - local.get $10 + local.get $6 i32.const 0 i32.store offset=4 - local.get $10 + local.get $6 i32.const 0 i32.store offset=8 - local.get $10 + local.get $6 i32.const 0 i32.store offset=12 - local.get $9 + local.get $1 i32.const 1073741820 i32.gt_u if @@ -5317,48 +5289,50 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $9 + local.get $1 i32.const 8 - local.get $9 + local.get $1 i32.const 8 i32.gt_u select - local.tee $1 + local.tee $7 i32.const 0 call $~lib/rt/itcms/__new - local.tee $11 + local.tee $8 i32.store offset=4 - local.get $10 - local.get $11 + local.get $6 + local.get $8 i32.store - local.get $11 + local.get $8 if - local.get $10 - local.get $11 + local.get $6 + local.get $8 call $byn-split-outlined-A$~lib/rt/itcms/__link end - local.get $10 - local.get $11 + local.get $6 + local.get $8 i32.store offset=4 - local.get $10 - local.get $1 + local.get $6 + local.get $7 i32.store offset=8 - local.get $10 - local.get $9 + local.get $6 + local.get $1 i32.store offset=12 global.get $~lib/memory/__stack_pointer i32.const 8 i32.add global.set $~lib/memory/__stack_pointer - local.get $7 - local.get $10 + local.get $0 + local.get $6 i32.store + i32.const 0 + local.set $0 loop $for-loop|0 + local.get $1 local.get $3 - local.get $8 i32.gt_s if - local.get $8 + local.get $3 i32.const 3 i32.shl local.get $5 @@ -5369,58 +5343,59 @@ i32.and i32.eqz if - local.get $2 - local.tee $1 - i32.const 1 - i32.add - local.set $2 - local.get $10 - local.get $1 + local.get $6 + local.get $0 local.get $7 i32.load8_u call $~lib/array/Array#__set + local.get $0 + i32.const 1 + i32.add + local.set $0 end - local.get $8 + local.get $3 i32.const 1 i32.add - local.set $8 + local.set $3 br $for-loop|0 end end - local.get $10 - local.get $2 + local.get $6 + local.get $0 i32.const 0 i32.const 0 call $~lib/array/ensureCapacity - local.get $10 - local.get $2 + local.get $6 + 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 $4 local.get $6 - local.get $10 i32.store offset=4 global.get $~lib/memory/__stack_pointer call $~lib/set/Set#constructor - local.tee $3 + local.tee $4 i32.store offset=8 + i32.const 0 + local.set $0 loop $for-loop|4 - local.get $10 + local.get $6 i32.load offset=12 local.get $0 i32.gt_s if - local.get $10 + local.get $6 local.get $0 call $~lib/array/Array#__get - local.set $2 - local.get $4 + local.set $3 + local.get $2 i32.load - local.get $4 - i32.load offset=4 local.get $2 + i32.load offset=4 + local.get $3 i32.const 255 i32.and i32.const -1028477379 @@ -5470,7 +5445,7 @@ else local.get $1 i32.load8_u - local.get $2 + local.get $3 i32.const 255 i32.and i32.eq @@ -5487,8 +5462,6 @@ local.set $1 end local.get $1 - i32.const 0 - i32.ne i32.eqz if i32.const 0 @@ -5498,8 +5471,8 @@ call $~lib/builtins/abort unreachable end - local.get $3 - local.get $10 + local.get $4 + local.get $6 local.get $0 call $~lib/array/Array#__get call $~lib/set/Set#add @@ -5510,10 +5483,10 @@ br $for-loop|4 end end - local.get $3 - i32.load offset=20 local.get $4 i32.load offset=20 + local.get $2 + i32.load offset=20 i32.ne if i32.const 0 @@ -5532,9 +5505,9 @@ i32.const 50 i32.lt_u if - local.get $4 + local.get $2 i32.load - local.get $4 + local.get $2 i32.load offset=4 local.get $0 local.tee $1 @@ -5548,44 +5521,44 @@ i32.rotl i32.const 668265263 i32.mul - local.tee $2 + local.tee $3 i32.const 15 i32.shr_u - local.get $2 + local.get $3 i32.xor i32.const -2048144777 i32.mul - local.tee $2 + local.tee $3 i32.const 13 i32.shr_u - local.get $2 + local.get $3 i32.xor i32.const -1028477379 i32.mul - local.tee $2 + local.tee $3 i32.const 16 i32.shr_u - local.get $2 + local.get $3 i32.xor i32.and i32.const 2 i32.shl i32.add i32.load - local.set $2 + local.set $3 block $__inlined_func$~lib/set/Set#find13 loop $while-continue|014 - local.get $2 + local.get $3 if - local.get $2 + local.get $3 i32.load offset=4 - local.tee $3 + local.tee $4 i32.const 1 i32.and if (result i32) i32.const 0 else - local.get $2 + local.get $3 i32.load8_u local.get $1 i32.const 255 @@ -5593,19 +5566,17 @@ i32.eq end br_if $__inlined_func$~lib/set/Set#find13 - local.get $3 + local.get $4 i32.const -2 i32.and - local.set $2 + local.set $3 br $while-continue|014 end end i32.const 0 - local.set $2 + local.set $3 end - local.get $2 - i32.const 0 - i32.ne + local.get $3 i32.eqz if i32.const 0 @@ -5615,12 +5586,12 @@ call $~lib/builtins/abort unreachable end - local.get $4 + local.get $2 local.get $0 call $~lib/set/Set#delete - local.get $4 + local.get $2 i32.load - local.get $4 + local.get $2 i32.load offset=4 local.get $0 local.tee $1 @@ -5634,44 +5605,44 @@ i32.rotl i32.const 668265263 i32.mul - local.tee $2 + local.tee $3 i32.const 15 i32.shr_u - local.get $2 + local.get $3 i32.xor i32.const -2048144777 i32.mul - local.tee $2 + local.tee $3 i32.const 13 i32.shr_u - local.get $2 + local.get $3 i32.xor i32.const -1028477379 i32.mul - local.tee $2 + local.tee $3 i32.const 16 i32.shr_u - local.get $2 + local.get $3 i32.xor i32.and i32.const 2 i32.shl i32.add i32.load - local.set $2 + local.set $3 block $__inlined_func$~lib/set/Set#find16 loop $while-continue|017 - local.get $2 + local.get $3 if - local.get $2 + local.get $3 i32.load offset=4 - local.tee $3 + local.tee $4 i32.const 1 i32.and if (result i32) i32.const 0 else - local.get $2 + local.get $3 i32.load8_u local.get $1 i32.const 255 @@ -5679,17 +5650,17 @@ i32.eq end br_if $__inlined_func$~lib/set/Set#find16 - local.get $3 + local.get $4 i32.const -2 i32.and - local.set $2 + local.set $3 br $while-continue|017 end end i32.const 0 - local.set $2 + local.set $3 end - local.get $2 + local.get $3 if i32.const 0 i32.const 1568 @@ -5705,7 +5676,7 @@ br $for-loop|6 end end - local.get $4 + local.get $2 i32.load offset=20 i32.const 50 i32.ne @@ -5726,9 +5697,9 @@ i32.const 50 i32.lt_u if - local.get $4 + local.get $2 i32.load - local.get $4 + local.get $2 i32.load offset=4 local.get $0 local.tee $1 @@ -5742,44 +5713,44 @@ i32.rotl i32.const 668265263 i32.mul - local.tee $2 + local.tee $3 i32.const 15 i32.shr_u - local.get $2 + local.get $3 i32.xor i32.const -2048144777 i32.mul - local.tee $2 + local.tee $3 i32.const 13 i32.shr_u - local.get $2 + local.get $3 i32.xor i32.const -1028477379 i32.mul - local.tee $2 + local.tee $3 i32.const 16 i32.shr_u - local.get $2 + local.get $3 i32.xor i32.and i32.const 2 i32.shl i32.add i32.load - local.set $2 + local.set $3 block $__inlined_func$~lib/set/Set#find19 loop $while-continue|020 - local.get $2 + local.get $3 if - local.get $2 + local.get $3 i32.load offset=4 - local.tee $3 + local.tee $4 i32.const 1 i32.and if (result i32) i32.const 0 else - local.get $2 + local.get $3 i32.load8_u local.get $1 i32.const 255 @@ -5787,17 +5758,17 @@ i32.eq end br_if $__inlined_func$~lib/set/Set#find19 - local.get $3 + local.get $4 i32.const -2 i32.and - local.set $2 + local.set $3 br $while-continue|020 end end i32.const 0 - local.set $2 + local.set $3 end - local.get $2 + local.get $3 if i32.const 0 i32.const 1568 @@ -5806,12 +5777,12 @@ call $~lib/builtins/abort unreachable end - local.get $4 + local.get $2 local.get $0 call $~lib/set/Set#add - local.get $4 + local.get $2 i32.load - local.get $4 + local.get $2 i32.load offset=4 local.get $0 local.tee $1 @@ -5825,44 +5796,44 @@ i32.rotl i32.const 668265263 i32.mul - local.tee $2 + local.tee $3 i32.const 15 i32.shr_u - local.get $2 + local.get $3 i32.xor i32.const -2048144777 i32.mul - local.tee $2 + local.tee $3 i32.const 13 i32.shr_u - local.get $2 + local.get $3 i32.xor i32.const -1028477379 i32.mul - local.tee $2 + local.tee $3 i32.const 16 i32.shr_u - local.get $2 + local.get $3 i32.xor i32.and i32.const 2 i32.shl i32.add i32.load - local.set $2 + local.set $3 block $__inlined_func$~lib/set/Set#find22 loop $while-continue|023 - local.get $2 + local.get $3 if - local.get $2 + local.get $3 i32.load offset=4 - local.tee $3 + local.tee $4 i32.const 1 i32.and if (result i32) i32.const 0 else - local.get $2 + local.get $3 i32.load8_u local.get $1 i32.const 255 @@ -5870,19 +5841,17 @@ i32.eq end br_if $__inlined_func$~lib/set/Set#find22 - local.get $3 + local.get $4 i32.const -2 i32.and - local.set $2 + local.set $3 br $while-continue|023 end end i32.const 0 - local.set $2 + local.set $3 end - local.get $2 - i32.const 0 - i32.ne + local.get $3 i32.eqz if i32.const 0 @@ -5892,12 +5861,12 @@ call $~lib/builtins/abort unreachable end - local.get $4 + local.get $2 local.get $0 call $~lib/set/Set#delete - local.get $4 + local.get $2 i32.load - local.get $4 + local.get $2 i32.load offset=4 local.get $0 local.tee $1 @@ -5911,44 +5880,44 @@ i32.rotl i32.const 668265263 i32.mul - local.tee $2 + local.tee $3 i32.const 15 i32.shr_u - local.get $2 + local.get $3 i32.xor i32.const -2048144777 i32.mul - local.tee $2 + local.tee $3 i32.const 13 i32.shr_u - local.get $2 + local.get $3 i32.xor i32.const -1028477379 i32.mul - local.tee $2 + local.tee $3 i32.const 16 i32.shr_u - local.get $2 + local.get $3 i32.xor i32.and i32.const 2 i32.shl i32.add i32.load - local.set $2 + local.set $3 block $__inlined_func$~lib/set/Set#find25 loop $while-continue|026 - local.get $2 + local.get $3 if - local.get $2 + local.get $3 i32.load offset=4 - local.tee $3 + local.tee $4 i32.const 1 i32.and if (result i32) i32.const 0 else - local.get $2 + local.get $3 i32.load8_u local.get $1 i32.const 255 @@ -5956,17 +5925,17 @@ i32.eq end br_if $__inlined_func$~lib/set/Set#find25 - local.get $3 + local.get $4 i32.const -2 i32.and - local.set $2 + local.set $3 br $while-continue|026 end end i32.const 0 - local.set $2 + local.set $3 end - local.get $2 + local.get $3 if i32.const 0 i32.const 1568 @@ -5982,7 +5951,7 @@ br $for-loop|8 end end - local.get $4 + local.get $2 i32.load offset=20 i32.const 50 i32.ne @@ -5994,9 +5963,9 @@ call $~lib/builtins/abort unreachable end - local.get $4 + local.get $2 call $~lib/set/Set#clear - local.get $4 + local.get $2 i32.load offset=20 if i32.const 0 @@ -6526,9 +6495,6 @@ (local $6 i32) (local $7 i32) (local $8 i32) - (local $9 i32) - (local $10 i32) - (local $11 i32) global.get $~lib/memory/__stack_pointer i32.const 12 i32.sub @@ -6539,28 +6505,28 @@ i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer - local.tee $3 + local.tee $1 i64.const 0 i64.store - local.get $3 + local.get $1 i32.const 0 i32.store offset=8 - local.get $3 + local.get $1 call $~lib/set/Set#constructor - local.tee $4 + local.tee $2 i32.store loop $for-loop|1 - local.get $1 + local.get $0 i32.extend16_s i32.const 100 i32.lt_s if - local.get $4 + local.get $2 i32.load - local.get $4 + local.get $2 i32.load offset=4 - local.get $1 - local.tee $3 + local.get $0 + local.tee $1 i32.extend16_s i32.const -1028477379 i32.mul @@ -6570,62 +6536,62 @@ i32.rotl i32.const 668265263 i32.mul - local.tee $5 + local.tee $4 i32.const 15 i32.shr_u - local.get $5 + local.get $4 i32.xor i32.const -2048144777 i32.mul - local.tee $5 + local.tee $4 i32.const 13 i32.shr_u - local.get $5 + local.get $4 i32.xor i32.const -1028477379 i32.mul - local.tee $5 + local.tee $4 i32.const 16 i32.shr_u - local.get $5 + local.get $4 i32.xor i32.and i32.const 2 i32.shl i32.add i32.load - local.set $5 + local.set $4 block $__inlined_func$~lib/set/Set#find loop $while-continue|0 - local.get $5 + local.get $4 if - local.get $5 + local.get $4 i32.load offset=4 - local.tee $6 + local.tee $5 i32.const 1 i32.and if (result i32) i32.const 0 else - local.get $5 + local.get $4 i32.load16_u - local.get $3 + local.get $1 i32.const 65535 i32.and i32.eq end br_if $__inlined_func$~lib/set/Set#find - local.get $6 + local.get $5 i32.const -2 i32.and - local.set $5 + local.set $4 br $while-continue|0 end end i32.const 0 - local.set $5 + local.set $4 end - local.get $5 + local.get $4 if i32.const 0 i32.const 1568 @@ -6634,15 +6600,15 @@ call $~lib/builtins/abort unreachable end - local.get $4 - local.get $1 + local.get $2 + local.get $0 call $~lib/set/Set#add - local.get $4 + local.get $2 i32.load - local.get $4 + local.get $2 i32.load offset=4 - local.get $1 - local.tee $3 + local.get $0 + local.tee $1 i32.extend16_s i32.const -1028477379 i32.mul @@ -6652,64 +6618,62 @@ i32.rotl i32.const 668265263 i32.mul - local.tee $5 + local.tee $4 i32.const 15 i32.shr_u - local.get $5 + local.get $4 i32.xor i32.const -2048144777 i32.mul - local.tee $5 + local.tee $4 i32.const 13 i32.shr_u - local.get $5 + local.get $4 i32.xor i32.const -1028477379 i32.mul - local.tee $5 + local.tee $4 i32.const 16 i32.shr_u - local.get $5 + local.get $4 i32.xor i32.and i32.const 2 i32.shl i32.add i32.load - local.set $5 + local.set $4 block $__inlined_func$~lib/set/Set#find1 loop $while-continue|02 - local.get $5 + local.get $4 if - local.get $5 + local.get $4 i32.load offset=4 - local.tee $6 + local.tee $5 i32.const 1 i32.and if (result i32) i32.const 0 else - local.get $5 + local.get $4 i32.load16_u - local.get $3 + local.get $1 i32.const 65535 i32.and i32.eq end br_if $__inlined_func$~lib/set/Set#find1 - local.get $6 + local.get $5 i32.const -2 i32.and - local.set $5 + local.set $4 br $while-continue|02 end end i32.const 0 - local.set $5 + local.set $4 end - local.get $5 - i32.const 0 - i32.ne + local.get $4 i32.eqz if i32.const 0 @@ -6719,14 +6683,14 @@ call $~lib/builtins/abort unreachable end - local.get $1 + local.get $0 i32.const 1 i32.add - local.set $1 + local.set $0 br $for-loop|1 end end - local.get $4 + local.get $2 i32.load offset=20 i32.const 100 i32.ne @@ -6739,19 +6703,19 @@ unreachable end i32.const 50 - local.set $1 + local.set $0 loop $for-loop|3 - local.get $1 + local.get $0 i32.extend16_s i32.const 100 i32.lt_s if - local.get $4 + local.get $2 i32.load - local.get $4 + local.get $2 i32.load offset=4 - local.get $1 - local.tee $3 + local.get $0 + local.tee $1 i32.extend16_s i32.const -1028477379 i32.mul @@ -6761,64 +6725,62 @@ i32.rotl i32.const 668265263 i32.mul - local.tee $5 + local.tee $4 i32.const 15 i32.shr_u - local.get $5 + local.get $4 i32.xor i32.const -2048144777 i32.mul - local.tee $5 + local.tee $4 i32.const 13 i32.shr_u - local.get $5 + local.get $4 i32.xor i32.const -1028477379 i32.mul - local.tee $5 + local.tee $4 i32.const 16 i32.shr_u - local.get $5 + local.get $4 i32.xor i32.and i32.const 2 i32.shl i32.add i32.load - local.set $5 + local.set $4 block $__inlined_func$~lib/set/Set#find4 loop $while-continue|05 - local.get $5 + local.get $4 if - local.get $5 + local.get $4 i32.load offset=4 - local.tee $6 + local.tee $5 i32.const 1 i32.and if (result i32) i32.const 0 else - local.get $5 + local.get $4 i32.load16_u - local.get $3 + local.get $1 i32.const 65535 i32.and i32.eq end br_if $__inlined_func$~lib/set/Set#find4 - local.get $6 + local.get $5 i32.const -2 i32.and - local.set $5 + local.set $4 br $while-continue|05 end end i32.const 0 - local.set $5 + local.set $4 end - local.get $5 - i32.const 0 - i32.ne + local.get $4 i32.eqz if i32.const 0 @@ -6828,15 +6790,15 @@ call $~lib/builtins/abort unreachable end - local.get $4 - local.get $1 + local.get $2 + local.get $0 call $~lib/set/Set#add - local.get $4 + local.get $2 i32.load - local.get $4 + local.get $2 i32.load offset=4 - local.get $1 - local.tee $3 + local.get $0 + local.tee $1 i32.extend16_s i32.const -1028477379 i32.mul @@ -6846,64 +6808,62 @@ i32.rotl i32.const 668265263 i32.mul - local.tee $5 + local.tee $4 i32.const 15 i32.shr_u - local.get $5 + local.get $4 i32.xor i32.const -2048144777 i32.mul - local.tee $5 + local.tee $4 i32.const 13 i32.shr_u - local.get $5 + local.get $4 i32.xor i32.const -1028477379 i32.mul - local.tee $5 + local.tee $4 i32.const 16 i32.shr_u - local.get $5 + local.get $4 i32.xor i32.and i32.const 2 i32.shl i32.add i32.load - local.set $5 + local.set $4 block $__inlined_func$~lib/set/Set#find7 loop $while-continue|08 - local.get $5 + local.get $4 if - local.get $5 + local.get $4 i32.load offset=4 - local.tee $6 + local.tee $5 i32.const 1 i32.and if (result i32) i32.const 0 else - local.get $5 + local.get $4 i32.load16_u - local.get $3 + local.get $1 i32.const 65535 i32.and i32.eq end br_if $__inlined_func$~lib/set/Set#find7 - local.get $6 + local.get $5 i32.const -2 i32.and - local.set $5 + local.set $4 br $while-continue|08 end end i32.const 0 - local.set $5 + local.set $4 end - local.get $5 - i32.const 0 - i32.ne + local.get $4 i32.eqz if i32.const 0 @@ -6913,14 +6873,14 @@ call $~lib/builtins/abort unreachable end - local.get $1 + local.get $0 i32.const 1 i32.add - local.set $1 + local.set $0 br $for-loop|3 end end - local.get $4 + local.get $2 i32.load offset=20 i32.const 100 i32.ne @@ -6933,7 +6893,7 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $6 + local.tee $4 i32.const 4 i32.sub global.set $~lib/memory/__stack_pointer @@ -6942,17 +6902,16 @@ i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer - local.tee $7 + local.tee $0 i32.const 0 i32.store - local.get $4 + local.get $2 i32.load offset=8 local.set $5 - local.get $4 + local.get $2 i32.load offset=16 - local.tee $3 - local.set $9 - local.get $7 + local.set $1 + local.get $0 i32.const 8 i32.sub global.set $~lib/memory/__stack_pointer @@ -6961,28 +6920,28 @@ i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer - local.tee $1 + local.tee $6 i64.const 0 i64.store - local.get $1 + local.get $6 i32.const 16 i32.const 8 call $~lib/rt/itcms/__new - local.tee $10 + local.tee $6 i32.store - local.get $10 + local.get $6 i32.const 0 i32.store - local.get $10 + local.get $6 i32.const 0 i32.store offset=4 - local.get $10 + local.get $6 i32.const 0 i32.store offset=8 - local.get $10 + local.get $6 i32.const 0 i32.store offset=12 - local.get $9 + local.get $1 i32.const 536870910 i32.gt_u if @@ -6994,50 +6953,52 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $9 + local.get $1 i32.const 8 - local.get $9 + local.get $1 i32.const 8 i32.gt_u select i32.const 1 i32.shl - local.tee $1 + local.tee $7 i32.const 0 call $~lib/rt/itcms/__new - local.tee $11 + local.tee $8 i32.store offset=4 - local.get $10 - local.get $11 + local.get $6 + local.get $8 i32.store - local.get $11 + local.get $8 if - local.get $10 - local.get $11 + local.get $6 + local.get $8 call $byn-split-outlined-A$~lib/rt/itcms/__link end - local.get $10 - local.get $11 + local.get $6 + local.get $8 i32.store offset=4 - local.get $10 - local.get $1 + local.get $6 + local.get $7 i32.store offset=8 - local.get $10 - local.get $9 + local.get $6 + local.get $1 i32.store offset=12 global.get $~lib/memory/__stack_pointer i32.const 8 i32.add global.set $~lib/memory/__stack_pointer - local.get $7 - local.get $10 + local.get $0 + local.get $6 i32.store + i32.const 0 + local.set $0 loop $for-loop|0 + local.get $1 local.get $3 - local.get $8 i32.gt_s if - local.get $8 + local.get $3 i32.const 3 i32.shl local.get $5 @@ -7048,58 +7009,59 @@ i32.and i32.eqz if - local.get $2 - local.tee $1 - i32.const 1 - i32.add - local.set $2 - local.get $10 - local.get $1 + local.get $6 + local.get $0 local.get $7 i32.load16_s call $~lib/array/Array#__set + local.get $0 + i32.const 1 + i32.add + local.set $0 end - local.get $8 + local.get $3 i32.const 1 i32.add - local.set $8 + local.set $3 br $for-loop|0 end end - local.get $10 - local.get $2 + local.get $6 + local.get $0 i32.const 1 i32.const 0 call $~lib/array/ensureCapacity - local.get $10 - local.get $2 + local.get $6 + 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 $4 local.get $6 - local.get $10 i32.store offset=4 global.get $~lib/memory/__stack_pointer call $~lib/set/Set#constructor - local.tee $3 + local.tee $4 i32.store offset=8 + i32.const 0 + local.set $0 loop $for-loop|4 - local.get $10 + local.get $6 i32.load offset=12 local.get $0 i32.gt_s if - local.get $10 + local.get $6 local.get $0 call $~lib/array/Array#__get - local.set $2 - local.get $4 + local.set $3 + local.get $2 i32.load - local.get $4 - i32.load offset=4 local.get $2 + i32.load offset=4 + local.get $3 i32.extend16_s i32.const -1028477379 i32.mul @@ -7148,7 +7110,7 @@ else local.get $1 i32.load16_u - local.get $2 + local.get $3 i32.const 65535 i32.and i32.eq @@ -7165,8 +7127,6 @@ local.set $1 end local.get $1 - i32.const 0 - i32.ne i32.eqz if i32.const 0 @@ -7176,8 +7136,8 @@ call $~lib/builtins/abort unreachable end - local.get $3 - local.get $10 + local.get $4 + local.get $6 local.get $0 call $~lib/array/Array#__get call $~lib/set/Set#add @@ -7188,10 +7148,10 @@ br $for-loop|4 end end - local.get $3 - i32.load offset=20 local.get $4 i32.load offset=20 + local.get $2 + i32.load offset=20 i32.ne if i32.const 0 @@ -7209,9 +7169,9 @@ i32.const 50 i32.lt_s if - local.get $4 + local.get $2 i32.load - local.get $4 + local.get $2 i32.load offset=4 local.get $0 local.tee $1 @@ -7224,44 +7184,44 @@ i32.rotl i32.const 668265263 i32.mul - local.tee $2 + local.tee $3 i32.const 15 i32.shr_u - local.get $2 + local.get $3 i32.xor i32.const -2048144777 i32.mul - local.tee $2 + local.tee $3 i32.const 13 i32.shr_u - local.get $2 + local.get $3 i32.xor i32.const -1028477379 i32.mul - local.tee $2 + local.tee $3 i32.const 16 i32.shr_u - local.get $2 + local.get $3 i32.xor i32.and i32.const 2 i32.shl i32.add i32.load - local.set $2 + local.set $3 block $__inlined_func$~lib/set/Set#find13 loop $while-continue|014 - local.get $2 + local.get $3 if - local.get $2 + local.get $3 i32.load offset=4 - local.tee $3 + local.tee $4 i32.const 1 i32.and if (result i32) i32.const 0 else - local.get $2 + local.get $3 i32.load16_u local.get $1 i32.const 65535 @@ -7269,19 +7229,17 @@ i32.eq end br_if $__inlined_func$~lib/set/Set#find13 - local.get $3 + local.get $4 i32.const -2 i32.and - local.set $2 + local.set $3 br $while-continue|014 end end i32.const 0 - local.set $2 + local.set $3 end - local.get $2 - i32.const 0 - i32.ne + local.get $3 i32.eqz if i32.const 0 @@ -7291,12 +7249,12 @@ call $~lib/builtins/abort unreachable end - local.get $4 + local.get $2 local.get $0 call $~lib/set/Set#delete - local.get $4 + local.get $2 i32.load - local.get $4 + local.get $2 i32.load offset=4 local.get $0 local.tee $1 @@ -7309,44 +7267,44 @@ i32.rotl i32.const 668265263 i32.mul - local.tee $2 + local.tee $3 i32.const 15 i32.shr_u - local.get $2 + local.get $3 i32.xor i32.const -2048144777 i32.mul - local.tee $2 + local.tee $3 i32.const 13 i32.shr_u - local.get $2 + local.get $3 i32.xor i32.const -1028477379 i32.mul - local.tee $2 + local.tee $3 i32.const 16 i32.shr_u - local.get $2 + local.get $3 i32.xor i32.and i32.const 2 i32.shl i32.add i32.load - local.set $2 + local.set $3 block $__inlined_func$~lib/set/Set#find16 loop $while-continue|017 - local.get $2 + local.get $3 if - local.get $2 + local.get $3 i32.load offset=4 - local.tee $3 + local.tee $4 i32.const 1 i32.and if (result i32) i32.const 0 else - local.get $2 + local.get $3 i32.load16_u local.get $1 i32.const 65535 @@ -7354,17 +7312,17 @@ i32.eq end br_if $__inlined_func$~lib/set/Set#find16 - local.get $3 + local.get $4 i32.const -2 i32.and - local.set $2 + local.set $3 br $while-continue|017 end end i32.const 0 - local.set $2 + local.set $3 end - local.get $2 + local.get $3 if i32.const 0 i32.const 1568 @@ -7380,7 +7338,7 @@ br $for-loop|6 end end - local.get $4 + local.get $2 i32.load offset=20 i32.const 50 i32.ne @@ -7400,9 +7358,9 @@ i32.const 50 i32.lt_s if - local.get $4 + local.get $2 i32.load - local.get $4 + local.get $2 i32.load offset=4 local.get $0 local.tee $1 @@ -7415,44 +7373,44 @@ i32.rotl i32.const 668265263 i32.mul - local.tee $2 + local.tee $3 i32.const 15 i32.shr_u - local.get $2 + local.get $3 i32.xor i32.const -2048144777 i32.mul - local.tee $2 + local.tee $3 i32.const 13 i32.shr_u - local.get $2 + local.get $3 i32.xor i32.const -1028477379 i32.mul - local.tee $2 + local.tee $3 i32.const 16 i32.shr_u - local.get $2 + local.get $3 i32.xor i32.and i32.const 2 i32.shl i32.add i32.load - local.set $2 + local.set $3 block $__inlined_func$~lib/set/Set#find19 loop $while-continue|020 - local.get $2 + local.get $3 if - local.get $2 + local.get $3 i32.load offset=4 - local.tee $3 + local.tee $4 i32.const 1 i32.and if (result i32) i32.const 0 else - local.get $2 + local.get $3 i32.load16_u local.get $1 i32.const 65535 @@ -7460,17 +7418,17 @@ i32.eq end br_if $__inlined_func$~lib/set/Set#find19 - local.get $3 + local.get $4 i32.const -2 i32.and - local.set $2 + local.set $3 br $while-continue|020 end end i32.const 0 - local.set $2 + local.set $3 end - local.get $2 + local.get $3 if i32.const 0 i32.const 1568 @@ -7479,12 +7437,12 @@ call $~lib/builtins/abort unreachable end - local.get $4 + local.get $2 local.get $0 call $~lib/set/Set#add - local.get $4 + local.get $2 i32.load - local.get $4 + local.get $2 i32.load offset=4 local.get $0 local.tee $1 @@ -7497,44 +7455,44 @@ i32.rotl i32.const 668265263 i32.mul - local.tee $2 + local.tee $3 i32.const 15 i32.shr_u - local.get $2 + local.get $3 i32.xor i32.const -2048144777 i32.mul - local.tee $2 + local.tee $3 i32.const 13 i32.shr_u - local.get $2 + local.get $3 i32.xor i32.const -1028477379 i32.mul - local.tee $2 + local.tee $3 i32.const 16 i32.shr_u - local.get $2 + local.get $3 i32.xor i32.and i32.const 2 i32.shl i32.add i32.load - local.set $2 + local.set $3 block $__inlined_func$~lib/set/Set#find22 loop $while-continue|023 - local.get $2 + local.get $3 if - local.get $2 + local.get $3 i32.load offset=4 - local.tee $3 + local.tee $4 i32.const 1 i32.and if (result i32) i32.const 0 else - local.get $2 + local.get $3 i32.load16_u local.get $1 i32.const 65535 @@ -7542,19 +7500,17 @@ i32.eq end br_if $__inlined_func$~lib/set/Set#find22 - local.get $3 + local.get $4 i32.const -2 i32.and - local.set $2 + local.set $3 br $while-continue|023 end end i32.const 0 - local.set $2 + local.set $3 end - local.get $2 - i32.const 0 - i32.ne + local.get $3 i32.eqz if i32.const 0 @@ -7564,12 +7520,12 @@ call $~lib/builtins/abort unreachable end - local.get $4 + local.get $2 local.get $0 call $~lib/set/Set#delete - local.get $4 + local.get $2 i32.load - local.get $4 + local.get $2 i32.load offset=4 local.get $0 local.tee $1 @@ -7582,44 +7538,44 @@ i32.rotl i32.const 668265263 i32.mul - local.tee $2 + local.tee $3 i32.const 15 i32.shr_u - local.get $2 + local.get $3 i32.xor i32.const -2048144777 i32.mul - local.tee $2 + local.tee $3 i32.const 13 i32.shr_u - local.get $2 + local.get $3 i32.xor i32.const -1028477379 i32.mul - local.tee $2 + local.tee $3 i32.const 16 i32.shr_u - local.get $2 + local.get $3 i32.xor i32.and i32.const 2 i32.shl i32.add i32.load - local.set $2 + local.set $3 block $__inlined_func$~lib/set/Set#find25 loop $while-continue|026 - local.get $2 + local.get $3 if - local.get $2 + local.get $3 i32.load offset=4 - local.tee $3 + local.tee $4 i32.const 1 i32.and if (result i32) i32.const 0 else - local.get $2 + local.get $3 i32.load16_u local.get $1 i32.const 65535 @@ -7627,17 +7583,17 @@ i32.eq end br_if $__inlined_func$~lib/set/Set#find25 - local.get $3 + local.get $4 i32.const -2 i32.and - local.set $2 + local.set $3 br $while-continue|026 end end i32.const 0 - local.set $2 + local.set $3 end - local.get $2 + local.get $3 if i32.const 0 i32.const 1568 @@ -7653,7 +7609,7 @@ br $for-loop|8 end end - local.get $4 + local.get $2 i32.load offset=20 i32.const 50 i32.ne @@ -7665,9 +7621,9 @@ call $~lib/builtins/abort unreachable end - local.get $4 + local.get $2 call $~lib/set/Set#clear - local.get $4 + local.get $2 i32.load offset=20 if i32.const 0 @@ -7768,8 +7724,6 @@ i32.store16 local.get $2 local.get $8 - i32.const 65535 - i32.and i32.const -1028477379 i32.mul i32.const 374761395 @@ -8161,9 +8115,6 @@ (local $6 i32) (local $7 i32) (local $8 i32) - (local $9 i32) - (local $10 i32) - (local $11 i32) global.get $~lib/memory/__stack_pointer i32.const 12 i32.sub @@ -8174,29 +8125,29 @@ i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer - local.tee $3 + local.tee $1 i64.const 0 i64.store - local.get $3 + local.get $1 i32.const 0 i32.store offset=8 - local.get $3 + local.get $1 call $~lib/set/Set#constructor - local.tee $4 + local.tee $2 i32.store loop $for-loop|1 - local.get $1 + local.get $0 i32.const 65535 i32.and i32.const 100 i32.lt_u if - local.get $4 + local.get $2 i32.load - local.get $4 + local.get $2 i32.load offset=4 - local.get $1 - local.tee $3 + local.get $0 + local.tee $1 i32.const 65535 i32.and i32.const -1028477379 @@ -8207,62 +8158,62 @@ i32.rotl i32.const 668265263 i32.mul - local.tee $5 + local.tee $4 i32.const 15 i32.shr_u - local.get $5 + local.get $4 i32.xor i32.const -2048144777 i32.mul - local.tee $5 + local.tee $4 i32.const 13 i32.shr_u - local.get $5 + local.get $4 i32.xor i32.const -1028477379 i32.mul - local.tee $5 + local.tee $4 i32.const 16 i32.shr_u - local.get $5 + local.get $4 i32.xor i32.and i32.const 2 i32.shl i32.add i32.load - local.set $5 + local.set $4 block $__inlined_func$~lib/set/Set#find loop $while-continue|0 - local.get $5 + local.get $4 if - local.get $5 + local.get $4 i32.load offset=4 - local.tee $6 + local.tee $5 i32.const 1 i32.and if (result i32) i32.const 0 else - local.get $5 + local.get $4 i32.load16_u - local.get $3 + local.get $1 i32.const 65535 i32.and i32.eq end br_if $__inlined_func$~lib/set/Set#find - local.get $6 + local.get $5 i32.const -2 i32.and - local.set $5 + local.set $4 br $while-continue|0 end end i32.const 0 - local.set $5 + local.set $4 end - local.get $5 + local.get $4 if i32.const 0 i32.const 1568 @@ -8271,15 +8222,15 @@ call $~lib/builtins/abort unreachable end - local.get $4 - local.get $1 + local.get $2 + local.get $0 call $~lib/set/Set#add - local.get $4 + local.get $2 i32.load - local.get $4 + local.get $2 i32.load offset=4 - local.get $1 - local.tee $3 + local.get $0 + local.tee $1 i32.const 65535 i32.and i32.const -1028477379 @@ -8290,64 +8241,62 @@ i32.rotl i32.const 668265263 i32.mul - local.tee $5 + local.tee $4 i32.const 15 i32.shr_u - local.get $5 + local.get $4 i32.xor i32.const -2048144777 i32.mul - local.tee $5 + local.tee $4 i32.const 13 i32.shr_u - local.get $5 + local.get $4 i32.xor i32.const -1028477379 i32.mul - local.tee $5 + local.tee $4 i32.const 16 i32.shr_u - local.get $5 + local.get $4 i32.xor i32.and i32.const 2 i32.shl i32.add i32.load - local.set $5 + local.set $4 block $__inlined_func$~lib/set/Set#find1 loop $while-continue|02 - local.get $5 + local.get $4 if - local.get $5 + local.get $4 i32.load offset=4 - local.tee $6 + local.tee $5 i32.const 1 i32.and if (result i32) i32.const 0 else - local.get $5 + local.get $4 i32.load16_u - local.get $3 + local.get $1 i32.const 65535 i32.and i32.eq end br_if $__inlined_func$~lib/set/Set#find1 - local.get $6 + local.get $5 i32.const -2 i32.and - local.set $5 + local.set $4 br $while-continue|02 end end i32.const 0 - local.set $5 + local.set $4 end - local.get $5 - i32.const 0 - i32.ne + local.get $4 i32.eqz if i32.const 0 @@ -8357,14 +8306,14 @@ call $~lib/builtins/abort unreachable end - local.get $1 + local.get $0 i32.const 1 i32.add - local.set $1 + local.set $0 br $for-loop|1 end end - local.get $4 + local.get $2 i32.load offset=20 i32.const 100 i32.ne @@ -8377,20 +8326,20 @@ unreachable end i32.const 50 - local.set $1 + local.set $0 loop $for-loop|3 - local.get $1 + local.get $0 i32.const 65535 i32.and i32.const 100 i32.lt_u if - local.get $4 + local.get $2 i32.load - local.get $4 + local.get $2 i32.load offset=4 - local.get $1 - local.tee $3 + local.get $0 + local.tee $1 i32.const 65535 i32.and i32.const -1028477379 @@ -8401,64 +8350,62 @@ i32.rotl i32.const 668265263 i32.mul - local.tee $5 + local.tee $4 i32.const 15 i32.shr_u - local.get $5 + local.get $4 i32.xor i32.const -2048144777 i32.mul - local.tee $5 + local.tee $4 i32.const 13 i32.shr_u - local.get $5 + local.get $4 i32.xor i32.const -1028477379 i32.mul - local.tee $5 + local.tee $4 i32.const 16 i32.shr_u - local.get $5 + local.get $4 i32.xor i32.and i32.const 2 i32.shl i32.add i32.load - local.set $5 + local.set $4 block $__inlined_func$~lib/set/Set#find4 loop $while-continue|05 - local.get $5 + local.get $4 if - local.get $5 + local.get $4 i32.load offset=4 - local.tee $6 + local.tee $5 i32.const 1 i32.and if (result i32) i32.const 0 else - local.get $5 + local.get $4 i32.load16_u - local.get $3 + local.get $1 i32.const 65535 i32.and i32.eq end br_if $__inlined_func$~lib/set/Set#find4 - local.get $6 + local.get $5 i32.const -2 i32.and - local.set $5 + local.set $4 br $while-continue|05 end end i32.const 0 - local.set $5 + local.set $4 end - local.get $5 - i32.const 0 - i32.ne + local.get $4 i32.eqz if i32.const 0 @@ -8468,15 +8415,15 @@ call $~lib/builtins/abort unreachable end - local.get $4 - local.get $1 + local.get $2 + local.get $0 call $~lib/set/Set#add - local.get $4 + local.get $2 i32.load - local.get $4 + local.get $2 i32.load offset=4 - local.get $1 - local.tee $3 + local.get $0 + local.tee $1 i32.const 65535 i32.and i32.const -1028477379 @@ -8487,64 +8434,62 @@ i32.rotl i32.const 668265263 i32.mul - local.tee $5 + local.tee $4 i32.const 15 i32.shr_u - local.get $5 + local.get $4 i32.xor i32.const -2048144777 i32.mul - local.tee $5 + local.tee $4 i32.const 13 i32.shr_u - local.get $5 + local.get $4 i32.xor i32.const -1028477379 i32.mul - local.tee $5 + local.tee $4 i32.const 16 i32.shr_u - local.get $5 + local.get $4 i32.xor i32.and i32.const 2 i32.shl i32.add i32.load - local.set $5 + local.set $4 block $__inlined_func$~lib/set/Set#find7 loop $while-continue|08 - local.get $5 + local.get $4 if - local.get $5 + local.get $4 i32.load offset=4 - local.tee $6 + local.tee $5 i32.const 1 i32.and if (result i32) i32.const 0 else - local.get $5 + local.get $4 i32.load16_u - local.get $3 + local.get $1 i32.const 65535 i32.and i32.eq end br_if $__inlined_func$~lib/set/Set#find7 - local.get $6 + local.get $5 i32.const -2 i32.and - local.set $5 + local.set $4 br $while-continue|08 end end i32.const 0 - local.set $5 + local.set $4 end - local.get $5 - i32.const 0 - i32.ne + local.get $4 i32.eqz if i32.const 0 @@ -8554,14 +8499,14 @@ call $~lib/builtins/abort unreachable end - local.get $1 + local.get $0 i32.const 1 i32.add - local.set $1 + local.set $0 br $for-loop|3 end end - local.get $4 + local.get $2 i32.load offset=20 i32.const 100 i32.ne @@ -8574,7 +8519,7 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $6 + local.tee $4 i32.const 4 i32.sub global.set $~lib/memory/__stack_pointer @@ -8583,17 +8528,16 @@ i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer - local.tee $7 + local.tee $0 i32.const 0 i32.store - local.get $4 + local.get $2 i32.load offset=8 local.set $5 - local.get $4 + local.get $2 i32.load offset=16 - local.tee $3 - local.set $9 - local.get $7 + local.set $1 + local.get $0 i32.const 8 i32.sub global.set $~lib/memory/__stack_pointer @@ -8602,28 +8546,28 @@ i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer - local.tee $1 + local.tee $6 i64.const 0 i64.store - local.get $1 + local.get $6 i32.const 16 i32.const 10 call $~lib/rt/itcms/__new - local.tee $10 + local.tee $6 i32.store - local.get $10 + local.get $6 i32.const 0 i32.store - local.get $10 + local.get $6 i32.const 0 i32.store offset=4 - local.get $10 + local.get $6 i32.const 0 i32.store offset=8 - local.get $10 + local.get $6 i32.const 0 i32.store offset=12 - local.get $9 + local.get $1 i32.const 536870910 i32.gt_u if @@ -8635,50 +8579,52 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $9 + local.get $1 i32.const 8 - local.get $9 + local.get $1 i32.const 8 i32.gt_u select i32.const 1 i32.shl - local.tee $1 + local.tee $7 i32.const 0 call $~lib/rt/itcms/__new - local.tee $11 + local.tee $8 i32.store offset=4 - local.get $10 - local.get $11 + local.get $6 + local.get $8 i32.store - local.get $11 + local.get $8 if - local.get $10 - local.get $11 + local.get $6 + local.get $8 call $byn-split-outlined-A$~lib/rt/itcms/__link end - local.get $10 - local.get $11 + local.get $6 + local.get $8 i32.store offset=4 - local.get $10 - local.get $1 + local.get $6 + local.get $7 i32.store offset=8 - local.get $10 - local.get $9 + local.get $6 + local.get $1 i32.store offset=12 global.get $~lib/memory/__stack_pointer i32.const 8 i32.add global.set $~lib/memory/__stack_pointer - local.get $7 - local.get $10 + local.get $0 + local.get $6 i32.store + i32.const 0 + local.set $0 loop $for-loop|0 + local.get $1 local.get $3 - local.get $8 i32.gt_s if - local.get $8 + local.get $3 i32.const 3 i32.shl local.get $5 @@ -8689,58 +8635,59 @@ i32.and i32.eqz if - local.get $2 - local.tee $1 - i32.const 1 - i32.add - local.set $2 - local.get $10 - local.get $1 + local.get $6 + local.get $0 local.get $7 i32.load16_u call $~lib/array/Array#__set + local.get $0 + i32.const 1 + i32.add + local.set $0 end - local.get $8 + local.get $3 i32.const 1 i32.add - local.set $8 + local.set $3 br $for-loop|0 end end - local.get $10 - local.get $2 + local.get $6 + local.get $0 i32.const 1 i32.const 0 call $~lib/array/ensureCapacity - local.get $10 - local.get $2 + local.get $6 + 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 $4 local.get $6 - local.get $10 i32.store offset=4 global.get $~lib/memory/__stack_pointer call $~lib/set/Set#constructor - local.tee $3 + local.tee $4 i32.store offset=8 + i32.const 0 + local.set $0 loop $for-loop|4 - local.get $10 + local.get $6 i32.load offset=12 local.get $0 i32.gt_s if - local.get $10 + local.get $6 local.get $0 call $~lib/array/Array#__get - local.set $2 - local.get $4 + local.set $3 + local.get $2 i32.load - local.get $4 - i32.load offset=4 local.get $2 + i32.load offset=4 + local.get $3 i32.const 65535 i32.and i32.const -1028477379 @@ -8790,7 +8737,7 @@ else local.get $1 i32.load16_u - local.get $2 + local.get $3 i32.const 65535 i32.and i32.eq @@ -8807,8 +8754,6 @@ local.set $1 end local.get $1 - i32.const 0 - i32.ne i32.eqz if i32.const 0 @@ -8818,8 +8763,8 @@ call $~lib/builtins/abort unreachable end - local.get $3 - local.get $10 + local.get $4 + local.get $6 local.get $0 call $~lib/array/Array#__get call $~lib/set/Set#add @@ -8830,10 +8775,10 @@ br $for-loop|4 end end - local.get $3 - i32.load offset=20 local.get $4 i32.load offset=20 + local.get $2 + i32.load offset=20 i32.ne if i32.const 0 @@ -8852,9 +8797,9 @@ i32.const 50 i32.lt_u if - local.get $4 + local.get $2 i32.load - local.get $4 + local.get $2 i32.load offset=4 local.get $0 local.tee $1 @@ -8868,44 +8813,44 @@ i32.rotl i32.const 668265263 i32.mul - local.tee $2 + local.tee $3 i32.const 15 i32.shr_u - local.get $2 + local.get $3 i32.xor i32.const -2048144777 i32.mul - local.tee $2 + local.tee $3 i32.const 13 i32.shr_u - local.get $2 + local.get $3 i32.xor i32.const -1028477379 i32.mul - local.tee $2 + local.tee $3 i32.const 16 i32.shr_u - local.get $2 + local.get $3 i32.xor i32.and i32.const 2 i32.shl i32.add i32.load - local.set $2 + local.set $3 block $__inlined_func$~lib/set/Set#find13 loop $while-continue|014 - local.get $2 + local.get $3 if - local.get $2 + local.get $3 i32.load offset=4 - local.tee $3 + local.tee $4 i32.const 1 i32.and if (result i32) i32.const 0 else - local.get $2 + local.get $3 i32.load16_u local.get $1 i32.const 65535 @@ -8913,19 +8858,17 @@ i32.eq end br_if $__inlined_func$~lib/set/Set#find13 - local.get $3 + local.get $4 i32.const -2 i32.and - local.set $2 + local.set $3 br $while-continue|014 end end i32.const 0 - local.set $2 + local.set $3 end - local.get $2 - i32.const 0 - i32.ne + local.get $3 i32.eqz if i32.const 0 @@ -8935,12 +8878,12 @@ call $~lib/builtins/abort unreachable end - local.get $4 + local.get $2 local.get $0 call $~lib/set/Set#delete - local.get $4 + local.get $2 i32.load - local.get $4 + local.get $2 i32.load offset=4 local.get $0 local.tee $1 @@ -8954,44 +8897,44 @@ i32.rotl i32.const 668265263 i32.mul - local.tee $2 + local.tee $3 i32.const 15 i32.shr_u - local.get $2 + local.get $3 i32.xor i32.const -2048144777 i32.mul - local.tee $2 + local.tee $3 i32.const 13 i32.shr_u - local.get $2 + local.get $3 i32.xor i32.const -1028477379 i32.mul - local.tee $2 + local.tee $3 i32.const 16 i32.shr_u - local.get $2 + local.get $3 i32.xor i32.and i32.const 2 i32.shl i32.add i32.load - local.set $2 + local.set $3 block $__inlined_func$~lib/set/Set#find16 loop $while-continue|017 - local.get $2 + local.get $3 if - local.get $2 + local.get $3 i32.load offset=4 - local.tee $3 + local.tee $4 i32.const 1 i32.and if (result i32) i32.const 0 else - local.get $2 + local.get $3 i32.load16_u local.get $1 i32.const 65535 @@ -8999,17 +8942,17 @@ i32.eq end br_if $__inlined_func$~lib/set/Set#find16 - local.get $3 + local.get $4 i32.const -2 i32.and - local.set $2 + local.set $3 br $while-continue|017 end end i32.const 0 - local.set $2 + local.set $3 end - local.get $2 + local.get $3 if i32.const 0 i32.const 1568 @@ -9025,7 +8968,7 @@ br $for-loop|6 end end - local.get $4 + local.get $2 i32.load offset=20 i32.const 50 i32.ne @@ -9046,9 +8989,9 @@ i32.const 50 i32.lt_u if - local.get $4 + local.get $2 i32.load - local.get $4 + local.get $2 i32.load offset=4 local.get $0 local.tee $1 @@ -9062,44 +9005,44 @@ i32.rotl i32.const 668265263 i32.mul - local.tee $2 + local.tee $3 i32.const 15 i32.shr_u - local.get $2 + local.get $3 i32.xor i32.const -2048144777 i32.mul - local.tee $2 + local.tee $3 i32.const 13 i32.shr_u - local.get $2 + local.get $3 i32.xor i32.const -1028477379 i32.mul - local.tee $2 + local.tee $3 i32.const 16 i32.shr_u - local.get $2 + local.get $3 i32.xor i32.and i32.const 2 i32.shl i32.add i32.load - local.set $2 + local.set $3 block $__inlined_func$~lib/set/Set#find19 loop $while-continue|020 - local.get $2 + local.get $3 if - local.get $2 + local.get $3 i32.load offset=4 - local.tee $3 + local.tee $4 i32.const 1 i32.and if (result i32) i32.const 0 else - local.get $2 + local.get $3 i32.load16_u local.get $1 i32.const 65535 @@ -9107,17 +9050,17 @@ i32.eq end br_if $__inlined_func$~lib/set/Set#find19 - local.get $3 + local.get $4 i32.const -2 i32.and - local.set $2 + local.set $3 br $while-continue|020 end end i32.const 0 - local.set $2 + local.set $3 end - local.get $2 + local.get $3 if i32.const 0 i32.const 1568 @@ -9126,12 +9069,12 @@ call $~lib/builtins/abort unreachable end - local.get $4 + local.get $2 local.get $0 call $~lib/set/Set#add - local.get $4 + local.get $2 i32.load - local.get $4 + local.get $2 i32.load offset=4 local.get $0 local.tee $1 @@ -9145,44 +9088,44 @@ i32.rotl i32.const 668265263 i32.mul - local.tee $2 + local.tee $3 i32.const 15 i32.shr_u - local.get $2 + local.get $3 i32.xor i32.const -2048144777 i32.mul - local.tee $2 + local.tee $3 i32.const 13 i32.shr_u - local.get $2 + local.get $3 i32.xor i32.const -1028477379 i32.mul - local.tee $2 + local.tee $3 i32.const 16 i32.shr_u - local.get $2 + local.get $3 i32.xor i32.and i32.const 2 i32.shl i32.add i32.load - local.set $2 + local.set $3 block $__inlined_func$~lib/set/Set#find22 loop $while-continue|023 - local.get $2 + local.get $3 if - local.get $2 + local.get $3 i32.load offset=4 - local.tee $3 + local.tee $4 i32.const 1 i32.and if (result i32) i32.const 0 else - local.get $2 + local.get $3 i32.load16_u local.get $1 i32.const 65535 @@ -9190,19 +9133,17 @@ i32.eq end br_if $__inlined_func$~lib/set/Set#find22 - local.get $3 + local.get $4 i32.const -2 i32.and - local.set $2 + local.set $3 br $while-continue|023 end end i32.const 0 - local.set $2 + local.set $3 end - local.get $2 - i32.const 0 - i32.ne + local.get $3 i32.eqz if i32.const 0 @@ -9212,12 +9153,12 @@ call $~lib/builtins/abort unreachable end - local.get $4 + local.get $2 local.get $0 call $~lib/set/Set#delete - local.get $4 + local.get $2 i32.load - local.get $4 + local.get $2 i32.load offset=4 local.get $0 local.tee $1 @@ -9231,44 +9172,44 @@ i32.rotl i32.const 668265263 i32.mul - local.tee $2 + local.tee $3 i32.const 15 i32.shr_u - local.get $2 + local.get $3 i32.xor i32.const -2048144777 i32.mul - local.tee $2 + local.tee $3 i32.const 13 i32.shr_u - local.get $2 + local.get $3 i32.xor i32.const -1028477379 i32.mul - local.tee $2 + local.tee $3 i32.const 16 i32.shr_u - local.get $2 + local.get $3 i32.xor i32.and i32.const 2 i32.shl i32.add i32.load - local.set $2 + local.set $3 block $__inlined_func$~lib/set/Set#find25 loop $while-continue|026 - local.get $2 + local.get $3 if - local.get $2 + local.get $3 i32.load offset=4 - local.tee $3 + local.tee $4 i32.const 1 i32.and if (result i32) i32.const 0 else - local.get $2 + local.get $3 i32.load16_u local.get $1 i32.const 65535 @@ -9276,17 +9217,17 @@ i32.eq end br_if $__inlined_func$~lib/set/Set#find25 - local.get $3 + local.get $4 i32.const -2 i32.and - local.set $2 + local.set $3 br $while-continue|026 end end i32.const 0 - local.set $2 + local.set $3 end - local.get $2 + local.get $3 if i32.const 0 i32.const 1568 @@ -9302,7 +9243,7 @@ br $for-loop|8 end end - local.get $4 + local.get $2 i32.load offset=20 i32.const 50 i32.ne @@ -9314,9 +9255,9 @@ call $~lib/builtins/abort unreachable end - local.get $4 + local.get $2 call $~lib/set/Set#clear - local.get $4 + local.get $2 i32.load offset=20 if i32.const 0 @@ -9839,8 +9780,6 @@ (local $6 i32) (local $7 i32) (local $8 i32) - (local $9 i32) - (local $10 i32) global.get $~lib/memory/__stack_pointer i32.const 12 i32.sub @@ -9851,24 +9790,24 @@ i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer - local.tee $3 + local.tee $1 i64.const 0 i64.store - local.get $3 + local.get $1 i32.const 0 i32.store offset=8 - local.get $3 + local.get $1 call $~lib/set/Set#constructor - local.tee $4 + local.tee $2 i32.store loop $for-loop|0 local.get $0 i32.const 100 i32.lt_s if - local.get $4 + local.get $2 i32.load - local.get $4 + local.get $2 i32.load offset=4 local.get $0 i32.const -1028477379 @@ -9879,22 +9818,22 @@ i32.rotl i32.const 668265263 i32.mul - local.tee $3 - local.get $3 + local.tee $1 + local.get $1 i32.const 15 i32.shr_u i32.xor i32.const -2048144777 i32.mul - local.tee $3 - local.get $3 + local.tee $1 + local.get $1 i32.const 13 i32.shr_u i32.xor i32.const -1028477379 i32.mul - local.tee $3 - local.get $3 + local.tee $1 + local.get $1 i32.const 16 i32.shr_u i32.xor @@ -9903,36 +9842,36 @@ i32.shl i32.add i32.load - local.set $3 + local.set $1 block $__inlined_func$~lib/set/Set#find loop $while-continue|0 - local.get $3 + local.get $1 if - local.get $3 + local.get $1 i32.load offset=4 - local.tee $6 + local.tee $4 i32.const 1 i32.and if (result i32) i32.const 0 else local.get $0 - local.get $3 + local.get $1 i32.load i32.eq end br_if $__inlined_func$~lib/set/Set#find - local.get $6 + local.get $4 i32.const -2 i32.and - local.set $3 + local.set $1 br $while-continue|0 end end i32.const 0 - local.set $3 + local.set $1 end - local.get $3 + local.get $1 if i32.const 0 i32.const 1568 @@ -9941,15 +9880,14 @@ call $~lib/builtins/abort unreachable end - local.get $4 + local.get $2 local.get $0 call $~lib/set/Set#add - local.get $4 + local.get $2 i32.load - local.get $4 + local.get $2 i32.load offset=4 local.get $0 - local.tee $3 i32.const -1028477379 i32.mul i32.const 374761397 @@ -9958,22 +9896,22 @@ i32.rotl i32.const 668265263 i32.mul - local.tee $0 - local.get $0 + local.tee $1 + local.get $1 i32.const 15 i32.shr_u i32.xor i32.const -2048144777 i32.mul - local.tee $0 - local.get $0 + local.tee $1 + local.get $1 i32.const 13 i32.shr_u i32.xor i32.const -1028477379 i32.mul - local.tee $0 - local.get $0 + local.tee $1 + local.get $1 i32.const 16 i32.shr_u i32.xor @@ -9982,36 +9920,36 @@ i32.shl i32.add i32.load - local.set $0 + local.set $1 block $__inlined_func$~lib/set/Set#find1 loop $while-continue|02 - local.get $0 + local.get $1 if - local.get $0 + local.get $1 i32.load offset=4 - local.tee $6 + local.tee $4 i32.const 1 i32.and if (result i32) i32.const 0 else - local.get $3 local.get $0 + local.get $1 i32.load i32.eq end br_if $__inlined_func$~lib/set/Set#find1 - local.get $6 + local.get $4 i32.const -2 i32.and - local.set $0 + local.set $1 br $while-continue|02 end end i32.const 0 - local.set $0 + local.set $1 end - local.get $0 + local.get $1 i32.eqz if i32.const 0 @@ -10021,14 +9959,14 @@ call $~lib/builtins/abort unreachable end - local.get $3 + local.get $0 i32.const 1 i32.add local.set $0 br $for-loop|0 end end - local.get $4 + local.get $2 i32.load offset=20 i32.const 100 i32.ne @@ -10047,9 +9985,9 @@ i32.const 100 i32.lt_s if - local.get $4 + local.get $2 i32.load - local.get $4 + local.get $2 i32.load offset=4 local.get $0 i32.const -1028477379 @@ -10060,22 +9998,22 @@ i32.rotl i32.const 668265263 i32.mul - local.tee $3 - local.get $3 + local.tee $1 + local.get $1 i32.const 15 i32.shr_u i32.xor i32.const -2048144777 i32.mul - local.tee $3 - local.get $3 + local.tee $1 + local.get $1 i32.const 13 i32.shr_u i32.xor i32.const -1028477379 i32.mul - local.tee $3 - local.get $3 + local.tee $1 + local.get $1 i32.const 16 i32.shr_u i32.xor @@ -10084,36 +10022,36 @@ i32.shl i32.add i32.load - local.set $3 + local.set $1 block $__inlined_func$~lib/set/Set#find4 loop $while-continue|05 - local.get $3 + local.get $1 if - local.get $3 + local.get $1 i32.load offset=4 - local.tee $6 + local.tee $4 i32.const 1 i32.and if (result i32) i32.const 0 else local.get $0 - local.get $3 + local.get $1 i32.load i32.eq end br_if $__inlined_func$~lib/set/Set#find4 - local.get $6 + local.get $4 i32.const -2 i32.and - local.set $3 + local.set $1 br $while-continue|05 end end i32.const 0 - local.set $3 + local.set $1 end - local.get $3 + local.get $1 i32.eqz if i32.const 0 @@ -10123,15 +10061,14 @@ call $~lib/builtins/abort unreachable end - local.get $4 + local.get $2 local.get $0 call $~lib/set/Set#add - local.get $4 + local.get $2 i32.load - local.get $4 + local.get $2 i32.load offset=4 local.get $0 - local.tee $3 i32.const -1028477379 i32.mul i32.const 374761397 @@ -10140,22 +10077,22 @@ i32.rotl i32.const 668265263 i32.mul - local.tee $0 - local.get $0 + local.tee $1 + local.get $1 i32.const 15 i32.shr_u i32.xor i32.const -2048144777 i32.mul - local.tee $0 - local.get $0 + local.tee $1 + local.get $1 i32.const 13 i32.shr_u i32.xor i32.const -1028477379 i32.mul - local.tee $0 - local.get $0 + local.tee $1 + local.get $1 i32.const 16 i32.shr_u i32.xor @@ -10164,36 +10101,36 @@ i32.shl i32.add i32.load - local.set $0 + local.set $1 block $__inlined_func$~lib/set/Set#find7 loop $while-continue|08 - local.get $0 + local.get $1 if - local.get $0 + local.get $1 i32.load offset=4 - local.tee $6 + local.tee $4 i32.const 1 i32.and if (result i32) i32.const 0 else - local.get $3 local.get $0 + local.get $1 i32.load i32.eq end br_if $__inlined_func$~lib/set/Set#find7 - local.get $6 + local.get $4 i32.const -2 i32.and - local.set $0 + local.set $1 br $while-continue|08 end end i32.const 0 - local.set $0 + local.set $1 end - local.get $0 + local.get $1 i32.eqz if i32.const 0 @@ -10203,14 +10140,14 @@ call $~lib/builtins/abort unreachable end - local.get $3 + local.get $0 i32.const 1 i32.add local.set $0 br $for-loop|1 end end - local.get $4 + local.get $2 i32.load offset=20 i32.const 100 i32.ne @@ -10223,7 +10160,7 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $7 + local.tee $1 i32.const 4 i32.sub global.set $~lib/memory/__stack_pointer @@ -10232,16 +10169,16 @@ i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer - local.tee $8 + local.tee $4 i32.const 0 i32.store - local.get $4 + local.get $2 i32.load offset=8 - local.set $9 - local.get $4 + local.set $5 + local.get $2 i32.load offset=16 - local.set $3 - local.get $8 + local.set $6 + local.get $4 i32.const 8 i32.sub global.set $~lib/memory/__stack_pointer @@ -10257,21 +10194,21 @@ i32.const 16 i32.const 12 call $~lib/rt/itcms/__new - local.tee $6 + local.tee $7 i32.store - local.get $6 + local.get $7 i32.const 0 i32.store - local.get $6 + local.get $7 i32.const 0 i32.store offset=4 - local.get $6 + local.get $7 i32.const 0 i32.store offset=8 - local.get $6 + local.get $7 i32.const 0 i32.store offset=12 - local.get $3 + local.get $6 i32.const 268435455 i32.gt_u if @@ -10283,107 +10220,110 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $3 + local.get $6 i32.const 8 - local.get $3 + local.get $6 i32.const 8 i32.gt_u select i32.const 2 i32.shl - local.tee $10 + local.tee $8 i32.const 0 call $~lib/rt/itcms/__new local.tee $0 i32.store offset=4 - local.get $6 + local.get $7 local.get $0 i32.store local.get $0 if - local.get $6 + local.get $7 local.get $0 call $byn-split-outlined-A$~lib/rt/itcms/__link end - local.get $6 + local.get $7 local.get $0 i32.store offset=4 - local.get $6 - local.get $10 + local.get $7 + local.get $8 i32.store offset=8 + local.get $7 local.get $6 - local.get $3 i32.store offset=12 global.get $~lib/memory/__stack_pointer i32.const 8 i32.add global.set $~lib/memory/__stack_pointer - local.get $8 - local.get $6 + local.get $4 + local.get $7 i32.store + i32.const 0 + local.set $0 loop $for-loop|02 local.get $3 - local.get $5 - i32.gt_s + local.get $6 + i32.lt_s if - local.get $5 + local.get $3 i32.const 3 i32.shl - local.get $9 + local.get $5 i32.add - local.tee $8 + local.tee $4 i32.load offset=4 i32.const 1 i32.and i32.eqz if - local.get $2 - local.tee $0 - i32.const 1 - i32.add - local.set $2 - local.get $6 + local.get $7 local.get $0 - local.get $8 + local.get $4 i32.load call $~lib/array/Array#__set + local.get $0 + i32.const 1 + i32.add + local.set $0 end - local.get $5 + local.get $3 i32.const 1 i32.add - local.set $5 + local.set $3 br $for-loop|02 end end - local.get $6 - local.get $2 + local.get $7 + local.get $0 i32.const 2 i32.const 0 call $~lib/array/ensureCapacity - local.get $6 - local.get $2 + local.get $7 + local.get $0 i32.store offset=12 global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer + local.get $1 local.get $7 - local.get $6 i32.store offset=4 global.get $~lib/memory/__stack_pointer call $~lib/set/Set#constructor - local.tee $0 + local.tee $3 i32.store offset=8 + i32.const 0 + local.set $0 loop $for-loop|2 - local.get $6 + local.get $7 i32.load offset=12 - local.get $1 + local.get $0 i32.gt_s if - local.get $6 - local.get $1 + local.get $7 + local.get $0 call $~lib/array/Array#__get - local.tee $3 + local.tee $4 i32.const -1028477379 i32.mul i32.const 374761397 @@ -10392,27 +10332,27 @@ i32.rotl i32.const 668265263 i32.mul - local.tee $2 - local.get $2 + local.tee $1 + local.get $1 i32.const 15 i32.shr_u i32.xor i32.const -2048144777 i32.mul - local.tee $2 - local.get $2 + local.tee $1 + local.get $1 i32.const 13 i32.shr_u i32.xor i32.const -1028477379 i32.mul - local.set $2 - local.get $4 - i32.load - local.get $4 - i32.load offset=4 + local.set $1 local.get $2 + i32.load local.get $2 + i32.load offset=4 + local.get $1 + local.get $1 i32.const 16 i32.shr_u i32.xor @@ -10421,12 +10361,12 @@ i32.shl i32.add i32.load - local.set $2 + local.set $1 block $__inlined_func$~lib/set/Set#find10 loop $while-continue|011 - local.get $2 + local.get $1 if - local.get $2 + local.get $1 i32.load offset=4 local.tee $5 i32.const 1 @@ -10434,8 +10374,8 @@ if (result i32) i32.const 0 else - local.get $3 - local.get $2 + local.get $4 + local.get $1 i32.load i32.eq end @@ -10443,14 +10383,14 @@ local.get $5 i32.const -2 i32.and - local.set $2 + local.set $1 br $while-continue|011 end end i32.const 0 - local.set $2 + local.set $1 end - local.get $2 + local.get $1 i32.eqz if i32.const 0 @@ -10460,21 +10400,21 @@ call $~lib/builtins/abort unreachable end + local.get $3 + local.get $7 local.get $0 - local.get $6 - local.get $1 call $~lib/array/Array#__get call $~lib/set/Set#add - local.get $1 + local.get $0 i32.const 1 i32.add - local.set $1 + local.set $0 br $for-loop|2 end end - local.get $0 + local.get $3 i32.load offset=20 - local.get $4 + local.get $2 i32.load offset=20 i32.ne if @@ -10486,17 +10426,17 @@ unreachable end i32.const 0 - local.set $1 + local.set $0 loop $for-loop|3 - local.get $1 + local.get $0 i32.const 50 i32.lt_s if - local.get $4 + local.get $2 i32.load - local.get $4 + local.get $2 i32.load offset=4 - local.get $1 + local.get $0 i32.const -1028477379 i32.mul i32.const 374761397 @@ -10505,22 +10445,22 @@ i32.rotl i32.const 668265263 i32.mul - local.tee $0 - local.get $0 + local.tee $1 + local.get $1 i32.const 15 i32.shr_u i32.xor i32.const -2048144777 i32.mul - local.tee $0 - local.get $0 + local.tee $1 + local.get $1 i32.const 13 i32.shr_u i32.xor i32.const -1028477379 i32.mul - local.tee $0 - local.get $0 + local.tee $1 + local.get $1 i32.const 16 i32.shr_u i32.xor @@ -10529,36 +10469,36 @@ i32.shl i32.add i32.load - local.set $0 + local.set $1 block $__inlined_func$~lib/set/Set#find13 loop $while-continue|014 - local.get $0 + local.get $1 if - local.get $0 + local.get $1 i32.load offset=4 - local.tee $2 + local.tee $3 i32.const 1 i32.and if (result i32) i32.const 0 else - local.get $1 local.get $0 + local.get $1 i32.load i32.eq end br_if $__inlined_func$~lib/set/Set#find13 - local.get $2 + local.get $3 i32.const -2 i32.and - local.set $0 + local.set $1 br $while-continue|014 end end i32.const 0 - local.set $0 + local.set $1 end - local.get $0 + local.get $1 i32.eqz if i32.const 0 @@ -10568,15 +10508,14 @@ call $~lib/builtins/abort unreachable end - local.get $4 - local.get $1 + local.get $2 + local.get $0 call $~lib/set/Set#delete - local.get $4 + local.get $2 i32.load - local.get $4 + local.get $2 i32.load offset=4 - local.get $1 - local.tee $0 + local.get $0 i32.const -1028477379 i32.mul i32.const 374761397 @@ -10616,7 +10555,7 @@ if local.get $1 i32.load offset=4 - local.tee $2 + local.tee $3 i32.const 1 i32.and if (result i32) @@ -10628,7 +10567,7 @@ i32.eq end br_if $__inlined_func$~lib/set/Set#find16 - local.get $2 + local.get $3 i32.const -2 i32.and local.set $1 @@ -10650,11 +10589,11 @@ local.get $0 i32.const 1 i32.add - local.set $1 + local.set $0 br $for-loop|3 end end - local.get $4 + local.get $2 i32.load offset=20 i32.const 50 i32.ne @@ -10667,17 +10606,17 @@ unreachable end i32.const 0 - local.set $1 + local.set $0 loop $for-loop|4 - local.get $1 + local.get $0 i32.const 50 i32.lt_s if - local.get $4 + local.get $2 i32.load - local.get $4 + local.get $2 i32.load offset=4 - local.get $1 + local.get $0 i32.const -1028477379 i32.mul i32.const 374761397 @@ -10686,22 +10625,22 @@ i32.rotl i32.const 668265263 i32.mul - local.tee $0 - local.get $0 + local.tee $1 + local.get $1 i32.const 15 i32.shr_u i32.xor i32.const -2048144777 i32.mul - local.tee $0 - local.get $0 + local.tee $1 + local.get $1 i32.const 13 i32.shr_u i32.xor i32.const -1028477379 i32.mul - local.tee $0 - local.get $0 + local.tee $1 + local.get $1 i32.const 16 i32.shr_u i32.xor @@ -10710,36 +10649,36 @@ i32.shl i32.add i32.load - local.set $0 + local.set $1 block $__inlined_func$~lib/set/Set#find19 loop $while-continue|020 - local.get $0 + local.get $1 if - local.get $0 + local.get $1 i32.load offset=4 - local.tee $2 + local.tee $3 i32.const 1 i32.and if (result i32) i32.const 0 else - local.get $1 local.get $0 + local.get $1 i32.load i32.eq end br_if $__inlined_func$~lib/set/Set#find19 - local.get $2 + local.get $3 i32.const -2 i32.and - local.set $0 + local.set $1 br $while-continue|020 end end i32.const 0 - local.set $0 + local.set $1 end - local.get $0 + local.get $1 if i32.const 0 i32.const 1568 @@ -10748,14 +10687,14 @@ call $~lib/builtins/abort unreachable end - local.get $4 - local.get $1 + local.get $2 + local.get $0 call $~lib/set/Set#add - local.get $4 + local.get $2 i32.load - local.get $4 + local.get $2 i32.load offset=4 - local.get $1 + local.get $0 i32.const -1028477379 i32.mul i32.const 374761397 @@ -10764,22 +10703,22 @@ i32.rotl i32.const 668265263 i32.mul - local.tee $0 - local.get $0 + local.tee $1 + local.get $1 i32.const 15 i32.shr_u i32.xor i32.const -2048144777 i32.mul - local.tee $0 - local.get $0 + local.tee $1 + local.get $1 i32.const 13 i32.shr_u i32.xor i32.const -1028477379 i32.mul - local.tee $0 - local.get $0 + local.tee $1 + local.get $1 i32.const 16 i32.shr_u i32.xor @@ -10788,36 +10727,36 @@ i32.shl i32.add i32.load - local.set $0 + local.set $1 block $__inlined_func$~lib/set/Set#find22 loop $while-continue|023 - local.get $0 + local.get $1 if - local.get $0 + local.get $1 i32.load offset=4 - local.tee $2 + local.tee $3 i32.const 1 i32.and if (result i32) i32.const 0 else - local.get $1 local.get $0 + local.get $1 i32.load i32.eq end br_if $__inlined_func$~lib/set/Set#find22 - local.get $2 + local.get $3 i32.const -2 i32.and - local.set $0 + local.set $1 br $while-continue|023 end end i32.const 0 - local.set $0 + local.set $1 end - local.get $0 + local.get $1 i32.eqz if i32.const 0 @@ -10827,15 +10766,14 @@ call $~lib/builtins/abort unreachable end - local.get $4 - local.get $1 + local.get $2 + local.get $0 call $~lib/set/Set#delete - local.get $4 + local.get $2 i32.load - local.get $4 + local.get $2 i32.load offset=4 - local.get $1 - local.tee $0 + local.get $0 i32.const -1028477379 i32.mul i32.const 374761397 @@ -10875,7 +10813,7 @@ if local.get $1 i32.load offset=4 - local.tee $2 + local.tee $3 i32.const 1 i32.and if (result i32) @@ -10887,7 +10825,7 @@ i32.eq end br_if $__inlined_func$~lib/set/Set#find25 - local.get $2 + local.get $3 i32.const -2 i32.and local.set $1 @@ -10909,11 +10847,11 @@ local.get $0 i32.const 1 i32.add - local.set $1 + local.set $0 br $for-loop|4 end end - local.get $4 + local.get $2 i32.load offset=20 i32.const 50 i32.ne @@ -10925,9 +10863,9 @@ call $~lib/builtins/abort unreachable end - local.get $4 + local.get $2 call $~lib/set/Set#clear - local.get $4 + local.get $2 i32.load offset=20 if i32.const 0 @@ -11411,8 +11349,6 @@ (local $6 i32) (local $7 i32) (local $8 i32) - (local $9 i32) - (local $10 i32) global.get $~lib/memory/__stack_pointer i32.const 12 i32.sub @@ -11423,24 +11359,24 @@ i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer - local.tee $3 + local.tee $1 i64.const 0 i64.store - local.get $3 + local.get $1 i32.const 0 i32.store offset=8 - local.get $3 + local.get $1 call $~lib/set/Set#constructor - local.tee $4 + local.tee $2 i32.store loop $for-loop|0 local.get $0 i32.const 100 i32.lt_u if - local.get $4 + local.get $2 i32.load - local.get $4 + local.get $2 i32.load offset=4 local.get $0 i32.const -1028477379 @@ -11451,22 +11387,22 @@ i32.rotl i32.const 668265263 i32.mul - local.tee $3 - local.get $3 + local.tee $1 + local.get $1 i32.const 15 i32.shr_u i32.xor i32.const -2048144777 i32.mul - local.tee $3 - local.get $3 + local.tee $1 + local.get $1 i32.const 13 i32.shr_u i32.xor i32.const -1028477379 i32.mul - local.tee $3 - local.get $3 + local.tee $1 + local.get $1 i32.const 16 i32.shr_u i32.xor @@ -11475,36 +11411,36 @@ i32.shl i32.add i32.load - local.set $3 + local.set $1 block $__inlined_func$~lib/set/Set#find loop $while-continue|0 - local.get $3 + local.get $1 if - local.get $3 + local.get $1 i32.load offset=4 - local.tee $6 + local.tee $4 i32.const 1 i32.and if (result i32) i32.const 0 else local.get $0 - local.get $3 + local.get $1 i32.load i32.eq end br_if $__inlined_func$~lib/set/Set#find - local.get $6 + local.get $4 i32.const -2 i32.and - local.set $3 + local.set $1 br $while-continue|0 end end i32.const 0 - local.set $3 + local.set $1 end - local.get $3 + local.get $1 if i32.const 0 i32.const 1568 @@ -11513,15 +11449,14 @@ call $~lib/builtins/abort unreachable end - local.get $4 + local.get $2 local.get $0 call $~lib/set/Set#add - local.get $4 + local.get $2 i32.load - local.get $4 + local.get $2 i32.load offset=4 local.get $0 - local.tee $3 i32.const -1028477379 i32.mul i32.const 374761397 @@ -11530,22 +11465,22 @@ i32.rotl i32.const 668265263 i32.mul - local.tee $0 - local.get $0 + local.tee $1 + local.get $1 i32.const 15 i32.shr_u i32.xor i32.const -2048144777 i32.mul - local.tee $0 - local.get $0 + local.tee $1 + local.get $1 i32.const 13 i32.shr_u i32.xor i32.const -1028477379 i32.mul - local.tee $0 - local.get $0 + local.tee $1 + local.get $1 i32.const 16 i32.shr_u i32.xor @@ -11554,36 +11489,36 @@ i32.shl i32.add i32.load - local.set $0 + local.set $1 block $__inlined_func$~lib/set/Set#find1 loop $while-continue|02 - local.get $0 + local.get $1 if - local.get $0 + local.get $1 i32.load offset=4 - local.tee $6 + local.tee $4 i32.const 1 i32.and if (result i32) i32.const 0 else - local.get $3 local.get $0 + local.get $1 i32.load i32.eq end br_if $__inlined_func$~lib/set/Set#find1 - local.get $6 + local.get $4 i32.const -2 i32.and - local.set $0 + local.set $1 br $while-continue|02 end end i32.const 0 - local.set $0 + local.set $1 end - local.get $0 + local.get $1 i32.eqz if i32.const 0 @@ -11593,14 +11528,14 @@ call $~lib/builtins/abort unreachable end - local.get $3 + local.get $0 i32.const 1 i32.add local.set $0 br $for-loop|0 end end - local.get $4 + local.get $2 i32.load offset=20 i32.const 100 i32.ne @@ -11619,9 +11554,9 @@ i32.const 100 i32.lt_u if - local.get $4 + local.get $2 i32.load - local.get $4 + local.get $2 i32.load offset=4 local.get $0 i32.const -1028477379 @@ -11632,22 +11567,22 @@ i32.rotl i32.const 668265263 i32.mul - local.tee $3 - local.get $3 + local.tee $1 + local.get $1 i32.const 15 i32.shr_u i32.xor i32.const -2048144777 i32.mul - local.tee $3 - local.get $3 + local.tee $1 + local.get $1 i32.const 13 i32.shr_u i32.xor i32.const -1028477379 i32.mul - local.tee $3 - local.get $3 + local.tee $1 + local.get $1 i32.const 16 i32.shr_u i32.xor @@ -11656,36 +11591,36 @@ i32.shl i32.add i32.load - local.set $3 + local.set $1 block $__inlined_func$~lib/set/Set#find4 loop $while-continue|05 - local.get $3 + local.get $1 if - local.get $3 + local.get $1 i32.load offset=4 - local.tee $6 + local.tee $4 i32.const 1 i32.and if (result i32) i32.const 0 else local.get $0 - local.get $3 + local.get $1 i32.load i32.eq end br_if $__inlined_func$~lib/set/Set#find4 - local.get $6 + local.get $4 i32.const -2 i32.and - local.set $3 + local.set $1 br $while-continue|05 end end i32.const 0 - local.set $3 + local.set $1 end - local.get $3 + local.get $1 i32.eqz if i32.const 0 @@ -11695,15 +11630,14 @@ call $~lib/builtins/abort unreachable end - local.get $4 + local.get $2 local.get $0 call $~lib/set/Set#add - local.get $4 + local.get $2 i32.load - local.get $4 + local.get $2 i32.load offset=4 local.get $0 - local.tee $3 i32.const -1028477379 i32.mul i32.const 374761397 @@ -11712,22 +11646,22 @@ i32.rotl i32.const 668265263 i32.mul - local.tee $0 - local.get $0 + local.tee $1 + local.get $1 i32.const 15 i32.shr_u i32.xor i32.const -2048144777 i32.mul - local.tee $0 - local.get $0 + local.tee $1 + local.get $1 i32.const 13 i32.shr_u i32.xor i32.const -1028477379 i32.mul - local.tee $0 - local.get $0 + local.tee $1 + local.get $1 i32.const 16 i32.shr_u i32.xor @@ -11736,36 +11670,36 @@ i32.shl i32.add i32.load - local.set $0 + local.set $1 block $__inlined_func$~lib/set/Set#find7 loop $while-continue|08 - local.get $0 + local.get $1 if - local.get $0 + local.get $1 i32.load offset=4 - local.tee $6 + local.tee $4 i32.const 1 i32.and if (result i32) i32.const 0 else - local.get $3 local.get $0 + local.get $1 i32.load i32.eq end br_if $__inlined_func$~lib/set/Set#find7 - local.get $6 + local.get $4 i32.const -2 i32.and - local.set $0 + local.set $1 br $while-continue|08 end end i32.const 0 - local.set $0 + local.set $1 end - local.get $0 + local.get $1 i32.eqz if i32.const 0 @@ -11775,14 +11709,14 @@ call $~lib/builtins/abort unreachable end - local.get $3 + local.get $0 i32.const 1 i32.add local.set $0 br $for-loop|1 end end - local.get $4 + local.get $2 i32.load offset=20 i32.const 100 i32.ne @@ -11795,7 +11729,7 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $7 + local.tee $1 i32.const 4 i32.sub global.set $~lib/memory/__stack_pointer @@ -11804,16 +11738,16 @@ i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer - local.tee $8 + local.tee $4 i32.const 0 i32.store - local.get $4 + local.get $2 i32.load offset=8 - local.set $9 - local.get $4 + local.set $5 + local.get $2 i32.load offset=16 - local.set $3 - local.get $8 + local.set $6 + local.get $4 i32.const 8 i32.sub global.set $~lib/memory/__stack_pointer @@ -11829,21 +11763,21 @@ i32.const 16 i32.const 14 call $~lib/rt/itcms/__new - local.tee $6 + local.tee $7 i32.store - local.get $6 + local.get $7 i32.const 0 i32.store - local.get $6 + local.get $7 i32.const 0 i32.store offset=4 - local.get $6 + local.get $7 i32.const 0 i32.store offset=8 - local.get $6 + local.get $7 i32.const 0 i32.store offset=12 - local.get $3 + local.get $6 i32.const 268435455 i32.gt_u if @@ -11855,107 +11789,110 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $3 + local.get $6 i32.const 8 - local.get $3 + local.get $6 i32.const 8 i32.gt_u select i32.const 2 i32.shl - local.tee $10 + local.tee $8 i32.const 0 call $~lib/rt/itcms/__new local.tee $0 i32.store offset=4 - local.get $6 + local.get $7 local.get $0 i32.store local.get $0 if - local.get $6 + local.get $7 local.get $0 call $byn-split-outlined-A$~lib/rt/itcms/__link end - local.get $6 + local.get $7 local.get $0 i32.store offset=4 - local.get $6 - local.get $10 + local.get $7 + local.get $8 i32.store offset=8 + local.get $7 local.get $6 - local.get $3 i32.store offset=12 global.get $~lib/memory/__stack_pointer i32.const 8 i32.add global.set $~lib/memory/__stack_pointer - local.get $8 - local.get $6 + local.get $4 + local.get $7 i32.store + i32.const 0 + local.set $0 loop $for-loop|02 local.get $3 - local.get $5 - i32.gt_s + local.get $6 + i32.lt_s if - local.get $5 + local.get $3 i32.const 3 i32.shl - local.get $9 + local.get $5 i32.add - local.tee $8 + local.tee $4 i32.load offset=4 i32.const 1 i32.and i32.eqz if - local.get $2 - local.tee $0 - i32.const 1 - i32.add - local.set $2 - local.get $6 + local.get $7 local.get $0 - local.get $8 + local.get $4 i32.load call $~lib/array/Array#__set + local.get $0 + i32.const 1 + i32.add + local.set $0 end - local.get $5 + local.get $3 i32.const 1 i32.add - local.set $5 + local.set $3 br $for-loop|02 end end - local.get $6 - local.get $2 + local.get $7 + local.get $0 i32.const 2 i32.const 0 call $~lib/array/ensureCapacity - local.get $6 - local.get $2 + local.get $7 + local.get $0 i32.store offset=12 global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer + local.get $1 local.get $7 - local.get $6 i32.store offset=4 global.get $~lib/memory/__stack_pointer call $~lib/set/Set#constructor - local.tee $0 + local.tee $3 i32.store offset=8 + i32.const 0 + local.set $0 loop $for-loop|2 - local.get $6 + local.get $7 i32.load offset=12 - local.get $1 + local.get $0 i32.gt_s if - local.get $6 - local.get $1 + local.get $7 + local.get $0 call $~lib/array/Array#__get - local.tee $3 + local.tee $4 i32.const -1028477379 i32.mul i32.const 374761397 @@ -11964,27 +11901,27 @@ i32.rotl i32.const 668265263 i32.mul - local.tee $2 - local.get $2 + local.tee $1 + local.get $1 i32.const 15 i32.shr_u i32.xor i32.const -2048144777 i32.mul - local.tee $2 - local.get $2 + local.tee $1 + local.get $1 i32.const 13 i32.shr_u i32.xor i32.const -1028477379 i32.mul - local.set $2 - local.get $4 - i32.load - local.get $4 - i32.load offset=4 + local.set $1 local.get $2 + i32.load local.get $2 + i32.load offset=4 + local.get $1 + local.get $1 i32.const 16 i32.shr_u i32.xor @@ -11993,12 +11930,12 @@ i32.shl i32.add i32.load - local.set $2 + local.set $1 block $__inlined_func$~lib/set/Set#find10 loop $while-continue|011 - local.get $2 + local.get $1 if - local.get $2 + local.get $1 i32.load offset=4 local.tee $5 i32.const 1 @@ -12006,8 +11943,8 @@ if (result i32) i32.const 0 else - local.get $3 - local.get $2 + local.get $4 + local.get $1 i32.load i32.eq end @@ -12015,14 +11952,14 @@ local.get $5 i32.const -2 i32.and - local.set $2 + local.set $1 br $while-continue|011 end end i32.const 0 - local.set $2 + local.set $1 end - local.get $2 + local.get $1 i32.eqz if i32.const 0 @@ -12032,21 +11969,21 @@ call $~lib/builtins/abort unreachable end + local.get $3 + local.get $7 local.get $0 - local.get $6 - local.get $1 call $~lib/array/Array#__get call $~lib/set/Set#add - local.get $1 + local.get $0 i32.const 1 i32.add - local.set $1 + local.set $0 br $for-loop|2 end end - local.get $0 + local.get $3 i32.load offset=20 - local.get $4 + local.get $2 i32.load offset=20 i32.ne if @@ -12058,17 +11995,17 @@ unreachable end i32.const 0 - local.set $1 + local.set $0 loop $for-loop|3 - local.get $1 + local.get $0 i32.const 50 i32.lt_u if - local.get $4 + local.get $2 i32.load - local.get $4 + local.get $2 i32.load offset=4 - local.get $1 + local.get $0 i32.const -1028477379 i32.mul i32.const 374761397 @@ -12077,22 +12014,22 @@ i32.rotl i32.const 668265263 i32.mul - local.tee $0 - local.get $0 + local.tee $1 + local.get $1 i32.const 15 i32.shr_u i32.xor i32.const -2048144777 i32.mul - local.tee $0 - local.get $0 + local.tee $1 + local.get $1 i32.const 13 i32.shr_u i32.xor i32.const -1028477379 i32.mul - local.tee $0 - local.get $0 + local.tee $1 + local.get $1 i32.const 16 i32.shr_u i32.xor @@ -12101,36 +12038,36 @@ i32.shl i32.add i32.load - local.set $0 + local.set $1 block $__inlined_func$~lib/set/Set#find13 loop $while-continue|014 - local.get $0 + local.get $1 if - local.get $0 + local.get $1 i32.load offset=4 - local.tee $2 + local.tee $3 i32.const 1 i32.and if (result i32) i32.const 0 else - local.get $1 local.get $0 + local.get $1 i32.load i32.eq end br_if $__inlined_func$~lib/set/Set#find13 - local.get $2 + local.get $3 i32.const -2 i32.and - local.set $0 + local.set $1 br $while-continue|014 end end i32.const 0 - local.set $0 + local.set $1 end - local.get $0 + local.get $1 i32.eqz if i32.const 0 @@ -12140,15 +12077,14 @@ call $~lib/builtins/abort unreachable end - local.get $4 - local.get $1 + local.get $2 + local.get $0 call $~lib/set/Set#delete - local.get $4 + local.get $2 i32.load - local.get $4 + local.get $2 i32.load offset=4 - local.get $1 - local.tee $0 + local.get $0 i32.const -1028477379 i32.mul i32.const 374761397 @@ -12188,7 +12124,7 @@ if local.get $1 i32.load offset=4 - local.tee $2 + local.tee $3 i32.const 1 i32.and if (result i32) @@ -12200,7 +12136,7 @@ i32.eq end br_if $__inlined_func$~lib/set/Set#find16 - local.get $2 + local.get $3 i32.const -2 i32.and local.set $1 @@ -12222,11 +12158,11 @@ local.get $0 i32.const 1 i32.add - local.set $1 + local.set $0 br $for-loop|3 end end - local.get $4 + local.get $2 i32.load offset=20 i32.const 50 i32.ne @@ -12239,17 +12175,17 @@ unreachable end i32.const 0 - local.set $1 + local.set $0 loop $for-loop|4 - local.get $1 + local.get $0 i32.const 50 i32.lt_u if - local.get $4 + local.get $2 i32.load - local.get $4 + local.get $2 i32.load offset=4 - local.get $1 + local.get $0 i32.const -1028477379 i32.mul i32.const 374761397 @@ -12258,22 +12194,22 @@ i32.rotl i32.const 668265263 i32.mul - local.tee $0 - local.get $0 + local.tee $1 + local.get $1 i32.const 15 i32.shr_u i32.xor i32.const -2048144777 i32.mul - local.tee $0 - local.get $0 + local.tee $1 + local.get $1 i32.const 13 i32.shr_u i32.xor i32.const -1028477379 i32.mul - local.tee $0 - local.get $0 + local.tee $1 + local.get $1 i32.const 16 i32.shr_u i32.xor @@ -12282,36 +12218,36 @@ i32.shl i32.add i32.load - local.set $0 + local.set $1 block $__inlined_func$~lib/set/Set#find19 loop $while-continue|020 - local.get $0 + local.get $1 if - local.get $0 + local.get $1 i32.load offset=4 - local.tee $2 + local.tee $3 i32.const 1 i32.and if (result i32) i32.const 0 else - local.get $1 local.get $0 + local.get $1 i32.load i32.eq end br_if $__inlined_func$~lib/set/Set#find19 - local.get $2 + local.get $3 i32.const -2 i32.and - local.set $0 + local.set $1 br $while-continue|020 end end i32.const 0 - local.set $0 + local.set $1 end - local.get $0 + local.get $1 if i32.const 0 i32.const 1568 @@ -12320,14 +12256,14 @@ call $~lib/builtins/abort unreachable end - local.get $4 - local.get $1 + local.get $2 + local.get $0 call $~lib/set/Set#add - local.get $4 + local.get $2 i32.load - local.get $4 + local.get $2 i32.load offset=4 - local.get $1 + local.get $0 i32.const -1028477379 i32.mul i32.const 374761397 @@ -12336,22 +12272,22 @@ i32.rotl i32.const 668265263 i32.mul - local.tee $0 - local.get $0 + local.tee $1 + local.get $1 i32.const 15 i32.shr_u i32.xor i32.const -2048144777 i32.mul - local.tee $0 - local.get $0 + local.tee $1 + local.get $1 i32.const 13 i32.shr_u i32.xor i32.const -1028477379 i32.mul - local.tee $0 - local.get $0 + local.tee $1 + local.get $1 i32.const 16 i32.shr_u i32.xor @@ -12360,36 +12296,36 @@ i32.shl i32.add i32.load - local.set $0 + local.set $1 block $__inlined_func$~lib/set/Set#find22 loop $while-continue|023 - local.get $0 + local.get $1 if - local.get $0 + local.get $1 i32.load offset=4 - local.tee $2 + local.tee $3 i32.const 1 i32.and if (result i32) i32.const 0 else - local.get $1 local.get $0 + local.get $1 i32.load i32.eq end br_if $__inlined_func$~lib/set/Set#find22 - local.get $2 + local.get $3 i32.const -2 i32.and - local.set $0 + local.set $1 br $while-continue|023 end end i32.const 0 - local.set $0 + local.set $1 end - local.get $0 + local.get $1 i32.eqz if i32.const 0 @@ -12399,15 +12335,14 @@ call $~lib/builtins/abort unreachable end - local.get $4 - local.get $1 + local.get $2 + local.get $0 call $~lib/set/Set#delete - local.get $4 + local.get $2 i32.load - local.get $4 + local.get $2 i32.load offset=4 - local.get $1 - local.tee $0 + local.get $0 i32.const -1028477379 i32.mul i32.const 374761397 @@ -12447,7 +12382,7 @@ if local.get $1 i32.load offset=4 - local.tee $2 + local.tee $3 i32.const 1 i32.and if (result i32) @@ -12459,7 +12394,7 @@ i32.eq end br_if $__inlined_func$~lib/set/Set#find25 - local.get $2 + local.get $3 i32.const -2 i32.and local.set $1 @@ -12481,11 +12416,11 @@ local.get $0 i32.const 1 i32.add - local.set $1 + local.set $0 br $for-loop|4 end end - local.get $4 + local.get $2 i32.load offset=20 i32.const 50 i32.ne @@ -12497,9 +12432,9 @@ call $~lib/builtins/abort unreachable end - local.get $4 + local.get $2 call $~lib/set/Set#clear - local.get $4 + local.get $2 i32.load offset=20 if i32.const 0 @@ -13171,17 +13106,15 @@ (func $std/set/testNumeric (local $0 i32) (local $1 i32) - (local $2 i32) + (local $2 i64) (local $3 i32) (local $4 i32) (local $5 i32) (local $6 i32) (local $7 i32) (local $8 i32) - (local $9 i64) + (local $9 i32) (local $10 i32) - (local $11 i32) - (local $12 i32) global.get $~lib/memory/__stack_pointer i32.const 12 i32.sub @@ -13200,15 +13133,15 @@ i32.store offset=8 local.get $1 call $~lib/set/Set#constructor - local.tee $2 + local.tee $1 i32.store loop $for-loop|0 - local.get $9 + local.get $2 i64.const 100 i64.lt_s if + local.get $1 local.get $2 - local.get $9 call $~lib/set/Set#has if i32.const 0 @@ -13218,11 +13151,11 @@ call $~lib/builtins/abort unreachable end + local.get $1 local.get $2 - local.get $9 call $~lib/set/Set#add + local.get $1 local.get $2 - local.get $9 call $~lib/set/Set#has i32.eqz if @@ -13233,14 +13166,14 @@ call $~lib/builtins/abort unreachable end - local.get $9 + local.get $2 i64.const 1 i64.add - local.set $9 + local.set $2 br $for-loop|0 end end - local.get $2 + local.get $1 i32.load offset=20 i32.const 100 i32.ne @@ -13253,14 +13186,14 @@ unreachable end i64.const 50 - local.set $9 + local.set $2 loop $for-loop|1 - local.get $9 + local.get $2 i64.const 100 i64.lt_s if + local.get $1 local.get $2 - local.get $9 call $~lib/set/Set#has i32.eqz if @@ -13271,11 +13204,11 @@ call $~lib/builtins/abort unreachable end + local.get $1 local.get $2 - local.get $9 call $~lib/set/Set#add + local.get $1 local.get $2 - local.get $9 call $~lib/set/Set#has i32.eqz if @@ -13286,14 +13219,14 @@ call $~lib/builtins/abort unreachable end - local.get $9 + local.get $2 i64.const 1 i64.add - local.set $9 + local.set $2 br $for-loop|1 end end - local.get $2 + local.get $1 i32.load offset=20 i32.const 100 i32.ne @@ -13306,7 +13239,7 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $5 + local.tee $6 i32.const 4 i32.sub global.set $~lib/memory/__stack_pointer @@ -13315,17 +13248,16 @@ i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer - local.tee $6 + local.tee $5 i32.const 0 i32.store - local.get $2 + local.get $1 i32.load offset=8 - local.set $4 - local.get $2 + local.set $7 + local.get $1 i32.load offset=16 - local.tee $3 - local.set $10 - local.get $6 + local.set $4 + local.get $5 i32.const 8 i32.sub global.set $~lib/memory/__stack_pointer @@ -13334,28 +13266,28 @@ i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer - local.tee $1 + local.tee $8 i64.const 0 i64.store - local.get $1 + local.get $8 i32.const 16 i32.const 16 call $~lib/rt/itcms/__new - local.tee $11 + local.tee $9 i32.store - local.get $11 + local.get $9 i32.const 0 i32.store - local.get $11 + local.get $9 i32.const 0 i32.store offset=4 - local.get $11 + local.get $9 i32.const 0 i32.store offset=8 - local.get $11 + local.get $9 i32.const 0 i32.store offset=12 - local.get $10 + local.get $4 i32.const 134217727 i32.gt_u if @@ -13367,106 +13299,107 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $10 + local.get $4 i32.const 8 - local.get $10 + local.get $4 i32.const 8 i32.gt_u select i32.const 3 i32.shl - local.tee $1 + local.tee $8 i32.const 0 call $~lib/rt/itcms/__new - local.tee $12 + local.tee $10 i32.store offset=4 - local.get $11 - local.get $12 + local.get $9 + local.get $10 i32.store - local.get $12 + local.get $10 if - local.get $11 - local.get $12 + local.get $9 + local.get $10 call $byn-split-outlined-A$~lib/rt/itcms/__link end - local.get $11 - local.get $12 + local.get $9 + local.get $10 i32.store offset=4 - local.get $11 - local.get $1 + local.get $9 + local.get $8 i32.store offset=8 - local.get $11 - local.get $10 + local.get $9 + 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 $6 - local.get $11 + local.get $5 + local.get $9 i32.store loop $for-loop|02 local.get $3 - local.get $7 - i32.gt_s + local.get $4 + i32.lt_s if - local.get $7 + local.get $3 i32.const 4 i32.shl - local.get $4 + local.get $7 i32.add - local.tee $6 + local.tee $5 i32.load offset=8 i32.const 1 i32.and i32.eqz if + local.get $9 + local.get $0 + local.get $5 + i64.load + call $~lib/array/Array#__set local.get $0 - local.tee $1 i32.const 1 i32.add local.set $0 - local.get $11 - local.get $1 - local.get $6 - i64.load - call $~lib/array/Array#__set end - local.get $7 + local.get $3 i32.const 1 i32.add - local.set $7 + local.set $3 br $for-loop|02 end end - local.get $11 + local.get $9 local.get $0 i32.const 3 i32.const 0 call $~lib/array/ensureCapacity - local.get $11 + local.get $9 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 $5 - local.get $11 + local.get $6 + local.get $9 i32.store offset=4 global.get $~lib/memory/__stack_pointer call $~lib/set/Set#constructor - local.tee $0 + local.tee $3 i32.store offset=8 + i32.const 0 + local.set $0 loop $for-loop|2 - local.get $11 + local.get $9 i32.load offset=12 - local.get $8 + local.get $0 i32.gt_s if - local.get $2 - local.get $11 - local.get $8 + local.get $1 + local.get $9 + local.get $0 call $~lib/array/Array#__get call $~lib/set/Set#has i32.eqz @@ -13478,21 +13411,21 @@ call $~lib/builtins/abort unreachable end + local.get $3 + local.get $9 local.get $0 - local.get $11 - local.get $8 call $~lib/array/Array#__get call $~lib/set/Set#add - local.get $8 + local.get $0 i32.const 1 i32.add - local.set $8 + local.set $0 br $for-loop|2 end end - local.get $0 + local.get $3 i32.load offset=20 - local.get $2 + local.get $1 i32.load offset=20 i32.ne if @@ -13504,14 +13437,14 @@ unreachable end i64.const 0 - local.set $9 + local.set $2 loop $for-loop|3 - local.get $9 + local.get $2 i64.const 50 i64.lt_s if + local.get $1 local.get $2 - local.get $9 call $~lib/set/Set#has i32.eqz if @@ -13522,11 +13455,11 @@ call $~lib/builtins/abort unreachable end + local.get $1 local.get $2 - local.get $9 call $~lib/set/Set#delete + local.get $1 local.get $2 - local.get $9 call $~lib/set/Set#has if i32.const 0 @@ -13536,14 +13469,14 @@ call $~lib/builtins/abort unreachable end - local.get $9 + local.get $2 i64.const 1 i64.add - local.set $9 + local.set $2 br $for-loop|3 end end - local.get $2 + local.get $1 i32.load offset=20 i32.const 50 i32.ne @@ -13556,14 +13489,14 @@ unreachable end i64.const 0 - local.set $9 + local.set $2 loop $for-loop|4 - local.get $9 + local.get $2 i64.const 50 i64.lt_s if + local.get $1 local.get $2 - local.get $9 call $~lib/set/Set#has if i32.const 0 @@ -13573,11 +13506,11 @@ call $~lib/builtins/abort unreachable end + local.get $1 local.get $2 - local.get $9 call $~lib/set/Set#add + local.get $1 local.get $2 - local.get $9 call $~lib/set/Set#has i32.eqz if @@ -13588,11 +13521,11 @@ call $~lib/builtins/abort unreachable end + local.get $1 local.get $2 - local.get $9 call $~lib/set/Set#delete + local.get $1 local.get $2 - local.get $9 call $~lib/set/Set#has if i32.const 0 @@ -13602,14 +13535,14 @@ call $~lib/builtins/abort unreachable end - local.get $9 + local.get $2 i64.const 1 i64.add - local.set $9 + local.set $2 br $for-loop|4 end end - local.get $2 + local.get $1 i32.load offset=20 i32.const 50 i32.ne @@ -13621,9 +13554,9 @@ call $~lib/builtins/abort unreachable end - local.get $2 + local.get $1 call $~lib/set/Set#clear - local.get $2 + local.get $1 i32.load offset=20 if i32.const 0 @@ -14219,17 +14152,15 @@ (func $std/set/testNumeric (local $0 i32) (local $1 i32) - (local $2 i32) + (local $2 i64) (local $3 i32) (local $4 i32) (local $5 i32) (local $6 i32) (local $7 i32) (local $8 i32) - (local $9 i64) + (local $9 i32) (local $10 i32) - (local $11 i32) - (local $12 i32) global.get $~lib/memory/__stack_pointer i32.const 12 i32.sub @@ -14248,15 +14179,15 @@ i32.store offset=8 local.get $1 call $~lib/set/Set#constructor - local.tee $2 + local.tee $1 i32.store loop $for-loop|0 - local.get $9 + local.get $2 i64.const 100 i64.lt_u if + local.get $1 local.get $2 - local.get $9 call $~lib/set/Set#has if i32.const 0 @@ -14266,11 +14197,11 @@ call $~lib/builtins/abort unreachable end + local.get $1 local.get $2 - local.get $9 call $~lib/set/Set#add + local.get $1 local.get $2 - local.get $9 call $~lib/set/Set#has i32.eqz if @@ -14281,14 +14212,14 @@ call $~lib/builtins/abort unreachable end - local.get $9 + local.get $2 i64.const 1 i64.add - local.set $9 + local.set $2 br $for-loop|0 end end - local.get $2 + local.get $1 i32.load offset=20 i32.const 100 i32.ne @@ -14301,14 +14232,14 @@ unreachable end i64.const 50 - local.set $9 + local.set $2 loop $for-loop|1 - local.get $9 + local.get $2 i64.const 100 i64.lt_u if + local.get $1 local.get $2 - local.get $9 call $~lib/set/Set#has i32.eqz if @@ -14319,11 +14250,11 @@ call $~lib/builtins/abort unreachable end + local.get $1 local.get $2 - local.get $9 call $~lib/set/Set#add + local.get $1 local.get $2 - local.get $9 call $~lib/set/Set#has i32.eqz if @@ -14334,14 +14265,14 @@ call $~lib/builtins/abort unreachable end - local.get $9 + local.get $2 i64.const 1 i64.add - local.set $9 + local.set $2 br $for-loop|1 end end - local.get $2 + local.get $1 i32.load offset=20 i32.const 100 i32.ne @@ -14354,7 +14285,7 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $5 + local.tee $6 i32.const 4 i32.sub global.set $~lib/memory/__stack_pointer @@ -14363,17 +14294,16 @@ i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer - local.tee $6 + local.tee $5 i32.const 0 i32.store - local.get $2 + local.get $1 i32.load offset=8 - local.set $4 - local.get $2 + local.set $7 + local.get $1 i32.load offset=16 - local.tee $3 - local.set $10 - local.get $6 + local.set $4 + local.get $5 i32.const 8 i32.sub global.set $~lib/memory/__stack_pointer @@ -14382,28 +14312,28 @@ i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer - local.tee $1 + local.tee $8 i64.const 0 i64.store - local.get $1 + local.get $8 i32.const 16 i32.const 18 call $~lib/rt/itcms/__new - local.tee $11 + local.tee $9 i32.store - local.get $11 + local.get $9 i32.const 0 i32.store - local.get $11 + local.get $9 i32.const 0 i32.store offset=4 - local.get $11 + local.get $9 i32.const 0 i32.store offset=8 - local.get $11 + local.get $9 i32.const 0 i32.store offset=12 - local.get $10 + local.get $4 i32.const 134217727 i32.gt_u if @@ -14415,106 +14345,107 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $10 + local.get $4 i32.const 8 - local.get $10 + local.get $4 i32.const 8 i32.gt_u select i32.const 3 i32.shl - local.tee $1 + local.tee $8 i32.const 0 call $~lib/rt/itcms/__new - local.tee $12 + local.tee $10 i32.store offset=4 - local.get $11 - local.get $12 + local.get $9 + local.get $10 i32.store - local.get $12 + local.get $10 if - local.get $11 - local.get $12 + local.get $9 + local.get $10 call $byn-split-outlined-A$~lib/rt/itcms/__link end - local.get $11 - local.get $12 + local.get $9 + local.get $10 i32.store offset=4 - local.get $11 - local.get $1 + local.get $9 + local.get $8 i32.store offset=8 - local.get $11 - local.get $10 + local.get $9 + 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 $6 - local.get $11 + local.get $5 + local.get $9 i32.store loop $for-loop|02 local.get $3 - local.get $7 - i32.gt_s + local.get $4 + i32.lt_s if - local.get $7 + local.get $3 i32.const 4 i32.shl - local.get $4 + local.get $7 i32.add - local.tee $6 + local.tee $5 i32.load offset=8 i32.const 1 i32.and i32.eqz if + local.get $9 + local.get $0 + local.get $5 + i64.load + call $~lib/array/Array#__set local.get $0 - local.tee $1 i32.const 1 i32.add local.set $0 - local.get $11 - local.get $1 - local.get $6 - i64.load - call $~lib/array/Array#__set end - local.get $7 + local.get $3 i32.const 1 i32.add - local.set $7 + local.set $3 br $for-loop|02 end end - local.get $11 + local.get $9 local.get $0 i32.const 3 i32.const 0 call $~lib/array/ensureCapacity - local.get $11 + local.get $9 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 $5 - local.get $11 + local.get $6 + local.get $9 i32.store offset=4 global.get $~lib/memory/__stack_pointer call $~lib/set/Set#constructor - local.tee $0 + local.tee $3 i32.store offset=8 + i32.const 0 + local.set $0 loop $for-loop|2 - local.get $11 + local.get $9 i32.load offset=12 - local.get $8 + local.get $0 i32.gt_s if - local.get $2 - local.get $11 - local.get $8 + local.get $1 + local.get $9 + local.get $0 call $~lib/array/Array#__get call $~lib/set/Set#has i32.eqz @@ -14526,21 +14457,21 @@ call $~lib/builtins/abort unreachable end + local.get $3 + local.get $9 local.get $0 - local.get $11 - local.get $8 call $~lib/array/Array#__get call $~lib/set/Set#add - local.get $8 + local.get $0 i32.const 1 i32.add - local.set $8 + local.set $0 br $for-loop|2 end end - local.get $0 + local.get $3 i32.load offset=20 - local.get $2 + local.get $1 i32.load offset=20 i32.ne if @@ -14552,14 +14483,14 @@ unreachable end i64.const 0 - local.set $9 + local.set $2 loop $for-loop|3 - local.get $9 + local.get $2 i64.const 50 i64.lt_u if + local.get $1 local.get $2 - local.get $9 call $~lib/set/Set#has i32.eqz if @@ -14570,11 +14501,11 @@ call $~lib/builtins/abort unreachable end + local.get $1 local.get $2 - local.get $9 call $~lib/set/Set#delete + local.get $1 local.get $2 - local.get $9 call $~lib/set/Set#has if i32.const 0 @@ -14584,14 +14515,14 @@ call $~lib/builtins/abort unreachable end - local.get $9 + local.get $2 i64.const 1 i64.add - local.set $9 + local.set $2 br $for-loop|3 end end - local.get $2 + local.get $1 i32.load offset=20 i32.const 50 i32.ne @@ -14604,14 +14535,14 @@ unreachable end i64.const 0 - local.set $9 + local.set $2 loop $for-loop|4 - local.get $9 + local.get $2 i64.const 50 i64.lt_u if + local.get $1 local.get $2 - local.get $9 call $~lib/set/Set#has if i32.const 0 @@ -14621,11 +14552,11 @@ call $~lib/builtins/abort unreachable end + local.get $1 local.get $2 - local.get $9 call $~lib/set/Set#add + local.get $1 local.get $2 - local.get $9 call $~lib/set/Set#has i32.eqz if @@ -14636,11 +14567,11 @@ call $~lib/builtins/abort unreachable end + local.get $1 local.get $2 - local.get $9 call $~lib/set/Set#delete + local.get $1 local.get $2 - local.get $9 call $~lib/set/Set#has if i32.const 0 @@ -14650,14 +14581,14 @@ call $~lib/builtins/abort unreachable end - local.get $9 + local.get $2 i64.const 1 i64.add - local.set $9 + local.set $2 br $for-loop|4 end end - local.get $2 + local.get $1 i32.load offset=20 i32.const 50 i32.ne @@ -14669,9 +14600,9 @@ call $~lib/builtins/abort unreachable end - local.get $2 + local.get $1 call $~lib/set/Set#clear - local.get $2 + local.get $1 i32.load offset=20 if i32.const 0 @@ -15544,7 +15475,7 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $4 + local.tee $8 i32.const 4 i32.sub global.set $~lib/memory/__stack_pointer @@ -15558,7 +15489,7 @@ i32.store local.get $11 i32.load offset=8 - local.set $8 + local.set $5 local.get $11 i32.load offset=16 local.set $7 @@ -15578,18 +15509,18 @@ i32.const 16 i32.const 20 call $~lib/rt/itcms/__new - local.tee $6 + local.tee $4 i32.store - local.get $6 + local.get $4 i32.const 0 i32.store - local.get $6 + local.get $4 i32.const 0 i32.store offset=4 - local.get $6 + local.get $4 i32.const 0 i32.store offset=8 - local.get $6 + local.get $4 i32.const 0 i32.store offset=12 local.get $7 @@ -15615,24 +15546,24 @@ local.tee $0 i32.const 0 call $~lib/rt/itcms/__new - local.tee $5 + local.tee $6 i32.store offset=4 + local.get $4 local.get $6 - local.get $5 i32.store - local.get $5 + local.get $6 if + local.get $4 local.get $6 - local.get $5 call $byn-split-outlined-A$~lib/rt/itcms/__link end + local.get $4 local.get $6 - local.get $5 i32.store offset=4 - local.get $6 + local.get $4 local.get $0 i32.store offset=8 - local.get $6 + local.get $4 local.get $7 i32.store offset=12 global.get $~lib/memory/__stack_pointer @@ -15640,17 +15571,17 @@ i32.add global.set $~lib/memory/__stack_pointer local.get $3 - local.get $6 + local.get $4 i32.store loop $for-loop|02 local.get $7 - local.get $10 + local.get $9 i32.gt_s if - local.get $10 + local.get $9 i32.const 3 i32.shl - local.get $8 + local.get $5 i32.add local.tee $0 i32.load offset=4 @@ -15666,7 +15597,7 @@ i32.const 1 i32.add local.set $1 - local.get $6 + local.get $4 i32.load offset=12 local.get $0 i32.le_u @@ -15682,7 +15613,7 @@ call $~lib/builtins/abort unreachable end - local.get $6 + local.get $4 local.get $0 i32.const 1 i32.add @@ -15690,11 +15621,11 @@ i32.const 2 i32.const 1 call $~lib/array/ensureCapacity - local.get $6 + local.get $4 local.get $3 i32.store offset=12 end - local.get $6 + local.get $4 i32.load offset=4 local.get $0 i32.const 2 @@ -15703,40 +15634,40 @@ local.get $2 f32.store end - local.get $10 + local.get $9 i32.const 1 i32.add - local.set $10 + local.set $9 br $for-loop|02 end end - local.get $6 + local.get $4 local.get $1 i32.const 2 i32.const 0 call $~lib/array/ensureCapacity - local.get $6 + local.get $4 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 $8 local.get $4 - local.get $6 i32.store offset=4 global.get $~lib/memory/__stack_pointer call $~lib/set/Set#constructor local.tee $3 i32.store offset=8 loop $for-loop|2 - local.get $6 + local.get $4 i32.load offset=12 - local.get $9 + local.get $10 i32.gt_s if - local.get $6 - local.get $9 + local.get $4 + local.get $10 call $~lib/array/Array#__get local.tee $2 i32.reinterpret_f32 @@ -15817,14 +15748,14 @@ unreachable end local.get $3 - local.get $6 - local.get $9 + local.get $4 + local.get $10 call $~lib/array/Array#__get call $~lib/set/Set#add - local.get $9 + local.get $10 i32.const 1 i32.add - local.set $9 + local.set $10 br $for-loop|2 end end @@ -16894,9 +16825,9 @@ (func $std/set/testNumeric (local $0 i32) (local $1 i32) - (local $2 i32) + (local $2 f64) (local $3 i32) - (local $4 f64) + (local $4 i32) (local $5 i32) (local $6 i32) (local $7 i32) @@ -16904,7 +16835,6 @@ (local $9 i32) (local $10 i32) (local $11 i32) - (local $12 i32) global.get $~lib/memory/__stack_pointer i32.const 12 i32.sub @@ -16923,15 +16853,15 @@ i32.store offset=8 local.get $1 call $~lib/set/Set#constructor - local.tee $3 + local.tee $8 i32.store loop $for-loop|0 - local.get $4 + local.get $2 f64.const 100 f64.lt if - local.get $3 - local.get $4 + local.get $8 + local.get $2 call $~lib/set/Set#has if i32.const 0 @@ -16941,11 +16871,11 @@ call $~lib/builtins/abort unreachable end - local.get $3 - local.get $4 + local.get $8 + local.get $2 call $~lib/set/Set#add - local.get $3 - local.get $4 + local.get $8 + local.get $2 call $~lib/set/Set#has i32.eqz if @@ -16956,14 +16886,14 @@ call $~lib/builtins/abort unreachable end - local.get $4 + local.get $2 f64.const 1 f64.add - local.set $4 + local.set $2 br $for-loop|0 end end - local.get $3 + local.get $8 i32.load offset=20 i32.const 100 i32.ne @@ -16976,14 +16906,14 @@ unreachable end f64.const 50 - local.set $4 + local.set $2 loop $for-loop|1 - local.get $4 + local.get $2 f64.const 100 f64.lt if - local.get $3 - local.get $4 + local.get $8 + local.get $2 call $~lib/set/Set#has i32.eqz if @@ -16994,11 +16924,11 @@ call $~lib/builtins/abort unreachable end - local.get $3 - local.get $4 + local.get $8 + local.get $2 call $~lib/set/Set#add - local.get $3 - local.get $4 + local.get $8 + local.get $2 call $~lib/set/Set#has i32.eqz if @@ -17009,14 +16939,14 @@ call $~lib/builtins/abort unreachable end - local.get $4 + local.get $2 f64.const 1 f64.add - local.set $4 + local.set $2 br $for-loop|1 end end - local.get $3 + local.get $8 i32.load offset=20 i32.const 100 i32.ne @@ -17029,7 +16959,7 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $7 + local.tee $4 i32.const 4 i32.sub global.set $~lib/memory/__stack_pointer @@ -17038,17 +16968,16 @@ i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer - local.tee $8 + local.tee $1 i32.const 0 i32.store - local.get $3 + local.get $8 i32.load offset=8 - local.set $6 - local.get $3 - i32.load offset=16 - local.tee $5 - local.set $11 + local.set $3 local.get $8 + i32.load offset=16 + local.set $6 + local.get $1 i32.const 8 i32.sub global.set $~lib/memory/__stack_pointer @@ -17057,28 +16986,28 @@ i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer - local.tee $1 + local.tee $9 i64.const 0 i64.store - local.get $1 + local.get $9 i32.const 16 i32.const 22 call $~lib/rt/itcms/__new - local.tee $2 + local.tee $9 i32.store - local.get $2 + local.get $9 i32.const 0 i32.store - local.get $2 + local.get $9 i32.const 0 i32.store offset=4 - local.get $2 + local.get $9 i32.const 0 i32.store offset=8 - local.get $2 + local.get $9 i32.const 0 i32.store offset=12 - local.get $11 + local.get $6 i32.const 134217727 i32.gt_u if @@ -17090,53 +17019,53 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $11 + local.get $6 i32.const 8 - local.get $11 + local.get $6 i32.const 8 i32.gt_u select i32.const 3 i32.shl - local.tee $1 + local.tee $10 i32.const 0 call $~lib/rt/itcms/__new - local.tee $12 + local.tee $11 i32.store offset=4 - local.get $2 - local.get $12 + local.get $9 + local.get $11 i32.store - local.get $12 + local.get $11 if - local.get $2 - local.get $12 + local.get $9 + local.get $11 call $byn-split-outlined-A$~lib/rt/itcms/__link end - local.get $2 - local.get $12 + local.get $9 + local.get $11 i32.store offset=4 - local.get $2 - local.get $1 + local.get $9 + local.get $10 i32.store offset=8 - local.get $2 - local.get $11 + local.get $9 + local.get $6 i32.store offset=12 global.get $~lib/memory/__stack_pointer i32.const 8 i32.add global.set $~lib/memory/__stack_pointer - local.get $8 - local.get $2 + local.get $1 + local.get $9 i32.store loop $for-loop|02 local.get $5 - local.get $9 - i32.gt_s + local.get $6 + i32.lt_s if - local.get $9 + local.get $5 i32.const 4 i32.shl - local.get $6 + local.get $3 i32.add local.tee $1 i32.load offset=8 @@ -17146,13 +17075,13 @@ if local.get $1 f64.load - local.set $4 + local.set $2 local.get $0 local.tee $1 i32.const 1 i32.add local.set $0 - local.get $2 + local.get $9 i32.load offset=12 local.get $1 i32.le_u @@ -17168,62 +17097,62 @@ call $~lib/builtins/abort unreachable end - local.get $2 + local.get $9 local.get $1 i32.const 1 i32.add - local.tee $8 + local.tee $10 i32.const 3 i32.const 1 call $~lib/array/ensureCapacity - local.get $2 - local.get $8 + local.get $9 + local.get $10 i32.store offset=12 end - local.get $2 + local.get $9 i32.load offset=4 local.get $1 i32.const 3 i32.shl i32.add - local.get $4 + local.get $2 f64.store end - local.get $9 + local.get $5 i32.const 1 i32.add - local.set $9 + local.set $5 br $for-loop|02 end end - local.get $2 + local.get $9 local.get $0 i32.const 3 i32.const 0 call $~lib/array/ensureCapacity - local.get $2 + local.get $9 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 $7 - local.get $2 + local.get $4 + local.get $9 i32.store offset=4 global.get $~lib/memory/__stack_pointer call $~lib/set/Set#constructor local.tee $0 i32.store offset=8 loop $for-loop|2 - local.get $2 + local.get $9 i32.load offset=12 - local.get $10 + local.get $7 i32.gt_s if - local.get $3 - local.get $2 - local.get $10 + local.get $8 + local.get $9 + local.get $7 call $~lib/array/Array#__get call $~lib/set/Set#has i32.eqz @@ -17236,20 +17165,20 @@ unreachable end local.get $0 - local.get $2 - local.get $10 + local.get $9 + local.get $7 call $~lib/array/Array#__get call $~lib/set/Set#add - local.get $10 + local.get $7 i32.const 1 i32.add - local.set $10 + local.set $7 br $for-loop|2 end end local.get $0 i32.load offset=20 - local.get $3 + local.get $8 i32.load offset=20 i32.ne if @@ -17261,14 +17190,14 @@ unreachable end f64.const 0 - local.set $4 + local.set $2 loop $for-loop|3 - local.get $4 + local.get $2 f64.const 50 f64.lt if - local.get $3 - local.get $4 + local.get $8 + local.get $2 call $~lib/set/Set#has i32.eqz if @@ -17279,11 +17208,11 @@ call $~lib/builtins/abort unreachable end - local.get $3 - local.get $4 + local.get $8 + local.get $2 call $~lib/set/Set#delete - local.get $3 - local.get $4 + local.get $8 + local.get $2 call $~lib/set/Set#has if i32.const 0 @@ -17293,14 +17222,14 @@ call $~lib/builtins/abort unreachable end - local.get $4 + local.get $2 f64.const 1 f64.add - local.set $4 + local.set $2 br $for-loop|3 end end - local.get $3 + local.get $8 i32.load offset=20 i32.const 50 i32.ne @@ -17313,14 +17242,14 @@ unreachable end f64.const 0 - local.set $4 + local.set $2 loop $for-loop|4 - local.get $4 + local.get $2 f64.const 50 f64.lt if - local.get $3 - local.get $4 + local.get $8 + local.get $2 call $~lib/set/Set#has if i32.const 0 @@ -17330,11 +17259,11 @@ call $~lib/builtins/abort unreachable end - local.get $3 - local.get $4 + local.get $8 + local.get $2 call $~lib/set/Set#add - local.get $3 - local.get $4 + local.get $8 + local.get $2 call $~lib/set/Set#has i32.eqz if @@ -17345,11 +17274,11 @@ call $~lib/builtins/abort unreachable end - local.get $3 - local.get $4 + local.get $8 + local.get $2 call $~lib/set/Set#delete - local.get $3 - local.get $4 + local.get $8 + local.get $2 call $~lib/set/Set#has if i32.const 0 @@ -17359,14 +17288,14 @@ call $~lib/builtins/abort unreachable end - local.get $4 + local.get $2 f64.const 1 f64.add - local.set $4 + local.set $2 br $for-loop|4 end end - local.get $3 + local.get $8 i32.load offset=20 i32.const 50 i32.ne @@ -17378,9 +17307,9 @@ call $~lib/builtins/abort unreachable end - local.get $3 + local.get $8 call $~lib/set/Set#clear - local.get $3 + local.get $8 i32.load offset=20 if i32.const 0 diff --git a/tests/compiler/std/static-array.optimized.wat b/tests/compiler/std/static-array.optimized.wat index e821382cba..929f1279c5 100644 --- a/tests/compiler/std/static-array.optimized.wat +++ b/tests/compiler/std/static-array.optimized.wat @@ -783,12 +783,12 @@ (local $0 i32) (local $1 i32) memory.size - local.tee $0 + local.tee $1 i32.const 0 i32.le_s if (result i32) i32.const 1 - local.get $0 + local.get $1 i32.sub memory.grow i32.const 0 @@ -806,11 +806,11 @@ i32.const 0 i32.store loop $for-loop|0 - local.get $1 + local.get $0 i32.const 23 i32.lt_u if - local.get $1 + local.get $0 i32.const 2 i32.shl i32.const 18400 @@ -818,14 +818,14 @@ i32.const 0 i32.store offset=4 i32.const 0 - local.set $0 + local.set $1 loop $for-loop|1 - local.get $0 + local.get $1 i32.const 16 i32.lt_u if - local.get $0 local.get $1 + local.get $0 i32.const 4 i32.shl i32.add @@ -835,17 +835,17 @@ i32.add i32.const 0 i32.store offset=96 - local.get $0 + local.get $1 i32.const 1 i32.add - local.set $0 + local.set $1 br $for-loop|1 end end - local.get $1 + local.get $0 i32.const 1 i32.add - local.set $1 + local.set $0 br $for-loop|0 end end diff --git a/tests/compiler/std/staticarray.optimized.wat b/tests/compiler/std/staticarray.optimized.wat index f98edcb496..d9f1093a07 100644 --- a/tests/compiler/std/staticarray.optimized.wat +++ b/tests/compiler/std/staticarray.optimized.wat @@ -918,12 +918,12 @@ (local $0 i32) (local $1 i32) memory.size - local.tee $0 + local.tee $1 i32.const 0 i32.le_s if (result i32) i32.const 1 - local.get $0 + local.get $1 i32.sub memory.grow i32.const 0 @@ -941,11 +941,11 @@ i32.const 0 i32.store loop $for-loop|0 - local.get $1 + local.get $0 i32.const 23 i32.lt_u if - local.get $1 + local.get $0 i32.const 2 i32.shl i32.const 20256 @@ -953,14 +953,14 @@ i32.const 0 i32.store offset=4 i32.const 0 - local.set $0 + local.set $1 loop $for-loop|1 - local.get $0 + local.get $1 i32.const 16 i32.lt_u if - local.get $0 local.get $1 + local.get $0 i32.const 4 i32.shl i32.add @@ -970,17 +970,17 @@ i32.add i32.const 0 i32.store offset=96 - local.get $0 + local.get $1 i32.const 1 i32.add - local.set $0 + local.set $1 br $for-loop|1 end end - local.get $1 + local.get $0 i32.const 1 i32.add - local.set $1 + local.set $0 br $for-loop|0 end end @@ -3993,22 +3993,12 @@ (local $6 i32) (local $7 i32) (local $8 i32) - (local $9 i32) - (local $10 i32) - (local $11 f32) - (local $12 f64) + (local $9 f64) + (local $10 f32) + (local $11 i32) + (local $12 i32) (local $13 i32) (local $14 i32) - (local $15 i32) - (local $16 i32) - (local $17 i32) - (local $18 i32) - (local $19 i32) - (local $20 i32) - (local $21 i32) - (local $22 i32) - (local $23 i32) - (local $24 i32) global.get $~lib/memory/__stack_pointer i32.const 32 i32.sub @@ -4019,19 +4009,19 @@ i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer - local.tee $21 + local.tee $2 i64.const 0 i64.store - local.get $21 + local.get $2 i64.const 0 i64.store offset=8 - local.get $21 + local.get $2 i64.const 0 i64.store offset=16 - local.get $21 + local.get $2 i64.const 0 i64.store offset=24 - local.get $21 + local.get $2 i32.const 1056 i32.store i32.const 1056 @@ -4188,17 +4178,17 @@ i32.const 12 i32.const 3 call $~lib/rt/itcms/__new - local.tee $21 + local.tee $2 i32.const 1312 i32.const 12 call $~lib/memory/memory.copy - local.get $21 + local.get $2 global.set $std/staticarray/arr3 global.get $~lib/memory/__stack_pointer global.get $std/staticarray/arr3 - local.tee $21 + local.tee $2 i32.store - local.get $21 + local.get $2 i32.const 0 call $~lib/staticarray/StaticArray#__get i32.const 5 @@ -4213,9 +4203,9 @@ end global.get $~lib/memory/__stack_pointer global.get $std/staticarray/arr3 - local.tee $21 + local.tee $2 i32.store - local.get $21 + local.get $2 i32.const 1 call $~lib/staticarray/StaticArray#__get i32.const 6 @@ -4230,9 +4220,9 @@ end global.get $~lib/memory/__stack_pointer global.get $std/staticarray/arr3 - local.tee $21 + local.tee $2 i32.store - local.get $21 + local.get $2 i32.const 2 call $~lib/staticarray/StaticArray#__get i32.const 7 @@ -4247,9 +4237,9 @@ end global.get $~lib/memory/__stack_pointer global.get $std/staticarray/arr3 - local.tee $21 + local.tee $2 i32.store - local.get $21 + local.get $2 i32.const 20 i32.sub i32.load offset=16 @@ -4267,16 +4257,16 @@ end global.get $~lib/memory/__stack_pointer global.get $std/staticarray/arr3 - local.tee $21 + local.tee $2 i32.store - local.get $21 + local.get $2 i32.const 8 call $~lib/staticarray/StaticArray#__set global.get $~lib/memory/__stack_pointer global.get $std/staticarray/arr3 - local.tee $21 + local.tee $2 i32.store - local.get $21 + local.get $2 i32.const 1 call $~lib/staticarray/StaticArray#__get i32.const 8 @@ -4292,17 +4282,17 @@ i32.const 12 i32.const 3 call $~lib/rt/itcms/__new - local.tee $21 + local.tee $2 i32.const 1312 i32.const 12 call $~lib/memory/memory.copy - local.get $21 + local.get $2 global.set $std/staticarray/arr3 global.get $~lib/memory/__stack_pointer global.get $std/staticarray/arr3 - local.tee $21 + local.tee $2 i32.store - local.get $21 + local.get $2 i32.const 1 call $~lib/staticarray/StaticArray#__get i32.const 6 @@ -4319,24 +4309,24 @@ i32.const 8 i32.const 5 call $~lib/rt/itcms/__new - local.tee $21 + local.tee $2 i32.store offset=4 - local.get $21 + local.get $2 i32.const 0 call $std/staticarray/Ref#constructor call $~lib/staticarray/StaticArray#__uset - local.get $21 + local.get $2 i32.const 1 call $std/staticarray/Ref#constructor call $~lib/staticarray/StaticArray#__uset - local.get $21 + local.get $2 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 - global.get $~lib/memory/__stack_pointer + local.tee $3 i32.const 4 i32.sub global.set $~lib/memory/__stack_pointer @@ -4345,22 +4335,23 @@ i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer - local.tee $22 + local.tee $2 i32.const 0 i32.store - local.get $22 + local.get $2 i32.const 12 i32.const 3 call $~lib/rt/itcms/__new - local.tee $22 + local.tee $2 i32.store global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $22 + local.get $3 + local.get $2 i32.store offset=4 - local.get $22 + local.get $2 i32.const 20 i32.sub i32.load offset=16 @@ -4377,17 +4368,17 @@ unreachable end loop $for-loop|0 - local.get $22 + local.get $2 i32.const 20 i32.sub i32.load offset=16 i32.const 2 i32.shr_u - local.get $1 + local.get $0 i32.gt_s if - local.get $22 - local.get $1 + local.get $2 + local.get $0 call $~lib/staticarray/StaticArray#__get if i32.const 0 @@ -4397,10 +4388,10 @@ call $~lib/builtins/abort unreachable end - local.get $1 + local.get $0 i32.const 1 i32.add - local.set $1 + local.set $0 br $for-loop|0 end end @@ -4409,16 +4400,16 @@ i32.const 6 i32.const 1728 call $~lib/rt/__newArray - local.tee $1 + local.tee $3 i32.store offset=8 global.get $~lib/memory/__stack_pointer - local.get $1 + local.get $3 call $~lib/staticarray/StaticArray.fromArray - local.tee $21 + local.tee $2 i32.store offset=4 - local.get $1 + local.get $3 i32.load offset=12 - local.get $21 + local.get $2 i32.const 20 i32.sub i32.load offset=16 @@ -4433,16 +4424,18 @@ call $~lib/builtins/abort unreachable end + i32.const 0 + local.set $0 loop $for-loop|1 - local.get $1 + local.get $3 i32.load offset=12 local.get $0 i32.gt_s if - local.get $21 + local.get $2 local.get $0 call $~lib/staticarray/StaticArray#__get - local.get $1 + local.get $3 local.get $0 call $~lib/array/Array#__get i32.ne @@ -4466,11 +4459,11 @@ i32.const 6 i32.const 1824 call $~lib/rt/__newArray - local.set $1 + local.set $0 global.get $~lib/memory/__stack_pointer - local.get $1 + local.get $0 i32.store - local.get $1 + local.get $0 call $~lib/staticarray/StaticArray.fromArray local.tee $0 i32.store offset=4 @@ -4492,29 +4485,29 @@ i32.const 8 i32.const 3 call $~lib/rt/itcms/__new - local.tee $0 + local.tee $3 i32.const 1856 i32.const 8 call $~lib/memory/memory.copy - local.get $0 + local.get $3 i32.store offset=4 global.get $~lib/memory/__stack_pointer i32.const 4 i32.const 3 call $~lib/rt/itcms/__new - local.tee $21 + local.tee $0 i32.const 1888 i32.const 4 call $~lib/memory/memory.copy global.get $~lib/memory/__stack_pointer - local.get $21 + local.get $0 i32.store offset=12 + local.get $3 local.get $0 - local.get $21 call $~lib/staticarray/StaticArray.concat - local.tee $1 + local.tee $0 i32.store offset=8 - local.get $1 + local.get $0 i32.const 20 i32.sub i32.load offset=16 @@ -4534,25 +4527,25 @@ i32.const 0 i32.const 3 call $~lib/rt/itcms/__new - local.tee $21 + local.tee $0 i32.const 1920 i32.const 0 call $~lib/memory/memory.copy global.get $~lib/memory/__stack_pointer - local.get $21 + local.get $0 i32.store offset=12 + local.get $3 local.get $0 - local.get $21 call $~lib/staticarray/StaticArray.concat - local.tee $1 + local.tee $0 i32.store offset=8 - local.get $1 + local.get $0 i32.const 20 i32.sub i32.load offset=16 i32.const 2 i32.shr_u - local.get $0 + local.get $3 i32.const 20 i32.sub i32.load offset=16 @@ -4571,26 +4564,26 @@ i32.const 20 i32.const 8 call $~lib/rt/itcms/__new - local.tee $1 + local.tee $4 i32.const 2128 i32.const 20 call $~lib/memory/memory.copy - local.get $1 + local.get $4 i32.store offset=8 global.get $~lib/memory/__stack_pointer - local.get $1 + local.get $4 i32.const 0 i32.const 2147483647 call $~lib/staticarray/StaticArray.slice<~lib/string/String> - local.tee $21 + local.tee $3 i32.store offset=4 - local.get $21 + local.get $3 i32.const 20 i32.sub i32.load offset=16 i32.const 2 i32.shr_u - local.get $1 + local.get $4 i32.const 20 i32.sub i32.load offset=16 @@ -4605,34 +4598,32 @@ call $~lib/builtins/abort unreachable end - i32.const 0 - local.set $0 loop $for-loop|2 - local.get $1 + local.get $4 i32.const 20 i32.sub i32.load offset=16 i32.const 2 i32.shr_u - local.get $0 + local.get $1 i32.gt_s if + local.get $4 local.get $1 - local.get $0 call $~lib/staticarray/StaticArray<~lib/string/String>#__get - local.set $22 + local.set $2 global.get $~lib/memory/__stack_pointer - local.get $22 + local.get $2 i32.store - local.get $21 - local.get $0 + local.get $3 + local.get $1 call $~lib/staticarray/StaticArray<~lib/string/String>#__get - local.set $23 + local.set $0 global.get $~lib/memory/__stack_pointer - local.get $23 + local.get $0 i32.store offset=12 - local.get $22 - local.get $23 + local.get $2 + local.get $0 call $~lib/string/String.__eq i32.eqz if @@ -4643,21 +4634,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 $1 + local.get $4 i32.const 1 i32.const 3 call $~lib/staticarray/StaticArray.slice<~lib/string/String> - local.tee $0 + local.tee $2 i32.store offset=4 - local.get $0 + local.get $2 i32.const 20 i32.sub i32.load offset=16 @@ -4673,18 +4664,18 @@ call $~lib/builtins/abort unreachable end - local.get $0 + local.get $2 i32.const 0 call $~lib/staticarray/StaticArray<~lib/string/String>#__get - local.set $21 + local.set $1 global.get $~lib/memory/__stack_pointer - local.tee $22 - local.get $21 + local.tee $0 + local.get $1 i32.store - local.get $22 + local.get $0 i32.const 1984 i32.store offset=12 - local.get $21 + local.get $1 i32.const 1984 call $~lib/string/String.__eq i32.eqz @@ -4696,18 +4687,18 @@ call $~lib/builtins/abort unreachable end - local.get $0 + local.get $2 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 $21 - local.get $0 + local.tee $0 + local.get $1 i32.store - local.get $21 + 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 @@ -4720,13 +4711,13 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $1 + local.get $4 i32.const 1 i32.const 2147483647 call $~lib/staticarray/StaticArray.slice<~lib/string/String> local.tee $0 i32.store offset=4 - local.get $1 + local.get $4 i32.const 20 i32.sub i32.load offset=16 @@ -4750,7 +4741,7 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $1 + local.get $4 i32.const 0 i32.const 50 call $~lib/staticarray/StaticArray.slice<~lib/string/String> @@ -4762,7 +4753,7 @@ i32.load offset=16 i32.const 2 i32.shr_u - local.get $1 + local.get $4 i32.const 20 i32.sub i32.load offset=16 @@ -4778,7 +4769,7 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $1 + local.get $4 i32.const 100 i32.const 2147483647 call $~lib/staticarray/StaticArray.slice<~lib/string/String> @@ -4799,7 +4790,7 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $1 + local.get $4 i32.const -1 i32.const 2147483647 call $~lib/staticarray/StaticArray.slice<~lib/string/String> @@ -4824,15 +4815,15 @@ local.get $0 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 $21 - local.get $0 + local.tee $0 + local.get $1 i32.store - local.get $21 + 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 @@ -4845,7 +4836,7 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $1 + local.get $4 i32.const -2 i32.const -2 call $~lib/staticarray/StaticArray.slice<~lib/string/String> @@ -4866,7 +4857,7 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $1 + local.get $4 i32.const 2 i32.const -2 call $~lib/staticarray/StaticArray.slice<~lib/string/String> @@ -4891,15 +4882,15 @@ local.get $0 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 2016 i32.store offset=12 - local.get $0 + local.get $1 i32.const 2016 call $~lib/string/String.__eq i32.eqz @@ -4915,29 +4906,29 @@ i32.const 20 i32.const 8 call $~lib/rt/itcms/__new - local.tee $1 + local.tee $2 i32.const 2304 i32.const 20 call $~lib/memory/memory.copy - local.get $1 + local.get $2 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 $21 + local.set $0 global.get $~lib/memory/__stack_pointer - local.get $21 + local.get $0 i32.store offset=12 - local.get $1 - local.get $21 + local.get $2 + local.get $0 call $~lib/staticarray/StaticArray<~lib/string/String>#concat local.tee $0 i32.store offset=16 local.get $0 i32.load offset=12 - local.get $1 + local.get $2 i32.const 20 i32.sub i32.load offset=16 @@ -4957,18 +4948,18 @@ i32.const 9 i32.const 2416 call $~lib/rt/__newArray - local.set $21 + local.set $0 global.get $~lib/memory/__stack_pointer - local.get $21 + local.get $0 i32.store offset=12 - local.get $1 - local.get $21 + local.get $2 + local.get $0 call $~lib/staticarray/StaticArray<~lib/string/String>#concat local.tee $0 i32.store offset=16 local.get $0 i32.load offset=12 - local.get $1 + local.get $2 i32.const 20 i32.sub i32.load offset=16 @@ -4989,16 +4980,16 @@ i32.const 20 i32.const 8 call $~lib/rt/itcms/__new - local.tee $1 + local.tee $0 i32.const 2448 i32.const 20 call $~lib/memory/memory.copy - local.get $1 + local.get $0 i32.store offset=16 global.get $~lib/memory/__stack_pointer i32.const 1984 i32.store offset=12 - local.get $1 + local.get $0 i32.const 1984 i32.const 0 call $~lib/staticarray/StaticArray<~lib/string/String>#includes @@ -5015,7 +5006,7 @@ global.get $~lib/memory/__stack_pointer i32.const 2384 i32.store offset=12 - local.get $1 + local.get $0 i32.const 2384 i32.const 0 call $~lib/staticarray/StaticArray<~lib/string/String>#includes @@ -5030,7 +5021,7 @@ global.get $~lib/memory/__stack_pointer i32.const 2080 i32.store offset=12 - local.get $1 + local.get $0 i32.const 2080 i32.const 5 call $~lib/staticarray/StaticArray<~lib/string/String>#includes @@ -5045,7 +5036,7 @@ global.get $~lib/memory/__stack_pointer i32.const 2080 i32.store offset=12 - local.get $1 + local.get $0 i32.const 2080 i32.const -1 call $~lib/staticarray/StaticArray<~lib/string/String>#includes @@ -5063,15 +5054,17 @@ i32.const 8 i32.const 10 call $~lib/rt/itcms/__new - local.tee $0 + local.tee $2 i32.const 2496 i32.const 8 call $~lib/memory/memory.copy global.get $~lib/memory/__stack_pointer - local.get $0 + local.get $2 i32.store i32.const 0 - local.get $0 + local.set $0 + i32.const 0 + local.get $2 i32.const 20 i32.sub i32.load offset=16 @@ -5082,30 +5075,30 @@ br_if $__inlined_func$~lib/staticarray/StaticArray#includes drop loop $while-continue|0 + local.get $0 local.get $1 - local.get $7 - i32.gt_s + i32.lt_s if i32.const 1 - local.get $7 + local.get $0 i32.const 3 i32.shl - local.get $0 + local.get $2 i32.add f64.load - local.tee $12 + local.tee $9 f64.const nan:0x8000000000000 f64.eq - local.get $12 - local.get $12 + local.get $9 + local.get $9 f64.ne i32.or br_if $__inlined_func$~lib/staticarray/StaticArray#includes drop - local.get $7 + local.get $0 i32.const 1 i32.add - local.set $7 + local.set $0 br $while-continue|0 end end @@ -5124,15 +5117,17 @@ i32.const 4 i32.const 11 call $~lib/rt/itcms/__new - local.tee $0 + local.tee $2 i32.const 2528 i32.const 4 call $~lib/memory/memory.copy global.get $~lib/memory/__stack_pointer - local.get $0 + local.get $2 i32.store i32.const 0 - local.get $0 + local.set $0 + i32.const 0 + local.get $2 i32.const 20 i32.sub i32.load offset=16 @@ -5143,30 +5138,30 @@ br_if $__inlined_func$~lib/staticarray/StaticArray#includes drop loop $while-continue|09 + local.get $0 local.get $1 - local.get $8 - i32.gt_s + i32.lt_s if i32.const 1 - local.get $8 + local.get $0 i32.const 2 i32.shl - local.get $0 + local.get $2 i32.add f32.load - local.tee $11 + local.tee $10 f32.const nan:0x400000 f32.eq - local.get $11 - local.get $11 + local.get $10 + local.get $10 f32.ne i32.or br_if $__inlined_func$~lib/staticarray/StaticArray#includes drop - local.get $8 + local.get $0 i32.const 1 i32.add - local.set $8 + local.set $0 br $while-continue|09 end end @@ -5185,50 +5180,52 @@ i32.const 12 i32.const 3 call $~lib/rt/itcms/__new - local.tee $7 + local.tee $3 i32.const 2560 i32.const 12 call $~lib/memory/memory.copy - local.get $7 + local.get $3 i32.store offset=16 - i32.const -1 + i32.const 0 local.set $0 + i32.const -1 + local.set $1 block $__inlined_func$~lib/staticarray/StaticArray#indexOf - local.get $7 + local.get $3 i32.const 20 i32.sub i32.load offset=16 i32.const 2 i32.shr_u - local.tee $1 + local.tee $2 i32.eqz br_if $__inlined_func$~lib/staticarray/StaticArray#indexOf loop $while-continue|012 - local.get $1 + local.get $0 local.get $2 - i32.gt_s + i32.lt_s if - local.get $2 - local.tee $0 + local.get $0 + local.tee $1 i32.const 2 i32.shl - local.get $7 + local.get $3 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 $2 + local.set $0 br $while-continue|012 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 @@ -5237,44 +5234,46 @@ call $~lib/builtins/abort unreachable end - i32.const -1 + i32.const 0 local.set $0 + i32.const -1 + local.set $1 block $__inlined_func$~lib/staticarray/StaticArray#indexOf13 - local.get $7 + local.get $3 i32.const 20 i32.sub i32.load offset=16 i32.const 2 i32.shr_u - local.tee $1 + local.tee $2 i32.eqz br_if $__inlined_func$~lib/staticarray/StaticArray#indexOf13 loop $while-continue|028 - local.get $1 - local.get $3 - i32.gt_s + local.get $0 + local.get $2 + i32.lt_s if - local.get $3 - local.tee $0 + local.get $0 + local.tee $1 i32.const 2 i32.shl - local.get $7 + local.get $3 i32.add i32.load i32.const 7 i32.eq br_if $__inlined_func$~lib/staticarray/StaticArray#indexOf13 - local.get $0 + local.get $1 i32.const 1 i32.add - local.set $3 + local.set $0 br $while-continue|028 end end i32.const -1 - local.set $0 + local.set $1 end - local.get $0 + local.get $1 i32.const -1 i32.ne if @@ -5290,7 +5289,7 @@ i32.const -1 local.set $1 block $__inlined_func$~lib/staticarray/StaticArray#indexOf29 - local.get $7 + local.get $3 i32.const 20 i32.sub i32.load offset=16 @@ -5312,7 +5311,7 @@ local.tee $1 i32.const 2 i32.shl - local.get $7 + local.get $3 i32.add i32.load i32.const 9 @@ -5342,7 +5341,7 @@ i32.const -1 local.set $0 block $__inlined_func$~lib/staticarray/StaticArray#indexOf34 - local.get $7 + local.get $3 i32.const 20 i32.sub i32.load offset=16 @@ -5373,7 +5372,7 @@ local.get $0 i32.const 2 i32.shl - local.get $7 + local.get $3 i32.add i32.load i32.const 2 @@ -5401,56 +5400,56 @@ unreachable end i32.const -1 - local.set $1 + local.set $0 block $__inlined_func$~lib/staticarray/StaticArray#indexOf38 - local.get $7 + local.get $3 i32.const 20 i32.sub i32.load offset=16 i32.const 2 i32.shr_u - local.tee $0 + local.tee $1 i32.const -3 i32.le_s i32.const 1 - local.get $0 + local.get $1 select br_if $__inlined_func$~lib/staticarray/StaticArray#indexOf38 - local.get $0 + local.get $1 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 $while-continue|041 local.get $0 local.get $1 - i32.gt_s + i32.lt_s if - local.get $1 + local.get $0 i32.const 2 i32.shl - local.get $7 + local.get $3 i32.add i32.load i32.const 2 i32.eq br_if $__inlined_func$~lib/staticarray/StaticArray#indexOf38 - local.get $1 + local.get $0 i32.const 1 i32.add - local.set $1 + local.set $0 br $while-continue|041 end end i32.const -1 - local.set $1 + local.set $0 end - local.get $1 + local.get $0 if i32.const 0 i32.const 1216 @@ -5477,9 +5476,9 @@ i32.load offset=16 i32.const 2 i32.shr_u - local.set $1 + local.set $3 i32.const -1 - local.set $0 + local.set $1 block $__inlined_func$~lib/staticarray/StaticArray#lastIndexOf local.get $2 i32.const 20 @@ -5487,21 +5486,21 @@ i32.load offset=16 i32.const 2 i32.shr_u - local.tee $3 + local.tee $0 i32.eqz br_if $__inlined_func$~lib/staticarray/StaticArray#lastIndexOf - local.get $1 + local.get $0 local.get $3 i32.add - local.get $3 + local.get $0 i32.const 1 i32.sub - local.get $1 - local.get $1 local.get $3 - i32.ge_s + local.get $0 + local.get $3 + i32.le_s select - local.get $1 + local.get $3 i32.const 0 i32.lt_s select @@ -5512,7 +5511,6 @@ i32.ge_s if local.get $1 - local.tee $0 i32.const 2 i32.shl local.get $2 @@ -5521,7 +5519,7 @@ i32.const 2 i32.eq br_if $__inlined_func$~lib/staticarray/StaticArray#lastIndexOf - local.get $0 + local.get $1 i32.const 1 i32.sub local.set $1 @@ -5529,9 +5527,9 @@ end end i32.const -1 - local.set $0 + local.set $1 end - local.get $0 + local.get $1 i32.const 3 i32.ne if @@ -5550,26 +5548,26 @@ i32.load offset=16 i32.const 2 i32.shr_u - local.tee $1 - local.set $3 - i32.const -1 + local.tee $3 local.set $0 + i32.const -1 + local.set $1 block $__inlined_func$~lib/staticarray/StaticArray#lastIndexOf6 - local.get $1 + local.get $3 i32.eqz br_if $__inlined_func$~lib/staticarray/StaticArray#lastIndexOf6 - local.get $1 + local.get $0 local.get $3 i32.add - local.get $1 + local.get $3 i32.const 1 i32.sub + local.get $0 + local.get $0 local.get $3 - local.get $1 - local.get $3 - i32.le_s + i32.ge_s select - local.get $3 + local.get $0 i32.const 0 i32.lt_s select @@ -5580,7 +5578,6 @@ i32.ge_s if local.get $1 - local.tee $0 i32.const 2 i32.shl local.get $2 @@ -5589,7 +5586,7 @@ i32.const 7 i32.eq br_if $__inlined_func$~lib/staticarray/StaticArray#lastIndexOf6 - local.get $0 + local.get $1 i32.const 1 i32.sub local.set $1 @@ -5597,9 +5594,9 @@ end end i32.const -1 - local.set $0 + local.set $1 end - local.get $0 + local.get $1 i32.const -1 i32.ne if @@ -5611,7 +5608,7 @@ unreachable end i32.const -1 - local.set $7 + local.set $1 block $__inlined_func$~lib/staticarray/StaticArray#lastIndexOf8 local.get $2 i32.const 20 @@ -5628,15 +5625,15 @@ i32.const 3 local.get $0 i32.const 3 - i32.le_s + i32.le_u select - local.set $7 + local.set $1 loop $while-continue|044 - local.get $7 + local.get $1 i32.const 0 i32.ge_s if - local.get $7 + local.get $1 i32.const 2 i32.shl local.get $2 @@ -5645,17 +5642,17 @@ i32.const 2 i32.eq br_if $__inlined_func$~lib/staticarray/StaticArray#lastIndexOf8 - local.get $7 + local.get $1 i32.const 1 i32.sub - local.set $7 + local.set $1 br $while-continue|044 end end i32.const -1 - local.set $7 + local.set $1 end - local.get $7 + local.get $1 i32.const 3 i32.ne if @@ -5667,7 +5664,7 @@ unreachable end i32.const -1 - local.set $7 + local.set $1 block $__inlined_func$~lib/staticarray/StaticArray#lastIndexOf45 local.get $2 i32.const 20 @@ -5684,15 +5681,15 @@ i32.const 2 local.get $0 i32.const 2 - i32.le_s + i32.le_u select - local.set $7 + local.set $1 loop $while-continue|048 - local.get $7 + local.get $1 i32.const 0 i32.ge_s if - local.get $7 + local.get $1 i32.const 2 i32.shl local.get $2 @@ -5701,17 +5698,17 @@ i32.const 2 i32.eq br_if $__inlined_func$~lib/staticarray/StaticArray#lastIndexOf45 - local.get $7 + local.get $1 i32.const 1 i32.sub - local.set $7 + local.set $1 br $while-continue|048 end end i32.const -1 - local.set $7 + local.set $1 end - local.get $7 + local.get $1 if i32.const 0 i32.const 1216 @@ -5721,7 +5718,7 @@ unreachable end i32.const -1 - local.set $7 + local.set $1 block $__inlined_func$~lib/staticarray/StaticArray#lastIndexOf49 local.get $2 i32.const 20 @@ -5735,13 +5732,13 @@ local.get $0 i32.const 2 i32.sub - local.set $7 + local.set $1 loop $while-continue|052 - local.get $7 + local.get $1 i32.const 0 i32.ge_s if - local.get $7 + local.get $1 i32.const 2 i32.shl local.get $2 @@ -5750,17 +5747,17 @@ i32.const 2 i32.eq br_if $__inlined_func$~lib/staticarray/StaticArray#lastIndexOf49 - local.get $7 + local.get $1 i32.const 1 i32.sub - local.set $7 + local.set $1 br $while-continue|052 end end i32.const -1 - local.set $7 + local.set $1 end - local.get $7 + local.get $1 if i32.const 0 i32.const 1216 @@ -5770,7 +5767,7 @@ unreachable end i32.const -1 - local.set $8 + local.set $0 block $__inlined_func$~lib/staticarray/StaticArray#lastIndexOf53 local.get $2 i32.const 20 @@ -5778,19 +5775,19 @@ i32.load offset=16 i32.const 2 i32.shr_u - local.tee $0 + local.tee $1 i32.eqz br_if $__inlined_func$~lib/staticarray/StaticArray#lastIndexOf53 - local.get $0 + local.get $1 i32.const 1 i32.sub - local.set $8 + local.set $0 loop $while-continue|056 - local.get $8 + local.get $0 i32.const 0 i32.ge_s if - local.get $8 + local.get $0 i32.const 2 i32.shl local.get $2 @@ -5799,17 +5796,17 @@ i32.const 2 i32.eq br_if $__inlined_func$~lib/staticarray/StaticArray#lastIndexOf53 - local.get $8 + local.get $0 i32.const 1 i32.sub - local.set $8 + local.set $0 br $while-continue|056 end end i32.const -1 - local.set $8 + local.set $0 end - local.get $8 + local.get $0 i32.const 3 i32.ne if @@ -5824,17 +5821,17 @@ i32.const 12 i32.const 8 call $~lib/rt/itcms/__new - local.tee $1 + local.tee $2 i32.const 2736 i32.const 12 call $~lib/memory/memory.copy - local.get $1 + local.get $2 i32.store offset=16 global.get $~lib/memory/__stack_pointer i32.const 2800 i32.store offset=20 - local.get $1 - local.get $1 + local.get $2 + local.get $2 i32.const 20 i32.sub i32.load offset=16 @@ -5864,8 +5861,8 @@ global.get $~lib/memory/__stack_pointer i32.const 2768 i32.store offset=20 - local.get $1 - local.get $1 + local.get $2 + local.get $2 i32.const 20 i32.sub i32.load offset=16 @@ -5895,8 +5892,8 @@ global.get $~lib/memory/__stack_pointer i32.const 2928 i32.store offset=20 - local.get $1 - local.get $1 + local.get $2 + local.get $2 i32.const 20 i32.sub i32.load offset=16 @@ -5926,8 +5923,8 @@ global.get $~lib/memory/__stack_pointer i32.const 3008 i32.store offset=20 - local.get $1 - local.get $1 + local.get $2 + local.get $2 i32.const 20 i32.sub i32.load offset=16 @@ -5957,8 +5954,8 @@ global.get $~lib/memory/__stack_pointer i32.const 2800 i32.store offset=20 - local.get $1 - local.get $1 + local.get $2 + local.get $2 i32.const 20 i32.sub i32.load offset=16 @@ -5966,9 +5963,9 @@ i32.shr_u i32.const 2800 call $~lib/util/string/joinStringArray - local.set $0 + local.set $1 global.get $~lib/memory/__stack_pointer - local.get $0 + local.get $1 i32.store global.get $~lib/memory/__stack_pointer i32.const 4 @@ -5979,14 +5976,14 @@ 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 $2 + local.get $0 i32.const 2800 i32.store - local.get $1 - local.get $1 + local.get $2 + local.get $2 i32.const 20 i32.sub i32.load offset=16 @@ -5994,16 +5991,16 @@ i32.shr_u i32.const 2800 call $~lib/util/string/joinStringArray - local.set $1 + local.set $0 global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=12 local.get $0 + i32.store offset=12 local.get $1 + local.get $0 call $~lib/string/String.__eq i32.eqz if @@ -6018,45 +6015,45 @@ i32.const 8 i32.const 3 call $~lib/rt/itcms/__new - local.tee $0 + local.tee $2 i32.const 3104 i32.const 8 call $~lib/memory/memory.copy - local.get $0 + local.get $2 i32.store offset=16 i32.const 1 - local.get $0 + local.get $2 i32.const 20 i32.sub i32.load offset=16 i32.const 2 i32.shr_u - local.tee $2 - local.get $2 + local.tee $1 + local.get $1 i32.const 1 - i32.gt_s + i32.gt_u select - local.set $1 + local.set $0 loop $for-loop|060 + local.get $0 local.get $1 - local.get $2 i32.lt_s if - local.get $1 + local.get $0 i32.const 2 i32.shl - local.get $0 + local.get $2 i32.add i32.const 1 i32.store - local.get $1 + local.get $0 i32.const 1 i32.add - local.set $1 + local.set $0 br $for-loop|060 end end - local.get $0 + local.get $2 i32.const 0 call $~lib/staticarray/StaticArray#__get if @@ -6067,7 +6064,7 @@ call $~lib/builtins/abort unreachable end - local.get $0 + local.get $2 i32.const 1 call $~lib/staticarray/StaticArray#__get i32.const 1 @@ -6084,13 +6081,13 @@ i32.const 12 i32.const 3 call $~lib/rt/itcms/__new - local.tee $1 + local.tee $5 i32.const 3136 i32.const 12 call $~lib/memory/memory.copy - local.get $1 + local.get $5 i32.store offset=16 - local.get $1 + local.get $5 i32.const 20 i32.sub i32.load offset=16 @@ -6100,50 +6097,52 @@ i32.const 1 i32.gt_u if + i32.const 0 + local.set $1 local.get $0 i32.const 1 i32.shr_u - local.set $2 + local.set $4 local.get $0 i32.const 1 i32.sub - local.set $0 + local.set $3 loop $while-continue|064 - local.get $2 + local.get $1 local.get $4 - i32.gt_u + i32.lt_u if - local.get $4 + local.get $1 i32.const 2 i32.shl - local.get $1 + local.get $5 i32.add - local.tee $3 + local.tee $0 i32.load - local.set $7 - local.get $3 + local.set $2 local.get $0 - local.get $4 + local.get $3 + local.get $1 i32.sub i32.const 2 i32.shl - local.get $1 + local.get $5 i32.add - local.tee $3 + local.tee $0 i32.load i32.store - local.get $3 - local.get $7 + local.get $0 + local.get $2 i32.store - local.get $4 + local.get $1 i32.const 1 i32.add - local.set $4 + local.set $1 br $while-continue|064 end end end - local.get $1 + local.get $5 i32.const 0 call $~lib/staticarray/StaticArray#__get i32.const 3 @@ -6156,7 +6155,7 @@ call $~lib/builtins/abort unreachable end - local.get $1 + local.get $5 i32.const 1 call $~lib/staticarray/StaticArray#__get i32.const 2 @@ -6169,7 +6168,7 @@ call $~lib/builtins/abort unreachable end - local.get $1 + local.get $5 i32.const 2 call $~lib/staticarray/StaticArray#__get i32.const 1 @@ -6186,79 +6185,71 @@ i32.const 20 i32.const 3 call $~lib/rt/itcms/__new - local.tee $1 + local.tee $4 i32.const 3168 i32.const 20 call $~lib/memory/memory.copy - local.get $1 + local.get $4 i32.store offset=16 - local.get $1 + local.get $4 i32.const 20 i32.sub i32.load offset=16 i32.const 2 i32.shr_u - local.tee $0 - local.tee $2 - local.set $3 - i32.const 0 - local.get $2 - local.get $2 + local.tee $3 + local.set $0 i32.const 0 - i32.gt_s - select - local.tee $2 + local.tee $1 i32.const 2 i32.shl - local.get $1 + local.get $4 i32.add + local.get $4 i32.const 3 - local.get $0 - local.get $0 + local.get $3 + local.get $3 i32.const 3 i32.gt_s select - local.tee $4 + local.tee $2 i32.const 2 i32.shl - local.get $1 i32.add - local.get $3 + local.get $0 i32.const 0 i32.lt_s if (result i32) local.get $0 local.get $3 i32.add - local.tee $3 + local.tee $0 i32.const 0 - local.get $3 + local.get $0 i32.const 0 i32.gt_s select else - local.get $3 local.get $0 + local.get $3 local.get $0 local.get $3 - i32.gt_s + i32.lt_s select end - local.get $4 - i32.sub - local.tee $3 - local.get $0 local.get $2 i32.sub + local.tee $2 + local.get $3 local.tee $0 local.get $0 - local.get $3 + local.get $2 i32.gt_s select i32.const 2 i32.shl call $~lib/memory/memory.copy - local.get $1 + local.get $4 i32.const 0 call $~lib/staticarray/StaticArray#__get i32.const 4 @@ -6271,7 +6262,7 @@ call $~lib/builtins/abort unreachable end - local.get $1 + local.get $4 i32.const 1 call $~lib/staticarray/StaticArray#__get i32.const 5 @@ -6284,7 +6275,7 @@ call $~lib/builtins/abort unreachable end - local.get $1 + local.get $4 i32.const 2 call $~lib/staticarray/StaticArray#__get i32.const 3 @@ -6297,7 +6288,7 @@ call $~lib/builtins/abort unreachable end - local.get $1 + local.get $4 i32.const 3 call $~lib/staticarray/StaticArray#__get i32.const 4 @@ -6310,7 +6301,7 @@ call $~lib/builtins/abort unreachable end - local.get $1 + local.get $4 i32.const 4 call $~lib/staticarray/StaticArray#__get i32.const 5 @@ -6327,17 +6318,17 @@ i32.const 12 i32.const 3 call $~lib/rt/itcms/__new - local.tee $1 + local.tee $7 i32.const 3216 i32.const 12 call $~lib/memory/memory.copy - local.get $1 + local.get $7 i32.store offset=16 global.get $~lib/memory/__stack_pointer - local.tee $2 + local.tee $6 i32.const 3248 i32.store offset=12 - local.get $2 + local.get $6 i32.const 4 i32.sub global.set $~lib/memory/__stack_pointer @@ -6350,14 +6341,13 @@ i32.const 0 i32.store local.get $0 - local.get $1 - local.tee $0 + local.get $7 i32.const 20 i32.sub i32.load offset=16 i32.const 2 i32.shr_u - local.tee $3 + local.tee $5 i32.const 6 i32.const 0 call $~lib/rt/__newArray @@ -6365,36 +6355,36 @@ i32.store local.get $4 i32.load offset=4 - local.set $7 + local.set $3 loop $for-loop|042 - local.get $3 + local.get $1 local.get $5 - i32.gt_s + i32.lt_s if - local.get $5 + local.get $1 i32.const 2 i32.shl - local.tee $8 - local.get $0 + local.tee $2 + local.get $7 i32.add i32.load - local.set $21 + local.set $0 i32.const 3 global.set $~argumentsLength - local.get $7 - local.get $8 + local.get $2 + local.get $3 i32.add - local.get $21 - local.get $5 local.get $0 + local.get $1 + local.get $7 i32.const 3248 i32.load call_indirect $0 (type $i32_i32_i32_=>_i32) i32.store - local.get $5 + local.get $1 i32.const 1 i32.add - local.set $5 + local.set $1 br $for-loop|042 end end @@ -6402,7 +6392,7 @@ i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $2 + local.get $6 local.get $4 i32.store offset=4 local.get $4 @@ -6447,7 +6437,9 @@ global.get $~lib/memory/__stack_pointer i32.const 3280 i32.store offset=12 - local.get $0 + i32.const 0 + local.set $1 + local.get $7 i32.const 20 i32.sub i32.load offset=16 @@ -6455,27 +6447,27 @@ i32.shr_u local.set $2 loop $for-loop|070 + local.get $1 local.get $2 - local.get $6 - i32.gt_s + i32.lt_s if - local.get $6 + local.get $1 i32.const 2 i32.shl - local.get $0 + local.get $7 i32.add i32.load i32.const 3 global.set $~argumentsLength - local.get $6 - local.get $0 + local.get $1 + local.get $7 i32.const 3280 i32.load call_indirect $0 (type $i32_i32_i32_=>_none) - local.get $6 + local.get $1 i32.const 1 i32.add - local.set $6 + local.set $1 br $for-loop|070 end end @@ -6491,10 +6483,10 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $5 + local.tee $11 i32.const 3312 i32.store offset=12 - local.get $5 + local.get $11 i32.const 4 i32.sub global.set $~lib/memory/__stack_pointer @@ -6503,61 +6495,59 @@ 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 $2 + local.get $0 i32.const 0 i32.const 6 i32.const 0 call $~lib/rt/__newArray - local.tee $2 + local.tee $3 i32.store - local.get $0 + local.get $7 i32.const 20 i32.sub i32.load offset=16 i32.const 2 i32.shr_u - local.set $4 + local.set $13 loop $for-loop|045 - local.get $4 - local.get $18 - i32.gt_s + local.get $8 + local.get $13 + i32.lt_s if - local.get $18 + local.get $8 i32.const 2 i32.shl - local.get $0 + local.get $7 i32.add i32.load - local.set $6 + local.set $12 i32.const 3 global.set $~argumentsLength - local.get $6 - local.get $18 - local.get $0 + local.get $12 + local.get $8 + local.get $7 i32.const 3312 i32.load call_indirect $0 (type $i32_i32_i32_=>_i32) if - local.get $2 - local.tee $3 + local.get $3 i32.load offset=12 - local.tee $7 + local.tee $14 i32.const 1 i32.add - local.tee $8 - local.set $21 + local.tee $6 local.get $3 + local.tee $2 i32.load offset=8 - local.tee $22 + local.tee $0 i32.const 2 i32.shr_u - local.get $8 - i32.lt_u + i32.gt_u if - local.get $21 + local.get $6 i32.const 268435455 i32.gt_u if @@ -6568,37 +6558,37 @@ call $~lib/builtins/abort unreachable end - block $__inlined_func$~lib/rt/itcms/__renew (result i32) - local.get $22 + block $__inlined_func$~lib/rt/itcms/__renew + local.get $0 i32.const 1 i32.shl - local.tee $22 + local.tee $0 i32.const 1073741820 - local.get $22 + local.get $0 i32.const 1073741820 i32.lt_u select - local.tee $22 - local.get $21 + local.tee $1 + local.get $6 i32.const 8 - local.get $21 + local.get $6 i32.const 8 i32.gt_u select i32.const 2 i32.shl - local.tee $21 - local.get $21 - local.get $22 + local.tee $0 + local.get $0 + local.get $1 i32.lt_u select - local.tee $21 - local.get $3 + local.tee $5 + local.get $2 i32.load - local.tee $22 + local.tee $1 i32.const 20 i32.sub - local.tee $23 + local.tee $4 i32.load i32.const -4 i32.and @@ -6606,67 +6596,67 @@ i32.sub i32.le_u if - local.get $23 - local.get $21 + local.get $4 + local.get $5 i32.store offset=16 - local.get $22 + local.get $1 + local.set $0 br $__inlined_func$~lib/rt/itcms/__renew end - local.get $21 - local.get $23 + local.get $5 + local.get $4 i32.load offset=12 call $~lib/rt/itcms/__new - local.tee $24 - local.get $22 - local.get $21 - local.get $23 + local.tee $0 + local.get $1 + local.get $5 + local.get $4 i32.load offset=16 - local.tee $23 - local.get $21 - local.get $23 - i32.lt_u + local.tee $4 + local.get $4 + local.get $5 + i32.gt_u select call $~lib/memory/memory.copy - local.get $24 end - local.tee $23 - local.get $22 + local.get $0 + local.get $1 i32.ne if - local.get $3 - local.get $23 + local.get $2 + local.get $0 i32.store - local.get $3 - local.get $23 + local.get $2 + local.get $0 i32.store offset=4 - local.get $23 + local.get $0 if - local.get $3 - local.get $23 + local.get $2 + local.get $0 i32.const 0 call $byn-split-outlined-A$~lib/rt/itcms/__link end end - local.get $3 - local.get $21 + local.get $2 + local.get $5 i32.store offset=8 end - local.get $3 + local.get $2 i32.load offset=4 - local.get $7 + local.get $14 i32.const 2 i32.shl i32.add - local.get $6 + local.get $12 i32.store - local.get $3 - local.get $8 + local.get $2 + local.get $6 i32.store offset=12 end - local.get $18 + local.get $8 i32.const 1 i32.add - local.set $18 + local.set $8 br $for-loop|045 end end @@ -6674,10 +6664,10 @@ i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $5 - local.get $2 + local.get $11 + local.get $3 i32.store offset=24 - local.get $2 + local.get $3 i32.load offset=12 i32.const 2 i32.ne @@ -6689,7 +6679,7 @@ call $~lib/builtins/abort unreachable end - local.get $2 + local.get $3 i32.const 0 call $~lib/array/Array#__get i32.const 2 @@ -6702,7 +6692,7 @@ call $~lib/builtins/abort unreachable end - local.get $2 + local.get $3 i32.const 1 call $~lib/array/Array#__get i32.const 3 @@ -6718,43 +6708,47 @@ global.get $~lib/memory/__stack_pointer i32.const 3344 i32.store offset=12 - local.get $0 + i32.const 0 + local.set $1 + i32.const 0 + local.set $0 + local.get $7 i32.const 20 i32.sub i32.load offset=16 i32.const 2 i32.shr_u - local.set $2 + local.set $3 loop $for-loop|076 - local.get $2 - local.get $17 - i32.gt_s + local.get $0 + local.get $3 + i32.lt_s if - local.get $17 + local.get $0 i32.const 2 i32.shl - local.get $0 + local.get $7 i32.add i32.load - local.set $3 + local.set $2 i32.const 4 global.set $~argumentsLength - local.get $10 - local.get $3 - local.get $17 + local.get $1 + local.get $2 local.get $0 + local.get $7 i32.const 3344 i32.load call_indirect $0 (type $i32_i32_i32_i32_=>_i32) - local.set $10 - local.get $17 + local.set $1 + local.get $0 i32.const 1 i32.add - local.set $17 + local.set $0 br $for-loop|076 end end - local.get $10 + local.get $1 i32.const 6 i32.ne if @@ -6768,7 +6762,9 @@ global.get $~lib/memory/__stack_pointer i32.const 3376 i32.store offset=12 - local.get $1 + i32.const 0 + local.set $0 + local.get $7 i32.const 20 i32.sub i32.load offset=16 @@ -6776,37 +6772,37 @@ i32.shr_u i32.const 1 i32.sub - local.set $8 + local.set $1 loop $for-loop|080 - local.get $8 + local.get $1 i32.const 0 i32.ge_s if - local.get $8 + local.get $1 i32.const 2 i32.shl - local.get $0 + local.get $7 i32.add i32.load local.set $2 i32.const 4 global.set $~argumentsLength - local.get $9 - local.get $2 - local.get $8 local.get $0 + local.get $2 + local.get $1 + local.get $7 i32.const 3376 i32.load call_indirect $0 (type $i32_i32_i32_i32_=>_i32) - local.set $9 - local.get $8 + local.set $0 + local.get $1 i32.const 1 i32.sub - local.set $8 + local.set $1 br $for-loop|080 end end - local.get $9 + local.get $0 i32.const 6 i32.ne if @@ -6821,7 +6817,9 @@ global.get $~lib/memory/__stack_pointer i32.const 3408 i32.store offset=12 - local.get $1 + i32.const 0 + local.set $1 + local.get $7 i32.const 20 i32.sub i32.load offset=16 @@ -6829,32 +6827,32 @@ i32.shr_u local.set $2 loop $for-loop|084 + local.get $1 local.get $2 - local.get $16 - i32.gt_s + i32.lt_s if - local.get $16 + local.get $1 i32.const 2 i32.shl - local.get $0 + local.get $7 i32.add i32.load - local.set $3 + local.set $0 i32.const 3 global.set $~argumentsLength i32.const 1 - local.get $3 - local.get $16 local.get $0 + local.get $1 + local.get $7 i32.const 3408 i32.load call_indirect $0 (type $i32_i32_i32_=>_i32) br_if $__inlined_func$~lib/staticarray/StaticArray#some drop - local.get $16 + local.get $1 i32.const 1 i32.add - local.set $16 + local.set $1 br $for-loop|084 end end @@ -6873,7 +6871,9 @@ global.get $~lib/memory/__stack_pointer i32.const 3440 i32.store offset=12 - local.get $1 + i32.const 0 + local.set $1 + local.get $7 i32.const 20 i32.sub i32.load offset=16 @@ -6881,32 +6881,32 @@ i32.shr_u local.set $2 loop $for-loop|089 + local.get $1 local.get $2 - local.get $15 - i32.gt_s + i32.lt_s if - local.get $15 + local.get $1 i32.const 2 i32.shl - local.get $0 + local.get $7 i32.add i32.load - local.set $3 + local.set $0 i32.const 3 global.set $~argumentsLength i32.const 1 - local.get $3 - local.get $15 local.get $0 + local.get $1 + local.get $7 i32.const 3440 i32.load call_indirect $0 (type $i32_i32_i32_=>_i32) br_if $__inlined_func$~lib/staticarray/StaticArray#some86 drop - local.get $15 + local.get $1 i32.const 1 i32.add - local.set $15 + local.set $1 br $for-loop|089 end end @@ -6924,7 +6924,9 @@ global.get $~lib/memory/__stack_pointer i32.const 3472 i32.store offset=12 - local.get $1 + i32.const 0 + local.set $1 + local.get $7 i32.const 20 i32.sub i32.load offset=16 @@ -6932,33 +6934,33 @@ i32.shr_u local.set $2 loop $for-loop|093 + local.get $1 local.get $2 - local.get $14 - i32.gt_s + i32.lt_s if - local.get $14 + local.get $1 i32.const 2 i32.shl - local.get $0 + local.get $7 i32.add i32.load - local.set $3 + local.set $0 i32.const 3 global.set $~argumentsLength i32.const 0 - local.get $3 - local.get $14 local.get $0 + local.get $1 + local.get $7 i32.const 3472 i32.load call_indirect $0 (type $i32_i32_i32_=>_i32) i32.eqz br_if $__inlined_func$~lib/staticarray/StaticArray#every drop - local.get $14 + local.get $1 i32.const 1 i32.add - local.set $14 + local.set $1 br $for-loop|093 end end @@ -6977,7 +6979,9 @@ global.get $~lib/memory/__stack_pointer i32.const 3504 i32.store offset=12 - local.get $1 + i32.const 0 + local.set $1 + local.get $7 i32.const 20 i32.sub i32.load offset=16 @@ -6985,33 +6989,33 @@ i32.shr_u local.set $2 loop $for-loop|098 + local.get $1 local.get $2 - local.get $13 - i32.gt_s + i32.lt_s if - local.get $13 + local.get $1 i32.const 2 i32.shl - local.get $0 + local.get $7 i32.add i32.load - local.set $3 + local.set $0 i32.const 3 global.set $~argumentsLength i32.const 0 - local.get $3 - local.get $13 local.get $0 + local.get $1 + local.get $7 i32.const 3504 i32.load call_indirect $0 (type $i32_i32_i32_=>_i32) i32.eqz br_if $__inlined_func$~lib/staticarray/StaticArray#every95 drop - local.get $13 + local.get $1 i32.const 1 i32.add - local.set $13 + local.set $1 br $for-loop|098 end end @@ -7028,7 +7032,9 @@ global.get $~lib/memory/__stack_pointer i32.const 3536 i32.store offset=12 - local.get $1 + i32.const 0 + local.set $1 + local.get $7 i32.const 20 i32.sub i32.load offset=16 @@ -7037,35 +7043,35 @@ local.set $2 block $__inlined_func$~lib/staticarray/StaticArray#findIndex loop $for-loop|0102 + local.get $1 local.get $2 - local.get $20 - i32.gt_s + i32.lt_s if - local.get $20 + local.get $1 i32.const 2 i32.shl - local.get $0 + local.get $7 i32.add i32.load i32.const 3 global.set $~argumentsLength - local.get $20 - local.get $0 + local.get $1 + local.get $7 i32.const 3536 i32.load call_indirect $0 (type $i32_i32_i32_=>_i32) br_if $__inlined_func$~lib/staticarray/StaticArray#findIndex - local.get $20 + local.get $1 i32.const 1 i32.add - local.set $20 + local.set $1 br $for-loop|0102 end end i32.const -1 - local.set $20 + local.set $1 end - local.get $20 + local.get $1 i32.const 1 i32.ne if @@ -7079,7 +7085,9 @@ global.get $~lib/memory/__stack_pointer i32.const 3568 i32.store offset=12 - local.get $1 + i32.const 0 + local.set $1 + local.get $7 i32.const 20 i32.sub i32.load offset=16 @@ -7088,35 +7096,35 @@ local.set $2 block $__inlined_func$~lib/staticarray/StaticArray#findIndex104 loop $for-loop|0107 + local.get $1 local.get $2 - local.get $19 - i32.gt_s + i32.lt_s if - local.get $19 + local.get $1 i32.const 2 i32.shl - local.get $0 + local.get $7 i32.add i32.load i32.const 3 global.set $~argumentsLength - local.get $19 - local.get $0 + local.get $1 + local.get $7 i32.const 3568 i32.load call_indirect $0 (type $i32_i32_i32_=>_i32) br_if $__inlined_func$~lib/staticarray/StaticArray#findIndex104 - local.get $19 + local.get $1 i32.const 1 i32.add - local.set $19 + local.set $1 br $for-loop|0107 end end i32.const -1 - local.set $19 + local.set $1 end - local.get $19 + local.get $1 i32.const -1 i32.ne if @@ -7130,7 +7138,7 @@ global.get $~lib/memory/__stack_pointer i32.const 3600 i32.store offset=12 - local.get $1 + local.get $7 i32.const 20 i32.sub i32.load offset=16 @@ -7138,38 +7146,38 @@ i32.shr_u i32.const 1 i32.sub - local.set $8 + local.set $0 block $__inlined_func$~lib/staticarray/StaticArray#findLastIndex loop $for-loop|0111 - local.get $8 + local.get $0 i32.const 0 i32.ge_s if - local.get $8 + local.get $0 i32.const 2 i32.shl - local.get $0 + local.get $7 i32.add i32.load i32.const 3 global.set $~argumentsLength - local.get $8 local.get $0 + local.get $7 i32.const 3600 i32.load call_indirect $0 (type $i32_i32_i32_=>_i32) br_if $__inlined_func$~lib/staticarray/StaticArray#findLastIndex - local.get $8 + local.get $0 i32.const 1 i32.sub - local.set $8 + local.set $0 br $for-loop|0111 end end i32.const -1 - local.set $8 + local.set $0 end - local.get $8 + local.get $0 i32.const 1 i32.ne if @@ -7183,7 +7191,7 @@ global.get $~lib/memory/__stack_pointer i32.const 3632 i32.store offset=12 - local.get $1 + local.get $7 i32.const 20 i32.sub i32.load offset=16 @@ -7201,13 +7209,13 @@ local.get $0 i32.const 2 i32.shl - local.get $1 + local.get $7 i32.add i32.load i32.const 3 global.set $~argumentsLength local.get $0 - local.get $1 + local.get $7 i32.const 3632 i32.load call_indirect $0 (type $i32_i32_i32_=>_i32) @@ -7555,7 +7563,7 @@ i32.load offset=16 i32.const 2 i32.shr_u - local.tee $2 + local.tee $3 local.get $1 i32.const 20 i32.sub @@ -7565,7 +7573,7 @@ i32.const 0 local.get $1 select - local.tee $3 + local.tee $2 i32.add local.tee $4 i32.const 268435455 @@ -7588,7 +7596,7 @@ i32.store local.get $4 local.get $0 - local.get $2 + local.get $3 i32.const 2 i32.shl local.tee $0 @@ -7597,7 +7605,7 @@ local.get $4 i32.add local.get $1 - local.get $3 + local.get $2 i32.const 2 i32.shl call $~lib/memory/memory.copy @@ -7634,13 +7642,13 @@ i32.load offset=16 i32.const 2 i32.shr_u - local.set $3 + local.set $4 local.get $1 i32.const 0 i32.lt_s if (result i32) local.get $1 - local.get $3 + local.get $4 i32.add local.tee $1 i32.const 0 @@ -7650,9 +7658,9 @@ 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 @@ -7663,7 +7671,7 @@ i32.lt_s if (result i32) local.get $2 - local.get $3 + local.get $4 i32.add local.tee $2 i32.const 0 @@ -7673,9 +7681,9 @@ select else local.get $2 - local.get $3 + local.get $4 local.get $2 - local.get $3 + local.get $4 i32.lt_s select end @@ -7692,41 +7700,39 @@ local.tee $2 i32.const 8 call $~lib/rt/itcms/__new - local.tee $3 + local.tee $4 i32.store local.get $1 i32.const 2 i32.shl local.get $0 i32.add - local.set $1 - i32.const 0 local.set $0 loop $while-continue|0 - local.get $0 local.get $2 - i32.lt_u + local.get $3 + i32.gt_u if - local.get $0 local.get $3 + local.get $4 i32.add local.get $0 - local.get $1 + local.get $3 i32.add i32.load - local.tee $4 + local.tee $1 i32.store - local.get $4 + local.get $1 if - local.get $3 local.get $4 + local.get $1 i32.const 1 call $byn-split-outlined-A$~lib/rt/itcms/__link end - local.get $0 + local.get $3 i32.const 4 i32.add - local.set $0 + local.set $3 br $while-continue|0 end end @@ -7734,7 +7740,7 @@ i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $3 + local.get $4 ) (func $~lib/staticarray/StaticArray<~lib/string/String>#__get (param $0 i32) (param $1 i32) (result i32) global.get $~lib/memory/__stack_pointer @@ -7803,6 +7809,7 @@ (local $5 i32) (local $6 i32) (local $7 i32) + (local $8 i32) global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub @@ -7827,15 +7834,15 @@ i32.load offset=16 i32.const 2 i32.shr_u - local.tee $4 + local.tee $5 local.get $1 i32.load offset=12 i32.const 0 local.get $1 select - local.tee $5 + local.tee $6 i32.add - local.tee $3 + local.tee $4 i32.const 268435455 i32.gt_u if @@ -7847,37 +7854,37 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $3 + local.get $4 i32.const 9 i32.const 0 call $~lib/rt/__newArray - local.tee $6 + local.tee $7 i32.store - local.get $6 + local.get $7 i32.load offset=4 - local.set $3 - local.get $4 + local.set $4 + local.get $5 i32.const 2 i32.shl - local.set $4 + local.set $5 loop $for-loop|0 local.get $2 - local.get $4 + local.get $5 i32.lt_u if local.get $2 - local.get $3 + local.get $4 i32.add local.get $0 local.get $2 i32.add i32.load - local.tee $7 + local.tee $8 i32.store - local.get $7 + local.get $8 if - local.get $6 local.get $7 + local.get $8 i32.const 1 call $byn-split-outlined-A$~lib/rt/itcms/__link end @@ -7888,44 +7895,42 @@ br $for-loop|0 end end - local.get $3 local.get $4 + local.get $5 i32.add - local.set $2 + local.set $0 local.get $1 i32.load offset=4 local.set $1 - local.get $5 + local.get $6 i32.const 2 i32.shl - local.set $3 - i32.const 0 - local.set $0 + local.set $2 loop $for-loop|1 - local.get $0 + local.get $2 local.get $3 - i32.lt_u + i32.gt_u if local.get $0 - local.get $2 + local.get $3 i32.add - local.get $0 local.get $1 + local.get $3 i32.add i32.load local.tee $4 i32.store local.get $4 if - local.get $6 + local.get $7 local.get $4 i32.const 1 call $byn-split-outlined-A$~lib/rt/itcms/__link end - local.get $0 + local.get $3 i32.const 4 i32.add - local.set $0 + local.set $3 br $for-loop|1 end end @@ -7933,7 +7938,7 @@ i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $6 + local.get $7 ) (func $~lib/util/string/joinStringArray (param $0 i32) (param $1 i32) (param $2 i32) (result i32) (local $3 i32) @@ -7957,16 +7962,16 @@ 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 local.get $1 i32.const 1 i32.sub - local.tee $6 + local.tee $5 i32.const 0 i32.lt_s if @@ -7977,7 +7982,7 @@ i32.const 2768 return end - local.get $6 + local.get $5 i32.eqz if global.get $~lib/memory/__stack_pointer @@ -7998,21 +8003,21 @@ end loop $for-loop|0 local.get $1 - local.get $5 + local.get $4 i32.gt_s if global.get $~lib/memory/__stack_pointer - local.get $5 + local.get $4 i32.const 2 i32.shl local.get $0 i32.add i32.load - local.tee $7 + local.tee $6 i32.store offset=4 - local.get $7 + local.get $6 if - local.get $7 + local.get $6 i32.const 20 i32.sub i32.load offset=16 @@ -8022,40 +8027,42 @@ i32.add local.set $3 end - local.get $5 + local.get $4 i32.const 1 i32.add - local.set $5 + local.set $4 br $for-loop|0 end end + i32.const 0 + local.set $1 global.get $~lib/memory/__stack_pointer + local.get $3 + local.get $5 local.get $2 i32.const 20 i32.sub i32.load offset=16 i32.const 1 i32.shr_u - local.tee $1 - local.get $6 + local.tee $3 i32.mul - local.get $3 i32.add i32.const 1 i32.shl i32.const 1 call $~lib/rt/itcms/__new - local.tee $3 + local.tee $6 i32.store offset=8 i32.const 0 - local.set $5 + local.set $4 loop $for-loop|1 + local.get $4 local.get $5 - local.get $6 i32.lt_s if global.get $~lib/memory/__stack_pointer - local.get $5 + local.get $4 i32.const 2 i32.shl local.get $0 @@ -8065,10 +8072,10 @@ i32.store offset=4 local.get $7 if - local.get $4 + local.get $1 i32.const 1 i32.shl - local.get $3 + local.get $6 i32.add local.get $7 local.get $7 @@ -8081,37 +8088,37 @@ i32.const 1 i32.shl call $~lib/memory/memory.copy - local.get $4 + local.get $1 local.get $7 i32.add - local.set $4 + local.set $1 end - local.get $1 + local.get $3 if - local.get $4 + local.get $1 i32.const 1 i32.shl - local.get $3 + local.get $6 i32.add local.get $2 - local.get $1 + local.get $3 i32.const 1 i32.shl call $~lib/memory/memory.copy local.get $1 - local.get $4 + local.get $3 i32.add - local.set $4 + local.set $1 end - local.get $5 + local.get $4 i32.const 1 i32.add - local.set $5 + local.set $4 br $for-loop|1 end end global.get $~lib/memory/__stack_pointer - local.get $6 + local.get $5 i32.const 2 i32.shl local.get $0 @@ -8121,10 +8128,10 @@ i32.store offset=4 local.get $0 if - local.get $4 + local.get $1 i32.const 1 i32.shl - local.get $3 + local.get $6 i32.add local.get $0 local.get $0 @@ -8141,7 +8148,7 @@ i32.const 12 i32.add global.set $~lib/memory/__stack_pointer - local.get $3 + local.get $6 ) (func $byn-split-outlined-A$~lib/rt/itcms/__visit (param $0 i32) global.get $~lib/rt/itcms/white diff --git a/tests/compiler/std/string-casemapping.optimized.wat b/tests/compiler/std/string-casemapping.optimized.wat index f021a85f2e..4165afc4be 100644 --- a/tests/compiler/std/string-casemapping.optimized.wat +++ b/tests/compiler/std/string-casemapping.optimized.wat @@ -1048,12 +1048,12 @@ (local $0 i32) (local $1 i32) memory.size - local.tee $0 + local.tee $1 i32.const 0 i32.le_s if (result i32) i32.const 1 - local.get $0 + local.get $1 i32.sub memory.grow i32.const 0 @@ -1071,11 +1071,11 @@ i32.const 0 i32.store loop $for-loop|0 - local.get $1 + local.get $0 i32.const 23 i32.lt_u if - local.get $1 + local.get $0 i32.const 2 i32.shl i32.const 37488 @@ -1083,14 +1083,14 @@ i32.const 0 i32.store offset=4 i32.const 0 - local.set $0 + local.set $1 loop $for-loop|1 - local.get $0 + local.get $1 i32.const 16 i32.lt_u if - local.get $0 local.get $1 + local.get $0 i32.const 4 i32.shl i32.add @@ -1100,17 +1100,17 @@ i32.add i32.const 0 i32.store offset=96 - local.get $0 + local.get $1 i32.const 1 i32.add - local.set $0 + local.set $1 br $for-loop|1 end end - local.get $1 + local.get $0 i32.const 1 i32.add - local.set $1 + local.set $0 br $for-loop|0 end end @@ -2046,113 +2046,103 @@ local.get $2 i32.const 8 i32.shr_s - local.set $5 - local.get $3 - i32.const 2 - i32.lt_u - if - i32.const 0 - local.get $1 + local.set $2 + block $folding-inner0 local.get $3 - i32.xor - i32.sub - local.get $5 + i32.const 2 + i32.lt_u + br_if $folding-inner0 + local.get $2 + i32.const 255 i32.and - local.get $0 - i32.add - return - end - local.get $5 - i32.const 255 - i32.and - local.set $2 - local.get $5 - i32.const 8 - i32.shr_u - local.set $3 - loop $while-continue|0 + local.set $3 local.get $2 - if - local.get $4 - local.get $2 - i32.const 1 - i32.shr_u - local.tee $5 + i32.const 8 + i32.shr_u + local.set $2 + loop $while-continue|0 local.get $3 - i32.add - i32.const 1 - i32.shl - i32.const 6596 - i32.add - i32.load8_u - local.tee $6 - i32.eq - if (result i32) + if + local.get $4 local.get $3 - local.get $5 + i32.const 1 + i32.shr_u + local.tee $6 + local.get $2 i32.add i32.const 1 i32.shl i32.const 6596 i32.add - i32.load8_u offset=1 - i32.const 2 - i32.shl - i32.const 5124 - i32.add - i32.load - local.tee $2 - i32.const 255 - i32.and - local.set $3 - local.get $2 - i32.const 8 - i32.shr_s - local.set $2 - local.get $3 - i32.const 2 - i32.lt_u - if - i32.const 0 - local.get $1 - local.get $3 - i32.xor - i32.sub + i32.load8_u + local.tee $5 + i32.eq + if (result i32) local.get $2 + local.get $6 + i32.add + i32.const 1 + i32.shl + i32.const 6596 + i32.add + i32.load8_u offset=1 + i32.const 2 + i32.shl + i32.const 5124 + i32.add + i32.load + local.tee $2 + i32.const 255 i32.and + local.set $3 + local.get $2 + i32.const 8 + i32.shr_s + local.set $2 + local.get $3 + i32.const 2 + i32.lt_u + br_if $folding-inner0 local.get $0 + i32.const 1 i32.add + local.get $1 + i32.const 1 + i32.shl + i32.sub return - end - local.get $0 - i32.const 1 - i32.add - local.get $1 - i32.const 1 - i32.shl - i32.sub - return - else - local.get $4 - local.get $6 - i32.lt_u - if (result i32) - local.get $5 else - local.get $3 - local.get $5 - i32.add - local.set $3 - local.get $2 + local.get $4 local.get $5 - i32.sub + i32.lt_u + if (result i32) + local.get $6 + else + local.get $2 + local.get $6 + i32.add + local.set $2 + local.get $3 + local.get $6 + i32.sub + end end + local.set $3 + br $while-continue|0 end - local.set $2 - br $while-continue|0 end + local.get $0 + return end + i32.const 0 + local.get $1 + local.get $3 + i32.xor + i32.sub + local.get $2 + i32.and local.get $0 + i32.add ) (func $~lib/util/memory/memcpy (param $0 i32) (param $1 i32) (param $2 i32) (local $3 i32) @@ -3319,7 +3309,7 @@ i32.add global.set $~lib/memory/__stack_pointer i32.const 19200 - local.set $1 + local.set $2 br $__inlined_func$~lib/util/number/itoa64 end i64.const 0 @@ -3339,7 +3329,6 @@ global.get $~lib/memory/__stack_pointer local.get $0 i32.wrap_i64 - local.tee $2 local.tee $1 i32.const 100000 i32.lt_u @@ -3393,10 +3382,10 @@ i32.shl i32.const 1 call $~lib/rt/itcms/__new - local.tee $1 + local.tee $2 i32.store - local.get $1 local.get $2 + local.get $1 local.get $4 call $~lib/util/number/utoa32_dec_lut else @@ -3453,25 +3442,25 @@ end local.get $3 i32.add - local.tee $2 + local.tee $1 i32.const 1 i32.shl i32.const 1 call $~lib/rt/itcms/__new - local.tee $1 + local.tee $2 i32.store loop $while-continue|0 local.get $0 i64.const 100000000 i64.ge_u if - local.get $2 + local.get $1 i32.const 4 i32.sub - local.tee $2 + local.tee $1 i32.const 1 i32.shl - local.get $1 + local.get $2 i32.add local.get $0 local.get $0 @@ -3505,13 +3494,13 @@ i64.shl i64.or i64.store - local.get $2 + local.get $1 i32.const 4 i32.sub - local.tee $2 + local.tee $1 i32.const 1 i32.shl - local.get $1 + local.get $2 i32.add local.get $4 i32.const 10000 @@ -3539,15 +3528,15 @@ br $while-continue|0 end end - local.get $1 + local.get $2 local.get $0 i32.wrap_i64 - local.get $2 + local.get $1 call $~lib/util/number/utoa32_dec_lut end local.get $3 if - local.get $1 + local.get $2 i32.const 45 i32.store16 end @@ -3556,7 +3545,7 @@ i32.add global.set $~lib/memory/__stack_pointer end - local.get $1 + local.get $2 ) (func $~lib/string/String.__concat (param $0 i32) (param $1 i32) (result i32) (local $2 i32) @@ -3701,7 +3690,7 @@ i32.load offset=16 i32.const 1 i32.shr_u - local.tee $8 + local.tee $6 i32.eqz if global.get $~lib/memory/__stack_pointer @@ -3712,12 +3701,12 @@ return end global.get $~lib/memory/__stack_pointer - local.get $8 + local.get $6 i32.const 6 i32.mul i32.const 1 call $~lib/rt/itcms/__new - local.tee $6 + local.tee $8 i32.store global.get $~lib/memory/__stack_pointer i32.const 1488 @@ -3726,11 +3715,11 @@ i32.load i32.const 1 i32.shr_u - local.set $3 + local.set $2 loop $for-loop|0 + local.get $6 local.get $7 - local.get $8 - i32.lt_u + i32.gt_u if local.get $7 i32.const 1 @@ -3738,17 +3727,17 @@ 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 $2 + local.get $3 i32.const 55295 i32.sub i32.const 1025 i32.lt_u - local.get $8 + local.get $6 i32.const 1 i32.sub local.get $7 @@ -3774,7 +3763,7 @@ local.get $4 i32.const 1023 i32.and - local.get $2 + local.get $3 local.tee $1 i32.const 1023 i32.and @@ -3783,14 +3772,14 @@ i32.or i32.const 65536 i32.add - local.tee $2 + local.tee $3 i32.const 131072 i32.ge_u if - local.get $5 + local.get $9 i32.const 1 i32.shl - local.get $6 + local.get $8 i32.add local.get $4 i32.const 16 @@ -3798,74 +3787,76 @@ local.get $1 i32.or i32.store - local.get $5 + local.get $9 i32.const 1 i32.add - local.set $5 + local.set $9 br $for-continue|0 end end end - local.get $2 + local.get $3 i32.const 9424 i32.sub i32.const 25 i32.le_u if - local.get $5 + local.get $9 i32.const 1 i32.shl - local.get $6 + local.get $8 i32.add - local.get $2 + local.get $3 i32.const 26 i32.sub i32.store16 else - local.get $2 + i32.const -1 + local.set $10 + local.get $3 i32.const 223 i32.sub i32.const 64056 i32.le_u - if (result i32) - local.get $3 - local.set $1 - i32.const 0 - local.set $9 + if block $~lib/util/casemap/bsearch|inlined.0 + local.get $2 + local.set $1 + i32.const 0 + local.set $5 loop $while-continue|1 local.get $1 - local.get $9 + local.get $5 i32.ge_s if local.get $1 - local.get $9 + local.get $5 i32.add i32.const 3 i32.shr_u i32.const 2 i32.shl - local.tee $4 + local.tee $10 i32.const 1 i32.shl i32.const 1488 i32.add i32.load16_u - local.get $2 + local.get $3 i32.sub - local.tee $10 + local.tee $4 i32.eqz br_if $~lib/util/casemap/bsearch|inlined.0 - local.get $10 + local.get $4 i32.const 31 i32.shr_u if - local.get $4 + local.get $10 i32.const 4 i32.add - local.set $9 + local.set $5 else - local.get $4 + local.get $10 i32.const 4 i32.sub local.set $1 @@ -3874,46 +3865,43 @@ end end i32.const -1 - local.set $4 + local.set $10 end - local.get $4 - else - i32.const -1 end - local.tee $1 + local.get $10 i32.const -1 i32.xor if - local.get $1 + local.get $10 i32.const 1 i32.shl i32.const 1488 i32.add - local.tee $1 + local.tee $4 i32.load16_u offset=6 - local.set $2 - local.get $5 + local.set $3 + local.get $9 i32.const 1 i32.shl - local.get $6 + local.get $8 i32.add - local.tee $4 - local.get $1 + local.tee $1 + local.get $4 i32.load offset=2 i32.store - local.get $4 - local.get $2 + local.get $1 + local.get $3 i32.store16 offset=4 - local.get $2 + local.get $3 i32.const 0 i32.ne i32.const 1 i32.add - local.get $5 + local.get $9 i32.add - local.set $5 + local.set $9 else - local.get $2 + local.get $3 i32.const 1 call $~lib/util/casemap/casemap i32.const 2097151 @@ -3922,18 +3910,18 @@ i32.const 65536 i32.lt_u if - local.get $5 + local.get $9 i32.const 1 i32.shl - local.get $6 + local.get $8 i32.add local.get $1 i32.store16 else - local.get $5 + local.get $9 i32.const 1 i32.shl - local.get $6 + local.get $8 i32.add local.get $1 i32.const 65536 @@ -3952,21 +3940,21 @@ i32.shl i32.or i32.store - local.get $5 + local.get $9 i32.const 1 i32.add - local.set $5 + local.set $9 end end end end else - local.get $5 + local.get $9 i32.const 1 i32.shl - local.get $6 + local.get $8 i32.add - local.get $2 + local.get $3 i32.const 2316 i32.add i32.load8_u @@ -3976,15 +3964,15 @@ i32.const 1 i32.add local.set $7 - local.get $5 + local.get $9 i32.const 1 i32.add - local.set $5 + local.set $9 br $for-loop|0 end end - local.get $6 - local.get $5 + local.get $8 + local.get $9 i32.const 1 i32.shl call $~lib/rt/itcms/__renew @@ -6607,7 +6595,6 @@ (local $8 i32) (local $9 i32) (local $10 i32) - (local $11 i32) global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub @@ -6632,7 +6619,7 @@ i32.load offset=16 i32.const 1 i32.shr_u - local.tee $8 + local.tee $7 i32.eqz if global.get $~lib/memory/__stack_pointer @@ -6643,62 +6630,62 @@ return end global.get $~lib/memory/__stack_pointer - local.get $8 + local.get $7 i32.const 2 i32.shl i32.const 1 call $~lib/rt/itcms/__new - local.tee $9 + local.tee $6 i32.store loop $for-loop|0 - local.get $3 - local.get $8 + local.get $2 + local.get $7 i32.lt_u if - local.get $3 + local.get $2 i32.const 1 i32.shl local.get $0 i32.add i32.load16_u - local.tee $4 + local.tee $1 i32.const 7 i32.shr_u if block $for-continue|0 - local.get $4 + local.get $1 i32.const 55295 i32.sub i32.const 1025 i32.lt_u - local.get $8 + local.get $7 i32.const 1 i32.sub - local.get $3 + local.get $2 i32.gt_u i32.and if - local.get $3 + local.get $2 i32.const 1 i32.shl local.get $0 i32.add i32.load16_u offset=2 - local.tee $2 + local.tee $4 i32.const 56319 i32.sub i32.const 1025 i32.lt_u if - local.get $3 + local.get $2 i32.const 1 i32.add - local.set $3 - local.get $2 + local.set $2 + local.get $4 i32.const 1023 i32.and - local.get $4 - local.tee $1 + local.get $1 + local.tee $3 i32.const 1023 i32.and i32.const 10 @@ -6706,57 +6693,57 @@ i32.or i32.const 65536 i32.add - local.tee $4 + local.tee $1 i32.const 131072 i32.ge_u if - local.get $10 + local.get $5 i32.const 1 i32.shl - local.get $9 + local.get $6 i32.add - local.get $2 + local.get $4 i32.const 16 i32.shl - local.get $1 + local.get $3 i32.or i32.store - local.get $10 + local.get $5 i32.const 1 i32.add - local.set $10 + local.set $5 br $for-continue|0 end end end - local.get $4 + local.get $1 i32.const 304 i32.eq if - local.get $10 + local.get $5 i32.const 1 i32.shl - local.get $9 + local.get $6 i32.add i32.const 50790505 i32.store - local.get $10 + local.get $5 i32.const 1 i32.add - local.set $10 + local.set $5 else - local.get $4 + local.get $1 i32.const 931 i32.eq if - local.get $10 + local.get $5 i32.const 1 i32.shl - local.get $9 + local.get $6 i32.add i32.const 962 i32.const 963 - local.get $8 + local.get $7 i32.const 1 i32.gt_u if (result i32) @@ -6764,29 +6751,29 @@ i32.const 0 local.set $1 i32.const 0 - local.get $3 - local.tee $2 + local.get $2 + local.tee $3 local.tee $4 i32.const 30 i32.sub - local.tee $5 - local.get $5 + local.tee $8 + local.get $8 i32.const 0 i32.lt_s select - local.set $6 + local.set $9 loop $while-continue|1 local.get $4 - local.get $6 + local.get $9 i32.gt_s if - i32.const -1 - local.set $11 - block $~lib/util/string/codePointBefore|inlined.0 + block $~lib/util/string/codePointBefore|inlined.0 (result i32) + i32.const -1 local.get $4 i32.const 0 i32.le_s br_if $~lib/util/string/codePointBefore|inlined.0 + drop local.get $4 i32.const 1 i32.sub @@ -6795,7 +6782,7 @@ local.get $0 i32.add i32.load16_u - local.tee $7 + local.tee $10 i32.const 64512 i32.and i32.const 56320 @@ -6807,9 +6794,6 @@ i32.ge_s i32.and if - local.get $7 - i32.const 1023 - i32.and local.get $4 i32.const 2 i32.sub @@ -6818,37 +6802,40 @@ local.get $0 i32.add i32.load16_u - local.tee $5 - i32.const 1023 - i32.and - i32.const 10 - i32.shl - i32.add - i32.const 65536 - i32.add - local.set $11 - local.get $5 + local.tee $8 i32.const 64512 i32.and i32.const 55296 i32.eq - br_if $~lib/util/string/codePointBefore|inlined.0 + if + local.get $10 + i32.const 1023 + i32.and + local.get $8 + i32.const 1023 + i32.and + i32.const 10 + i32.shl + i32.add + i32.const 65536 + i32.add + br $~lib/util/string/codePointBefore|inlined.0 + end end i32.const 65533 - local.get $7 - local.get $7 + local.get $10 + local.get $10 i32.const 63488 i32.and i32.const 55296 i32.eq select - local.set $11 end - local.get $11 + local.tee $8 i32.const 918000 i32.lt_u if (result i32) - local.get $11 + local.get $8 i32.const 8 i32.shr_u i32.const 7212 @@ -6858,14 +6845,14 @@ i32.shl i32.const 7212 i32.add - local.get $11 + local.get $8 i32.const 255 i32.and i32.const 3 i32.shr_u i32.add i32.load8_u - local.get $11 + local.get $8 i32.const 7 i32.and i32.shr_u @@ -6877,11 +6864,11 @@ i32.eqz if i32.const 0 - local.get $11 + local.get $8 i32.const 127370 i32.lt_u if (result i32) - local.get $11 + local.get $8 i32.const 8 i32.shr_u i32.const 10220 @@ -6891,14 +6878,14 @@ i32.shl i32.const 10220 i32.add - local.get $11 + local.get $8 i32.const 255 i32.and i32.const 3 i32.shr_u i32.add i32.load8_u - local.get $11 + local.get $8 i32.const 7 i32.and i32.shr_u @@ -6914,7 +6901,7 @@ local.set $1 end local.get $4 - local.get $11 + local.get $8 i32.const 65536 i32.ge_s i32.const 1 @@ -6929,23 +6916,23 @@ i32.eqz br_if $~lib/util/string/isFinalSigma|inlined.0 drop - local.get $2 + local.get $3 i32.const 1 i32.add local.tee $4 i32.const 30 i32.add local.tee $1 - local.get $8 + local.get $7 local.get $1 - local.get $8 + local.get $7 i32.lt_s select - local.set $5 + local.set $3 loop $while-continue|2 + local.get $3 local.get $4 - local.get $5 - i32.lt_s + i32.gt_s if local.get $4 i32.const 1 @@ -6958,7 +6945,7 @@ i32.and i32.const 55296 i32.eq - local.get $8 + local.get $7 local.get $4 i32.const 1 i32.add @@ -6971,13 +6958,13 @@ local.get $0 i32.add i32.load16_u offset=2 - local.tee $2 + local.tee $8 i32.const 64512 i32.and i32.const 56320 i32.eq if - local.get $2 + local.get $8 local.get $1 i32.const 10 i32.shl @@ -7071,23 +7058,23 @@ select i32.store16 else - local.get $4 + local.get $1 i32.const 9398 i32.sub i32.const 25 i32.le_u if - local.get $10 + local.get $5 i32.const 1 i32.shl - local.get $9 + local.get $6 i32.add - local.get $4 + local.get $1 i32.const 26 i32.add i32.store16 else - local.get $4 + local.get $1 i32.const 0 call $~lib/util/casemap/casemap i32.const 2097151 @@ -7096,18 +7083,18 @@ i32.const 65536 i32.lt_u if - local.get $10 + local.get $5 i32.const 1 i32.shl - local.get $9 + local.get $6 i32.add local.get $1 i32.store16 else - local.get $10 + local.get $5 i32.const 1 i32.shl - local.get $9 + local.get $6 i32.add local.get $1 i32.const 65536 @@ -7126,40 +7113,40 @@ i32.shl i32.or i32.store - local.get $10 + local.get $5 i32.const 1 i32.add - local.set $10 + local.set $5 end end end end end else - local.get $10 + local.get $5 i32.const 1 i32.shl - local.get $9 + local.get $6 i32.add - local.get $4 + local.get $1 i32.const 7084 i32.add i32.load8_u i32.store16 end - local.get $3 + local.get $2 i32.const 1 i32.add - local.set $3 - local.get $10 + local.set $2 + local.get $5 i32.const 1 i32.add - local.set $10 + local.set $5 br $for-loop|0 end end - local.get $9 - local.get $10 + local.get $6 + local.get $5 i32.const 1 i32.shl call $~lib/rt/itcms/__renew @@ -7251,19 +7238,19 @@ local.get $0 i32.const 20 i32.sub - local.tee $0 + local.tee $1 i32.load offset=4 i32.const 3 i32.and i32.eq if global.get $~lib/rt/itcms/iter - local.get $0 + local.get $1 i32.eq if - local.get $0 + local.get $1 i32.load offset=8 - local.tee $1 + local.tee $0 i32.eqz if i32.const 0 @@ -7273,22 +7260,22 @@ call $~lib/builtins/abort unreachable end - local.get $1 + local.get $0 global.set $~lib/rt/itcms/iter end block $__inlined_func$~lib/rt/itcms/Object#unlink - local.get $0 + local.get $1 i32.load offset=4 i32.const -4 i32.and - local.tee $1 + local.tee $0 i32.eqz if i32.const 0 - local.get $0 + local.get $1 i32.const 37476 i32.lt_u - local.get $0 + local.get $1 i32.load offset=8 select i32.eqz @@ -7302,7 +7289,7 @@ end br $__inlined_func$~lib/rt/itcms/Object#unlink end - local.get $0 + local.get $1 i32.load offset=8 local.tee $2 i32.eqz @@ -7314,7 +7301,7 @@ call $~lib/builtins/abort unreachable end - local.get $1 + local.get $0 local.get $2 i32.store offset=8 local.get $2 @@ -7322,15 +7309,15 @@ i32.load offset=4 i32.const 3 i32.and - local.get $1 + local.get $0 i32.or i32.store offset=4 end global.get $~lib/rt/itcms/toSpace local.set $2 - local.get $0 + local.get $1 i32.load offset=12 - local.tee $1 + local.tee $0 i32.const 1 i32.le_u if (result i32) @@ -7338,7 +7325,7 @@ else i32.const 21056 i32.load - local.get $1 + local.get $0 i32.lt_u if i32.const 1280 @@ -7348,7 +7335,7 @@ call $~lib/builtins/abort unreachable end - local.get $1 + local.get $0 i32.const 3 i32.shl i32.const 21060 @@ -7366,25 +7353,25 @@ local.set $3 local.get $2 i32.load offset=8 - local.set $1 - local.get $0 + local.set $0 + local.get $1 local.get $2 local.get $3 i32.or i32.store offset=4 - local.get $0 local.get $1 + local.get $0 i32.store offset=8 - local.get $1 - local.get $1 + local.get $0 + local.get $0 i32.load offset=4 i32.const 3 i32.and - local.get $0 + local.get $1 i32.or i32.store offset=4 local.get $2 - local.get $0 + local.get $1 i32.store offset=8 global.get $~lib/rt/itcms/visitCount i32.const 1 diff --git a/tests/compiler/std/string-encoding.optimized.wat b/tests/compiler/std/string-encoding.optimized.wat index eaf627f4de..0d56d45193 100644 --- a/tests/compiler/std/string-encoding.optimized.wat +++ b/tests/compiler/std/string-encoding.optimized.wat @@ -1,6 +1,6 @@ (module - (type $i32_i32_=>_i32 (func (param i32 i32) (result i32))) (type $none_=>_none (func)) + (type $i32_i32_=>_i32 (func (param i32 i32) (result i32))) (type $i32_i32_i32_=>_none (func (param i32 i32 i32))) (type $i32_=>_none (func (param i32))) (type $i32_i32_=>_none (func (param i32 i32))) @@ -20,7 +20,7 @@ (global $~lib/rt/itcms/fromSpace (mut i32) (i32.const 0)) (global $~lib/rt/tlsf/ROOT (mut i32) (i32.const 0)) (global $~argumentsLength (mut i32) (i32.const 0)) - (global $~lib/memory/__stack_pointer (mut i32) (i32.const 38924)) + (global $~lib/memory/__stack_pointer (mut i32) (i32.const 39004)) (memory $0 1) (data (i32.const 1036) "\1c") (data (i32.const 1048) "\01\00\00\00\0c\00\00\00\01\d87\dch\00i\00R\d8b\df") @@ -50,23 +50,25 @@ (data (i32.const 1704) "\01\00\00\00$\00\00\00U\00n\00p\00a\00i\00r\00e\00d\00 \00s\00u\00r\00r\00o\00g\00a\00t\00e") (data (i32.const 1756) ",") (data (i32.const 1768) "\01\00\00\00\1c\00\00\00~\00l\00i\00b\00/\00s\00t\00r\00i\00n\00g\00.\00t\00s") - (data (i32.const 1804) "\1c") - (data (i32.const 1816) "\01\00\00\00\02\00\00\004\d8") - (data (i32.const 1836) "\1c") - (data (i32.const 1848) "\01\00\00\00\02\00\00\00\fd\ff") - (data (i32.const 1868) "\1c") - (data (i32.const 1880) "\01\00\00\00\02\00\00\00\1e\dd") - (data (i32.const 1900) ",") - (data (i32.const 1912) "\01\00\00\00\0e\00\00\001\002\003\00\00\004\005\006") + (data (i32.const 1804) "L") + (data (i32.const 1816) "\01\00\00\008\00\00\00a\00a\00a\00a\00a\00a\00a\00a\00a\00a\00a\00a\00a\00a\00a\00a\00a\00a\00a\00a\00a\00a\00a\00a\00a\00a\00a") + (data (i32.const 1884) "\1c") + (data (i32.const 1896) "\01\00\00\00\02\00\00\004\d8") + (data (i32.const 1916) "\1c") + (data (i32.const 1928) "\01\00\00\00\02\00\00\00\fd\ff") (data (i32.const 1948) "\1c") - (data (i32.const 1960) "\01\00\00\00\06\00\00\001\002\003") - (data (i32.const 1980) "\1c") - (data (i32.const 1992) "\01\00\00\00\08\00\00\00h\00i\00R\d8b\df") - (data (i32.const 2012) "<3") - (data (i32.const 2024) "\01\00\00\00*3\00\00M\00a\00t\00h\00e\00m\00a\00t\00i\00c\00s\00 \00a\00n\00d\00 \00S\00c\00i\00e\00n\00c\00e\00s\00:\00\n\00\n\00.\" \00E\00\c5\"d\00a\00 \00=\00 \00Q\00,\00 \00 \00n\00 \00\92! \00\1e\",\00 \00\11\" \00f\00(\00i\00)\00 \00=\00 \00\0f\" \00g\00(\00i\00)\00,\00 \00\00\"x\00\08\"\1d!:\00 \00\08#x\00\t# \00=\00 \00\12\"\n#\12\"x\00\0b#,\00 \00\b1\03 \00\'\" \00\ac\00\b2\03 \00=\00 \00\ac\00(\00\ac\00\b1\03 \00(\" \00\b2\03)\00,\00\n\00\n\00\15! \00\86\" \00\15!\80 \00\82\" \00$! \00\82\" \00\1a! \00\82\" \00\1d! \00\82\" \00\02!,\00 \00\a5\" \00<\00 \00a\00 \00`\" \00b\00 \00a\" \00c\00 \00d\" \00d\00 \00j\" \00\a4\" \00\d2! \00(\00A\00 \00\d4! \00B\00)\00,\00\n\00\n\002\00H\00\82 \00+\00 \00O\00\82 \00\cc! \002\00H\00\82 O\00,\00 \00R\00 \00=\00 \004\00.\007\00 \00k\00\a9\03,\00 \00\00# \002\000\000\00 \00m\00m\00\n\00\n\00L\00i\00n\00g\00u\00i\00s\00t\00i\00c\00s\00 \00a\00n\00d\00 \00d\00i\00c\00t\00i\00o\00n\00a\00r\00i\00e\00s\00:\00\n\00\n\00\f0\00i\00 \001\01n\00t\00Y\02\c8\02n\00\e6\00\83\02Y\02n\00Y\02l\00 \00f\00Y\02\c8\02n\00[\02t\001\01k\00 \00Y\02s\00o\00\8a\02s\00i\00\c8\02e\001\01\83\02n\00\n\00Y\00 \00[\00\c8\02\8f\02p\00s\00i\00l\00T\02n\00]\00,\00 \00Y\00e\00n\00 \00[\00j\00[\02n\00]\00,\00 \00Y\00o\00g\00a\00 \00[\00\c8\02j\00o\00\d0\02g\00Q\02]\00\n\00\n\00A\00P\00L\00:\00\n\00\n\00(\00(\00V\00s#V\00)\00=\00s#t#V\00)\00/\00V\00\90!,\00V\00 \00 \00 \00 \007#\90!s#\92!t#\06\"\07\"\83\"> N#U#\08#\n\00\n\00N\00i\00c\00e\00r\00 \00t\00y\00p\00o\00g\00r\00a\00p\00h\00y\00 \00i\00n\00 \00p\00l\00a\00i\00n\00 \00t\00e\00x\00t\00 \00f\00i\00l\00e\00s\00:\00\n\00\n\00T%P%P%P%P%P%P%P%P%P%P%P%P%P%P%P%P%P%P%P%P%P%P%P%P%P%P%P%P%P%P%P%P%P%P%P%P%P%P%P%P%P%P%W%\n\00Q% \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00Q%\n\00Q% \00 \00 \00\" \00\18 s\00i\00n\00g\00l\00e\00\19 \00a\00n\00d\00 \00\1c d\00o\00u\00b\00l\00e\00\1d \00q\00u\00o\00t\00e\00s\00 \00 \00 \00 \00 \00 \00 \00 \00 \00Q%\n\00Q% \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00Q%\n\00Q% \00 \00 \00\" \00C\00u\00r\00l\00y\00 \00a\00p\00o\00s\00t\00r\00o\00p\00h\00e\00s\00:\00 \00\1c W\00e\00\19 v\00e\00 \00b\00e\00e\00n\00 \00h\00e\00r\00e\00\1d \00Q%\n\00Q% \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00Q%\n\00Q% \00 \00 \00\" \00L\00a\00t\00i\00n\00-\001\00 \00a\00p\00o\00s\00t\00r\00o\00p\00h\00e\00 \00a\00n\00d\00 \00a\00c\00c\00e\00n\00t\00s\00:\00 \00\'\00\b4\00`\00 \00 \00Q%\n\00Q% \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00Q%\n\00Q% \00 \00 \00\" \00\1a d\00e\00u\00t\00s\00c\00h\00e\00\18 \00\1e A\00n\00f\00\fc\00h\00r\00u\00n\00g\00s\00z\00e\00i\00c\00h\00e\00n\00\1c \00 \00 \00 \00 \00 \00 \00Q%\n\00Q% \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00Q%\n\00Q% \00 \00 \00\" \00 ,\00 \00! ,\00 \000 ,\00 \00\" ,\00 \003\00\13 4\00,\00 \00\14 ,\00 \00\12\"5\00/\00+\005\00,\00 \00\"!,\00 \00& \00 \00 \00 \00 \00 \00Q%\n\00Q% \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00Q%\n\00Q% \00 \00 \00\" \00A\00S\00C\00I\00I\00 \00s\00a\00f\00e\00t\00y\00 \00t\00e\00s\00t\00:\00 \001\00l\00I\00|\00,\00 \000\00O\00D\00,\00 \008\00B\00 \00 \00 \00 \00 \00Q%\n\00Q% \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00m%\00%\00%\00%\00%\00%\00%\00%\00%\00%n% \00 \00 \00 \00 \00 \00 \00 \00 \00Q%\n\00Q% \00 \00 \00\" \00t\00h\00e\00 \00e\00u\00r\00o\00 \00s\00y\00m\00b\00o\00l\00:\00 \00\02% \001\004\00.\009\005\00 \00\ac \00\02% \00 \00 \00 \00 \00 \00 \00 \00 \00Q%\n\00Q% \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00p%\00%\00%\00%\00%\00%\00%\00%\00%\00%o% \00 \00 \00 \00 \00 \00 \00 \00 \00Q%\n\00Z%P%P%P%P%P%P%P%P%P%P%P%P%P%P%P%P%P%P%P%P%P%P%P%P%P%P%P%P%P%P%P%P%P%P%P%P%P%P%P%P%P%P%]%\n\00\n\00G\00r\00e\00e\00k\00 \00(\00i\00n\00 \00P\00o\00l\00y\00t\00o\00n\00i\00c\00)\00:\00\n\00\n\00T\00h\00e\00 \00G\00r\00e\00e\00k\00 \00a\00n\00t\00h\00e\00m\00:\00\n\00\n\00\a3\03r\1f \00\b3\03\bd\03\c9\03\c1\03w\1f\b6\03\c9\03 \00\00\1f\c0\03x\1f \00\c4\03t\1f\bd\03 \00\ba\03y\1f\c8\03\b7\03\n\00\c4\03\bf\03\e6\1f \00\c3\03\c0\03\b1\03\b8\03\b9\03\bf\03\e6\1f \00\c4\03t\1f\bd\03 \00\c4\03\c1\03\bf\03\bc\03\b5\03\c1\03u\1f,\00\n\00\c3\03r\1f \00\b3\03\bd\03\c9\03\c1\03w\1f\b6\03\c9\03 \00\00\1f\c0\03x\1f \00\c4\03t\1f\bd\03 \00D\1f\c8\03\b7\03\n\00\c0\03\bf\03z\1f \00\bc\03r\1f \00\b2\03w\1f\b1\03 \00\bc\03\b5\03\c4\03\c1\03q\1f\b5\03\b9\03 \00\c4\03t\1f \00\b3\03\c6\1f.\00\n\00\n\00\bf\1f\91\03\c0\03\bf\1f \00\c4\03p\1f \00\ba\03y\1f\ba\03\ba\03\b1\03\bb\03\b1\03 \00\b2\03\b3\03\b1\03\bb\03\bc\03s\1f\bd\03\b7\03\n\00\c4\03\f6\1f\bd\03 \00\fe\1f\95\03\bb\03\bb\03u\1f\bd\03\c9\03\bd\03 \00\c4\03p\1f \001\1f\b5\03\c1\03q\1f\n\00\ba\03\b1\03v\1f \00\c3\03p\1f\bd\03 \00\c0\03\c1\03\f6\1f\c4\03\b1\03 \00\00\1f\bd\03\b4\03\c1\03\b5\03\b9\03\c9\03\bc\03s\1f\bd\03\b7\03\n\00\c7\03\b1\03\d6\1f\c1\03\b5\03,\00 \00f\1f \00\c7\03\b1\03\d6\1f\c1\03\b5\03,\00 \00\bf\1f\95\03\bb\03\b5\03\c5\03\b8\03\b5\03\c1\03\b9\03q\1f!\00\n\00\n\00F\00r\00o\00m\00 \00a\00 \00s\00p\00e\00e\00c\00h\00 \00o\00f\00 \00D\00e\00m\00o\00s\00t\00h\00e\00n\00e\00s\00 \00i\00n\00 \00t\00h\00e\00 \004\00t\00h\00 \00c\00e\00n\00t\00u\00r\00y\00 \00B\00C\00:\00\n\00\n\00\9f\03P\1f\c7\03v\1f \00\c4\03\b1\03P\1f\c4\03p\1f \00\c0\03\b1\03\c1\03w\1f\c3\03\c4\03\b1\03\c4\03\b1\03w\1f \00\bc\03\bf\03\b9\03 \00\b3\03\b9\03\b3\03\bd\03}\1f\c3\03\ba\03\b5\03\b9\03\bd\03,\00 \00f\1f \00\04\1f\bd\03\b4\03\c1\03\b5\03\c2\03 \00\bf\1f\91\03\b8\03\b7\03\bd\03\b1\03\d6\1f\bf\03\b9\03,\00\n\00E\1f\c4\03\b1\03\bd\03 \00\c4\03\bf\1f \00\b5\030\1f\c2\03 \00\c4\03p\1f \00\c0\03\c1\03q\1f\b3\03\bc\03\b1\03\c4\03\b1\03 \00\00\1f\c0\03\bf\03\b2\03\bb\03s\1f\c8\03\c9\03 \00\ba\03\b1\03v\1f \00E\1f\c4\03\b1\03\bd\03 \00\c0\03\c1\03x\1f\c2\03 \00\c4\03\bf\03z\1f\c2\03\n\00\bb\03y\1f\b3\03\bf\03\c5\03\c2\03 \00\bf\03S\1f\c2\03 \00\00\1f\ba\03\bf\03{\1f\c9\03\87\03 \00\c4\03\bf\03z\1f\c2\03 \00\bc\03r\1f\bd\03 \00\b3\03p\1f\c1\03 \00\bb\03y\1f\b3\03\bf\03\c5\03\c2\03 \00\c0\03\b5\03\c1\03v\1f \00\c4\03\bf\03\e6\1f\n\00\c4\03\b9\03\bc\03\c9\03\c1\03u\1f\c3\03\b1\03\c3\03\b8\03\b1\03\b9\03 \00\a6\03w\1f\bb\03\b9\03\c0\03\c0\03\bf\03\bd\03 \00A\1f\c1\03\f6\1f \00\b3\03\b9\03\b3\03\bd\03\bf\03\bc\03s\1f\bd\03\bf\03\c5\03\c2\03,\00 \00\c4\03p\1f \00\b4\03r\1f \00\c0\03\c1\03q\1f\b3\03\bc\03\b1\03\c4\03\bf\1f\n\00\b5\030\1f\c2\03 \00\c4\03\bf\03\e6\1f\c4\03\bf\03 \00\c0\03\c1\03\bf\03u\1f\ba\03\bf\03\bd\03\c4\03\b1\03,\00 \00 \00e\1f\c3\03\b8\03\bf\1f \00E\1f\c0\03\c9\03\c2\03 \00\bc\03t\1f \00\c0\03\b5\03\b9\03\c3\03y\1f\bc\03\b5\03\b8\03\bf\1f \00\b1\03P\1f\c4\03\bf\03v\1f\n\00\c0\03\c1\03y\1f\c4\03\b5\03\c1\03\bf\03\bd\03 \00\ba\03\b1\03\ba\03\f6\1f\c2\03 \00\c3\03\ba\03s\1f\c8\03\b1\03\c3\03\b8\03\b1\03\b9\03 \00\b4\03s\1f\bf\03\bd\03.\00 \00\bf\03P\1f\b4\03s\1f\bd\03 \00\bf\03V\1f\bd\03 \00\04\1f\bb\03\bb\03\bf\03 \00\bc\03\bf\03\b9\03 \00\b4\03\bf\03\ba\03\bf\03\e6\1f\c3\03\b9\03\bd\03\n\00\bf\031\1f \00\c4\03p\1f \00\c4\03\bf\03\b9\03\b1\03\e6\1f\c4\03\b1\03 \00\bb\03s\1f\b3\03\bf\03\bd\03\c4\03\b5\03\c2\03 \00\"\1f \00\c4\03t\1f\bd\03 \00Q\1f\c0\03y\1f\b8\03\b5\03\c3\03\b9\03\bd\03,\00 \00\c0\03\b5\03\c1\03v\1f \00\'\1f\c2\03 \00\b2\03\bf\03\c5\03\bb\03\b5\03{\1f\b5\03\c3\03\b8\03\b1\03\b9\03,\00\n\00\bf\03P\1f\c7\03v\1f \00\c4\03t\1f\bd\03 \00\bf\03V\1f\c3\03\b1\03\bd\03 \00\c0\03\b1\03\c1\03\b9\03\c3\03\c4\03q\1f\bd\03\c4\03\b5\03\c2\03 \00Q\1f\bc\03\d6\1f\bd\03 \00\01\1f\bc\03\b1\03\c1\03\c4\03q\1f\bd\03\b5\03\b9\03\bd\03.\00 \00\10\1f\b3\03|\1f \00\b4\03s\1f,\00 \00E\1f\c4\03\b9\03 \00\bc\03s\1f\bd\03\n\00\c0\03\bf\03\c4\03\bf\1f \00\10\1f\be\03\c6\1f\bd\03 \00\c4\03\c7\1f \00\c0\03y\1f\bb\03\b5\03\b9\03 \00\ba\03\b1\03v\1f \00\c4\03p\1f \00\b1\03Q\1f\c4\03\c6\1f\c2\03 \00\14\1f\c7\03\b5\03\b9\03\bd\03 \00\00\1f\c3\03\c6\03\b1\03\bb\03\f6\1f\c2\03 \00\ba\03\b1\03v\1f \00\a6\03w\1f\bb\03\b9\03\c0\03\c0\03\bf\03\bd\03\n\00\c4\03\b9\03\bc\03\c9\03\c1\03u\1f\c3\03\b1\03\c3\03\b8\03\b1\03\b9\03,\00 \00\ba\03\b1\03v\1f \00\bc\03q\1f\bb\03\bf\1f \00\00\1f\ba\03\c1\03\b9\03\b2\03\f6\1f\c2\03 \00\bf\036\1f\b4\03\b1\03\87\03 \00\10\1f\c0\03\bf\1f \00\10\1f\bc\03\bf\03\e6\1f \00\b3\03q\1f\c1\03,\00 \00\bf\03P\1f \00\c0\03q\1f\bb\03\b1\03\b9\03\n\00\b3\03s\1f\b3\03\bf\03\bd\03\b5\03\bd\03 \00\c4\03\b1\03\e6\1f\c4\03\bf\1f \00\00\1f\bc\03\c6\03y\1f\c4\03\b5\03\c1\03\b1\03\87\03 \00\bd\03\e6\1f\bd\03 \00\bc\03s\1f\bd\03\c4\03\bf\03\b9\03 \00\c0\03s\1f\c0\03\b5\03\b9\03\c3\03\bc\03\b1\03\b9\03 \00\c4\03\bf\03\e6\1f\b8\03\bf\1f \001\1f\ba\03\b1\03\bd\03x\1f\bd\03\n\00\c0\03\c1\03\bf\03\bb\03\b1\03\b2\03\b5\03\d6\1f\bd\03 \00!\1f\bc\03\d6\1f\bd\03 \00\b5\036\1f\bd\03\b1\03\b9\03 \00\c4\03t\1f\bd\03 \00\c0\03\c1\03}\1f\c4\03\b7\03\bd\03,\00 \00E\1f\c0\03\c9\03\c2\03 \00\c4\03\bf\03z\1f\c2\03 \00\c3\03\c5\03\bc\03\bc\03q\1f\c7\03\bf\03\c5\03\c2\03\n\00\c3\03}\1f\c3\03\bf\03\bc\03\b5\03\bd\03.\00 \00\10\1fp\1f\bd\03 \00\b3\03p\1f\c1\03 \00\c4\03\bf\03\e6\1f\c4\03\bf\03 \00\b2\03\b5\03\b2\03\b1\03w\1f\c9\03\c2\03 \00Q\1f\c0\03q\1f\c1\03\be\03\c3\1f,\00 \00\c4\03y\1f\c4\03\b5\03 \00\ba\03\b1\03v\1f \00\c0\03\b5\03\c1\03v\1f \00\c4\03\bf\03\e6\1f\n\00\c4\03w\1f\bd\03\b1\03 \00\c4\03\b9\03\bc\03\c9\03\c1\03u\1f\c3\03\b5\03\c4\03\b1\03w\1f \00\c4\03\b9\03\c2\03 \00\ba\03\b1\03v\1f \00C\1f\bd\03 \00\c4\03\c1\03y\1f\c0\03\bf\03\bd\03 \00\10\1f\be\03s\1f\c3\03\c4\03\b1\03\b9\03 \00\c3\03\ba\03\bf\03\c0\03\b5\03\d6\1f\bd\03\87\03 \00\c0\03\c1\03v\1f\bd\03 \00\b4\03r\1f\n\00\c4\03t\1f\bd\03 \00\00\1f\c1\03\c7\03t\1f\bd\03 \00@\1f\c1\03\b8\03\f6\1f\c2\03 \00Q\1f\c0\03\bf\03\b8\03s\1f\c3\03\b8\03\b1\03\b9\03,\00 \00\bc\03q\1f\c4\03\b1\03\b9\03\bf\03\bd\03 \00!\1f\b3\03\bf\03\e6\1f\bc\03\b1\03\b9\03 \00\c0\03\b5\03\c1\03v\1f \00\c4\03\c6\1f\c2\03\n\00\c4\03\b5\03\bb\03\b5\03\c5\03\c4\03\c6\1f\c2\03 \00A\1f\bd\03\c4\03\b9\03\bd\03\bf\03\e6\1f\bd\03 \00\c0\03\bf\03\b9\03\b5\03\d6\1f\c3\03\b8\03\b1\03\b9\03 \00\bb\03y\1f\b3\03\bf\03\bd\03.\00\n\00\n\00\94\03\b7\03\bc\03\bf\03\c3\03\b8\03s\1f\bd\03\bf\03\c5\03\c2\03,\00 \00\93\03\fd\1f \00\bf\1f\9f\03\bb\03\c5\03\bd\03\b8\03\b9\03\b1\03\ba\03x\1f\c2\03\n\00\n\00G\00e\00o\00r\00g\00i\00a\00n\00:\00\n\00\n\00F\00r\00o\00m\00 \00a\00 \00U\00n\00i\00c\00o\00d\00e\00 \00c\00o\00n\00f\00e\00r\00e\00n\00c\00e\00 \00i\00n\00v\00i\00t\00a\00t\00i\00o\00n\00:\00\n\00\n\00\d2\10\d7\10\ee\10\dd\10\d5\10\d7\10 \00\d0\10\ee\10\da\10\d0\10\d5\10\d4\10 \00\d2\10\d0\10\d8\10\d0\10\e0\10\dd\10\d7\10 \00\e0\10\d4\10\d2\10\d8\10\e1\10\e2\10\e0\10\d0\10\ea\10\d8\10\d0\10 \00U\00n\00i\00c\00o\00d\00e\00-\00\d8\10\e1\10 \00\db\10\d4\10\d0\10\d7\10\d4\10 \00\e1\10\d0\10\d4\10\e0\10\d7\10\d0\10\e8\10\dd\10\e0\10\d8\10\e1\10\dd\10\n\00\d9\10\dd\10\dc\10\e4\10\d4\10\e0\10\d4\10\dc\10\ea\10\d8\10\d0\10\d6\10\d4\10 \00\d3\10\d0\10\e1\10\d0\10\e1\10\ec\10\e0\10\d4\10\d1\10\d0\10\d3\10,\00 \00\e0\10\dd\10\db\10\d4\10\da\10\d8\10\ea\10 \00\d2\10\d0\10\d8\10\db\10\d0\10\e0\10\d7\10\d4\10\d1\10\d0\10 \001\000\00-\001\002\00 \00\db\10\d0\10\e0\10\e2\10\e1\10,\00\n\00\e5\10.\00 \00\db\10\d0\10\d8\10\dc\10\ea\10\e8\10\d8\10,\00 \00\d2\10\d4\10\e0\10\db\10\d0\10\dc\10\d8\10\d0\10\e8\10\d8\10.\00 \00\d9\10\dd\10\dc\10\e4\10\d4\10\e0\10\d4\10\dc\10\ea\10\d8\10\d0\10 \00\e8\10\d4\10\f0\10\d9\10\e0\10\d4\10\d1\10\e1\10 \00\d4\10\e0\10\d7\10\d0\10\d3\10 \00\db\10\e1\10\dd\10\e4\10\da\10\d8\10\dd\10\e1\10\n\00\d4\10\e5\10\e1\10\de\10\d4\10\e0\10\e2\10\d4\10\d1\10\e1\10 \00\d8\10\e1\10\d4\10\d7\10 \00\d3\10\d0\10\e0\10\d2\10\d4\10\d1\10\e8\10\d8\10 \00\e0\10\dd\10\d2\10\dd\10\e0\10\d8\10\ea\10\d0\10\d0\10 \00\d8\10\dc\10\e2\10\d4\10\e0\10\dc\10\d4\10\e2\10\d8\10 \00\d3\10\d0\10 \00U\00n\00i\00c\00o\00d\00e\00-\00\d8\10,\00\n\00\d8\10\dc\10\e2\10\d4\10\e0\10\dc\10\d0\10\ea\10\d8\10\dd\10\dc\10\d0\10\da\10\d8\10\d6\10\d0\10\ea\10\d8\10\d0\10 \00\d3\10\d0\10 \00\da\10\dd\10\d9\10\d0\10\da\10\d8\10\d6\10\d0\10\ea\10\d8\10\d0\10,\00 \00U\00n\00i\00c\00o\00d\00e\00-\00\d8\10\e1\10 \00\d2\10\d0\10\db\10\dd\10\e7\10\d4\10\dc\10\d4\10\d1\10\d0\10\n\00\dd\10\de\10\d4\10\e0\10\d0\10\ea\10\d8\10\e3\10\da\10 \00\e1\10\d8\10\e1\10\e2\10\d4\10\db\10\d4\10\d1\10\e1\10\d0\10,\00 \00\d3\10\d0\10 \00\d2\10\d0\10\db\10\dd\10\e7\10\d4\10\dc\10\d4\10\d1\10\d8\10\d7\10 \00\de\10\e0\10\dd\10\d2\10\e0\10\d0\10\db\10\d4\10\d1\10\e8\10\d8\10,\00 \00\e8\10\e0\10\d8\10\e4\10\e2\10\d4\10\d1\10\e8\10\d8\10,\00\n\00\e2\10\d4\10\e5\10\e1\10\e2\10\d4\10\d1\10\d8\10\e1\10 \00\d3\10\d0\10\db\10\e3\10\e8\10\d0\10\d5\10\d4\10\d1\10\d0\10\e1\10\d0\10 \00\d3\10\d0\10 \00\db\10\e0\10\d0\10\d5\10\d0\10\da\10\d4\10\dc\10\dd\10\d5\10\d0\10\dc\10 \00\d9\10\dd\10\db\10\de\10\d8\10\e3\10\e2\10\d4\10\e0\10\e3\10\da\10 \00\e1\10\d8\10\e1\10\e2\10\d4\10\db\10\d4\10\d1\10\e8\10\d8\10.\00\n\00\n\00R\00u\00s\00s\00i\00a\00n\00:\00\n\00\n\00F\00r\00o\00m\00 \00a\00 \00U\00n\00i\00c\00o\00d\00e\00 \00c\00o\00n\00f\00e\00r\00e\00n\00c\00e\00 \00i\00n\00v\00i\00t\00a\00t\00i\00o\00n\00:\00\n\00\n\00\17\040\04@\045\043\048\04A\04B\04@\048\04@\04C\049\04B\045\04A\04L\04 \00A\045\049\04G\040\04A\04 \00=\040\04 \00\14\045\04A\04O\04B\04C\04N\04 \00\1c\045\046\044\04C\04=\040\04@\04>\044\04=\04C\04N\04 \00\1a\04>\04=\04D\045\04@\045\04=\04F\048\04N\04 \00?\04>\04\n\00U\00n\00i\00c\00o\00d\00e\00,\00 \00:\04>\04B\04>\04@\040\04O\04 \00A\04>\04A\04B\04>\048\04B\04A\04O\04 \001\000\00-\001\002\00 \00<\040\04@\04B\040\04 \001\009\009\007\00 \003\04>\044\040\04 \002\04 \00\1c\040\049\04=\04F\045\04 \002\04 \00\13\045\04@\04<\040\04=\048\048\04.\00\n\00\1a\04>\04=\04D\045\04@\045\04=\04F\048\04O\04 \00A\04>\041\045\04@\045\04B\04 \00H\048\04@\04>\04:\048\049\04 \00:\04@\04C\043\04 \00M\04:\04A\04?\045\04@\04B\04>\042\04 \00?\04>\04 \00 \002\04>\04?\04@\04>\04A\040\04<\04 \003\04;\04>\041\040\04;\04L\04=\04>\043\04>\04\n\00\18\04=\04B\045\04@\04=\045\04B\040\04 \008\04 \00U\00n\00i\00c\00o\00d\00e\00,\00 \00;\04>\04:\040\04;\048\047\040\04F\048\048\04 \008\04 \008\04=\04B\045\04@\04=\040\04F\048\04>\04=\040\04;\048\047\040\04F\048\048\04,\00 \002\04>\04?\04;\04>\04I\045\04=\048\04N\04 \008\04\n\00?\04@\048\04<\045\04=\045\04=\048\04N\04 \00U\00n\00i\00c\00o\00d\00e\00 \002\04 \00@\040\047\04;\048\04G\04=\04K\04E\04 \00>\04?\045\04@\040\04F\048\04>\04=\04=\04K\04E\04 \00A\048\04A\04B\045\04<\040\04E\04 \008\04 \00?\04@\04>\043\04@\040\04<\04<\04=\04K\04E\04\n\00?\04@\048\04;\04>\046\045\04=\048\04O\04E\04,\00 \00H\04@\048\04D\04B\040\04E\04,\00 \002\045\04@\04A\04B\04:\045\04 \008\04 \00<\04=\04>\043\04>\04O\047\04K\04G\04=\04K\04E\04 \00:\04>\04<\04?\04L\04N\04B\045\04@\04=\04K\04E\04 \00A\048\04A\04B\045\04<\040\04E\04.\00\n\00\n\00T\00h\00a\00i\00 \00(\00U\00C\00S\00 \00L\00e\00v\00e\00l\00 \002\00)\00:\00\n\00\n\00E\00x\00c\00e\00r\00p\00t\00 \00f\00r\00o\00m\00 \00a\00 \00p\00o\00e\00t\00r\00y\00 \00o\00n\00 \00T\00h\00e\00 \00R\00o\00m\00a\00n\00c\00e\00 \00o\00f\00 \00T\00h\00e\00 \00T\00h\00r\00e\00e\00 \00K\00i\00n\00g\00d\00o\00m\00s\00 \00(\00a\00 \00C\00h\00i\00n\00e\00s\00e\00\n\00c\00l\00a\00s\00s\00i\00c\00 \00\'\00S\00a\00n\00 \00G\00u\00a\00\'\00)\00:\00\n\00\n\00[\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00|\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00]\00\n\00 \00 \00O\0e \00A\0e\1c\0eH\0e\19\0e\14\0e4\0e\19\0e.\0e1\0eH\0e\19\0e@\0e*\0e7\0eH\0e-\0e!\0eB\0e\17\0e#\0e!\0eA\0e*\0e\19\0e*\0e1\0e\07\0e@\0e\'\0e\n\0e \00 \00\1e\0e#\0e0\0e\1b\0e\01\0e@\0e\01\0e(\0e\01\0e-\0e\07\0e\1a\0e9\0eJ\0e\01\0e9\0eI\0e\02\0e6\0eI\0e\19\0eC\0e+\0e!\0eH\0e\n\00*\0e4\0e\1a\0e*\0e-\0e\07\0e\01\0e)\0e1\0e\15\0e#\0e4\0e\"\0eL\0e\01\0eH\0e-\0e\19\0e+\0e\19\0eI\0e2\0eA\0e%\0e\16\0e1\0e\14\0eD\0e\1b\0e \00 \00 \00 \00 \00 \00 \00*\0e-\0e\07\0e-\0e\07\0e\04\0eL\0eD\0e\0b\0e#\0eI\0eB\0e\07\0eH\0e@\0e\02\0e%\0e2\0e@\0e\1a\0e2\0e\1b\0e1\0e\0d\0e\0d\0e2\0e\n\00 \00 \00\17\0e#\0e\07\0e\19\0e1\0e\1a\0e\16\0e7\0e-\0e\02\0e1\0e\19\0e\17\0e5\0e@\0e\1b\0eG\0e\19\0e\17\0e5\0eH\0e\1e\0e6\0eH\0e\07\0e \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00\1a\0eI\0e2\0e\19\0e@\0e!\0e7\0e-\0e\07\0e\08\0e6\0e\07\0e\'\0e4\0e\1b\0e#\0e4\0e\15\0e@\0e\1b\0eG\0e\19\0e\19\0e1\0e\01\0e+\0e\19\0e2\0e\n\00B\0e.\0e\08\0e4\0eK\0e\19\0e@\0e#\0e5\0e\"\0e\01\0e\17\0e1\0e\1e\0e\17\0e1\0eH\0e\'\0e+\0e1\0e\'\0e@\0e!\0e7\0e-\0e\07\0e!\0e2\0e \00 \00 \00 \00 \00 \00 \00 \00 \00+\0e!\0e2\0e\"\0e\08\0e0\0e\06\0eH\0e2\0e!\0e\14\0e\n\0e1\0eH\0e\'\0e\15\0e1\0e\'\0e*\0e3\0e\04\0e1\0e\0d\0e\n\00 \00 \00@\0e+\0e!\0e7\0e-\0e\19\0e\02\0e1\0e\1a\0eD\0e*\0eD\0e%\0eH\0e@\0e*\0e7\0e-\0e\08\0e2\0e\01\0e@\0e\04\0e+\0e2\0e \00 \00 \00 \00 \00 \00#\0e1\0e\1a\0e+\0e!\0e2\0e\1b\0eH\0e2\0e@\0e\02\0eI\0e2\0e!\0e2\0e@\0e%\0e\"\0e-\0e2\0e*\0e1\0e\0d\0e\n\00\1d\0eH\0e2\0e\"\0e-\0eI\0e-\0e\07\0e-\0e8\0eI\0e\19\0e\"\0e8\0eA\0e\"\0e\01\0eC\0e+\0eI\0eA\0e\15\0e\01\0e\01\0e1\0e\19\0e \00 \00 \00 \00 \00 \00 \00 \00 \00 \00C\0e\n\0eI\0e*\0e2\0e\'\0e\19\0e1\0eI\0e\19\0e@\0e\1b\0eG\0e\19\0e\n\0e\19\0e\'\0e\19\0e\n\0e7\0eH\0e\19\0e\n\0e\'\0e\19\0eC\0e\08\0e\n\00 \00 \00\1e\0e%\0e1\0e\19\0e%\0e4\0e\t\0e8\0e\"\0e\01\0e8\0e\"\0e\01\0e5\0e\01\0e%\0e1\0e\1a\0e\01\0eH\0e-\0e@\0e+\0e\15\0e8\0e \00 \00 \00 \00 \00 \00 \00 \00 \00 \00\n\0eH\0e2\0e\07\0e-\0e2\0e@\0e\1e\0e(\0e\08\0e#\0e4\0e\07\0e+\0e\19\0e2\0e\1f\0eI\0e2\0e#\0eI\0e-\0e\07\0eD\0e+\0eI\0e\n\00\15\0eI\0e-\0e\07\0e#\0e\1a\0e#\0e2\0e\06\0eH\0e2\0e\1f\0e1\0e\19\0e\08\0e\19\0e\1a\0e#\0e#\0e%\0e1\0e\"\0e \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00$\0eE\0e+\0e2\0eC\0e\04\0e#\0e\04\0eI\0e3\0e\n\0e9\0e\01\0e9\0eI\0e\1a\0e#\0e#\0e%\0e1\0e\07\0e\01\0eL\0e \00/\0e\n\00\n\00(\00T\00h\00e\00 \00a\00b\00o\00v\00e\00 \00i\00s\00 \00a\00 \00t\00w\00o\00-\00c\00o\00l\00u\00m\00n\00 \00t\00e\00x\00t\00.\00 \00I\00f\00 \00c\00o\00m\00b\00i\00n\00i\00n\00g\00 \00c\00h\00a\00r\00a\00c\00t\00e\00r\00s\00 \00a\00r\00e\00 \00h\00a\00n\00d\00l\00e\00d\00\n\00c\00o\00r\00r\00e\00c\00t\00l\00y\00,\00 \00t\00h\00e\00 \00l\00i\00n\00e\00s\00 \00o\00f\00 \00t\00h\00e\00 \00s\00e\00c\00o\00n\00d\00 \00c\00o\00l\00u\00m\00n\00 \00s\00h\00o\00u\00l\00d\00 \00b\00e\00 \00a\00l\00i\00g\00n\00e\00d\00 \00w\00i\00t\00h\00 \00t\00h\00e\00\n\00|\00 \00c\00h\00a\00r\00a\00c\00t\00e\00r\00 \00a\00b\00o\00v\00e\00.\00)\00\n\00\n\00E\00t\00h\00i\00o\00p\00i\00a\00n\00:\00\n\00\n\00P\00r\00o\00v\00e\00r\00b\00s\00 \00i\00n\00 \00t\00h\00e\00 \00A\00m\00h\00a\00r\00i\00c\00 \00l\00a\00n\00g\00u\00a\00g\00e\00:\00\n\00\n\000\12\1b\12\ed\12 \00\a0\12\ed\12s\12(\125\12 \00\95\12\t\13%\12 \00\a0\12\ed\12\a8\120\125\12b\13\n\00e\12\0b\12 \00\ab\12\08\12\9d\12 \00\a5\12\95\12\f0\12\a0\12c\12t\12 \00`\12F\12\18\12 \13\9d\12b\13\n\00\0c\13%\13 \00\eb\12\08\12d\12q\12 \00A\12\1d\12%\13\93\12 \00\90\12\cd\12b\13\n\00\f0\12\00\12 \00`\12\15\12\0d\12\19\12 \00E\12d\12 \00c\12\ed\12 \13#\13 \00\95\12#\13u\12 \00`\12\08\13\f0\12\08\12\cd\12b\13\n\00\e8\12\a0\12M\13 \00\c8\12\08\12\1d\12s\12 \00`\12E\12d\12 \00\a0\12\ed\12s\12=\12\1d\12b\13\n\00\a0\12\ed\12%\13 \00`\12`\12\0b\12 \00\f3\12\cb\12 \00p\12\18\12s\12b\13\n\002\12p\12(\12\t\13\19\12 \00\ed\12\f0\12(\12\0d\13\19\12b\13\n\00@\125\12 \00`\12@\125\12e\13 \00\d5\12\95\12A\12\0b\12\0d\12 \00`\12\a5\12\0d\13)\12 \00\ed\12\04\12\f3\12\0d\12b\13\n\00\f5\12-\12 \00b\12\eb\12e\12-\12 \00\a0\12\95\12`\123\12 \00\eb\125\12-\12b\13\n\000\12\cd\12 \00\a5\12\95\12\f0\12d\12q\12 \00\a5\12\95\12\05\13 \00\a5\12\95\12\f0\12 \00\t\13(\12d\12q\12 \00\a0\12\ed\12p\12\f3\12\f0\12-\12\1d\12b\13\n\00\a5\12\0d\13\dc\12-\12 \00\e8\12\a8\12H\13p\12\cd\12\95\12 \00\t\13.\12.\12 \003\12\ed\12\d8\12\0b\13\cd\12 \00\a0\12\ed\12\f5\12-\12\1d\12b\13\n\00\e8\12\0e\13(\12d\12u\12 \00\0c\12c\12e\13 \00b\12\eb\12\e9\12u\12 \00\ed\125\12E\12 \00c\12\eb\12\e9\12u\12 \00\eb\12 \13\0d\12E\12b\13\n\00%\12+\12 \00\a8\12\18\12M\13s\12u\12 \00\0d\12\04\13\95\12 \00\0b\12K\13s\12u\12b\13\n\00\d3\12c\12\ed\12 \00\1b\12\f0\12*\12\eb\12 \00\e8\12\08\12\cd\12e\13 \00\0d\13\95\12\f5\12 \00\ed\12\de\12 \00\ed\12\de\12+\12\0d\12b\13\n\00\e8\12\a5\125\12\0b\12\1d\12 \00\a0\12\08\13)\12 \00\18\12\ab\12 \00\e8\12\a0\12\1e\12+\12 \00\a0\12\08\13)\12 \00\cb\12-\12\ab\12b\13\n\00p\12\95\12\0b\13\0e\12 \00b\12p\12I\13 \00p\12\18\12\0d\126\12 \00c\12I\13b\13\n\00\c8\12\f3\12\05\13\05\12 \00\1b\12-\12 \00b\12\06\12\95\12 \00(\13-\125\12\05\12 \00\a0\12u\12\0b\120\12\cd\12b\13\n\00\a5\12\0d\13-\12\05\12\95\12 \00`\12M\13+\12=\12\05\12 \00\0d\12\ad\12 \00\d8\12-\12\0b\13b\13\n\00\n\00R\00u\00n\00e\00s\00:\00\n\00\n\00\bb\16\d6\16 \00\b3\16\b9\16\ab\16\a6\16 \00\a6\16\ab\16\cf\16 \00\bb\16\d6\16 \00\d2\16\a2\16\de\16\d6\16 \00\a9\16\be\16 \00\a6\16\ab\16\d7\16 \00\da\16\aa\16\be\16\de\16\d6\16 \00\be\16\a9\16\b1\16\a6\16\b9\16\d6\16\aa\16\b1\16\de\16\a2\16\d7\16 \00\b9\16\c1\16\a6\16 \00\a6\16\aa\16 \00\b9\16\d6\16\e5\16\ab\16\n\00\n\00(\00O\00l\00d\00 \00E\00n\00g\00l\00i\00s\00h\00,\00 \00w\00h\00i\00c\00h\00 \00t\00r\00a\00n\00s\00c\00r\00i\00b\00e\00d\00 \00i\00n\00t\00o\00 \00L\00a\00t\00i\00n\00 \00r\00e\00a\00d\00s\00 \00\'\00H\00e\00 \00c\00w\00a\00e\00t\00h\00 \00t\00h\00a\00t\00 \00h\00e\00\n\00b\00u\00d\00e\00 \00t\00h\00a\00e\00m\00 \00l\00a\00n\00d\00e\00 \00n\00o\00r\00t\00h\00w\00e\00a\00r\00d\00u\00m\00 \00w\00i\00t\00h\00 \00t\00h\00a\00 \00W\00e\00s\00t\00s\00a\00e\00.\00\'\00 \00a\00n\00d\00 \00m\00e\00a\00n\00s\00 \00\'\00H\00e\00 \00s\00a\00i\00d\00\n\00t\00h\00a\00t\00 \00h\00e\00 \00l\00i\00v\00e\00d\00 \00i\00n\00 \00t\00h\00e\00 \00n\00o\00r\00t\00h\00e\00r\00n\00 \00l\00a\00n\00d\00 \00n\00e\00a\00r\00 \00t\00h\00e\00 \00W\00e\00s\00t\00e\00r\00n\00 \00S\00e\00a\00.\00\'\00)\00\n\00\n\00B\00r\00a\00i\00l\00l\00e\00:\00\n\00\n\00L(\01(\'(\11( \00<(\01(\12( \00 \00M(\1c(\07(\11(9(0(\0e( \00c(\15(\0c(\n\00\n\00M(\1c(\07(\11(9( \00:(\01(\0e( \00\19(\11(\01(\19(\12( \00\1e(\15( \00\03(\11(\1b(\14( \00:(\n(9(2( \00y(;(\11( \00\n(\0e( \00\1d(\15( \00\19(3(\03(\1e(\n\001(\01(\1e(\11(\'(;( \00\01(\03(3(\1e( \009(\01(\1e(2( \00y(\11( \00\17(\11(\1b(\n(\0c(;( \00\15(\0b( \00\19(\n(\0e( \00\03(%(\17(\n(\01(\07( \00:(\01(\0e(\n\00\0e(\n(\1b(\1d(+( \00\03(9( \009(\11( \00\n(\07(;(\1b(9(\0d(\01(\1d(\02( \009(\11( \00\n(\07(;(\05(\02( \009(\11( \00%(\1d(\19(;(\1e(\01(\05(;(\02(\n\00\01(\1d(\19( \009(\11( \00!(\n(\11(\0b( \00\0d(3(\17(\1d(;(2( \00N(\n(\17(\15(\15(\1b(\11( \00\0e(\n(\1b(\1d(+( \00\n(\1e(2( \00A(\1d(\19(\n\00N(\n(\17(\15(\15(\1b(\11(0(\0e( \00\1d(\01(\0d(\11( \00:(\01(\0e( \00\1b(\15(\15(\19( \00%(\0f(\15(\1d( \000(a(\01(\1d(\1b(\11(\02( \00\0b(\15(\17( \00\01(\1d(9(9(\14(\1b( \00\19(\11(\n\00!(\15(\0e(\11( \00\1e(\15( \00\0f(%(\1e( \00\19(\n(\0e( \00\19(\01(\1d(\19( \00\1e(\15(2(\n\00\n\00U(\07(\19( \00M(\1c(\07(\11(9( \00:(\01(\0e( \00\01(\0e( \00\19(\11(\01(\19( \00\01(\0e( \00\01( \00\19(\15(\15(\17($(\1d(\01(\n(\07(2(\n\00\n\00M(\14(\19(\16( \00J( \00\19(\15(\1d(0(\1e( \00\0d(\11(\01(\1d( \00\1e(\15( \00\0e(\01(9( \009(\01(\1e( \00J( \00\05(\1d(*(\02( \00\15(\0b( \00\0d(9(\n\00*(\1d( \00\05(\1d(*(\07(+(\1b(\11(\02( \001(\01(\1e( \009(;(\11( \00\n(\0e( \00\0f(\1c(\1e(\n(\n(%(\07(\1c(\07(9( \00\19(\11(\01(\19( \00\01(\03(3(\1e(\n\00\01( \00\19(\15(\15(\17($(\1d(\01(\n(\07(2( \00J( \00\0d(\n(#(\1e( \00\19(\01(\'(\11( \00\03(\11(2( \00\14(\n(\07(\14(+(\02( \00\0d(9(\0e(\11(\07(\0b(\02( \00\1e(\15(\n\00\17(\11(\1b(\1c(\19( \00\01( \00\n(\15(\0b(\0b(\14($(\1d(\01(\n(\07( \00\01(\0e( \009(\11( \00\19(\11(\01(\19(\11(\0c( \00\0f(\n(\11(\n(\11( \00\15(\0b( \00\n(\17(\15(\1d(\0d(\15(\1d(\1b(;(9(\n\00\14( \009(\11( \00\1e(\17(\01(\19(\11(2( \00C(%(\1e( \009(\11( \00:(\n(\0e(\19(\15(\0d( \00\15(\0b( \003(\17( \00\01(\1d(\n(\11(\0c(\15(\17(\0e(\n\00\n(\0e( \00\14( \009(\11( \00\0e(\n(\0d(\n(\07(\11(\06( \00\01(\1d(\19( \00\0d(9( \00%(\1d(\19(\01(\07(\07(*(+( \00\19(\01(\1d(\19(\0e(\n\00)(\01(\07(\07( \00\1d(\15(\1e( \00\19(\n(\0c(%(\17(\03( \00\n(\1e(\02( \00\15(\17( \009(\11( \00J(3(\1d(\1e(\17(9(0(\0e( \00\19(\15(\1d(\11( \00\0b(\15(\17(2( \00y(3(\n\00:(\n(\07(\07( \009(;(\11(\0b(\15(\17(\11( \00\0f(;(\0d(\n(\1e( \00\0d(\11( \00\1e(\15( \00\17(\11(\0f(\11(\01(\1e(\02( \00\11(\0d(\0f(\19(\01(\1e(\n(\n(\01(\07(\07(9(\02( \009(\01(\1e(\n\00M(\1c(\07(\11(9( \00:(\01(\0e( \00\01(\0e( \00\19(\11(\01(\19( \00\01(\0e( \00\01( \00\19(\15(\15(\17($(\1d(\01(\n(\07(2(\n\00\n\00(\00T\00h\00e\00 \00f\00i\00r\00s\00t\00 \00c\00o\00u\00p\00l\00e\00 \00o\00f\00 \00p\00a\00r\00a\00g\00r\00a\00p\00h\00s\00 \00o\00f\00 \00\"\00A\00 \00C\00h\00r\00i\00s\00t\00m\00a\00s\00 \00C\00a\00r\00o\00l\00\"\00 \00b\00y\00 \00D\00i\00c\00k\00e\00n\00s\00)\00\n\00\n\00C\00o\00m\00p\00a\00c\00t\00 \00f\00o\00n\00t\00 \00s\00e\00l\00e\00c\00t\00i\00o\00n\00 \00e\00x\00a\00m\00p\00l\00e\00 \00t\00e\00x\00t\00:\00\n\00\n\00A\00B\00C\00D\00E\00F\00G\00H\00I\00J\00K\00L\00M\00N\00O\00P\00Q\00R\00S\00T\00U\00V\00W\00X\00Y\00Z\00 \00/\000\001\002\003\004\005\006\007\008\009\00\n\00a\00b\00c\00d\00e\00f\00g\00h\00i\00j\00k\00l\00m\00n\00o\00p\00q\00r\00s\00t\00u\00v\00w\00x\00y\00z\00 \00\a3\00\a9\00\b5\00\c0\00\c6\00\d6\00\de\00\df\00\e9\00\f6\00\ff\00\n\00\13 \14 \18 \1c \1d \1e \" & 0 \"!S\01`\01x\01~\01\ac \00\91\03\92\03\93\03\94\03\a9\03\b1\03\b2\03\b3\03\b4\03\c9\03 \00\10\04\11\04\12\04\13\04\14\040\041\042\043\044\04\n\00\00\"\02\"\08\"\1d!\'\"*\"a\"\1e\" \00\91!\97!\a8!\bb!\e3! \00\10%<%T%X%\91%\ba%:&@& \00\01\fb\fd\ff@$\82 \1f\02\1e\e5\04\84\1eP\02\d0\02N#\d0\051\05\d0\10\n\00\n\00G\00r\00e\00e\00t\00i\00n\00g\00s\00 \00i\00n\00 \00v\00a\00r\00i\00o\00u\00s\00 \00l\00a\00n\00g\00u\00a\00g\00e\00s\00:\00\n\00\n\00H\00e\00l\00l\00o\00 \00w\00o\00r\00l\00d\00,\00 \00\9a\03\b1\03\bb\03\b7\03\bc\03s\1f\c1\03\b1\03 \00\ba\03y\1f\c3\03\bc\03\b5\03,\00 \00\b30\f30\cb0\c10\cf0\n\00\n\00B\00o\00x\00 \00d\00r\00a\00w\00i\00n\00g\00 \00a\00l\00i\00g\00n\00m\00e\00n\00t\00 \00t\00e\00s\00t\00s\00:\00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00\88%\n\00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00\89%\n\00T%P%P%f%P%P%W% \00 \00\0c%\00%\00%,%\00%\00%\10% \00 \00m%\00%\00%,%\00%\00%n% \00 \00m%\00%\00%,%\00%\00%n% \00 \00\0f%\01%\01%3%\01%\01%\13% \00 \00\0e%\12%\0f%\11% \00 \00 \00w% \00 \00{% \00\0f%/%\13% \00\0c%0%\10% \00 \00 \00 \00\8a% \00q%r%q%r%s%s%s%\n\00Q%\0c%\00%h%\00%\10%Q% \00 \00\02%T%P%g%P%W%\02% \00 \00\02%R%P%j%P%U%\02% \00 \00\02%S%\00%A%\00%V%\02% \00 \00\03%\0c%\00%B%\00%\10%\03% \00 \00\17%C%D%\19% \00 \00v%<%t%z%K%x% %<%(% \00\1d%K%%% \00 \00 \00 \00\8b% \00r%q%r%q%s%s%s%\n\00Q%\02%r% \00q%\02%Q% \00 \00\02%Q% \00 \00 \00Q%\02% \00 \00\02%\02% \00\02% \00\02%\02% \00 \00\02%Q% \00\03% \00Q%\02% \00 \00\03%\02% \00\7f% \00\02%\03% \00 \00\0d%E%F%\13% \00 \00 \00u% \00 \00y% \00\17%7%\1b% \00\14%8%\18% \00 \00 \00 \00\8c% \00q%r%q%r%s%s%s%\n\00`%a% \00s% \00^%c% \00 \00\1c%b% \00 \00 \00_%$% \00 \00\1c%<%\00%<%\00%<%$% \00 \00\1c%k%\00%B%\00%k%$% \00 \00#%?%~%<%|%?%+% \00 \00\15%\1b%\16%\1a% \00 \00 \00 \00 \00\0c%\04%\04%\10% \00N% \00\0f%\05%\05%\13% \00\0b% \00\8d% \00r%q%r%q%s%s%s%\n\00Q%\02%q% \00r%\02%Q% \00 \00\02%Q% \00 \00 \00Q%\02% \00 \00\02%\02% \00\02% \00\02%\02% \00 \00\02%Q% \00\03% \00Q%\02% \00 \00\03%\02% \00}% \00\02%\03% \00 \00\91%\91%\92%\92%\93%\93%\88%\88% \00\n% \00 \00\06% \00N% \00O% \00 \00\07% \00\0b% \00\8e%\n\00Q%\14%\00%e%\00%\18%Q% \00 \00\02%Z%P%d%P%]%\02% \00 \00\02%X%P%j%P%[%\02% \00 \00\02%Y%\00%@%\00%\\%\02% \00 \00\03%\14%\00%B%\00%\18%\03% \00 \00\91%\91%\92%\92%\93%\93%\88%\88% \00\n% \00 \00\06% \00N% \00O% \00 \00\07% \00\0b% \00\8f%\n\00Z%P%P%i%P%P%]% \00 \00\14%\00%\00%4%\00%\00%\18% \00 \00p%\00%\00%4%\00%\00%o% \00 \00p%\00%\00%4%\00%\00%o% \00 \00\17%\01%\01%;%\01%\01%\1b% \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00\14%L%L%\18% \00N% \00\17%M%M%\1b% \00\0b% \00 \00\81%\82%\83%\84%\85%\86%\87%\88%\n") - (data (i32.const 15132) "\cc\1c") - (data (i32.const 15144) "\01\00\00\00\ba\1c\00\00S\00e\00n\00t\00e\00n\00c\00e\00s\00 \00t\00h\00a\00t\00 \00c\00o\00n\00t\00a\00i\00n\00 \00a\00l\00l\00 \00l\00e\00t\00t\00e\00r\00s\00 \00c\00o\00m\00m\00o\00n\00l\00y\00 \00u\00s\00e\00d\00 \00i\00n\00 \00a\00 \00l\00a\00n\00g\00u\00a\00g\00e\00\n\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00\n\00\n\00M\00a\00r\00k\00u\00s\00 \00K\00u\00h\00n\00 \00<\00h\00t\00t\00p\00:\00/\00/\00w\00w\00w\00.\00c\00l\00.\00c\00a\00m\00.\00a\00c\00.\00u\00k\00/\00~\00m\00g\00k\002\005\00/\00>\00 \00-\00-\00 \002\000\001\002\00-\000\004\00-\001\001\00\n\00\n\00T\00h\00i\00s\00 \00i\00s\00 \00a\00n\00 \00e\00x\00a\00m\00p\00l\00e\00 \00o\00f\00 \00a\00 \00p\00l\00a\00i\00n\00-\00t\00e\00x\00t\00 \00f\00i\00l\00e\00 \00e\00n\00c\00o\00d\00e\00d\00 \00i\00n\00 \00U\00T\00F\00-\008\00.\00\n\00\n\00\n\00D\00a\00n\00i\00s\00h\00 \00(\00d\00a\00)\00\n\00-\00-\00-\00-\00-\00-\00-\00-\00-\00\n\00\n\00 \00 \00Q\00u\00i\00z\00d\00e\00l\00t\00a\00g\00e\00r\00n\00e\00 \00s\00p\00i\00s\00t\00e\00 \00j\00o\00r\00d\00b\00\e6\00r\00 \00m\00e\00d\00 \00f\00l\00\f8\00d\00e\00,\00 \00m\00e\00n\00s\00 \00c\00i\00r\00k\00u\00s\00k\00l\00o\00v\00n\00e\00n\00\n\00 \00 \00W\00o\00l\00t\00h\00e\00r\00 \00s\00p\00i\00l\00l\00e\00d\00e\00 \00p\00\e5\00 \00x\00y\00l\00o\00f\00o\00n\00.\00\n\00 \00 \00(\00=\00 \00Q\00u\00i\00z\00 \00c\00o\00n\00t\00e\00s\00t\00a\00n\00t\00s\00 \00w\00e\00r\00e\00 \00e\00a\00t\00i\00n\00g\00 \00s\00t\00r\00a\00w\00b\00e\00r\00y\00 \00w\00i\00t\00h\00 \00c\00r\00e\00a\00m\00 \00w\00h\00i\00l\00e\00 \00W\00o\00l\00t\00h\00e\00r\00\n\00 \00 \00t\00h\00e\00 \00c\00i\00r\00c\00u\00s\00 \00c\00l\00o\00w\00n\00 \00p\00l\00a\00y\00e\00d\00 \00o\00n\00 \00x\00y\00l\00o\00p\00h\00o\00n\00e\00.\00)\00\n\00\n\00G\00e\00r\00m\00a\00n\00 \00(\00d\00e\00)\00\n\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00\n\00\n\00 \00 \00F\00a\00l\00s\00c\00h\00e\00s\00 \00\dc\00b\00e\00n\00 \00v\00o\00n\00 \00X\00y\00l\00o\00p\00h\00o\00n\00m\00u\00s\00i\00k\00 \00q\00u\00\e4\00l\00t\00 \00j\00e\00d\00e\00n\00 \00g\00r\00\f6\00\df\00e\00r\00e\00n\00 \00Z\00w\00e\00r\00g\00\n\00 \00 \00(\00=\00 \00W\00r\00o\00n\00g\00f\00u\00l\00 \00p\00r\00a\00c\00t\00i\00c\00i\00n\00g\00 \00o\00f\00 \00x\00y\00l\00o\00p\00h\00o\00n\00e\00 \00m\00u\00s\00i\00c\00 \00t\00o\00r\00t\00u\00r\00e\00s\00 \00e\00v\00e\00r\00y\00 \00l\00a\00r\00g\00e\00r\00 \00d\00w\00a\00r\00f\00)\00\n\00\n\00 \00 \00Z\00w\00\f6\00l\00f\00 \00B\00o\00x\00k\00\e4\00m\00p\00f\00e\00r\00 \00j\00a\00g\00t\00e\00n\00 \00E\00v\00a\00 \00q\00u\00e\00r\00 \00\fc\00b\00e\00r\00 \00d\00e\00n\00 \00S\00y\00l\00t\00e\00r\00 \00D\00e\00i\00c\00h\00\n\00 \00 \00(\00=\00 \00T\00w\00e\00l\00v\00e\00 \00b\00o\00x\00i\00n\00g\00 \00f\00i\00g\00h\00t\00e\00r\00s\00 \00h\00u\00n\00t\00e\00d\00 \00E\00v\00a\00 \00a\00c\00r\00o\00s\00s\00 \00t\00h\00e\00 \00d\00i\00k\00e\00 \00o\00f\00 \00S\00y\00l\00t\00)\00\n\00\n\00 \00 \00H\00e\00i\00z\00\f6\00l\00r\00\fc\00c\00k\00s\00t\00o\00\df\00a\00b\00d\00\e4\00m\00p\00f\00u\00n\00g\00\n\00 \00 \00(\00=\00 \00f\00u\00e\00l\00 \00o\00i\00l\00 \00r\00e\00c\00o\00i\00l\00 \00a\00b\00s\00o\00r\00b\00e\00r\00)\00\n\00 \00 \00(\00j\00q\00v\00w\00x\00y\00 \00m\00i\00s\00s\00i\00n\00g\00,\00 \00b\00u\00t\00 \00a\00l\00l\00 \00n\00o\00n\00-\00A\00S\00C\00I\00I\00 \00l\00e\00t\00t\00e\00r\00s\00 \00i\00n\00 \00o\00n\00e\00 \00w\00o\00r\00d\00)\00\n\00\n\00G\00r\00e\00e\00k\00 \00(\00e\00l\00)\00\n\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00\n\00\n\00 \00 \00\93\03\b1\03\b6\03\ad\03\b5\03\c2\03 \00\ba\03\b1\03v\1f \00\bc\03\c5\03\c1\03\c4\03\b9\03r\1f\c2\03 \00\b4\03r\1f\bd\03 \00\b8\03p\1f \00\b2\03\c1\03\f6\1f \00\c0\03\b9\03p\1f \00\c3\03\c4\03x\1f \00\c7\03\c1\03\c5\03\c3\03\b1\03\c6\03v\1f \00\be\03\ad\03\c6\03\c9\03\c4\03\bf\03\n\00 \00 \00(\00=\00 \00N\00o\00 \00m\00o\00r\00e\00 \00s\00h\00a\00l\00l\00 \00I\00 \00s\00e\00e\00 \00a\00c\00a\00c\00i\00a\00s\00 \00o\00r\00 \00m\00y\00r\00t\00l\00e\00s\00 \00i\00n\00 \00t\00h\00e\00 \00g\00o\00l\00d\00e\00n\00 \00c\00l\00e\00a\00r\00i\00n\00g\00)\00\n\00\n\00 \00 \00\9e\03\b5\03\c3\03\ba\03\b5\03\c0\03\ac\03\b6\03\c9\03 \00\c4\03t\1f\bd\03 \00\c8\03\c5\03\c7\03\bf\03\c6\03\b8\03\cc\03\c1\03\b1\03 \00\b2\03\b4\03\b5\03\bb\03\c5\03\b3\03\bc\03\af\03\b1\03\n\00 \00 \00(\00=\00 \00I\00 \00u\00n\00c\00o\00v\00e\00r\00 \00t\00h\00e\00 \00s\00o\00u\00l\00-\00d\00e\00s\00t\00r\00o\00y\00i\00n\00g\00 \00a\00b\00h\00o\00r\00r\00e\00n\00c\00e\00)\00\n\00\n\00E\00n\00g\00l\00i\00s\00h\00 \00(\00e\00n\00)\00\n\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00\n\00\n\00 \00 \00T\00h\00e\00 \00q\00u\00i\00c\00k\00 \00b\00r\00o\00w\00n\00 \00f\00o\00x\00 \00j\00u\00m\00p\00s\00 \00o\00v\00e\00r\00 \00t\00h\00e\00 \00l\00a\00z\00y\00 \00d\00o\00g\00\n\00\n\00S\00p\00a\00n\00i\00s\00h\00 \00(\00e\00s\00)\00\n\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00\n\00\n\00 \00 \00E\00l\00 \00p\00i\00n\00g\00\fc\00i\00n\00o\00 \00W\00e\00n\00c\00e\00s\00l\00a\00o\00 \00h\00i\00z\00o\00 \00k\00i\00l\00\f3\00m\00e\00t\00r\00o\00s\00 \00b\00a\00j\00o\00 \00e\00x\00h\00a\00u\00s\00t\00i\00v\00a\00 \00l\00l\00u\00v\00i\00a\00 \00y\00\n\00 \00 \00f\00r\00\ed\00o\00,\00 \00a\00\f1\00o\00r\00a\00b\00a\00 \00a\00 \00s\00u\00 \00q\00u\00e\00r\00i\00d\00o\00 \00c\00a\00c\00h\00o\00r\00r\00o\00.\00\n\00 \00 \00(\00C\00o\00n\00t\00a\00i\00n\00s\00 \00e\00v\00e\00r\00y\00 \00l\00e\00t\00t\00e\00r\00 \00a\00n\00d\00 \00e\00v\00e\00r\00y\00 \00a\00c\00c\00e\00n\00t\00,\00 \00b\00u\00t\00 \00n\00o\00t\00 \00e\00v\00e\00r\00y\00 \00c\00o\00m\00b\00i\00n\00a\00t\00i\00o\00n\00\n\00 \00 \00o\00f\00 \00v\00o\00w\00e\00l\00 \00+\00 \00a\00c\00u\00t\00e\00.\00)\00\n\00\n\00F\00r\00e\00n\00c\00h\00 \00(\00f\00r\00)\00\n\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00\n\00\n\00 \00 \00P\00o\00r\00t\00e\00z\00 \00c\00e\00 \00v\00i\00e\00u\00x\00 \00w\00h\00i\00s\00k\00y\00 \00a\00u\00 \00j\00u\00g\00e\00 \00b\00l\00o\00n\00d\00 \00q\00u\00i\00 \00f\00u\00m\00e\00 \00s\00u\00r\00 \00s\00o\00n\00 \00\ee\00l\00e\00 \00i\00n\00t\00\e9\00r\00i\00e\00u\00r\00e\00,\00 \00\e0\00\n\00 \00 \00c\00\f4\00t\00\e9\00 \00d\00e\00 \00l\00\'\00a\00l\00c\00\f4\00v\00e\00 \00o\00v\00o\00\ef\00d\00e\00,\00 \00o\00\f9\00 \00l\00e\00s\00 \00b\00\fb\00c\00h\00e\00s\00 \00s\00e\00 \00c\00o\00n\00s\00u\00m\00e\00n\00t\00 \00d\00a\00n\00s\00 \00l\00\'\00\e2\00t\00r\00e\00,\00 \00c\00e\00\n\00 \00 \00q\00u\00i\00 \00l\00u\00i\00 \00p\00e\00r\00m\00e\00t\00 \00d\00e\00 \00p\00e\00n\00s\00e\00r\00 \00\e0\00 \00l\00a\00 \00c\00\e6\00n\00o\00g\00e\00n\00\e8\00s\00e\00 \00d\00e\00 \00l\00\'\00\ea\00t\00r\00e\00 \00d\00o\00n\00t\00 \00i\00l\00 \00e\00s\00t\00 \00q\00u\00e\00s\00t\00i\00o\00n\00\n\00 \00 \00d\00a\00n\00s\00 \00l\00a\00 \00c\00a\00u\00s\00e\00 \00a\00m\00b\00i\00g\00u\00\eb\00 \00e\00n\00t\00e\00n\00d\00u\00e\00 \00\e0\00 \00M\00o\00\ff\00,\00 \00d\00a\00n\00s\00 \00u\00n\00 \00c\00a\00p\00h\00a\00r\00n\00a\00\fc\00m\00 \00q\00u\00i\00,\00\n\00 \00 \00p\00e\00n\00s\00e\00-\00t\00-\00i\00l\00,\00 \00d\00i\00m\00i\00n\00u\00e\00 \00\e7\00\e0\00 \00e\00t\00 \00l\00\e0\00 \00l\00a\00 \00q\00u\00a\00l\00i\00t\00\e9\00 \00d\00e\00 \00s\00o\00n\00 \00S\01u\00v\00r\00e\00.\00\n\00\n\00 \00 \00l\00\'\00\ee\00l\00e\00 \00e\00x\00i\00g\00u\00\eb\00\n\00 \00 \00O\00\f9\00 \00l\00\'\00o\00b\00\e8\00s\00e\00 \00j\00u\00r\00y\00 \00m\00\fb\00r\00\n\00 \00 \00F\00\ea\00t\00e\00 \00l\00\'\00h\00a\00\ef\00 \00v\00o\00l\00a\00p\00\fc\00k\00,\00\n\00 \00 \00\c2\00n\00e\00 \00e\00x\00 \00a\00\e9\00q\00u\00o\00 \00a\00u\00 \00w\00h\00i\00s\00t\00,\00\n\00 \00 \00\d4\00t\00e\00z\00 \00c\00e\00 \00v\00S\01u\00 \00d\00\e9\00\e7\00u\00.\00\n\00\n\00 \00 \00L\00e\00 \00c\00S\01u\00r\00 \00d\00\e9\00\e7\00u\00 \00m\00a\00i\00s\00 \00l\00\'\00\e2\00m\00e\00 \00p\00l\00u\00t\00\f4\00t\00 \00n\00a\00\ef\00v\00e\00,\00 \00L\00o\00u\00\ff\00s\00 \00r\00\ea\00v\00a\00 \00d\00e\00 \00c\00r\00a\00p\00a\00\fc\00t\00e\00r\00 \00e\00n\00\n\00 \00 \00c\00a\00n\00o\00\eb\00 \00a\00u\00 \00d\00e\00l\00\e0\00 \00d\00e\00s\00 \00\ee\00l\00e\00s\00,\00 \00p\00r\00\e8\00s\00 \00d\00u\00 \00m\00\e4\00l\00s\00t\00r\00\f6\00m\00 \00o\00\f9\00 \00b\00r\00\fb\00l\00e\00n\00t\00 \00l\00e\00s\00 \00n\00o\00v\00\e6\00.\00\n\00\n\00I\00r\00i\00s\00h\00 \00G\00a\00e\00l\00i\00c\00 \00(\00g\00a\00)\00\n\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00\n\00\n\00 \00 \00D\00\'\00f\00h\00u\00a\00s\00c\00a\00i\00l\00 \00\cd\00o\00s\00a\00,\00 \00\da\00r\00m\00h\00a\00c\00 \00n\00a\00 \00h\00\d3\00i\00g\00h\00e\00 \00B\00e\00a\00n\00n\00a\00i\00t\00h\00e\00,\00 \00p\00\f3\00r\00 \00\c9\00a\00v\00a\00 \00a\00g\00u\00s\00 \00\c1\00d\00h\00a\00i\00m\00h\00\n\00\n\00H\00u\00n\00g\00a\00r\00i\00a\00n\00 \00(\00h\00u\00)\00\n\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00\n\00\n\00 \00 \00\c1\00r\00v\00\ed\00z\00t\00q\01r\00Q\01 \00t\00\fc\00k\00\f6\00r\00f\00\fa\00r\00\f3\00g\00\e9\00p\00\n\00 \00 \00(\00=\00 \00f\00l\00o\00o\00d\00-\00p\00r\00o\00o\00f\00 \00m\00i\00r\00r\00o\00r\00-\00d\00r\00i\00l\00l\00i\00n\00g\00 \00m\00a\00c\00h\00i\00n\00e\00,\00 \00o\00n\00l\00y\00 \00a\00l\00l\00 \00n\00o\00n\00-\00A\00S\00C\00I\00I\00 \00l\00e\00t\00t\00e\00r\00s\00)\00\n\00\n\00I\00c\00e\00l\00a\00n\00d\00i\00c\00 \00(\00i\00s\00)\00\n\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00\n\00\n\00 \00 \00K\00\e6\00m\00i\00 \00n\00\fd\00 \00\f6\00x\00i\00 \00h\00\e9\00r\00 \00y\00k\00i\00s\00t\00 \00\fe\00j\00\f3\00f\00u\00m\00 \00n\00\fa\00 \00b\00\e6\00\f0\00i\00 \00v\00\ed\00l\00 \00o\00g\00 \00\e1\00d\00r\00e\00p\00a\00\n\00\n\00 \00 \00S\00\e6\00v\00\f6\00r\00 \00g\00r\00\e9\00t\00 \00\e1\00\f0\00a\00n\00 \00\fe\00v\00\ed\00 \00\fa\00l\00p\00a\00n\00 \00v\00a\00r\00 \00\f3\00n\00\fd\00t\00\n\00 \00 \00(\00s\00o\00m\00e\00 \00A\00S\00C\00I\00I\00 \00l\00e\00t\00t\00e\00r\00s\00 \00m\00i\00s\00s\00i\00n\00g\00)\00\n\00\n\00J\00a\00p\00a\00n\00e\00s\00e\00 \00(\00j\00p\00)\00\n\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00\n\00\n\00 \00 \00H\00i\00r\00a\00g\00a\00n\00a\00:\00 \00(\00I\00r\00o\00h\00a\00)\00\n\00\n\00 \00 \00D0\8d0o0k0{0x0h0a0\8a0l0\8b0\920\n\00 \00 \00\8f0K0\880_0\8c0]0d0m0j0\890\800\n\00 \00 \00F0\900n0J0O0\840~0Q0u0S0H0f0\n\00 \00 \00B0U0M0\860\810\7f0W0\910r0\820[0Y0\n\00\n\00 \00 \00K\00a\00t\00a\00k\00a\00n\00a\00:\00\n\00\n\00 \00 \00\a40\ed0\cf0\cb0\db0\d80\c80 \00\c10\ea0\cc0\eb0\f20 \00\ef0\ab0\e80\bf0\ec0\bd0 \00\c40\cd0\ca0\e90\e00\n\00 \00 \00\a60\f00\ce0\aa0\af0\e40\de0 \00\b10\d50\b30\a80\c60 \00\a20\b50\ad0\e60\e10\df0\b70 \00\f10\d20\e20\bb0\b90\f30\n\00\n\00H\00e\00b\00r\00e\00w\00 \00(\00i\00w\00)\00\n\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00\n\00\n\00 \00 \00?\00 \00\d3\05\d2\05 \00\e1\05\e7\05\e8\05\df\05 \00\e9\05\d8\05 \00\d1\05\d9\05\dd\05 \00\de\05\d0\05\d5\05\db\05\d6\05\d1\05 \00\d5\05\dc\05\e4\05\ea\05\e2\05 \00\de\05\e6\05\d0\05 \00\dc\05\d5\05 \00\d7\05\d1\05\e8\05\d4\05 \00\d0\05\d9\05\da\05 \00\d4\05\e7\05\dc\05\d9\05\d8\05\d4\05\n\00\n\00P\00o\00l\00i\00s\00h\00 \00(\00p\00l\00)\00\n\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00\n\00\n\00 \00 \00P\00c\00h\00n\00\05\01\07\01 \00w\00 \00t\00\19\01 \00B\01\f3\00d\00z\01 \00j\00e\00|\01a\00 \00l\00u\00b\00 \00o\00[\01m\00 \00s\00k\00r\00z\00y\00D\01 \00f\00i\00g\00\n\00 \00 \00(\00=\00 \00T\00o\00 \00p\00u\00s\00h\00 \00a\00 \00h\00e\00d\00g\00e\00h\00o\00g\00 \00o\00r\00 \00e\00i\00g\00h\00t\00 \00b\00i\00n\00s\00 \00o\00f\00 \00f\00i\00g\00s\00 \00i\00n\00 \00t\00h\00i\00s\00 \00b\00o\00a\00t\00)\00\n\00\n\00R\00u\00s\00s\00i\00a\00n\00 \00(\00r\00u\00)\00\n\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00\n\00\n\00 \00 \00\12\04 \00G\040\04I\040\04E\04 \00N\043\040\04 \006\048\04;\04 \001\04K\04 \00F\048\04B\04@\04C\04A\04?\00 \00\14\040\04,\00 \00=\04>\04 \00D\040\04;\04L\04H\048\042\04K\049\04 \00M\04:\047\045\04<\04?\04;\04O\04@\04!\00\n\00 \00 \00(\00=\00 \00W\00o\00u\00l\00d\00 \00a\00 \00c\00i\00t\00r\00u\00s\00 \00l\00i\00v\00e\00 \00i\00n\00 \00t\00h\00e\00 \00b\00u\00s\00h\00e\00s\00 \00o\00f\00 \00s\00o\00u\00t\00h\00?\00 \00Y\00e\00s\00,\00 \00b\00u\00t\00 \00o\00n\00l\00y\00 \00a\00 \00f\00a\00k\00e\00 \00o\00n\00e\00!\00)\00\n\00\n\00 \00 \00!\04J\045\04H\04L\04 \006\045\04 \005\04I\04Q\04 \00M\04B\048\04E\04 \00<\04O\043\04:\048\04E\04 \00D\04@\040\04=\04F\04C\047\04A\04:\048\04E\04 \001\04C\04;\04>\04:\04 \004\040\04 \002\04K\04?\045\049\04 \00G\040\04N\04\n\00 \00 \00(\00=\00 \00E\00a\00t\00 \00s\00o\00m\00e\00 \00m\00o\00r\00e\00 \00o\00f\00 \00t\00h\00e\00s\00e\00 \00f\00r\00e\00s\00h\00 \00F\00r\00e\00n\00c\00h\00 \00l\00o\00a\00f\00s\00 \00a\00n\00d\00 \00h\00a\00v\00e\00 \00s\00o\00m\00e\00 \00t\00e\00a\00)\00\n\00\n\00T\00h\00a\00i\00 \00(\00t\00h\00)\00\n\00-\00-\00-\00-\00-\00-\00-\00-\00-\00\n\00\n\00 \00 \00[\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00|\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00]\00\n\00 \00 \00O\0e \00@\0e\1b\0eG\0e\19\0e!\0e\19\0e8\0e)\0e\"\0eL\0e*\0e8\0e\14\0e\1b\0e#\0e0\0e@\0e*\0e#\0e4\0e\10\0e@\0e%\0e4\0e(\0e\04\0e8\0e\13\0e\04\0eH\0e2\0e \00 \00\01\0e\'\0eH\0e2\0e\1a\0e#\0e#\0e\14\0e2\0e\1d\0e9\0e\07\0e*\0e1\0e\15\0e\'\0eL\0e@\0e\14\0e#\0e1\0e\08\0e\t\0e2\0e\19\0e\n\00 \00 \00\08\0e\07\0e\1d\0eH\0e2\0e\1f\0e1\0e\19\0e\1e\0e1\0e\12\0e\19\0e2\0e\'\0e4\0e\n\0e2\0e\01\0e2\0e#\0e \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00-\0e\"\0eH\0e2\0e%\0eI\0e2\0e\07\0e\1c\0e%\0e2\0e\0d\0e$\0eE\0e@\0e\02\0eH\0e\19\0e\06\0eH\0e2\0e\1a\0e5\0e\11\0e2\0eC\0e\04\0e#\0e\n\00 \00 \00D\0e!\0eH\0e\16\0e7\0e-\0eB\0e\17\0e)\0eB\0e\01\0e#\0e\18\0eA\0e\n\0eH\0e\07\0e\0b\0e1\0e\14\0e.\0e6\0e\14\0e.\0e1\0e\14\0e\14\0eH\0e2\0e \00 \00 \00 \00 \00+\0e1\0e\14\0e-\0e \0e1\0e\"\0e@\0e+\0e!\0e7\0e-\0e\19\0e\01\0e5\0e,\0e2\0e-\0e1\0e\n\0e\0c\0e2\0e*\0e1\0e\"\0e\n\00 \00 \00\1b\0e\0f\0e4\0e\1a\0e1\0e\15\0e4\0e\1b\0e#\0e0\0e\1e\0e$\0e\15\0e4\0e\01\0e\0e\0e\01\0e3\0e+\0e\19\0e\14\0eC\0e\08\0e \00 \00 \00 \00 \00 \00 \00 \00\1e\0e9\0e\14\0e\08\0e2\0eC\0e+\0eI\0e\08\0eJ\0e0\0eF\0e \00\08\0eK\0e2\0eF\0e \00\19\0eH\0e2\0e\1f\0e1\0e\07\0e@\0e-\0e\"\0e \00/\0e\n\00\n\00 \00 \00[\00T\00h\00e\00 \00c\00o\00p\00y\00r\00i\00g\00h\00t\00 \00f\00o\00r\00 \00t\00h\00e\00 \00T\00h\00a\00i\00 \00e\00x\00a\00m\00p\00l\00e\00 \00i\00s\00 \00o\00w\00n\00e\00d\00 \00b\00y\00 \00T\00h\00e\00 \00C\00o\00m\00p\00u\00t\00e\00r\00\n\00 \00 \00A\00s\00s\00o\00c\00i\00a\00t\00i\00o\00n\00 \00o\00f\00 \00T\00h\00a\00i\00l\00a\00n\00d\00 \00u\00n\00d\00e\00r\00 \00t\00h\00e\00 \00R\00o\00y\00a\00l\00 \00P\00a\00t\00r\00o\00n\00a\00g\00e\00 \00o\00f\00 \00H\00i\00s\00 \00M\00a\00j\00e\00s\00t\00y\00 \00t\00h\00e\00\n\00 \00 \00K\00i\00n\00g\00.\00]\00\n\00\n\00T\00u\00r\00k\00i\00s\00h\00 \00(\00t\00r\00)\00\n\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00\n\00\n\00 \00 \00P\00i\00j\00a\00m\00a\00l\001\01 \00h\00a\00s\00t\00a\00,\00 \00y\00a\00\1f\011\01z\00 \00_\01o\00f\00\f6\00r\00e\00 \00\e7\00a\00b\00u\00c\00a\00k\00 \00g\00\fc\00v\00e\00n\00d\00i\00.\00\n\00 \00 \00(\00=\00P\00a\00t\00i\00e\00n\00t\00 \00w\00i\00t\00h\00 \00p\00a\00j\00a\00m\00a\00s\00,\00 \00t\00r\00u\00s\00t\00e\00d\00 \00s\00w\00a\00r\00t\00h\00y\00 \00d\00r\00i\00v\00e\00r\00 \00q\00u\00i\00c\00k\00l\00y\00)\00\n") - (data (i32.const 22512) "\03\00\00\00 \00\00\00\00\00\00\00 ") + (data (i32.const 1960) "\01\00\00\00\02\00\00\00\1e\dd") + (data (i32.const 1980) ",") + (data (i32.const 1992) "\01\00\00\00\0e\00\00\001\002\003\00\00\004\005\006") + (data (i32.const 2028) "\1c") + (data (i32.const 2040) "\01\00\00\00\06\00\00\001\002\003") + (data (i32.const 2060) "\1c") + (data (i32.const 2072) "\01\00\00\00\08\00\00\00h\00i\00R\d8b\df") + (data (i32.const 2092) "<3") + (data (i32.const 2104) "\01\00\00\00*3\00\00M\00a\00t\00h\00e\00m\00a\00t\00i\00c\00s\00 \00a\00n\00d\00 \00S\00c\00i\00e\00n\00c\00e\00s\00:\00\n\00\n\00.\" \00E\00\c5\"d\00a\00 \00=\00 \00Q\00,\00 \00 \00n\00 \00\92! \00\1e\",\00 \00\11\" \00f\00(\00i\00)\00 \00=\00 \00\0f\" \00g\00(\00i\00)\00,\00 \00\00\"x\00\08\"\1d!:\00 \00\08#x\00\t# \00=\00 \00\12\"\n#\12\"x\00\0b#,\00 \00\b1\03 \00\'\" \00\ac\00\b2\03 \00=\00 \00\ac\00(\00\ac\00\b1\03 \00(\" \00\b2\03)\00,\00\n\00\n\00\15! \00\86\" \00\15!\80 \00\82\" \00$! \00\82\" \00\1a! \00\82\" \00\1d! \00\82\" \00\02!,\00 \00\a5\" \00<\00 \00a\00 \00`\" \00b\00 \00a\" \00c\00 \00d\" \00d\00 \00j\" \00\a4\" \00\d2! \00(\00A\00 \00\d4! \00B\00)\00,\00\n\00\n\002\00H\00\82 \00+\00 \00O\00\82 \00\cc! \002\00H\00\82 O\00,\00 \00R\00 \00=\00 \004\00.\007\00 \00k\00\a9\03,\00 \00\00# \002\000\000\00 \00m\00m\00\n\00\n\00L\00i\00n\00g\00u\00i\00s\00t\00i\00c\00s\00 \00a\00n\00d\00 \00d\00i\00c\00t\00i\00o\00n\00a\00r\00i\00e\00s\00:\00\n\00\n\00\f0\00i\00 \001\01n\00t\00Y\02\c8\02n\00\e6\00\83\02Y\02n\00Y\02l\00 \00f\00Y\02\c8\02n\00[\02t\001\01k\00 \00Y\02s\00o\00\8a\02s\00i\00\c8\02e\001\01\83\02n\00\n\00Y\00 \00[\00\c8\02\8f\02p\00s\00i\00l\00T\02n\00]\00,\00 \00Y\00e\00n\00 \00[\00j\00[\02n\00]\00,\00 \00Y\00o\00g\00a\00 \00[\00\c8\02j\00o\00\d0\02g\00Q\02]\00\n\00\n\00A\00P\00L\00:\00\n\00\n\00(\00(\00V\00s#V\00)\00=\00s#t#V\00)\00/\00V\00\90!,\00V\00 \00 \00 \00 \007#\90!s#\92!t#\06\"\07\"\83\"> N#U#\08#\n\00\n\00N\00i\00c\00e\00r\00 \00t\00y\00p\00o\00g\00r\00a\00p\00h\00y\00 \00i\00n\00 \00p\00l\00a\00i\00n\00 \00t\00e\00x\00t\00 \00f\00i\00l\00e\00s\00:\00\n\00\n\00T%P%P%P%P%P%P%P%P%P%P%P%P%P%P%P%P%P%P%P%P%P%P%P%P%P%P%P%P%P%P%P%P%P%P%P%P%P%P%P%P%P%P%W%\n\00Q% \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00Q%\n\00Q% \00 \00 \00\" \00\18 s\00i\00n\00g\00l\00e\00\19 \00a\00n\00d\00 \00\1c d\00o\00u\00b\00l\00e\00\1d \00q\00u\00o\00t\00e\00s\00 \00 \00 \00 \00 \00 \00 \00 \00 \00Q%\n\00Q% \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00Q%\n\00Q% \00 \00 \00\" \00C\00u\00r\00l\00y\00 \00a\00p\00o\00s\00t\00r\00o\00p\00h\00e\00s\00:\00 \00\1c W\00e\00\19 v\00e\00 \00b\00e\00e\00n\00 \00h\00e\00r\00e\00\1d \00Q%\n\00Q% \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00Q%\n\00Q% \00 \00 \00\" \00L\00a\00t\00i\00n\00-\001\00 \00a\00p\00o\00s\00t\00r\00o\00p\00h\00e\00 \00a\00n\00d\00 \00a\00c\00c\00e\00n\00t\00s\00:\00 \00\'\00\b4\00`\00 \00 \00Q%\n\00Q% \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00Q%\n\00Q% \00 \00 \00\" \00\1a d\00e\00u\00t\00s\00c\00h\00e\00\18 \00\1e A\00n\00f\00\fc\00h\00r\00u\00n\00g\00s\00z\00e\00i\00c\00h\00e\00n\00\1c \00 \00 \00 \00 \00 \00 \00Q%\n\00Q% \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00Q%\n\00Q% \00 \00 \00\" \00 ,\00 \00! ,\00 \000 ,\00 \00\" ,\00 \003\00\13 4\00,\00 \00\14 ,\00 \00\12\"5\00/\00+\005\00,\00 \00\"!,\00 \00& \00 \00 \00 \00 \00 \00Q%\n\00Q% \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00Q%\n\00Q% \00 \00 \00\" \00A\00S\00C\00I\00I\00 \00s\00a\00f\00e\00t\00y\00 \00t\00e\00s\00t\00:\00 \001\00l\00I\00|\00,\00 \000\00O\00D\00,\00 \008\00B\00 \00 \00 \00 \00 \00Q%\n\00Q% \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00m%\00%\00%\00%\00%\00%\00%\00%\00%\00%n% \00 \00 \00 \00 \00 \00 \00 \00 \00Q%\n\00Q% \00 \00 \00\" \00t\00h\00e\00 \00e\00u\00r\00o\00 \00s\00y\00m\00b\00o\00l\00:\00 \00\02% \001\004\00.\009\005\00 \00\ac \00\02% \00 \00 \00 \00 \00 \00 \00 \00 \00Q%\n\00Q% \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00p%\00%\00%\00%\00%\00%\00%\00%\00%\00%o% \00 \00 \00 \00 \00 \00 \00 \00 \00Q%\n\00Z%P%P%P%P%P%P%P%P%P%P%P%P%P%P%P%P%P%P%P%P%P%P%P%P%P%P%P%P%P%P%P%P%P%P%P%P%P%P%P%P%P%P%]%\n\00\n\00G\00r\00e\00e\00k\00 \00(\00i\00n\00 \00P\00o\00l\00y\00t\00o\00n\00i\00c\00)\00:\00\n\00\n\00T\00h\00e\00 \00G\00r\00e\00e\00k\00 \00a\00n\00t\00h\00e\00m\00:\00\n\00\n\00\a3\03r\1f \00\b3\03\bd\03\c9\03\c1\03w\1f\b6\03\c9\03 \00\00\1f\c0\03x\1f \00\c4\03t\1f\bd\03 \00\ba\03y\1f\c8\03\b7\03\n\00\c4\03\bf\03\e6\1f \00\c3\03\c0\03\b1\03\b8\03\b9\03\bf\03\e6\1f \00\c4\03t\1f\bd\03 \00\c4\03\c1\03\bf\03\bc\03\b5\03\c1\03u\1f,\00\n\00\c3\03r\1f \00\b3\03\bd\03\c9\03\c1\03w\1f\b6\03\c9\03 \00\00\1f\c0\03x\1f \00\c4\03t\1f\bd\03 \00D\1f\c8\03\b7\03\n\00\c0\03\bf\03z\1f \00\bc\03r\1f \00\b2\03w\1f\b1\03 \00\bc\03\b5\03\c4\03\c1\03q\1f\b5\03\b9\03 \00\c4\03t\1f \00\b3\03\c6\1f.\00\n\00\n\00\bf\1f\91\03\c0\03\bf\1f \00\c4\03p\1f \00\ba\03y\1f\ba\03\ba\03\b1\03\bb\03\b1\03 \00\b2\03\b3\03\b1\03\bb\03\bc\03s\1f\bd\03\b7\03\n\00\c4\03\f6\1f\bd\03 \00\fe\1f\95\03\bb\03\bb\03u\1f\bd\03\c9\03\bd\03 \00\c4\03p\1f \001\1f\b5\03\c1\03q\1f\n\00\ba\03\b1\03v\1f \00\c3\03p\1f\bd\03 \00\c0\03\c1\03\f6\1f\c4\03\b1\03 \00\00\1f\bd\03\b4\03\c1\03\b5\03\b9\03\c9\03\bc\03s\1f\bd\03\b7\03\n\00\c7\03\b1\03\d6\1f\c1\03\b5\03,\00 \00f\1f \00\c7\03\b1\03\d6\1f\c1\03\b5\03,\00 \00\bf\1f\95\03\bb\03\b5\03\c5\03\b8\03\b5\03\c1\03\b9\03q\1f!\00\n\00\n\00F\00r\00o\00m\00 \00a\00 \00s\00p\00e\00e\00c\00h\00 \00o\00f\00 \00D\00e\00m\00o\00s\00t\00h\00e\00n\00e\00s\00 \00i\00n\00 \00t\00h\00e\00 \004\00t\00h\00 \00c\00e\00n\00t\00u\00r\00y\00 \00B\00C\00:\00\n\00\n\00\9f\03P\1f\c7\03v\1f \00\c4\03\b1\03P\1f\c4\03p\1f \00\c0\03\b1\03\c1\03w\1f\c3\03\c4\03\b1\03\c4\03\b1\03w\1f \00\bc\03\bf\03\b9\03 \00\b3\03\b9\03\b3\03\bd\03}\1f\c3\03\ba\03\b5\03\b9\03\bd\03,\00 \00f\1f \00\04\1f\bd\03\b4\03\c1\03\b5\03\c2\03 \00\bf\1f\91\03\b8\03\b7\03\bd\03\b1\03\d6\1f\bf\03\b9\03,\00\n\00E\1f\c4\03\b1\03\bd\03 \00\c4\03\bf\1f \00\b5\030\1f\c2\03 \00\c4\03p\1f \00\c0\03\c1\03q\1f\b3\03\bc\03\b1\03\c4\03\b1\03 \00\00\1f\c0\03\bf\03\b2\03\bb\03s\1f\c8\03\c9\03 \00\ba\03\b1\03v\1f \00E\1f\c4\03\b1\03\bd\03 \00\c0\03\c1\03x\1f\c2\03 \00\c4\03\bf\03z\1f\c2\03\n\00\bb\03y\1f\b3\03\bf\03\c5\03\c2\03 \00\bf\03S\1f\c2\03 \00\00\1f\ba\03\bf\03{\1f\c9\03\87\03 \00\c4\03\bf\03z\1f\c2\03 \00\bc\03r\1f\bd\03 \00\b3\03p\1f\c1\03 \00\bb\03y\1f\b3\03\bf\03\c5\03\c2\03 \00\c0\03\b5\03\c1\03v\1f \00\c4\03\bf\03\e6\1f\n\00\c4\03\b9\03\bc\03\c9\03\c1\03u\1f\c3\03\b1\03\c3\03\b8\03\b1\03\b9\03 \00\a6\03w\1f\bb\03\b9\03\c0\03\c0\03\bf\03\bd\03 \00A\1f\c1\03\f6\1f \00\b3\03\b9\03\b3\03\bd\03\bf\03\bc\03s\1f\bd\03\bf\03\c5\03\c2\03,\00 \00\c4\03p\1f \00\b4\03r\1f \00\c0\03\c1\03q\1f\b3\03\bc\03\b1\03\c4\03\bf\1f\n\00\b5\030\1f\c2\03 \00\c4\03\bf\03\e6\1f\c4\03\bf\03 \00\c0\03\c1\03\bf\03u\1f\ba\03\bf\03\bd\03\c4\03\b1\03,\00 \00 \00e\1f\c3\03\b8\03\bf\1f \00E\1f\c0\03\c9\03\c2\03 \00\bc\03t\1f \00\c0\03\b5\03\b9\03\c3\03y\1f\bc\03\b5\03\b8\03\bf\1f \00\b1\03P\1f\c4\03\bf\03v\1f\n\00\c0\03\c1\03y\1f\c4\03\b5\03\c1\03\bf\03\bd\03 \00\ba\03\b1\03\ba\03\f6\1f\c2\03 \00\c3\03\ba\03s\1f\c8\03\b1\03\c3\03\b8\03\b1\03\b9\03 \00\b4\03s\1f\bf\03\bd\03.\00 \00\bf\03P\1f\b4\03s\1f\bd\03 \00\bf\03V\1f\bd\03 \00\04\1f\bb\03\bb\03\bf\03 \00\bc\03\bf\03\b9\03 \00\b4\03\bf\03\ba\03\bf\03\e6\1f\c3\03\b9\03\bd\03\n\00\bf\031\1f \00\c4\03p\1f \00\c4\03\bf\03\b9\03\b1\03\e6\1f\c4\03\b1\03 \00\bb\03s\1f\b3\03\bf\03\bd\03\c4\03\b5\03\c2\03 \00\"\1f \00\c4\03t\1f\bd\03 \00Q\1f\c0\03y\1f\b8\03\b5\03\c3\03\b9\03\bd\03,\00 \00\c0\03\b5\03\c1\03v\1f \00\'\1f\c2\03 \00\b2\03\bf\03\c5\03\bb\03\b5\03{\1f\b5\03\c3\03\b8\03\b1\03\b9\03,\00\n\00\bf\03P\1f\c7\03v\1f \00\c4\03t\1f\bd\03 \00\bf\03V\1f\c3\03\b1\03\bd\03 \00\c0\03\b1\03\c1\03\b9\03\c3\03\c4\03q\1f\bd\03\c4\03\b5\03\c2\03 \00Q\1f\bc\03\d6\1f\bd\03 \00\01\1f\bc\03\b1\03\c1\03\c4\03q\1f\bd\03\b5\03\b9\03\bd\03.\00 \00\10\1f\b3\03|\1f \00\b4\03s\1f,\00 \00E\1f\c4\03\b9\03 \00\bc\03s\1f\bd\03\n\00\c0\03\bf\03\c4\03\bf\1f \00\10\1f\be\03\c6\1f\bd\03 \00\c4\03\c7\1f \00\c0\03y\1f\bb\03\b5\03\b9\03 \00\ba\03\b1\03v\1f \00\c4\03p\1f \00\b1\03Q\1f\c4\03\c6\1f\c2\03 \00\14\1f\c7\03\b5\03\b9\03\bd\03 \00\00\1f\c3\03\c6\03\b1\03\bb\03\f6\1f\c2\03 \00\ba\03\b1\03v\1f \00\a6\03w\1f\bb\03\b9\03\c0\03\c0\03\bf\03\bd\03\n\00\c4\03\b9\03\bc\03\c9\03\c1\03u\1f\c3\03\b1\03\c3\03\b8\03\b1\03\b9\03,\00 \00\ba\03\b1\03v\1f \00\bc\03q\1f\bb\03\bf\1f \00\00\1f\ba\03\c1\03\b9\03\b2\03\f6\1f\c2\03 \00\bf\036\1f\b4\03\b1\03\87\03 \00\10\1f\c0\03\bf\1f \00\10\1f\bc\03\bf\03\e6\1f \00\b3\03q\1f\c1\03,\00 \00\bf\03P\1f \00\c0\03q\1f\bb\03\b1\03\b9\03\n\00\b3\03s\1f\b3\03\bf\03\bd\03\b5\03\bd\03 \00\c4\03\b1\03\e6\1f\c4\03\bf\1f \00\00\1f\bc\03\c6\03y\1f\c4\03\b5\03\c1\03\b1\03\87\03 \00\bd\03\e6\1f\bd\03 \00\bc\03s\1f\bd\03\c4\03\bf\03\b9\03 \00\c0\03s\1f\c0\03\b5\03\b9\03\c3\03\bc\03\b1\03\b9\03 \00\c4\03\bf\03\e6\1f\b8\03\bf\1f \001\1f\ba\03\b1\03\bd\03x\1f\bd\03\n\00\c0\03\c1\03\bf\03\bb\03\b1\03\b2\03\b5\03\d6\1f\bd\03 \00!\1f\bc\03\d6\1f\bd\03 \00\b5\036\1f\bd\03\b1\03\b9\03 \00\c4\03t\1f\bd\03 \00\c0\03\c1\03}\1f\c4\03\b7\03\bd\03,\00 \00E\1f\c0\03\c9\03\c2\03 \00\c4\03\bf\03z\1f\c2\03 \00\c3\03\c5\03\bc\03\bc\03q\1f\c7\03\bf\03\c5\03\c2\03\n\00\c3\03}\1f\c3\03\bf\03\bc\03\b5\03\bd\03.\00 \00\10\1fp\1f\bd\03 \00\b3\03p\1f\c1\03 \00\c4\03\bf\03\e6\1f\c4\03\bf\03 \00\b2\03\b5\03\b2\03\b1\03w\1f\c9\03\c2\03 \00Q\1f\c0\03q\1f\c1\03\be\03\c3\1f,\00 \00\c4\03y\1f\c4\03\b5\03 \00\ba\03\b1\03v\1f \00\c0\03\b5\03\c1\03v\1f \00\c4\03\bf\03\e6\1f\n\00\c4\03w\1f\bd\03\b1\03 \00\c4\03\b9\03\bc\03\c9\03\c1\03u\1f\c3\03\b5\03\c4\03\b1\03w\1f \00\c4\03\b9\03\c2\03 \00\ba\03\b1\03v\1f \00C\1f\bd\03 \00\c4\03\c1\03y\1f\c0\03\bf\03\bd\03 \00\10\1f\be\03s\1f\c3\03\c4\03\b1\03\b9\03 \00\c3\03\ba\03\bf\03\c0\03\b5\03\d6\1f\bd\03\87\03 \00\c0\03\c1\03v\1f\bd\03 \00\b4\03r\1f\n\00\c4\03t\1f\bd\03 \00\00\1f\c1\03\c7\03t\1f\bd\03 \00@\1f\c1\03\b8\03\f6\1f\c2\03 \00Q\1f\c0\03\bf\03\b8\03s\1f\c3\03\b8\03\b1\03\b9\03,\00 \00\bc\03q\1f\c4\03\b1\03\b9\03\bf\03\bd\03 \00!\1f\b3\03\bf\03\e6\1f\bc\03\b1\03\b9\03 \00\c0\03\b5\03\c1\03v\1f \00\c4\03\c6\1f\c2\03\n\00\c4\03\b5\03\bb\03\b5\03\c5\03\c4\03\c6\1f\c2\03 \00A\1f\bd\03\c4\03\b9\03\bd\03\bf\03\e6\1f\bd\03 \00\c0\03\bf\03\b9\03\b5\03\d6\1f\c3\03\b8\03\b1\03\b9\03 \00\bb\03y\1f\b3\03\bf\03\bd\03.\00\n\00\n\00\94\03\b7\03\bc\03\bf\03\c3\03\b8\03s\1f\bd\03\bf\03\c5\03\c2\03,\00 \00\93\03\fd\1f \00\bf\1f\9f\03\bb\03\c5\03\bd\03\b8\03\b9\03\b1\03\ba\03x\1f\c2\03\n\00\n\00G\00e\00o\00r\00g\00i\00a\00n\00:\00\n\00\n\00F\00r\00o\00m\00 \00a\00 \00U\00n\00i\00c\00o\00d\00e\00 \00c\00o\00n\00f\00e\00r\00e\00n\00c\00e\00 \00i\00n\00v\00i\00t\00a\00t\00i\00o\00n\00:\00\n\00\n\00\d2\10\d7\10\ee\10\dd\10\d5\10\d7\10 \00\d0\10\ee\10\da\10\d0\10\d5\10\d4\10 \00\d2\10\d0\10\d8\10\d0\10\e0\10\dd\10\d7\10 \00\e0\10\d4\10\d2\10\d8\10\e1\10\e2\10\e0\10\d0\10\ea\10\d8\10\d0\10 \00U\00n\00i\00c\00o\00d\00e\00-\00\d8\10\e1\10 \00\db\10\d4\10\d0\10\d7\10\d4\10 \00\e1\10\d0\10\d4\10\e0\10\d7\10\d0\10\e8\10\dd\10\e0\10\d8\10\e1\10\dd\10\n\00\d9\10\dd\10\dc\10\e4\10\d4\10\e0\10\d4\10\dc\10\ea\10\d8\10\d0\10\d6\10\d4\10 \00\d3\10\d0\10\e1\10\d0\10\e1\10\ec\10\e0\10\d4\10\d1\10\d0\10\d3\10,\00 \00\e0\10\dd\10\db\10\d4\10\da\10\d8\10\ea\10 \00\d2\10\d0\10\d8\10\db\10\d0\10\e0\10\d7\10\d4\10\d1\10\d0\10 \001\000\00-\001\002\00 \00\db\10\d0\10\e0\10\e2\10\e1\10,\00\n\00\e5\10.\00 \00\db\10\d0\10\d8\10\dc\10\ea\10\e8\10\d8\10,\00 \00\d2\10\d4\10\e0\10\db\10\d0\10\dc\10\d8\10\d0\10\e8\10\d8\10.\00 \00\d9\10\dd\10\dc\10\e4\10\d4\10\e0\10\d4\10\dc\10\ea\10\d8\10\d0\10 \00\e8\10\d4\10\f0\10\d9\10\e0\10\d4\10\d1\10\e1\10 \00\d4\10\e0\10\d7\10\d0\10\d3\10 \00\db\10\e1\10\dd\10\e4\10\da\10\d8\10\dd\10\e1\10\n\00\d4\10\e5\10\e1\10\de\10\d4\10\e0\10\e2\10\d4\10\d1\10\e1\10 \00\d8\10\e1\10\d4\10\d7\10 \00\d3\10\d0\10\e0\10\d2\10\d4\10\d1\10\e8\10\d8\10 \00\e0\10\dd\10\d2\10\dd\10\e0\10\d8\10\ea\10\d0\10\d0\10 \00\d8\10\dc\10\e2\10\d4\10\e0\10\dc\10\d4\10\e2\10\d8\10 \00\d3\10\d0\10 \00U\00n\00i\00c\00o\00d\00e\00-\00\d8\10,\00\n\00\d8\10\dc\10\e2\10\d4\10\e0\10\dc\10\d0\10\ea\10\d8\10\dd\10\dc\10\d0\10\da\10\d8\10\d6\10\d0\10\ea\10\d8\10\d0\10 \00\d3\10\d0\10 \00\da\10\dd\10\d9\10\d0\10\da\10\d8\10\d6\10\d0\10\ea\10\d8\10\d0\10,\00 \00U\00n\00i\00c\00o\00d\00e\00-\00\d8\10\e1\10 \00\d2\10\d0\10\db\10\dd\10\e7\10\d4\10\dc\10\d4\10\d1\10\d0\10\n\00\dd\10\de\10\d4\10\e0\10\d0\10\ea\10\d8\10\e3\10\da\10 \00\e1\10\d8\10\e1\10\e2\10\d4\10\db\10\d4\10\d1\10\e1\10\d0\10,\00 \00\d3\10\d0\10 \00\d2\10\d0\10\db\10\dd\10\e7\10\d4\10\dc\10\d4\10\d1\10\d8\10\d7\10 \00\de\10\e0\10\dd\10\d2\10\e0\10\d0\10\db\10\d4\10\d1\10\e8\10\d8\10,\00 \00\e8\10\e0\10\d8\10\e4\10\e2\10\d4\10\d1\10\e8\10\d8\10,\00\n\00\e2\10\d4\10\e5\10\e1\10\e2\10\d4\10\d1\10\d8\10\e1\10 \00\d3\10\d0\10\db\10\e3\10\e8\10\d0\10\d5\10\d4\10\d1\10\d0\10\e1\10\d0\10 \00\d3\10\d0\10 \00\db\10\e0\10\d0\10\d5\10\d0\10\da\10\d4\10\dc\10\dd\10\d5\10\d0\10\dc\10 \00\d9\10\dd\10\db\10\de\10\d8\10\e3\10\e2\10\d4\10\e0\10\e3\10\da\10 \00\e1\10\d8\10\e1\10\e2\10\d4\10\db\10\d4\10\d1\10\e8\10\d8\10.\00\n\00\n\00R\00u\00s\00s\00i\00a\00n\00:\00\n\00\n\00F\00r\00o\00m\00 \00a\00 \00U\00n\00i\00c\00o\00d\00e\00 \00c\00o\00n\00f\00e\00r\00e\00n\00c\00e\00 \00i\00n\00v\00i\00t\00a\00t\00i\00o\00n\00:\00\n\00\n\00\17\040\04@\045\043\048\04A\04B\04@\048\04@\04C\049\04B\045\04A\04L\04 \00A\045\049\04G\040\04A\04 \00=\040\04 \00\14\045\04A\04O\04B\04C\04N\04 \00\1c\045\046\044\04C\04=\040\04@\04>\044\04=\04C\04N\04 \00\1a\04>\04=\04D\045\04@\045\04=\04F\048\04N\04 \00?\04>\04\n\00U\00n\00i\00c\00o\00d\00e\00,\00 \00:\04>\04B\04>\04@\040\04O\04 \00A\04>\04A\04B\04>\048\04B\04A\04O\04 \001\000\00-\001\002\00 \00<\040\04@\04B\040\04 \001\009\009\007\00 \003\04>\044\040\04 \002\04 \00\1c\040\049\04=\04F\045\04 \002\04 \00\13\045\04@\04<\040\04=\048\048\04.\00\n\00\1a\04>\04=\04D\045\04@\045\04=\04F\048\04O\04 \00A\04>\041\045\04@\045\04B\04 \00H\048\04@\04>\04:\048\049\04 \00:\04@\04C\043\04 \00M\04:\04A\04?\045\04@\04B\04>\042\04 \00?\04>\04 \00 \002\04>\04?\04@\04>\04A\040\04<\04 \003\04;\04>\041\040\04;\04L\04=\04>\043\04>\04\n\00\18\04=\04B\045\04@\04=\045\04B\040\04 \008\04 \00U\00n\00i\00c\00o\00d\00e\00,\00 \00;\04>\04:\040\04;\048\047\040\04F\048\048\04 \008\04 \008\04=\04B\045\04@\04=\040\04F\048\04>\04=\040\04;\048\047\040\04F\048\048\04,\00 \002\04>\04?\04;\04>\04I\045\04=\048\04N\04 \008\04\n\00?\04@\048\04<\045\04=\045\04=\048\04N\04 \00U\00n\00i\00c\00o\00d\00e\00 \002\04 \00@\040\047\04;\048\04G\04=\04K\04E\04 \00>\04?\045\04@\040\04F\048\04>\04=\04=\04K\04E\04 \00A\048\04A\04B\045\04<\040\04E\04 \008\04 \00?\04@\04>\043\04@\040\04<\04<\04=\04K\04E\04\n\00?\04@\048\04;\04>\046\045\04=\048\04O\04E\04,\00 \00H\04@\048\04D\04B\040\04E\04,\00 \002\045\04@\04A\04B\04:\045\04 \008\04 \00<\04=\04>\043\04>\04O\047\04K\04G\04=\04K\04E\04 \00:\04>\04<\04?\04L\04N\04B\045\04@\04=\04K\04E\04 \00A\048\04A\04B\045\04<\040\04E\04.\00\n\00\n\00T\00h\00a\00i\00 \00(\00U\00C\00S\00 \00L\00e\00v\00e\00l\00 \002\00)\00:\00\n\00\n\00E\00x\00c\00e\00r\00p\00t\00 \00f\00r\00o\00m\00 \00a\00 \00p\00o\00e\00t\00r\00y\00 \00o\00n\00 \00T\00h\00e\00 \00R\00o\00m\00a\00n\00c\00e\00 \00o\00f\00 \00T\00h\00e\00 \00T\00h\00r\00e\00e\00 \00K\00i\00n\00g\00d\00o\00m\00s\00 \00(\00a\00 \00C\00h\00i\00n\00e\00s\00e\00\n\00c\00l\00a\00s\00s\00i\00c\00 \00\'\00S\00a\00n\00 \00G\00u\00a\00\'\00)\00:\00\n\00\n\00[\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00|\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00]\00\n\00 \00 \00O\0e \00A\0e\1c\0eH\0e\19\0e\14\0e4\0e\19\0e.\0e1\0eH\0e\19\0e@\0e*\0e7\0eH\0e-\0e!\0eB\0e\17\0e#\0e!\0eA\0e*\0e\19\0e*\0e1\0e\07\0e@\0e\'\0e\n\0e \00 \00\1e\0e#\0e0\0e\1b\0e\01\0e@\0e\01\0e(\0e\01\0e-\0e\07\0e\1a\0e9\0eJ\0e\01\0e9\0eI\0e\02\0e6\0eI\0e\19\0eC\0e+\0e!\0eH\0e\n\00*\0e4\0e\1a\0e*\0e-\0e\07\0e\01\0e)\0e1\0e\15\0e#\0e4\0e\"\0eL\0e\01\0eH\0e-\0e\19\0e+\0e\19\0eI\0e2\0eA\0e%\0e\16\0e1\0e\14\0eD\0e\1b\0e \00 \00 \00 \00 \00 \00 \00*\0e-\0e\07\0e-\0e\07\0e\04\0eL\0eD\0e\0b\0e#\0eI\0eB\0e\07\0eH\0e@\0e\02\0e%\0e2\0e@\0e\1a\0e2\0e\1b\0e1\0e\0d\0e\0d\0e2\0e\n\00 \00 \00\17\0e#\0e\07\0e\19\0e1\0e\1a\0e\16\0e7\0e-\0e\02\0e1\0e\19\0e\17\0e5\0e@\0e\1b\0eG\0e\19\0e\17\0e5\0eH\0e\1e\0e6\0eH\0e\07\0e \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00\1a\0eI\0e2\0e\19\0e@\0e!\0e7\0e-\0e\07\0e\08\0e6\0e\07\0e\'\0e4\0e\1b\0e#\0e4\0e\15\0e@\0e\1b\0eG\0e\19\0e\19\0e1\0e\01\0e+\0e\19\0e2\0e\n\00B\0e.\0e\08\0e4\0eK\0e\19\0e@\0e#\0e5\0e\"\0e\01\0e\17\0e1\0e\1e\0e\17\0e1\0eH\0e\'\0e+\0e1\0e\'\0e@\0e!\0e7\0e-\0e\07\0e!\0e2\0e \00 \00 \00 \00 \00 \00 \00 \00 \00+\0e!\0e2\0e\"\0e\08\0e0\0e\06\0eH\0e2\0e!\0e\14\0e\n\0e1\0eH\0e\'\0e\15\0e1\0e\'\0e*\0e3\0e\04\0e1\0e\0d\0e\n\00 \00 \00@\0e+\0e!\0e7\0e-\0e\19\0e\02\0e1\0e\1a\0eD\0e*\0eD\0e%\0eH\0e@\0e*\0e7\0e-\0e\08\0e2\0e\01\0e@\0e\04\0e+\0e2\0e \00 \00 \00 \00 \00 \00#\0e1\0e\1a\0e+\0e!\0e2\0e\1b\0eH\0e2\0e@\0e\02\0eI\0e2\0e!\0e2\0e@\0e%\0e\"\0e-\0e2\0e*\0e1\0e\0d\0e\n\00\1d\0eH\0e2\0e\"\0e-\0eI\0e-\0e\07\0e-\0e8\0eI\0e\19\0e\"\0e8\0eA\0e\"\0e\01\0eC\0e+\0eI\0eA\0e\15\0e\01\0e\01\0e1\0e\19\0e \00 \00 \00 \00 \00 \00 \00 \00 \00 \00C\0e\n\0eI\0e*\0e2\0e\'\0e\19\0e1\0eI\0e\19\0e@\0e\1b\0eG\0e\19\0e\n\0e\19\0e\'\0e\19\0e\n\0e7\0eH\0e\19\0e\n\0e\'\0e\19\0eC\0e\08\0e\n\00 \00 \00\1e\0e%\0e1\0e\19\0e%\0e4\0e\t\0e8\0e\"\0e\01\0e8\0e\"\0e\01\0e5\0e\01\0e%\0e1\0e\1a\0e\01\0eH\0e-\0e@\0e+\0e\15\0e8\0e \00 \00 \00 \00 \00 \00 \00 \00 \00 \00\n\0eH\0e2\0e\07\0e-\0e2\0e@\0e\1e\0e(\0e\08\0e#\0e4\0e\07\0e+\0e\19\0e2\0e\1f\0eI\0e2\0e#\0eI\0e-\0e\07\0eD\0e+\0eI\0e\n\00\15\0eI\0e-\0e\07\0e#\0e\1a\0e#\0e2\0e\06\0eH\0e2\0e\1f\0e1\0e\19\0e\08\0e\19\0e\1a\0e#\0e#\0e%\0e1\0e\"\0e \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00$\0eE\0e+\0e2\0eC\0e\04\0e#\0e\04\0eI\0e3\0e\n\0e9\0e\01\0e9\0eI\0e\1a\0e#\0e#\0e%\0e1\0e\07\0e\01\0eL\0e \00/\0e\n\00\n\00(\00T\00h\00e\00 \00a\00b\00o\00v\00e\00 \00i\00s\00 \00a\00 \00t\00w\00o\00-\00c\00o\00l\00u\00m\00n\00 \00t\00e\00x\00t\00.\00 \00I\00f\00 \00c\00o\00m\00b\00i\00n\00i\00n\00g\00 \00c\00h\00a\00r\00a\00c\00t\00e\00r\00s\00 \00a\00r\00e\00 \00h\00a\00n\00d\00l\00e\00d\00\n\00c\00o\00r\00r\00e\00c\00t\00l\00y\00,\00 \00t\00h\00e\00 \00l\00i\00n\00e\00s\00 \00o\00f\00 \00t\00h\00e\00 \00s\00e\00c\00o\00n\00d\00 \00c\00o\00l\00u\00m\00n\00 \00s\00h\00o\00u\00l\00d\00 \00b\00e\00 \00a\00l\00i\00g\00n\00e\00d\00 \00w\00i\00t\00h\00 \00t\00h\00e\00\n\00|\00 \00c\00h\00a\00r\00a\00c\00t\00e\00r\00 \00a\00b\00o\00v\00e\00.\00)\00\n\00\n\00E\00t\00h\00i\00o\00p\00i\00a\00n\00:\00\n\00\n\00P\00r\00o\00v\00e\00r\00b\00s\00 \00i\00n\00 \00t\00h\00e\00 \00A\00m\00h\00a\00r\00i\00c\00 \00l\00a\00n\00g\00u\00a\00g\00e\00:\00\n\00\n\000\12\1b\12\ed\12 \00\a0\12\ed\12s\12(\125\12 \00\95\12\t\13%\12 \00\a0\12\ed\12\a8\120\125\12b\13\n\00e\12\0b\12 \00\ab\12\08\12\9d\12 \00\a5\12\95\12\f0\12\a0\12c\12t\12 \00`\12F\12\18\12 \13\9d\12b\13\n\00\0c\13%\13 \00\eb\12\08\12d\12q\12 \00A\12\1d\12%\13\93\12 \00\90\12\cd\12b\13\n\00\f0\12\00\12 \00`\12\15\12\0d\12\19\12 \00E\12d\12 \00c\12\ed\12 \13#\13 \00\95\12#\13u\12 \00`\12\08\13\f0\12\08\12\cd\12b\13\n\00\e8\12\a0\12M\13 \00\c8\12\08\12\1d\12s\12 \00`\12E\12d\12 \00\a0\12\ed\12s\12=\12\1d\12b\13\n\00\a0\12\ed\12%\13 \00`\12`\12\0b\12 \00\f3\12\cb\12 \00p\12\18\12s\12b\13\n\002\12p\12(\12\t\13\19\12 \00\ed\12\f0\12(\12\0d\13\19\12b\13\n\00@\125\12 \00`\12@\125\12e\13 \00\d5\12\95\12A\12\0b\12\0d\12 \00`\12\a5\12\0d\13)\12 \00\ed\12\04\12\f3\12\0d\12b\13\n\00\f5\12-\12 \00b\12\eb\12e\12-\12 \00\a0\12\95\12`\123\12 \00\eb\125\12-\12b\13\n\000\12\cd\12 \00\a5\12\95\12\f0\12d\12q\12 \00\a5\12\95\12\05\13 \00\a5\12\95\12\f0\12 \00\t\13(\12d\12q\12 \00\a0\12\ed\12p\12\f3\12\f0\12-\12\1d\12b\13\n\00\a5\12\0d\13\dc\12-\12 \00\e8\12\a8\12H\13p\12\cd\12\95\12 \00\t\13.\12.\12 \003\12\ed\12\d8\12\0b\13\cd\12 \00\a0\12\ed\12\f5\12-\12\1d\12b\13\n\00\e8\12\0e\13(\12d\12u\12 \00\0c\12c\12e\13 \00b\12\eb\12\e9\12u\12 \00\ed\125\12E\12 \00c\12\eb\12\e9\12u\12 \00\eb\12 \13\0d\12E\12b\13\n\00%\12+\12 \00\a8\12\18\12M\13s\12u\12 \00\0d\12\04\13\95\12 \00\0b\12K\13s\12u\12b\13\n\00\d3\12c\12\ed\12 \00\1b\12\f0\12*\12\eb\12 \00\e8\12\08\12\cd\12e\13 \00\0d\13\95\12\f5\12 \00\ed\12\de\12 \00\ed\12\de\12+\12\0d\12b\13\n\00\e8\12\a5\125\12\0b\12\1d\12 \00\a0\12\08\13)\12 \00\18\12\ab\12 \00\e8\12\a0\12\1e\12+\12 \00\a0\12\08\13)\12 \00\cb\12-\12\ab\12b\13\n\00p\12\95\12\0b\13\0e\12 \00b\12p\12I\13 \00p\12\18\12\0d\126\12 \00c\12I\13b\13\n\00\c8\12\f3\12\05\13\05\12 \00\1b\12-\12 \00b\12\06\12\95\12 \00(\13-\125\12\05\12 \00\a0\12u\12\0b\120\12\cd\12b\13\n\00\a5\12\0d\13-\12\05\12\95\12 \00`\12M\13+\12=\12\05\12 \00\0d\12\ad\12 \00\d8\12-\12\0b\13b\13\n\00\n\00R\00u\00n\00e\00s\00:\00\n\00\n\00\bb\16\d6\16 \00\b3\16\b9\16\ab\16\a6\16 \00\a6\16\ab\16\cf\16 \00\bb\16\d6\16 \00\d2\16\a2\16\de\16\d6\16 \00\a9\16\be\16 \00\a6\16\ab\16\d7\16 \00\da\16\aa\16\be\16\de\16\d6\16 \00\be\16\a9\16\b1\16\a6\16\b9\16\d6\16\aa\16\b1\16\de\16\a2\16\d7\16 \00\b9\16\c1\16\a6\16 \00\a6\16\aa\16 \00\b9\16\d6\16\e5\16\ab\16\n\00\n\00(\00O\00l\00d\00 \00E\00n\00g\00l\00i\00s\00h\00,\00 \00w\00h\00i\00c\00h\00 \00t\00r\00a\00n\00s\00c\00r\00i\00b\00e\00d\00 \00i\00n\00t\00o\00 \00L\00a\00t\00i\00n\00 \00r\00e\00a\00d\00s\00 \00\'\00H\00e\00 \00c\00w\00a\00e\00t\00h\00 \00t\00h\00a\00t\00 \00h\00e\00\n\00b\00u\00d\00e\00 \00t\00h\00a\00e\00m\00 \00l\00a\00n\00d\00e\00 \00n\00o\00r\00t\00h\00w\00e\00a\00r\00d\00u\00m\00 \00w\00i\00t\00h\00 \00t\00h\00a\00 \00W\00e\00s\00t\00s\00a\00e\00.\00\'\00 \00a\00n\00d\00 \00m\00e\00a\00n\00s\00 \00\'\00H\00e\00 \00s\00a\00i\00d\00\n\00t\00h\00a\00t\00 \00h\00e\00 \00l\00i\00v\00e\00d\00 \00i\00n\00 \00t\00h\00e\00 \00n\00o\00r\00t\00h\00e\00r\00n\00 \00l\00a\00n\00d\00 \00n\00e\00a\00r\00 \00t\00h\00e\00 \00W\00e\00s\00t\00e\00r\00n\00 \00S\00e\00a\00.\00\'\00)\00\n\00\n\00B\00r\00a\00i\00l\00l\00e\00:\00\n\00\n\00L(\01(\'(\11( \00<(\01(\12( \00 \00M(\1c(\07(\11(9(0(\0e( \00c(\15(\0c(\n\00\n\00M(\1c(\07(\11(9( \00:(\01(\0e( \00\19(\11(\01(\19(\12( \00\1e(\15( \00\03(\11(\1b(\14( \00:(\n(9(2( \00y(;(\11( \00\n(\0e( \00\1d(\15( \00\19(3(\03(\1e(\n\001(\01(\1e(\11(\'(;( \00\01(\03(3(\1e( \009(\01(\1e(2( \00y(\11( \00\17(\11(\1b(\n(\0c(;( \00\15(\0b( \00\19(\n(\0e( \00\03(%(\17(\n(\01(\07( \00:(\01(\0e(\n\00\0e(\n(\1b(\1d(+( \00\03(9( \009(\11( \00\n(\07(;(\1b(9(\0d(\01(\1d(\02( \009(\11( \00\n(\07(;(\05(\02( \009(\11( \00%(\1d(\19(;(\1e(\01(\05(;(\02(\n\00\01(\1d(\19( \009(\11( \00!(\n(\11(\0b( \00\0d(3(\17(\1d(;(2( \00N(\n(\17(\15(\15(\1b(\11( \00\0e(\n(\1b(\1d(+( \00\n(\1e(2( \00A(\1d(\19(\n\00N(\n(\17(\15(\15(\1b(\11(0(\0e( \00\1d(\01(\0d(\11( \00:(\01(\0e( \00\1b(\15(\15(\19( \00%(\0f(\15(\1d( \000(a(\01(\1d(\1b(\11(\02( \00\0b(\15(\17( \00\01(\1d(9(9(\14(\1b( \00\19(\11(\n\00!(\15(\0e(\11( \00\1e(\15( \00\0f(%(\1e( \00\19(\n(\0e( \00\19(\01(\1d(\19( \00\1e(\15(2(\n\00\n\00U(\07(\19( \00M(\1c(\07(\11(9( \00:(\01(\0e( \00\01(\0e( \00\19(\11(\01(\19( \00\01(\0e( \00\01( \00\19(\15(\15(\17($(\1d(\01(\n(\07(2(\n\00\n\00M(\14(\19(\16( \00J( \00\19(\15(\1d(0(\1e( \00\0d(\11(\01(\1d( \00\1e(\15( \00\0e(\01(9( \009(\01(\1e( \00J( \00\05(\1d(*(\02( \00\15(\0b( \00\0d(9(\n\00*(\1d( \00\05(\1d(*(\07(+(\1b(\11(\02( \001(\01(\1e( \009(;(\11( \00\n(\0e( \00\0f(\1c(\1e(\n(\n(%(\07(\1c(\07(9( \00\19(\11(\01(\19( \00\01(\03(3(\1e(\n\00\01( \00\19(\15(\15(\17($(\1d(\01(\n(\07(2( \00J( \00\0d(\n(#(\1e( \00\19(\01(\'(\11( \00\03(\11(2( \00\14(\n(\07(\14(+(\02( \00\0d(9(\0e(\11(\07(\0b(\02( \00\1e(\15(\n\00\17(\11(\1b(\1c(\19( \00\01( \00\n(\15(\0b(\0b(\14($(\1d(\01(\n(\07( \00\01(\0e( \009(\11( \00\19(\11(\01(\19(\11(\0c( \00\0f(\n(\11(\n(\11( \00\15(\0b( \00\n(\17(\15(\1d(\0d(\15(\1d(\1b(;(9(\n\00\14( \009(\11( \00\1e(\17(\01(\19(\11(2( \00C(%(\1e( \009(\11( \00:(\n(\0e(\19(\15(\0d( \00\15(\0b( \003(\17( \00\01(\1d(\n(\11(\0c(\15(\17(\0e(\n\00\n(\0e( \00\14( \009(\11( \00\0e(\n(\0d(\n(\07(\11(\06( \00\01(\1d(\19( \00\0d(9( \00%(\1d(\19(\01(\07(\07(*(+( \00\19(\01(\1d(\19(\0e(\n\00)(\01(\07(\07( \00\1d(\15(\1e( \00\19(\n(\0c(%(\17(\03( \00\n(\1e(\02( \00\15(\17( \009(\11( \00J(3(\1d(\1e(\17(9(0(\0e( \00\19(\15(\1d(\11( \00\0b(\15(\17(2( \00y(3(\n\00:(\n(\07(\07( \009(;(\11(\0b(\15(\17(\11( \00\0f(;(\0d(\n(\1e( \00\0d(\11( \00\1e(\15( \00\17(\11(\0f(\11(\01(\1e(\02( \00\11(\0d(\0f(\19(\01(\1e(\n(\n(\01(\07(\07(9(\02( \009(\01(\1e(\n\00M(\1c(\07(\11(9( \00:(\01(\0e( \00\01(\0e( \00\19(\11(\01(\19( \00\01(\0e( \00\01( \00\19(\15(\15(\17($(\1d(\01(\n(\07(2(\n\00\n\00(\00T\00h\00e\00 \00f\00i\00r\00s\00t\00 \00c\00o\00u\00p\00l\00e\00 \00o\00f\00 \00p\00a\00r\00a\00g\00r\00a\00p\00h\00s\00 \00o\00f\00 \00\"\00A\00 \00C\00h\00r\00i\00s\00t\00m\00a\00s\00 \00C\00a\00r\00o\00l\00\"\00 \00b\00y\00 \00D\00i\00c\00k\00e\00n\00s\00)\00\n\00\n\00C\00o\00m\00p\00a\00c\00t\00 \00f\00o\00n\00t\00 \00s\00e\00l\00e\00c\00t\00i\00o\00n\00 \00e\00x\00a\00m\00p\00l\00e\00 \00t\00e\00x\00t\00:\00\n\00\n\00A\00B\00C\00D\00E\00F\00G\00H\00I\00J\00K\00L\00M\00N\00O\00P\00Q\00R\00S\00T\00U\00V\00W\00X\00Y\00Z\00 \00/\000\001\002\003\004\005\006\007\008\009\00\n\00a\00b\00c\00d\00e\00f\00g\00h\00i\00j\00k\00l\00m\00n\00o\00p\00q\00r\00s\00t\00u\00v\00w\00x\00y\00z\00 \00\a3\00\a9\00\b5\00\c0\00\c6\00\d6\00\de\00\df\00\e9\00\f6\00\ff\00\n\00\13 \14 \18 \1c \1d \1e \" & 0 \"!S\01`\01x\01~\01\ac \00\91\03\92\03\93\03\94\03\a9\03\b1\03\b2\03\b3\03\b4\03\c9\03 \00\10\04\11\04\12\04\13\04\14\040\041\042\043\044\04\n\00\00\"\02\"\08\"\1d!\'\"*\"a\"\1e\" \00\91!\97!\a8!\bb!\e3! \00\10%<%T%X%\91%\ba%:&@& \00\01\fb\fd\ff@$\82 \1f\02\1e\e5\04\84\1eP\02\d0\02N#\d0\051\05\d0\10\n\00\n\00G\00r\00e\00e\00t\00i\00n\00g\00s\00 \00i\00n\00 \00v\00a\00r\00i\00o\00u\00s\00 \00l\00a\00n\00g\00u\00a\00g\00e\00s\00:\00\n\00\n\00H\00e\00l\00l\00o\00 \00w\00o\00r\00l\00d\00,\00 \00\9a\03\b1\03\bb\03\b7\03\bc\03s\1f\c1\03\b1\03 \00\ba\03y\1f\c3\03\bc\03\b5\03,\00 \00\b30\f30\cb0\c10\cf0\n\00\n\00B\00o\00x\00 \00d\00r\00a\00w\00i\00n\00g\00 \00a\00l\00i\00g\00n\00m\00e\00n\00t\00 \00t\00e\00s\00t\00s\00:\00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00\88%\n\00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00\89%\n\00T%P%P%f%P%P%W% \00 \00\0c%\00%\00%,%\00%\00%\10% \00 \00m%\00%\00%,%\00%\00%n% \00 \00m%\00%\00%,%\00%\00%n% \00 \00\0f%\01%\01%3%\01%\01%\13% \00 \00\0e%\12%\0f%\11% \00 \00 \00w% \00 \00{% \00\0f%/%\13% \00\0c%0%\10% \00 \00 \00 \00\8a% \00q%r%q%r%s%s%s%\n\00Q%\0c%\00%h%\00%\10%Q% \00 \00\02%T%P%g%P%W%\02% \00 \00\02%R%P%j%P%U%\02% \00 \00\02%S%\00%A%\00%V%\02% \00 \00\03%\0c%\00%B%\00%\10%\03% \00 \00\17%C%D%\19% \00 \00v%<%t%z%K%x% %<%(% \00\1d%K%%% \00 \00 \00 \00\8b% \00r%q%r%q%s%s%s%\n\00Q%\02%r% \00q%\02%Q% \00 \00\02%Q% \00 \00 \00Q%\02% \00 \00\02%\02% \00\02% \00\02%\02% \00 \00\02%Q% \00\03% \00Q%\02% \00 \00\03%\02% \00\7f% \00\02%\03% \00 \00\0d%E%F%\13% \00 \00 \00u% \00 \00y% \00\17%7%\1b% \00\14%8%\18% \00 \00 \00 \00\8c% \00q%r%q%r%s%s%s%\n\00`%a% \00s% \00^%c% \00 \00\1c%b% \00 \00 \00_%$% \00 \00\1c%<%\00%<%\00%<%$% \00 \00\1c%k%\00%B%\00%k%$% \00 \00#%?%~%<%|%?%+% \00 \00\15%\1b%\16%\1a% \00 \00 \00 \00 \00\0c%\04%\04%\10% \00N% \00\0f%\05%\05%\13% \00\0b% \00\8d% \00r%q%r%q%s%s%s%\n\00Q%\02%q% \00r%\02%Q% \00 \00\02%Q% \00 \00 \00Q%\02% \00 \00\02%\02% \00\02% \00\02%\02% \00 \00\02%Q% \00\03% \00Q%\02% \00 \00\03%\02% \00}% \00\02%\03% \00 \00\91%\91%\92%\92%\93%\93%\88%\88% \00\n% \00 \00\06% \00N% \00O% \00 \00\07% \00\0b% \00\8e%\n\00Q%\14%\00%e%\00%\18%Q% \00 \00\02%Z%P%d%P%]%\02% \00 \00\02%X%P%j%P%[%\02% \00 \00\02%Y%\00%@%\00%\\%\02% \00 \00\03%\14%\00%B%\00%\18%\03% \00 \00\91%\91%\92%\92%\93%\93%\88%\88% \00\n% \00 \00\06% \00N% \00O% \00 \00\07% \00\0b% \00\8f%\n\00Z%P%P%i%P%P%]% \00 \00\14%\00%\00%4%\00%\00%\18% \00 \00p%\00%\00%4%\00%\00%o% \00 \00p%\00%\00%4%\00%\00%o% \00 \00\17%\01%\01%;%\01%\01%\1b% \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00\14%L%L%\18% \00N% \00\17%M%M%\1b% \00\0b% \00 \00\81%\82%\83%\84%\85%\86%\87%\88%\n") + (data (i32.const 15212) "\cc\1c") + (data (i32.const 15224) "\01\00\00\00\ba\1c\00\00S\00e\00n\00t\00e\00n\00c\00e\00s\00 \00t\00h\00a\00t\00 \00c\00o\00n\00t\00a\00i\00n\00 \00a\00l\00l\00 \00l\00e\00t\00t\00e\00r\00s\00 \00c\00o\00m\00m\00o\00n\00l\00y\00 \00u\00s\00e\00d\00 \00i\00n\00 \00a\00 \00l\00a\00n\00g\00u\00a\00g\00e\00\n\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00\n\00\n\00M\00a\00r\00k\00u\00s\00 \00K\00u\00h\00n\00 \00<\00h\00t\00t\00p\00:\00/\00/\00w\00w\00w\00.\00c\00l\00.\00c\00a\00m\00.\00a\00c\00.\00u\00k\00/\00~\00m\00g\00k\002\005\00/\00>\00 \00-\00-\00 \002\000\001\002\00-\000\004\00-\001\001\00\n\00\n\00T\00h\00i\00s\00 \00i\00s\00 \00a\00n\00 \00e\00x\00a\00m\00p\00l\00e\00 \00o\00f\00 \00a\00 \00p\00l\00a\00i\00n\00-\00t\00e\00x\00t\00 \00f\00i\00l\00e\00 \00e\00n\00c\00o\00d\00e\00d\00 \00i\00n\00 \00U\00T\00F\00-\008\00.\00\n\00\n\00\n\00D\00a\00n\00i\00s\00h\00 \00(\00d\00a\00)\00\n\00-\00-\00-\00-\00-\00-\00-\00-\00-\00\n\00\n\00 \00 \00Q\00u\00i\00z\00d\00e\00l\00t\00a\00g\00e\00r\00n\00e\00 \00s\00p\00i\00s\00t\00e\00 \00j\00o\00r\00d\00b\00\e6\00r\00 \00m\00e\00d\00 \00f\00l\00\f8\00d\00e\00,\00 \00m\00e\00n\00s\00 \00c\00i\00r\00k\00u\00s\00k\00l\00o\00v\00n\00e\00n\00\n\00 \00 \00W\00o\00l\00t\00h\00e\00r\00 \00s\00p\00i\00l\00l\00e\00d\00e\00 \00p\00\e5\00 \00x\00y\00l\00o\00f\00o\00n\00.\00\n\00 \00 \00(\00=\00 \00Q\00u\00i\00z\00 \00c\00o\00n\00t\00e\00s\00t\00a\00n\00t\00s\00 \00w\00e\00r\00e\00 \00e\00a\00t\00i\00n\00g\00 \00s\00t\00r\00a\00w\00b\00e\00r\00y\00 \00w\00i\00t\00h\00 \00c\00r\00e\00a\00m\00 \00w\00h\00i\00l\00e\00 \00W\00o\00l\00t\00h\00e\00r\00\n\00 \00 \00t\00h\00e\00 \00c\00i\00r\00c\00u\00s\00 \00c\00l\00o\00w\00n\00 \00p\00l\00a\00y\00e\00d\00 \00o\00n\00 \00x\00y\00l\00o\00p\00h\00o\00n\00e\00.\00)\00\n\00\n\00G\00e\00r\00m\00a\00n\00 \00(\00d\00e\00)\00\n\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00\n\00\n\00 \00 \00F\00a\00l\00s\00c\00h\00e\00s\00 \00\dc\00b\00e\00n\00 \00v\00o\00n\00 \00X\00y\00l\00o\00p\00h\00o\00n\00m\00u\00s\00i\00k\00 \00q\00u\00\e4\00l\00t\00 \00j\00e\00d\00e\00n\00 \00g\00r\00\f6\00\df\00e\00r\00e\00n\00 \00Z\00w\00e\00r\00g\00\n\00 \00 \00(\00=\00 \00W\00r\00o\00n\00g\00f\00u\00l\00 \00p\00r\00a\00c\00t\00i\00c\00i\00n\00g\00 \00o\00f\00 \00x\00y\00l\00o\00p\00h\00o\00n\00e\00 \00m\00u\00s\00i\00c\00 \00t\00o\00r\00t\00u\00r\00e\00s\00 \00e\00v\00e\00r\00y\00 \00l\00a\00r\00g\00e\00r\00 \00d\00w\00a\00r\00f\00)\00\n\00\n\00 \00 \00Z\00w\00\f6\00l\00f\00 \00B\00o\00x\00k\00\e4\00m\00p\00f\00e\00r\00 \00j\00a\00g\00t\00e\00n\00 \00E\00v\00a\00 \00q\00u\00e\00r\00 \00\fc\00b\00e\00r\00 \00d\00e\00n\00 \00S\00y\00l\00t\00e\00r\00 \00D\00e\00i\00c\00h\00\n\00 \00 \00(\00=\00 \00T\00w\00e\00l\00v\00e\00 \00b\00o\00x\00i\00n\00g\00 \00f\00i\00g\00h\00t\00e\00r\00s\00 \00h\00u\00n\00t\00e\00d\00 \00E\00v\00a\00 \00a\00c\00r\00o\00s\00s\00 \00t\00h\00e\00 \00d\00i\00k\00e\00 \00o\00f\00 \00S\00y\00l\00t\00)\00\n\00\n\00 \00 \00H\00e\00i\00z\00\f6\00l\00r\00\fc\00c\00k\00s\00t\00o\00\df\00a\00b\00d\00\e4\00m\00p\00f\00u\00n\00g\00\n\00 \00 \00(\00=\00 \00f\00u\00e\00l\00 \00o\00i\00l\00 \00r\00e\00c\00o\00i\00l\00 \00a\00b\00s\00o\00r\00b\00e\00r\00)\00\n\00 \00 \00(\00j\00q\00v\00w\00x\00y\00 \00m\00i\00s\00s\00i\00n\00g\00,\00 \00b\00u\00t\00 \00a\00l\00l\00 \00n\00o\00n\00-\00A\00S\00C\00I\00I\00 \00l\00e\00t\00t\00e\00r\00s\00 \00i\00n\00 \00o\00n\00e\00 \00w\00o\00r\00d\00)\00\n\00\n\00G\00r\00e\00e\00k\00 \00(\00e\00l\00)\00\n\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00\n\00\n\00 \00 \00\93\03\b1\03\b6\03\ad\03\b5\03\c2\03 \00\ba\03\b1\03v\1f \00\bc\03\c5\03\c1\03\c4\03\b9\03r\1f\c2\03 \00\b4\03r\1f\bd\03 \00\b8\03p\1f \00\b2\03\c1\03\f6\1f \00\c0\03\b9\03p\1f \00\c3\03\c4\03x\1f \00\c7\03\c1\03\c5\03\c3\03\b1\03\c6\03v\1f \00\be\03\ad\03\c6\03\c9\03\c4\03\bf\03\n\00 \00 \00(\00=\00 \00N\00o\00 \00m\00o\00r\00e\00 \00s\00h\00a\00l\00l\00 \00I\00 \00s\00e\00e\00 \00a\00c\00a\00c\00i\00a\00s\00 \00o\00r\00 \00m\00y\00r\00t\00l\00e\00s\00 \00i\00n\00 \00t\00h\00e\00 \00g\00o\00l\00d\00e\00n\00 \00c\00l\00e\00a\00r\00i\00n\00g\00)\00\n\00\n\00 \00 \00\9e\03\b5\03\c3\03\ba\03\b5\03\c0\03\ac\03\b6\03\c9\03 \00\c4\03t\1f\bd\03 \00\c8\03\c5\03\c7\03\bf\03\c6\03\b8\03\cc\03\c1\03\b1\03 \00\b2\03\b4\03\b5\03\bb\03\c5\03\b3\03\bc\03\af\03\b1\03\n\00 \00 \00(\00=\00 \00I\00 \00u\00n\00c\00o\00v\00e\00r\00 \00t\00h\00e\00 \00s\00o\00u\00l\00-\00d\00e\00s\00t\00r\00o\00y\00i\00n\00g\00 \00a\00b\00h\00o\00r\00r\00e\00n\00c\00e\00)\00\n\00\n\00E\00n\00g\00l\00i\00s\00h\00 \00(\00e\00n\00)\00\n\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00\n\00\n\00 \00 \00T\00h\00e\00 \00q\00u\00i\00c\00k\00 \00b\00r\00o\00w\00n\00 \00f\00o\00x\00 \00j\00u\00m\00p\00s\00 \00o\00v\00e\00r\00 \00t\00h\00e\00 \00l\00a\00z\00y\00 \00d\00o\00g\00\n\00\n\00S\00p\00a\00n\00i\00s\00h\00 \00(\00e\00s\00)\00\n\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00\n\00\n\00 \00 \00E\00l\00 \00p\00i\00n\00g\00\fc\00i\00n\00o\00 \00W\00e\00n\00c\00e\00s\00l\00a\00o\00 \00h\00i\00z\00o\00 \00k\00i\00l\00\f3\00m\00e\00t\00r\00o\00s\00 \00b\00a\00j\00o\00 \00e\00x\00h\00a\00u\00s\00t\00i\00v\00a\00 \00l\00l\00u\00v\00i\00a\00 \00y\00\n\00 \00 \00f\00r\00\ed\00o\00,\00 \00a\00\f1\00o\00r\00a\00b\00a\00 \00a\00 \00s\00u\00 \00q\00u\00e\00r\00i\00d\00o\00 \00c\00a\00c\00h\00o\00r\00r\00o\00.\00\n\00 \00 \00(\00C\00o\00n\00t\00a\00i\00n\00s\00 \00e\00v\00e\00r\00y\00 \00l\00e\00t\00t\00e\00r\00 \00a\00n\00d\00 \00e\00v\00e\00r\00y\00 \00a\00c\00c\00e\00n\00t\00,\00 \00b\00u\00t\00 \00n\00o\00t\00 \00e\00v\00e\00r\00y\00 \00c\00o\00m\00b\00i\00n\00a\00t\00i\00o\00n\00\n\00 \00 \00o\00f\00 \00v\00o\00w\00e\00l\00 \00+\00 \00a\00c\00u\00t\00e\00.\00)\00\n\00\n\00F\00r\00e\00n\00c\00h\00 \00(\00f\00r\00)\00\n\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00\n\00\n\00 \00 \00P\00o\00r\00t\00e\00z\00 \00c\00e\00 \00v\00i\00e\00u\00x\00 \00w\00h\00i\00s\00k\00y\00 \00a\00u\00 \00j\00u\00g\00e\00 \00b\00l\00o\00n\00d\00 \00q\00u\00i\00 \00f\00u\00m\00e\00 \00s\00u\00r\00 \00s\00o\00n\00 \00\ee\00l\00e\00 \00i\00n\00t\00\e9\00r\00i\00e\00u\00r\00e\00,\00 \00\e0\00\n\00 \00 \00c\00\f4\00t\00\e9\00 \00d\00e\00 \00l\00\'\00a\00l\00c\00\f4\00v\00e\00 \00o\00v\00o\00\ef\00d\00e\00,\00 \00o\00\f9\00 \00l\00e\00s\00 \00b\00\fb\00c\00h\00e\00s\00 \00s\00e\00 \00c\00o\00n\00s\00u\00m\00e\00n\00t\00 \00d\00a\00n\00s\00 \00l\00\'\00\e2\00t\00r\00e\00,\00 \00c\00e\00\n\00 \00 \00q\00u\00i\00 \00l\00u\00i\00 \00p\00e\00r\00m\00e\00t\00 \00d\00e\00 \00p\00e\00n\00s\00e\00r\00 \00\e0\00 \00l\00a\00 \00c\00\e6\00n\00o\00g\00e\00n\00\e8\00s\00e\00 \00d\00e\00 \00l\00\'\00\ea\00t\00r\00e\00 \00d\00o\00n\00t\00 \00i\00l\00 \00e\00s\00t\00 \00q\00u\00e\00s\00t\00i\00o\00n\00\n\00 \00 \00d\00a\00n\00s\00 \00l\00a\00 \00c\00a\00u\00s\00e\00 \00a\00m\00b\00i\00g\00u\00\eb\00 \00e\00n\00t\00e\00n\00d\00u\00e\00 \00\e0\00 \00M\00o\00\ff\00,\00 \00d\00a\00n\00s\00 \00u\00n\00 \00c\00a\00p\00h\00a\00r\00n\00a\00\fc\00m\00 \00q\00u\00i\00,\00\n\00 \00 \00p\00e\00n\00s\00e\00-\00t\00-\00i\00l\00,\00 \00d\00i\00m\00i\00n\00u\00e\00 \00\e7\00\e0\00 \00e\00t\00 \00l\00\e0\00 \00l\00a\00 \00q\00u\00a\00l\00i\00t\00\e9\00 \00d\00e\00 \00s\00o\00n\00 \00S\01u\00v\00r\00e\00.\00\n\00\n\00 \00 \00l\00\'\00\ee\00l\00e\00 \00e\00x\00i\00g\00u\00\eb\00\n\00 \00 \00O\00\f9\00 \00l\00\'\00o\00b\00\e8\00s\00e\00 \00j\00u\00r\00y\00 \00m\00\fb\00r\00\n\00 \00 \00F\00\ea\00t\00e\00 \00l\00\'\00h\00a\00\ef\00 \00v\00o\00l\00a\00p\00\fc\00k\00,\00\n\00 \00 \00\c2\00n\00e\00 \00e\00x\00 \00a\00\e9\00q\00u\00o\00 \00a\00u\00 \00w\00h\00i\00s\00t\00,\00\n\00 \00 \00\d4\00t\00e\00z\00 \00c\00e\00 \00v\00S\01u\00 \00d\00\e9\00\e7\00u\00.\00\n\00\n\00 \00 \00L\00e\00 \00c\00S\01u\00r\00 \00d\00\e9\00\e7\00u\00 \00m\00a\00i\00s\00 \00l\00\'\00\e2\00m\00e\00 \00p\00l\00u\00t\00\f4\00t\00 \00n\00a\00\ef\00v\00e\00,\00 \00L\00o\00u\00\ff\00s\00 \00r\00\ea\00v\00a\00 \00d\00e\00 \00c\00r\00a\00p\00a\00\fc\00t\00e\00r\00 \00e\00n\00\n\00 \00 \00c\00a\00n\00o\00\eb\00 \00a\00u\00 \00d\00e\00l\00\e0\00 \00d\00e\00s\00 \00\ee\00l\00e\00s\00,\00 \00p\00r\00\e8\00s\00 \00d\00u\00 \00m\00\e4\00l\00s\00t\00r\00\f6\00m\00 \00o\00\f9\00 \00b\00r\00\fb\00l\00e\00n\00t\00 \00l\00e\00s\00 \00n\00o\00v\00\e6\00.\00\n\00\n\00I\00r\00i\00s\00h\00 \00G\00a\00e\00l\00i\00c\00 \00(\00g\00a\00)\00\n\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00\n\00\n\00 \00 \00D\00\'\00f\00h\00u\00a\00s\00c\00a\00i\00l\00 \00\cd\00o\00s\00a\00,\00 \00\da\00r\00m\00h\00a\00c\00 \00n\00a\00 \00h\00\d3\00i\00g\00h\00e\00 \00B\00e\00a\00n\00n\00a\00i\00t\00h\00e\00,\00 \00p\00\f3\00r\00 \00\c9\00a\00v\00a\00 \00a\00g\00u\00s\00 \00\c1\00d\00h\00a\00i\00m\00h\00\n\00\n\00H\00u\00n\00g\00a\00r\00i\00a\00n\00 \00(\00h\00u\00)\00\n\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00\n\00\n\00 \00 \00\c1\00r\00v\00\ed\00z\00t\00q\01r\00Q\01 \00t\00\fc\00k\00\f6\00r\00f\00\fa\00r\00\f3\00g\00\e9\00p\00\n\00 \00 \00(\00=\00 \00f\00l\00o\00o\00d\00-\00p\00r\00o\00o\00f\00 \00m\00i\00r\00r\00o\00r\00-\00d\00r\00i\00l\00l\00i\00n\00g\00 \00m\00a\00c\00h\00i\00n\00e\00,\00 \00o\00n\00l\00y\00 \00a\00l\00l\00 \00n\00o\00n\00-\00A\00S\00C\00I\00I\00 \00l\00e\00t\00t\00e\00r\00s\00)\00\n\00\n\00I\00c\00e\00l\00a\00n\00d\00i\00c\00 \00(\00i\00s\00)\00\n\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00\n\00\n\00 \00 \00K\00\e6\00m\00i\00 \00n\00\fd\00 \00\f6\00x\00i\00 \00h\00\e9\00r\00 \00y\00k\00i\00s\00t\00 \00\fe\00j\00\f3\00f\00u\00m\00 \00n\00\fa\00 \00b\00\e6\00\f0\00i\00 \00v\00\ed\00l\00 \00o\00g\00 \00\e1\00d\00r\00e\00p\00a\00\n\00\n\00 \00 \00S\00\e6\00v\00\f6\00r\00 \00g\00r\00\e9\00t\00 \00\e1\00\f0\00a\00n\00 \00\fe\00v\00\ed\00 \00\fa\00l\00p\00a\00n\00 \00v\00a\00r\00 \00\f3\00n\00\fd\00t\00\n\00 \00 \00(\00s\00o\00m\00e\00 \00A\00S\00C\00I\00I\00 \00l\00e\00t\00t\00e\00r\00s\00 \00m\00i\00s\00s\00i\00n\00g\00)\00\n\00\n\00J\00a\00p\00a\00n\00e\00s\00e\00 \00(\00j\00p\00)\00\n\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00\n\00\n\00 \00 \00H\00i\00r\00a\00g\00a\00n\00a\00:\00 \00(\00I\00r\00o\00h\00a\00)\00\n\00\n\00 \00 \00D0\8d0o0k0{0x0h0a0\8a0l0\8b0\920\n\00 \00 \00\8f0K0\880_0\8c0]0d0m0j0\890\800\n\00 \00 \00F0\900n0J0O0\840~0Q0u0S0H0f0\n\00 \00 \00B0U0M0\860\810\7f0W0\910r0\820[0Y0\n\00\n\00 \00 \00K\00a\00t\00a\00k\00a\00n\00a\00:\00\n\00\n\00 \00 \00\a40\ed0\cf0\cb0\db0\d80\c80 \00\c10\ea0\cc0\eb0\f20 \00\ef0\ab0\e80\bf0\ec0\bd0 \00\c40\cd0\ca0\e90\e00\n\00 \00 \00\a60\f00\ce0\aa0\af0\e40\de0 \00\b10\d50\b30\a80\c60 \00\a20\b50\ad0\e60\e10\df0\b70 \00\f10\d20\e20\bb0\b90\f30\n\00\n\00H\00e\00b\00r\00e\00w\00 \00(\00i\00w\00)\00\n\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00\n\00\n\00 \00 \00?\00 \00\d3\05\d2\05 \00\e1\05\e7\05\e8\05\df\05 \00\e9\05\d8\05 \00\d1\05\d9\05\dd\05 \00\de\05\d0\05\d5\05\db\05\d6\05\d1\05 \00\d5\05\dc\05\e4\05\ea\05\e2\05 \00\de\05\e6\05\d0\05 \00\dc\05\d5\05 \00\d7\05\d1\05\e8\05\d4\05 \00\d0\05\d9\05\da\05 \00\d4\05\e7\05\dc\05\d9\05\d8\05\d4\05\n\00\n\00P\00o\00l\00i\00s\00h\00 \00(\00p\00l\00)\00\n\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00\n\00\n\00 \00 \00P\00c\00h\00n\00\05\01\07\01 \00w\00 \00t\00\19\01 \00B\01\f3\00d\00z\01 \00j\00e\00|\01a\00 \00l\00u\00b\00 \00o\00[\01m\00 \00s\00k\00r\00z\00y\00D\01 \00f\00i\00g\00\n\00 \00 \00(\00=\00 \00T\00o\00 \00p\00u\00s\00h\00 \00a\00 \00h\00e\00d\00g\00e\00h\00o\00g\00 \00o\00r\00 \00e\00i\00g\00h\00t\00 \00b\00i\00n\00s\00 \00o\00f\00 \00f\00i\00g\00s\00 \00i\00n\00 \00t\00h\00i\00s\00 \00b\00o\00a\00t\00)\00\n\00\n\00R\00u\00s\00s\00i\00a\00n\00 \00(\00r\00u\00)\00\n\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00\n\00\n\00 \00 \00\12\04 \00G\040\04I\040\04E\04 \00N\043\040\04 \006\048\04;\04 \001\04K\04 \00F\048\04B\04@\04C\04A\04?\00 \00\14\040\04,\00 \00=\04>\04 \00D\040\04;\04L\04H\048\042\04K\049\04 \00M\04:\047\045\04<\04?\04;\04O\04@\04!\00\n\00 \00 \00(\00=\00 \00W\00o\00u\00l\00d\00 \00a\00 \00c\00i\00t\00r\00u\00s\00 \00l\00i\00v\00e\00 \00i\00n\00 \00t\00h\00e\00 \00b\00u\00s\00h\00e\00s\00 \00o\00f\00 \00s\00o\00u\00t\00h\00?\00 \00Y\00e\00s\00,\00 \00b\00u\00t\00 \00o\00n\00l\00y\00 \00a\00 \00f\00a\00k\00e\00 \00o\00n\00e\00!\00)\00\n\00\n\00 \00 \00!\04J\045\04H\04L\04 \006\045\04 \005\04I\04Q\04 \00M\04B\048\04E\04 \00<\04O\043\04:\048\04E\04 \00D\04@\040\04=\04F\04C\047\04A\04:\048\04E\04 \001\04C\04;\04>\04:\04 \004\040\04 \002\04K\04?\045\049\04 \00G\040\04N\04\n\00 \00 \00(\00=\00 \00E\00a\00t\00 \00s\00o\00m\00e\00 \00m\00o\00r\00e\00 \00o\00f\00 \00t\00h\00e\00s\00e\00 \00f\00r\00e\00s\00h\00 \00F\00r\00e\00n\00c\00h\00 \00l\00o\00a\00f\00s\00 \00a\00n\00d\00 \00h\00a\00v\00e\00 \00s\00o\00m\00e\00 \00t\00e\00a\00)\00\n\00\n\00T\00h\00a\00i\00 \00(\00t\00h\00)\00\n\00-\00-\00-\00-\00-\00-\00-\00-\00-\00\n\00\n\00 \00 \00[\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00|\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00]\00\n\00 \00 \00O\0e \00@\0e\1b\0eG\0e\19\0e!\0e\19\0e8\0e)\0e\"\0eL\0e*\0e8\0e\14\0e\1b\0e#\0e0\0e@\0e*\0e#\0e4\0e\10\0e@\0e%\0e4\0e(\0e\04\0e8\0e\13\0e\04\0eH\0e2\0e \00 \00\01\0e\'\0eH\0e2\0e\1a\0e#\0e#\0e\14\0e2\0e\1d\0e9\0e\07\0e*\0e1\0e\15\0e\'\0eL\0e@\0e\14\0e#\0e1\0e\08\0e\t\0e2\0e\19\0e\n\00 \00 \00\08\0e\07\0e\1d\0eH\0e2\0e\1f\0e1\0e\19\0e\1e\0e1\0e\12\0e\19\0e2\0e\'\0e4\0e\n\0e2\0e\01\0e2\0e#\0e \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00-\0e\"\0eH\0e2\0e%\0eI\0e2\0e\07\0e\1c\0e%\0e2\0e\0d\0e$\0eE\0e@\0e\02\0eH\0e\19\0e\06\0eH\0e2\0e\1a\0e5\0e\11\0e2\0eC\0e\04\0e#\0e\n\00 \00 \00D\0e!\0eH\0e\16\0e7\0e-\0eB\0e\17\0e)\0eB\0e\01\0e#\0e\18\0eA\0e\n\0eH\0e\07\0e\0b\0e1\0e\14\0e.\0e6\0e\14\0e.\0e1\0e\14\0e\14\0eH\0e2\0e \00 \00 \00 \00 \00+\0e1\0e\14\0e-\0e \0e1\0e\"\0e@\0e+\0e!\0e7\0e-\0e\19\0e\01\0e5\0e,\0e2\0e-\0e1\0e\n\0e\0c\0e2\0e*\0e1\0e\"\0e\n\00 \00 \00\1b\0e\0f\0e4\0e\1a\0e1\0e\15\0e4\0e\1b\0e#\0e0\0e\1e\0e$\0e\15\0e4\0e\01\0e\0e\0e\01\0e3\0e+\0e\19\0e\14\0eC\0e\08\0e \00 \00 \00 \00 \00 \00 \00 \00\1e\0e9\0e\14\0e\08\0e2\0eC\0e+\0eI\0e\08\0eJ\0e0\0eF\0e \00\08\0eK\0e2\0eF\0e \00\19\0eH\0e2\0e\1f\0e1\0e\07\0e@\0e-\0e\"\0e \00/\0e\n\00\n\00 \00 \00[\00T\00h\00e\00 \00c\00o\00p\00y\00r\00i\00g\00h\00t\00 \00f\00o\00r\00 \00t\00h\00e\00 \00T\00h\00a\00i\00 \00e\00x\00a\00m\00p\00l\00e\00 \00i\00s\00 \00o\00w\00n\00e\00d\00 \00b\00y\00 \00T\00h\00e\00 \00C\00o\00m\00p\00u\00t\00e\00r\00\n\00 \00 \00A\00s\00s\00o\00c\00i\00a\00t\00i\00o\00n\00 \00o\00f\00 \00T\00h\00a\00i\00l\00a\00n\00d\00 \00u\00n\00d\00e\00r\00 \00t\00h\00e\00 \00R\00o\00y\00a\00l\00 \00P\00a\00t\00r\00o\00n\00a\00g\00e\00 \00o\00f\00 \00H\00i\00s\00 \00M\00a\00j\00e\00s\00t\00y\00 \00t\00h\00e\00\n\00 \00 \00K\00i\00n\00g\00.\00]\00\n\00\n\00T\00u\00r\00k\00i\00s\00h\00 \00(\00t\00r\00)\00\n\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00\n\00\n\00 \00 \00P\00i\00j\00a\00m\00a\00l\001\01 \00h\00a\00s\00t\00a\00,\00 \00y\00a\00\1f\011\01z\00 \00_\01o\00f\00\f6\00r\00e\00 \00\e7\00a\00b\00u\00c\00a\00k\00 \00g\00\fc\00v\00e\00n\00d\00i\00.\00\n\00 \00 \00(\00=\00P\00a\00t\00i\00e\00n\00t\00 \00w\00i\00t\00h\00 \00p\00a\00j\00a\00m\00a\00s\00,\00 \00t\00r\00u\00s\00t\00e\00d\00 \00s\00w\00a\00r\00t\00h\00y\00 \00d\00r\00i\00v\00e\00r\00 \00q\00u\00i\00c\00k\00l\00y\00)\00\n") + (data (i32.const 22592) "\03\00\00\00 \00\00\00\00\00\00\00 ") (export "memory" (memory $0)) (start $~start) (func $~lib/rt/itcms/visitRoots @@ -633,12 +635,12 @@ (local $0 i32) (local $1 i32) memory.size - local.tee $0 + local.tee $1 i32.const 0 i32.le_s if (result i32) i32.const 1 - local.get $0 + local.get $1 i32.sub memory.grow i32.const 0 @@ -649,63 +651,63 @@ if unreachable end - i32.const 38928 + i32.const 39008 i32.const 0 i32.store - i32.const 40496 + i32.const 40576 i32.const 0 i32.store loop $for-loop|0 - local.get $1 + local.get $0 i32.const 23 i32.lt_u if - local.get $1 + local.get $0 i32.const 2 i32.shl - i32.const 38928 + i32.const 39008 i32.add i32.const 0 i32.store offset=4 i32.const 0 - local.set $0 + local.set $1 loop $for-loop|1 - local.get $0 + local.get $1 i32.const 16 i32.lt_u if - local.get $0 local.get $1 + local.get $0 i32.const 4 i32.shl i32.add i32.const 2 i32.shl - i32.const 38928 + i32.const 39008 i32.add i32.const 0 i32.store offset=96 - local.get $0 + local.get $1 i32.const 1 i32.add - local.set $0 + local.set $1 br $for-loop|1 end end - local.get $1 + local.get $0 i32.const 1 i32.add - local.set $1 + local.set $0 br $for-loop|0 end end - i32.const 38928 - i32.const 40500 + i32.const 39008 + i32.const 40580 memory.size i32.const 16 i32.shl call $~lib/rt/tlsf/addMemory - i32.const 38928 + i32.const 39008 global.set $~lib/rt/tlsf/ROOT ) (func $~lib/rt/itcms/step (result i32) @@ -790,7 +792,7 @@ local.set $0 loop $while-continue|0 local.get $0 - i32.const 38924 + i32.const 39004 i32.lt_u if local.get $0 @@ -890,7 +892,7 @@ unreachable end local.get $0 - i32.const 38924 + i32.const 39004 i32.lt_u if local.get $0 @@ -913,7 +915,7 @@ i32.const 4 i32.add local.tee $0 - i32.const 38924 + i32.const 39004 i32.ge_u if global.get $~lib/rt/tlsf/ROOT @@ -2704,14 +2706,14 @@ (func $~start (local $0 i32) (local $1 i32) + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.sub + global.set $~lib/memory/__stack_pointer block $folding-inner1 - 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 22540 + i32.const 22620 i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer @@ -2723,7 +2725,7 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 22540 + i32.const 22620 i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer @@ -2752,7 +2754,7 @@ memory.size i32.const 16 i32.shl - i32.const 38924 + i32.const 39004 i32.sub i32.const 1 i32.shr_u @@ -2786,7 +2788,7 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 22540 + i32.const 22620 i32.lt_s br_if $folding-inner1 global.get $~lib/memory/__stack_pointer @@ -2964,7 +2966,7 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 22540 + i32.const 22620 i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer @@ -3017,7 +3019,7 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 22540 + i32.const 22620 i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer @@ -3065,7 +3067,7 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 22540 + i32.const 22620 i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer @@ -3221,183 +3223,13 @@ i32.const 8 i32.add global.set $~lib/memory/__stack_pointer - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.sub - global.set $~lib/memory/__stack_pointer - global.get $~lib/memory/__stack_pointer - i32.const 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 1056 - i32.store - i32.const 2 - global.set $~argumentsLength - local.get $0 - i32.const 1056 - i32.const 1 - call $~lib/string/String.UTF8.encode@varargs - local.tee $0 - i32.store offset=4 - local.get $0 - i32.const 20 - i32.sub - i32.load offset=16 - i32.const 11 - i32.ne - if - i32.const 0 - i32.const 1088 - i32.const 80 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $0 - i32.load8_u - i32.const 240 - i32.ne - if - i32.const 0 - i32.const 1088 - i32.const 81 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $0 - i32.load8_u offset=1 - i32.const 144 - i32.ne - if - i32.const 0 - i32.const 1088 - i32.const 82 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $0 - i32.load8_u offset=2 - i32.const 144 - i32.ne - if - i32.const 0 - i32.const 1088 - i32.const 83 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $0 - i32.load8_u offset=3 - i32.const 183 - i32.ne - if - i32.const 0 - i32.const 1088 - i32.const 84 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $0 - i32.load8_u offset=4 - i32.const 104 - i32.ne - if - i32.const 0 - i32.const 1088 - i32.const 85 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $0 - i32.load8_u offset=5 - i32.const 105 - i32.ne - if - i32.const 0 - i32.const 1088 - i32.const 86 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $0 - i32.load8_u offset=6 - i32.const 240 - i32.ne - if - i32.const 0 - i32.const 1088 - i32.const 87 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $0 - i32.load8_u offset=7 - i32.const 164 - i32.ne - if - i32.const 0 - i32.const 1088 - i32.const 88 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $0 - i32.load8_u offset=8 - i32.const 173 - i32.ne - if - i32.const 0 - i32.const 1088 - i32.const 89 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $0 - i32.load8_u offset=9 - i32.const 162 - i32.ne - if - i32.const 0 - i32.const 1088 - i32.const 90 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $0 - i32.load8_u offset=10 - if - i32.const 0 - i32.const 1088 - i32.const 91 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer + call $std/string-encoding/testUTF8EncodeNullTerminated 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.const 22620 i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer @@ -3408,9 +3240,9 @@ i32.const 0 i32.store offset=8 local.get $0 - i32.const 1824 + i32.const 1904 i32.store offset=4 - i32.const 1824 + i32.const 1904 i32.const 0 i32.const 0 call $~lib/string/String.UTF8.encode @@ -3429,25 +3261,25 @@ local.tee $0 i32.store offset=8 global.get $~lib/memory/__stack_pointer - i32.const 1824 + i32.const 1904 i32.store offset=4 local.get $0 - i32.const 1824 + i32.const 1904 call $~lib/string/String.__eq i32.eqz if i32.const 0 i32.const 1088 - i32.const 98 + i32.const 101 i32.const 3 call $~lib/builtins/abort unreachable end global.get $~lib/memory/__stack_pointer local.tee $0 - i32.const 1824 + i32.const 1904 i32.store offset=4 - i32.const 1824 + i32.const 1904 i32.const 0 i32.const 1 call $~lib/string/String.UTF8.encode @@ -3466,25 +3298,25 @@ local.tee $0 i32.store offset=8 global.get $~lib/memory/__stack_pointer - i32.const 1856 + i32.const 1936 i32.store offset=4 local.get $0 - i32.const 1856 + i32.const 1936 call $~lib/string/String.__eq i32.eqz if i32.const 0 i32.const 1088 - i32.const 100 + i32.const 103 i32.const 3 call $~lib/builtins/abort unreachable end global.get $~lib/memory/__stack_pointer local.tee $0 - i32.const 1888 + i32.const 1968 i32.store offset=4 - i32.const 1888 + i32.const 1968 i32.const 0 i32.const 0 call $~lib/string/String.UTF8.encode @@ -3503,25 +3335,25 @@ local.tee $0 i32.store offset=8 global.get $~lib/memory/__stack_pointer - i32.const 1888 + i32.const 1968 i32.store offset=4 local.get $0 - i32.const 1888 + i32.const 1968 call $~lib/string/String.__eq i32.eqz if i32.const 0 i32.const 1088 - i32.const 103 + i32.const 106 i32.const 3 call $~lib/builtins/abort unreachable end global.get $~lib/memory/__stack_pointer local.tee $0 - i32.const 1888 + i32.const 1968 i32.store offset=4 - i32.const 1888 + i32.const 1968 i32.const 0 i32.const 1 call $~lib/string/String.UTF8.encode @@ -3540,16 +3372,16 @@ local.tee $0 i32.store offset=8 global.get $~lib/memory/__stack_pointer - i32.const 1856 + i32.const 1936 i32.store offset=4 local.get $0 - i32.const 1856 + i32.const 1936 call $~lib/string/String.__eq i32.eqz if i32.const 0 i32.const 1088 - i32.const 105 + i32.const 108 i32.const 3 call $~lib/builtins/abort unreachable @@ -3563,7 +3395,7 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 22540 + i32.const 22620 i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer @@ -3605,7 +3437,7 @@ if i32.const 0 i32.const 1088 - i32.const 111 + i32.const 114 i32.const 3 call $~lib/builtins/abort unreachable @@ -3619,7 +3451,7 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 22540 + i32.const 22620 i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer @@ -3667,15 +3499,15 @@ if i32.const 0 i32.const 1088 - i32.const 117 + i32.const 120 i32.const 3 call $~lib/builtins/abort unreachable end global.get $~lib/memory/__stack_pointer - i32.const 1920 + i32.const 2000 i32.store offset=12 - i32.const 1920 + i32.const 2000 i32.const 1 call $~lib/string/String.UTF8.byteLength i32.const 4 @@ -3683,7 +3515,7 @@ if i32.const 0 i32.const 1088 - i32.const 119 + i32.const 122 i32.const 3 call $~lib/builtins/abort unreachable @@ -3691,7 +3523,7 @@ i32.const 2 global.set $~argumentsLength global.get $~lib/memory/__stack_pointer - i32.const 1920 + i32.const 2000 i32.const 1 call $~lib/string/String.UTF8.encode@varargs local.tee $0 @@ -3705,15 +3537,15 @@ if i32.const 0 i32.const 1088 - i32.const 121 + i32.const 124 i32.const 3 call $~lib/builtins/abort unreachable end global.get $~lib/memory/__stack_pointer - i32.const 1968 + i32.const 2048 i32.store offset=20 - i32.const 1968 + i32.const 2048 i32.const 1 call $~lib/string/String.UTF8.byteLength i32.const 4 @@ -3721,7 +3553,7 @@ if i32.const 0 i32.const 1088 - i32.const 123 + i32.const 126 i32.const 3 call $~lib/builtins/abort unreachable @@ -3738,13 +3570,13 @@ local.get $0 i32.store local.get $0 - i32.const 1968 + i32.const 2048 call $~lib/string/String.__eq i32.eqz if i32.const 0 i32.const 1088 - i32.const 124 + i32.const 127 i32.const 3 call $~lib/builtins/abort unreachable @@ -3752,7 +3584,7 @@ i32.const 2 global.set $~argumentsLength global.get $~lib/memory/__stack_pointer - i32.const 1920 + i32.const 2000 i32.const 0 call $~lib/string/String.UTF8.encode@varargs local.tee $0 @@ -3769,13 +3601,13 @@ local.get $0 i32.store local.get $0 - i32.const 1968 + i32.const 2048 call $~lib/string/String.__eq i32.eqz if i32.const 0 i32.const 1088 - i32.const 126 + i32.const 129 i32.const 3 call $~lib/builtins/abort unreachable @@ -3786,14 +3618,14 @@ global.set $~lib/memory/__stack_pointer call $std/string-encoding/testUTF8DecodeUnsafe global.get $~lib/memory/__stack_pointer - i32.const 2032 + i32.const 2112 i32.store - i32.const 2032 + i32.const 2112 call $std/string-encoding/testLarge global.get $~lib/memory/__stack_pointer - i32.const 15152 + i32.const 15232 i32.store - i32.const 15152 + i32.const 15232 call $std/string-encoding/testLarge global.get $~lib/rt/itcms/state i32.const 0 @@ -3835,8 +3667,8 @@ return end end - i32.const 38944 - i32.const 38992 + i32.const 39024 + i32.const 39072 i32.const 1 i32.const 1 call $~lib/builtins/abort @@ -3851,11 +3683,11 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 22540 + i32.const 22620 i32.lt_s if - i32.const 38944 - i32.const 38992 + i32.const 39024 + i32.const 39072 i32.const 1 i32.const 1 call $~lib/builtins/abort @@ -4055,20 +3887,18 @@ i32.add global.set $~lib/memory/__stack_pointer ) - (func $std/string-encoding/testUTF8DecodeUnsafe + (func $std/string-encoding/testUTF8EncodeNullTerminated (local $0 i32) - (local $1 i32) - (local $2 i32) global.get $~lib/memory/__stack_pointer - i32.const 12 + i32.const 16 i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 22540 + i32.const 22620 i32.lt_s if - i32.const 38944 - i32.const 38992 + i32.const 39024 + i32.const 39072 i32.const 1 i32.const 1 call $~lib/builtins/abort @@ -4079,8 +3909,8 @@ i64.const 0 i64.store local.get $0 - i32.const 0 - i32.store offset=8 + i64.const 0 + i64.store offset=8 local.get $0 i32.const 1056 i32.store @@ -4092,56 +3922,270 @@ call $~lib/string/String.UTF8.encode@varargs local.tee $0 i32.store offset=4 - global.get $~lib/memory/__stack_pointer - i32.const 1056 - i32.store - i32.const 1056 - i32.const 0 - call $~lib/string/String.UTF8.byteLength - local.set $1 local.get $0 - i32.const 0 - i32.const 0 - call $~lib/string/String.UTF8.decodeUnsafe - local.set $2 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store - global.get $~lib/memory/__stack_pointer - i32.const 1552 - i32.store offset=8 - local.get $2 - i32.const 1552 - call $~lib/string/String.__eq - i32.eqz + i32.const 20 + i32.sub + i32.load offset=16 + i32.const 11 + i32.ne if i32.const 0 i32.const 1088 - i32.const 135 + i32.const 80 i32.const 3 call $~lib/builtins/abort unreachable end local.get $0 - local.get $1 - i32.const 0 - call $~lib/string/String.UTF8.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 + i32.load8_u + i32.const 240 + i32.ne + if + i32.const 0 + i32.const 1088 + i32.const 81 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $0 + i32.load8_u offset=1 + i32.const 144 + i32.ne + if + i32.const 0 + i32.const 1088 + i32.const 82 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $0 + i32.load8_u offset=2 + i32.const 144 + i32.ne + if + i32.const 0 + i32.const 1088 + i32.const 83 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $0 + i32.load8_u offset=3 + i32.const 183 + i32.ne + if + i32.const 0 + i32.const 1088 + i32.const 84 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $0 + i32.load8_u offset=4 + i32.const 104 + i32.ne + if + i32.const 0 + i32.const 1088 + i32.const 85 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $0 + i32.load8_u offset=5 + i32.const 105 + i32.ne + if + i32.const 0 + i32.const 1088 + i32.const 86 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $0 + i32.load8_u offset=6 + i32.const 240 + i32.ne + if + i32.const 0 + i32.const 1088 + i32.const 87 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $0 + i32.load8_u offset=7 + i32.const 164 + i32.ne + if + i32.const 0 + i32.const 1088 + i32.const 88 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $0 + i32.load8_u offset=8 + i32.const 173 + i32.ne + if + i32.const 0 + i32.const 1088 + i32.const 89 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $0 + i32.load8_u offset=9 + i32.const 162 + i32.ne + if + i32.const 0 + i32.const 1088 + i32.const 90 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $0 + i32.load8_u offset=10 + if + i32.const 0 + i32.const 1088 + i32.const 91 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.tee $0 + i32.const 1824 + i32.store offset=8 + i32.const 2 + global.set $~argumentsLength + local.get $0 + i32.const 1824 + i32.const 1 + call $~lib/string/String.UTF8.encode@varargs + local.tee $0 + i32.store offset=12 + local.get $0 + i32.const 20 + i32.sub + i32.load offset=16 + i32.const 1824 + i32.const 1 + call $~lib/string/String.UTF8.byteLength + i32.ne + if + i32.const 0 + i32.const 1088 + i32.const 94 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + i32.const 16 + i32.add + global.set $~lib/memory/__stack_pointer + ) + (func $std/string-encoding/testUTF8DecodeUnsafe + (local $0 i32) + (local $1 i32) + (local $2 i32) + global.get $~lib/memory/__stack_pointer + i32.const 12 + i32.sub + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 22620 + i32.lt_s + if + i32.const 39024 + i32.const 39072 + 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 + i32.const 0 + i32.store offset=8 + local.get $0 + i32.const 1056 + i32.store + i32.const 2 + global.set $~argumentsLength + local.get $0 + i32.const 1056 + i32.const 1 + call $~lib/string/String.UTF8.encode@varargs + local.tee $0 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer + i32.const 1056 + i32.store + i32.const 1056 + i32.const 0 + call $~lib/string/String.UTF8.byteLength + local.set $1 + local.get $0 + i32.const 0 + i32.const 0 + call $~lib/string/String.UTF8.decodeUnsafe + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store + global.get $~lib/memory/__stack_pointer + i32.const 1552 + i32.store offset=8 + local.get $2 + i32.const 1552 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 1088 + i32.const 138 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $0 + local.get $1 + i32.const 0 + call $~lib/string/String.UTF8.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 136 + i32.const 139 i32.const 3 call $~lib/builtins/abort unreachable @@ -4165,7 +4209,7 @@ if i32.const 0 i32.const 1088 - i32.const 137 + i32.const 140 i32.const 3 call $~lib/builtins/abort unreachable @@ -4191,7 +4235,7 @@ if i32.const 0 i32.const 1088 - i32.const 138 + i32.const 141 i32.const 3 call $~lib/builtins/abort unreachable @@ -4217,7 +4261,7 @@ if i32.const 0 i32.const 1088 - i32.const 139 + i32.const 142 i32.const 3 call $~lib/builtins/abort unreachable @@ -4243,7 +4287,7 @@ if i32.const 0 i32.const 1088 - i32.const 140 + i32.const 143 i32.const 3 call $~lib/builtins/abort unreachable @@ -4260,16 +4304,16 @@ local.get $1 i32.store local.get $2 - i32.const 2000 + i32.const 2080 i32.store offset=8 local.get $1 - i32.const 2000 + i32.const 2080 call $~lib/string/String.__eq i32.eqz if i32.const 0 i32.const 1088 - i32.const 142 + i32.const 145 i32.const 3 call $~lib/builtins/abort unreachable @@ -4295,7 +4339,7 @@ if i32.const 0 i32.const 1088 - i32.const 143 + i32.const 146 i32.const 3 call $~lib/builtins/abort unreachable @@ -4321,7 +4365,7 @@ if i32.const 0 i32.const 1088 - i32.const 144 + i32.const 147 i32.const 3 call $~lib/builtins/abort unreachable @@ -4338,11 +4382,11 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 22540 + i32.const 22620 i32.lt_s if - i32.const 38944 - i32.const 38992 + i32.const 39024 + i32.const 39072 i32.const 1 i32.const 1 call $~lib/builtins/abort @@ -4381,7 +4425,7 @@ if i32.const 0 i32.const 1088 - i32.const 150 + i32.const 153 i32.const 3 call $~lib/builtins/abort unreachable @@ -4408,7 +4452,7 @@ if i32.const 0 i32.const 1088 - i32.const 152 + i32.const 155 i32.const 3 call $~lib/builtins/abort unreachable @@ -4425,11 +4469,11 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 22540 + i32.const 22620 i32.lt_s if - i32.const 38944 - i32.const 38992 + i32.const 39024 + i32.const 39072 i32.const 1 i32.const 1 call $~lib/builtins/abort @@ -4472,11 +4516,11 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 22540 + i32.const 22620 i32.lt_s if - i32.const 38944 - i32.const 38992 + i32.const 39024 + i32.const 39072 i32.const 1 i32.const 1 call $~lib/builtins/abort @@ -4516,11 +4560,11 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 22540 + i32.const 22620 i32.lt_s if - i32.const 38944 - i32.const 38992 + i32.const 39024 + i32.const 39072 i32.const 1 i32.const 1 call $~lib/builtins/abort @@ -4536,210 +4580,219 @@ call $~lib/string/String.UTF8.byteLength i32.const 0 call $~lib/rt/itcms/__new - local.tee $5 + local.tee $4 i32.store - local.get $5 - local.set $4 local.get $0 + local.tee $3 i32.const 20 i32.sub i32.load offset=16 i32.const 1 i32.shr_u + local.get $4 + local.set $0 i32.const 1 i32.shl - local.get $0 + local.get $3 i32.add local.set $6 - loop $while-continue|0 - local.get $0 - local.get $6 - i32.lt_u - if - local.get $0 - i32.load16_u - local.tee $3 - i32.const 128 + block $__inlined_func$~lib/string/String.UTF8.encodeUnsafe + loop $while-continue|0 + local.get $3 + local.get $6 i32.lt_u - if (result i32) - local.get $4 - local.get $3 - i32.store8 - local.get $4 - i32.const 1 - i32.add - else + if local.get $3 - i32.const 2048 + i32.load16_u + local.tee $5 + i32.const 128 i32.lt_u - if (result i32) - local.get $4 - local.get $3 - i32.const 6 - i32.shr_u - i32.const 192 - i32.or - local.get $3 - i32.const 63 - i32.and - i32.const 128 - i32.or - i32.const 8 - i32.shl - i32.or - i32.store16 - local.get $4 - i32.const 2 + if + local.get $0 + local.get $5 + i32.store8 + local.get $0 + i32.const 1 i32.add - else - local.get $3 - i32.const 63488 + local.set $0 + local.get $5 + i32.eqz + local.get $1 i32.and - i32.const 55296 - i32.eq - if - local.get $3 - i32.const 56320 - i32.lt_u - local.get $6 + br_if $__inlined_func$~lib/string/String.UTF8.encodeUnsafe + else + local.get $5 + i32.const 2048 + i32.lt_u + if (result i32) + local.get $0 + local.get $5 + i32.const 6 + i32.shr_u + i32.const 192 + i32.or + local.get $5 + i32.const 63 + i32.and + i32.const 128 + i32.or + i32.const 8 + i32.shl + i32.or + i32.store16 local.get $0 i32.const 2 i32.add - i32.gt_u + else + local.get $5 + i32.const 63488 i32.and + i32.const 55296 + i32.eq if - local.get $0 - i32.load16_u offset=2 - local.tee $7 - i32.const 64512 - i32.and + local.get $5 i32.const 56320 - i32.eq + i32.lt_u + local.get $6 + local.get $3 + i32.const 2 + i32.add + i32.gt_u + i32.and if - local.get $4 - local.get $3 - i32.const 1023 - i32.and - i32.const 10 - i32.shl - i32.const 65536 - i32.add - local.get $7 - i32.const 1023 - i32.and - i32.or - local.tee $3 - i32.const 63 - i32.and - i32.const 128 - i32.or - i32.const 24 - i32.shl - local.get $3 - i32.const 6 - i32.shr_u - i32.const 63 - i32.and - i32.const 128 - i32.or - i32.const 16 - i32.shl - i32.or local.get $3 - i32.const 12 - i32.shr_u - i32.const 63 + i32.load16_u offset=2 + local.tee $7 + i32.const 64512 i32.and - i32.const 128 - i32.or - i32.const 8 - i32.shl - i32.or - local.get $3 - i32.const 18 - i32.shr_u - i32.const 240 - i32.or - i32.or - i32.store - local.get $4 - i32.const 4 - i32.add - local.set $4 - local.get $0 - i32.const 4 - i32.add - local.set $0 - br $while-continue|0 + i32.const 56320 + i32.eq + if + local.get $0 + local.get $5 + i32.const 1023 + i32.and + i32.const 10 + i32.shl + i32.const 65536 + i32.add + local.get $7 + i32.const 1023 + i32.and + i32.or + local.tee $5 + i32.const 63 + i32.and + i32.const 128 + i32.or + i32.const 24 + i32.shl + local.get $5 + i32.const 6 + i32.shr_u + i32.const 63 + i32.and + i32.const 128 + i32.or + i32.const 16 + i32.shl + i32.or + local.get $5 + i32.const 12 + i32.shr_u + i32.const 63 + i32.and + i32.const 128 + i32.or + i32.const 8 + i32.shl + i32.or + local.get $5 + i32.const 18 + i32.shr_u + i32.const 240 + i32.or + i32.or + i32.store + local.get $0 + i32.const 4 + i32.add + local.set $0 + local.get $3 + i32.const 4 + i32.add + local.set $3 + br $while-continue|0 + end end - end - local.get $2 - if (result i32) local.get $2 - i32.const 2 - i32.eq - if - i32.const 1712 - i32.const 1776 - i32.const 739 - i32.const 49 - call $~lib/builtins/abort - unreachable + if (result i32) + local.get $2 + i32.const 2 + i32.eq + if + i32.const 1712 + i32.const 1776 + i32.const 741 + i32.const 49 + call $~lib/builtins/abort + unreachable + end + i32.const 65533 + else + local.get $5 end - i32.const 65533 - else - local.get $3 + local.set $5 end - local.set $3 + local.get $0 + local.get $5 + i32.const 12 + i32.shr_u + i32.const 224 + i32.or + local.get $5 + i32.const 6 + i32.shr_u + i32.const 63 + i32.and + i32.const 128 + i32.or + i32.const 8 + i32.shl + i32.or + i32.store16 + local.get $0 + local.get $5 + i32.const 63 + i32.and + i32.const 128 + i32.or + i32.store8 offset=2 + local.get $0 + i32.const 3 + i32.add end - local.get $4 - local.get $3 - i32.const 12 - i32.shr_u - i32.const 224 - i32.or - local.get $3 - i32.const 6 - i32.shr_u - i32.const 63 - i32.and - i32.const 128 - i32.or - i32.const 8 - i32.shl - i32.or - i32.store16 - local.get $4 - local.get $3 - i32.const 63 - i32.and - i32.const 128 - i32.or - i32.store8 offset=2 - local.get $4 - i32.const 3 - i32.add + local.set $0 end + local.get $3 + i32.const 2 + i32.add + local.set $3 + br $while-continue|0 end - local.set $4 + end + local.get $1 + if local.get $0 - i32.const 2 - i32.add - local.set $0 - br $while-continue|0 + i32.const 0 + i32.store8 end end - local.get $1 - if - local.get $4 - i32.const 0 - i32.store8 - end global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $5 + local.get $4 ) (func $~lib/string/String.UTF8.decodeUnsafe (param $0 i32) (param $1 i32) (param $2 i32) (result i32) (local $3 i32) @@ -4752,11 +4805,11 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 22540 + i32.const 22620 i32.lt_s if - i32.const 38944 - i32.const 38992 + i32.const 39024 + i32.const 39072 i32.const 1 i32.const 1 call $~lib/builtins/abort @@ -4765,17 +4818,18 @@ global.get $~lib/memory/__stack_pointer i32.const 0 i32.store - local.get $0 local.get $1 + local.get $0 + local.tee $3 i32.add local.set $5 - local.get $0 + local.get $3 local.get $5 i32.gt_u if i32.const 0 i32.const 1776 - i32.const 767 + i32.const 769 i32.const 7 call $~lib/builtins/abort unreachable @@ -4786,40 +4840,40 @@ i32.shl i32.const 1 call $~lib/rt/itcms/__new - local.tee $3 + local.tee $0 i32.store - local.get $3 + local.get $0 local.set $1 loop $while-continue|0 - local.get $0 + local.get $3 local.get $5 i32.lt_u if block $while-break|0 - local.get $0 + local.get $3 i32.load8_u local.set $6 - local.get $0 + local.get $3 i32.const 1 i32.add - local.set $0 + local.set $3 local.get $6 i32.const 128 i32.and if - local.get $0 + local.get $3 local.get $5 i32.eq br_if $while-break|0 - local.get $0 + local.get $3 i32.load8_u i32.const 63 i32.and local.set $7 - local.get $0 + local.get $3 i32.const 1 i32.add - local.set $0 + local.set $3 local.get $6 i32.const 224 i32.and @@ -4836,19 +4890,19 @@ i32.or i32.store16 else - local.get $0 + local.get $3 local.get $5 i32.eq br_if $while-break|0 - local.get $0 + local.get $3 i32.load8_u i32.const 63 i32.and local.set $4 - local.get $0 + local.get $3 i32.const 1 i32.add - local.set $0 + local.set $3 local.get $6 i32.const 240 i32.and @@ -4868,11 +4922,11 @@ i32.or local.set $4 else - local.get $0 + local.get $3 local.get $5 i32.eq br_if $while-break|0 - local.get $0 + local.get $3 i32.load8_u i32.const 63 i32.and @@ -4891,10 +4945,10 @@ i32.or i32.or local.set $4 - local.get $0 + local.get $3 i32.const 1 i32.add - local.set $0 + local.set $3 end local.get $4 i32.const 65536 @@ -4946,15 +5000,15 @@ end end end - block $__inlined_func$~lib/rt/itcms/__renew (result i32) + block $__inlined_func$~lib/rt/itcms/__renew local.get $1 - local.get $3 + local.get $0 i32.sub - local.tee $0 - local.get $3 + local.tee $2 + local.get $0 i32.const 20 i32.sub - local.tee $1 + local.tee $3 i32.load i32.const -4 i32.and @@ -4962,33 +5016,34 @@ i32.sub i32.le_u if - local.get $1 - local.get $0 - i32.store offset=16 local.get $3 + local.get $2 + i32.store offset=16 br $__inlined_func$~lib/rt/itcms/__renew end - local.get $0 - local.get $1 + local.get $2 + local.get $3 i32.load offset=12 call $~lib/rt/itcms/__new - local.tee $2 - local.get $3 + local.tee $1 local.get $0 - local.get $1 + local.get $2 + local.get $3 i32.load offset=16 - local.tee $1 + local.tee $0 local.get $0 - local.get $1 - i32.lt_u + local.get $2 + i32.gt_u select call $~lib/memory/memory.copy - local.get $2 + local.get $1 + local.set $0 end global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer + local.get $0 ) (func $byn-split-outlined-A$~lib/rt/itcms/__visit (param $0 i32) (local $1 i32) @@ -4998,19 +5053,19 @@ local.get $0 i32.const 20 i32.sub - local.tee $0 + local.tee $1 i32.load offset=4 i32.const 3 i32.and i32.eq if global.get $~lib/rt/itcms/iter - local.get $0 + local.get $1 i32.eq if - local.get $0 + local.get $1 i32.load offset=8 - local.tee $1 + local.tee $0 i32.eqz if i32.const 0 @@ -5020,22 +5075,22 @@ call $~lib/builtins/abort unreachable end - local.get $1 + local.get $0 global.set $~lib/rt/itcms/iter end block $__inlined_func$~lib/rt/itcms/Object#unlink - local.get $0 + local.get $1 i32.load offset=4 i32.const -4 i32.and - local.tee $1 + local.tee $0 i32.eqz if i32.const 0 - local.get $0 - i32.const 38924 + local.get $1 + i32.const 39004 i32.lt_u - local.get $0 + local.get $1 i32.load offset=8 select i32.eqz @@ -5049,7 +5104,7 @@ end br $__inlined_func$~lib/rt/itcms/Object#unlink end - local.get $0 + local.get $1 i32.load offset=8 local.tee $2 i32.eqz @@ -5061,7 +5116,7 @@ call $~lib/builtins/abort unreachable end - local.get $1 + local.get $0 local.get $2 i32.store offset=8 local.get $2 @@ -5069,23 +5124,23 @@ i32.load offset=4 i32.const 3 i32.and - local.get $1 + local.get $0 i32.or i32.store offset=4 end global.get $~lib/rt/itcms/toSpace local.set $2 - local.get $0 + local.get $1 i32.load offset=12 - local.tee $1 + local.tee $0 i32.const 1 i32.le_u if (result i32) i32.const 1 else - i32.const 22512 + i32.const 22592 i32.load - local.get $1 + local.get $0 i32.lt_u if i32.const 1344 @@ -5095,10 +5150,10 @@ call $~lib/builtins/abort unreachable end - local.get $1 + local.get $0 i32.const 3 i32.shl - i32.const 22516 + i32.const 22596 i32.add i32.load i32.const 32 @@ -5113,25 +5168,25 @@ local.set $3 local.get $2 i32.load offset=8 - local.set $1 - local.get $0 + local.set $0 + local.get $1 local.get $2 local.get $3 i32.or i32.store offset=4 - local.get $0 local.get $1 + local.get $0 i32.store offset=8 - local.get $1 - local.get $1 + local.get $0 + local.get $0 i32.load offset=4 i32.const 3 i32.and - local.get $0 + local.get $1 i32.or i32.store offset=4 local.get $2 - local.get $0 + local.get $1 i32.store offset=8 global.get $~lib/rt/itcms/visitCount i32.const 1 diff --git a/tests/compiler/std/string-encoding.ts b/tests/compiler/std/string-encoding.ts index 75b7141040..2e11c8dbed 100644 --- a/tests/compiler/std/string-encoding.ts +++ b/tests/compiler/std/string-encoding.ts @@ -89,6 +89,9 @@ function testUTF8EncodeNullTerminated(): void { assert(load(ptr, 8) == 0xAD); assert(load(ptr, 9) == 0xA2); assert(load(ptr, 10) == 0x00); + var str2 ="aaaaaaaaaaaaaaaaaaaaaaaaaaa\0"; + var buf2 = String.UTF8.encode(str2, true); + assert(buf2.byteLength == String.UTF8.byteLength(str2, true)); } testUTF8EncodeNullTerminated(); diff --git a/tests/compiler/std/string-encoding.untouched.wat b/tests/compiler/std/string-encoding.untouched.wat index 3211f81ba3..b1f0f4fa87 100644 --- a/tests/compiler/std/string-encoding.untouched.wat +++ b/tests/compiler/std/string-encoding.untouched.wat @@ -27,10 +27,10 @@ (global $~lib/ASC_LOW_MEMORY_LIMIT i32 (i32.const 0)) (global $~lib/ASC_SHRINK_LEVEL i32 (i32.const 0)) (global $~argumentsLength (mut i32) (i32.const 0)) - (global $~lib/rt/__rtti_base i32 (i32.const 21488)) - (global $~lib/memory/__data_end i32 (i32.const 21516)) - (global $~lib/memory/__stack_pointer (mut i32) (i32.const 37900)) - (global $~lib/memory/__heap_base i32 (i32.const 37900)) + (global $~lib/rt/__rtti_base i32 (i32.const 21568)) + (global $~lib/memory/__data_end i32 (i32.const 21596)) + (global $~lib/memory/__stack_pointer (mut i32) (i32.const 37980)) + (global $~lib/memory/__heap_base i32 (i32.const 37980)) (memory $0 1) (data (i32.const 12) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\0c\00\00\00\01\d87\dch\00i\00R\d8b\df") (data (i32.const 44) "<\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00,\00\00\00s\00t\00d\00/\00s\00t\00r\00i\00n\00g\00-\00e\00n\00c\00o\00d\00i\00n\00g\00.\00t\00s\00") @@ -49,15 +49,16 @@ (data (i32.const 636) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\04\00\00\00R\d8b\df\00\00\00\00\00\00\00\00") (data (i32.const 668) "<\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00$\00\00\00U\00n\00p\00a\00i\00r\00e\00d\00 \00s\00u\00r\00r\00o\00g\00a\00t\00e\00\00\00\00\00\00\00\00\00") (data (i32.const 732) ",\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\1c\00\00\00~\00l\00i\00b\00/\00s\00t\00r\00i\00n\00g\00.\00t\00s\00") - (data (i32.const 780) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\02\00\00\004\d8\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 812) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\02\00\00\00\fd\ff\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 844) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\02\00\00\00\1e\dd\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 876) ",\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\0e\00\00\001\002\003\00\00\004\005\006\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 924) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\06\00\00\001\002\003\00\00\00\00\00\00\00") - (data (i32.const 956) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\08\00\00\00h\00i\00R\d8b\df\00\00\00\00") - (data (i32.const 988) "<3\00\00\00\00\00\00\00\00\00\00\01\00\00\00*3\00\00M\00a\00t\00h\00e\00m\00a\00t\00i\00c\00s\00 \00a\00n\00d\00 \00S\00c\00i\00e\00n\00c\00e\00s\00:\00\n\00\n\00.\" \00E\00\c5\"d\00a\00 \00=\00 \00Q\00,\00 \00 \00n\00 \00\92! \00\1e\",\00 \00\11\" \00f\00(\00i\00)\00 \00=\00 \00\0f\" \00g\00(\00i\00)\00,\00 \00\00\"x\00\08\"\1d!:\00 \00\08#x\00\t# \00=\00 \00\12\"\n#\12\"x\00\0b#,\00 \00\b1\03 \00\'\" \00\ac\00\b2\03 \00=\00 \00\ac\00(\00\ac\00\b1\03 \00(\" \00\b2\03)\00,\00\n\00\n\00\15! \00\86\" \00\15!\80 \00\82\" \00$! \00\82\" \00\1a! \00\82\" \00\1d! \00\82\" \00\02!,\00 \00\a5\" \00<\00 \00a\00 \00`\" \00b\00 \00a\" \00c\00 \00d\" \00d\00 \00j\" \00\a4\" \00\d2! \00(\00A\00 \00\d4! \00B\00)\00,\00\n\00\n\002\00H\00\82 \00+\00 \00O\00\82 \00\cc! \002\00H\00\82 O\00,\00 \00R\00 \00=\00 \004\00.\007\00 \00k\00\a9\03,\00 \00\00# \002\000\000\00 \00m\00m\00\n\00\n\00L\00i\00n\00g\00u\00i\00s\00t\00i\00c\00s\00 \00a\00n\00d\00 \00d\00i\00c\00t\00i\00o\00n\00a\00r\00i\00e\00s\00:\00\n\00\n\00\f0\00i\00 \001\01n\00t\00Y\02\c8\02n\00\e6\00\83\02Y\02n\00Y\02l\00 \00f\00Y\02\c8\02n\00[\02t\001\01k\00 \00Y\02s\00o\00\8a\02s\00i\00\c8\02e\001\01\83\02n\00\n\00Y\00 \00[\00\c8\02\8f\02p\00s\00i\00l\00T\02n\00]\00,\00 \00Y\00e\00n\00 \00[\00j\00[\02n\00]\00,\00 \00Y\00o\00g\00a\00 \00[\00\c8\02j\00o\00\d0\02g\00Q\02]\00\n\00\n\00A\00P\00L\00:\00\n\00\n\00(\00(\00V\00s#V\00)\00=\00s#t#V\00)\00/\00V\00\90!,\00V\00 \00 \00 \00 \007#\90!s#\92!t#\06\"\07\"\83\"> N#U#\08#\n\00\n\00N\00i\00c\00e\00r\00 \00t\00y\00p\00o\00g\00r\00a\00p\00h\00y\00 \00i\00n\00 \00p\00l\00a\00i\00n\00 \00t\00e\00x\00t\00 \00f\00i\00l\00e\00s\00:\00\n\00\n\00T%P%P%P%P%P%P%P%P%P%P%P%P%P%P%P%P%P%P%P%P%P%P%P%P%P%P%P%P%P%P%P%P%P%P%P%P%P%P%P%P%P%P%W%\n\00Q% \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00Q%\n\00Q% \00 \00 \00\" \00\18 s\00i\00n\00g\00l\00e\00\19 \00a\00n\00d\00 \00\1c d\00o\00u\00b\00l\00e\00\1d \00q\00u\00o\00t\00e\00s\00 \00 \00 \00 \00 \00 \00 \00 \00 \00Q%\n\00Q% \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00Q%\n\00Q% \00 \00 \00\" \00C\00u\00r\00l\00y\00 \00a\00p\00o\00s\00t\00r\00o\00p\00h\00e\00s\00:\00 \00\1c W\00e\00\19 v\00e\00 \00b\00e\00e\00n\00 \00h\00e\00r\00e\00\1d \00Q%\n\00Q% \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00Q%\n\00Q% \00 \00 \00\" \00L\00a\00t\00i\00n\00-\001\00 \00a\00p\00o\00s\00t\00r\00o\00p\00h\00e\00 \00a\00n\00d\00 \00a\00c\00c\00e\00n\00t\00s\00:\00 \00\'\00\b4\00`\00 \00 \00Q%\n\00Q% \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00Q%\n\00Q% \00 \00 \00\" \00\1a d\00e\00u\00t\00s\00c\00h\00e\00\18 \00\1e A\00n\00f\00\fc\00h\00r\00u\00n\00g\00s\00z\00e\00i\00c\00h\00e\00n\00\1c \00 \00 \00 \00 \00 \00 \00Q%\n\00Q% \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00Q%\n\00Q% \00 \00 \00\" \00 ,\00 \00! ,\00 \000 ,\00 \00\" ,\00 \003\00\13 4\00,\00 \00\14 ,\00 \00\12\"5\00/\00+\005\00,\00 \00\"!,\00 \00& \00 \00 \00 \00 \00 \00Q%\n\00Q% \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00Q%\n\00Q% \00 \00 \00\" \00A\00S\00C\00I\00I\00 \00s\00a\00f\00e\00t\00y\00 \00t\00e\00s\00t\00:\00 \001\00l\00I\00|\00,\00 \000\00O\00D\00,\00 \008\00B\00 \00 \00 \00 \00 \00Q%\n\00Q% \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00m%\00%\00%\00%\00%\00%\00%\00%\00%\00%n% \00 \00 \00 \00 \00 \00 \00 \00 \00Q%\n\00Q% \00 \00 \00\" \00t\00h\00e\00 \00e\00u\00r\00o\00 \00s\00y\00m\00b\00o\00l\00:\00 \00\02% \001\004\00.\009\005\00 \00\ac \00\02% \00 \00 \00 \00 \00 \00 \00 \00 \00Q%\n\00Q% \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00p%\00%\00%\00%\00%\00%\00%\00%\00%\00%o% \00 \00 \00 \00 \00 \00 \00 \00 \00Q%\n\00Z%P%P%P%P%P%P%P%P%P%P%P%P%P%P%P%P%P%P%P%P%P%P%P%P%P%P%P%P%P%P%P%P%P%P%P%P%P%P%P%P%P%P%]%\n\00\n\00G\00r\00e\00e\00k\00 \00(\00i\00n\00 \00P\00o\00l\00y\00t\00o\00n\00i\00c\00)\00:\00\n\00\n\00T\00h\00e\00 \00G\00r\00e\00e\00k\00 \00a\00n\00t\00h\00e\00m\00:\00\n\00\n\00\a3\03r\1f \00\b3\03\bd\03\c9\03\c1\03w\1f\b6\03\c9\03 \00\00\1f\c0\03x\1f \00\c4\03t\1f\bd\03 \00\ba\03y\1f\c8\03\b7\03\n\00\c4\03\bf\03\e6\1f \00\c3\03\c0\03\b1\03\b8\03\b9\03\bf\03\e6\1f \00\c4\03t\1f\bd\03 \00\c4\03\c1\03\bf\03\bc\03\b5\03\c1\03u\1f,\00\n\00\c3\03r\1f \00\b3\03\bd\03\c9\03\c1\03w\1f\b6\03\c9\03 \00\00\1f\c0\03x\1f \00\c4\03t\1f\bd\03 \00D\1f\c8\03\b7\03\n\00\c0\03\bf\03z\1f \00\bc\03r\1f \00\b2\03w\1f\b1\03 \00\bc\03\b5\03\c4\03\c1\03q\1f\b5\03\b9\03 \00\c4\03t\1f \00\b3\03\c6\1f.\00\n\00\n\00\bf\1f\91\03\c0\03\bf\1f \00\c4\03p\1f \00\ba\03y\1f\ba\03\ba\03\b1\03\bb\03\b1\03 \00\b2\03\b3\03\b1\03\bb\03\bc\03s\1f\bd\03\b7\03\n\00\c4\03\f6\1f\bd\03 \00\fe\1f\95\03\bb\03\bb\03u\1f\bd\03\c9\03\bd\03 \00\c4\03p\1f \001\1f\b5\03\c1\03q\1f\n\00\ba\03\b1\03v\1f \00\c3\03p\1f\bd\03 \00\c0\03\c1\03\f6\1f\c4\03\b1\03 \00\00\1f\bd\03\b4\03\c1\03\b5\03\b9\03\c9\03\bc\03s\1f\bd\03\b7\03\n\00\c7\03\b1\03\d6\1f\c1\03\b5\03,\00 \00f\1f \00\c7\03\b1\03\d6\1f\c1\03\b5\03,\00 \00\bf\1f\95\03\bb\03\b5\03\c5\03\b8\03\b5\03\c1\03\b9\03q\1f!\00\n\00\n\00F\00r\00o\00m\00 \00a\00 \00s\00p\00e\00e\00c\00h\00 \00o\00f\00 \00D\00e\00m\00o\00s\00t\00h\00e\00n\00e\00s\00 \00i\00n\00 \00t\00h\00e\00 \004\00t\00h\00 \00c\00e\00n\00t\00u\00r\00y\00 \00B\00C\00:\00\n\00\n\00\9f\03P\1f\c7\03v\1f \00\c4\03\b1\03P\1f\c4\03p\1f \00\c0\03\b1\03\c1\03w\1f\c3\03\c4\03\b1\03\c4\03\b1\03w\1f \00\bc\03\bf\03\b9\03 \00\b3\03\b9\03\b3\03\bd\03}\1f\c3\03\ba\03\b5\03\b9\03\bd\03,\00 \00f\1f \00\04\1f\bd\03\b4\03\c1\03\b5\03\c2\03 \00\bf\1f\91\03\b8\03\b7\03\bd\03\b1\03\d6\1f\bf\03\b9\03,\00\n\00E\1f\c4\03\b1\03\bd\03 \00\c4\03\bf\1f \00\b5\030\1f\c2\03 \00\c4\03p\1f \00\c0\03\c1\03q\1f\b3\03\bc\03\b1\03\c4\03\b1\03 \00\00\1f\c0\03\bf\03\b2\03\bb\03s\1f\c8\03\c9\03 \00\ba\03\b1\03v\1f \00E\1f\c4\03\b1\03\bd\03 \00\c0\03\c1\03x\1f\c2\03 \00\c4\03\bf\03z\1f\c2\03\n\00\bb\03y\1f\b3\03\bf\03\c5\03\c2\03 \00\bf\03S\1f\c2\03 \00\00\1f\ba\03\bf\03{\1f\c9\03\87\03 \00\c4\03\bf\03z\1f\c2\03 \00\bc\03r\1f\bd\03 \00\b3\03p\1f\c1\03 \00\bb\03y\1f\b3\03\bf\03\c5\03\c2\03 \00\c0\03\b5\03\c1\03v\1f \00\c4\03\bf\03\e6\1f\n\00\c4\03\b9\03\bc\03\c9\03\c1\03u\1f\c3\03\b1\03\c3\03\b8\03\b1\03\b9\03 \00\a6\03w\1f\bb\03\b9\03\c0\03\c0\03\bf\03\bd\03 \00A\1f\c1\03\f6\1f \00\b3\03\b9\03\b3\03\bd\03\bf\03\bc\03s\1f\bd\03\bf\03\c5\03\c2\03,\00 \00\c4\03p\1f \00\b4\03r\1f \00\c0\03\c1\03q\1f\b3\03\bc\03\b1\03\c4\03\bf\1f\n\00\b5\030\1f\c2\03 \00\c4\03\bf\03\e6\1f\c4\03\bf\03 \00\c0\03\c1\03\bf\03u\1f\ba\03\bf\03\bd\03\c4\03\b1\03,\00 \00 \00e\1f\c3\03\b8\03\bf\1f \00E\1f\c0\03\c9\03\c2\03 \00\bc\03t\1f \00\c0\03\b5\03\b9\03\c3\03y\1f\bc\03\b5\03\b8\03\bf\1f \00\b1\03P\1f\c4\03\bf\03v\1f\n\00\c0\03\c1\03y\1f\c4\03\b5\03\c1\03\bf\03\bd\03 \00\ba\03\b1\03\ba\03\f6\1f\c2\03 \00\c3\03\ba\03s\1f\c8\03\b1\03\c3\03\b8\03\b1\03\b9\03 \00\b4\03s\1f\bf\03\bd\03.\00 \00\bf\03P\1f\b4\03s\1f\bd\03 \00\bf\03V\1f\bd\03 \00\04\1f\bb\03\bb\03\bf\03 \00\bc\03\bf\03\b9\03 \00\b4\03\bf\03\ba\03\bf\03\e6\1f\c3\03\b9\03\bd\03\n\00\bf\031\1f \00\c4\03p\1f \00\c4\03\bf\03\b9\03\b1\03\e6\1f\c4\03\b1\03 \00\bb\03s\1f\b3\03\bf\03\bd\03\c4\03\b5\03\c2\03 \00\"\1f \00\c4\03t\1f\bd\03 \00Q\1f\c0\03y\1f\b8\03\b5\03\c3\03\b9\03\bd\03,\00 \00\c0\03\b5\03\c1\03v\1f \00\'\1f\c2\03 \00\b2\03\bf\03\c5\03\bb\03\b5\03{\1f\b5\03\c3\03\b8\03\b1\03\b9\03,\00\n\00\bf\03P\1f\c7\03v\1f \00\c4\03t\1f\bd\03 \00\bf\03V\1f\c3\03\b1\03\bd\03 \00\c0\03\b1\03\c1\03\b9\03\c3\03\c4\03q\1f\bd\03\c4\03\b5\03\c2\03 \00Q\1f\bc\03\d6\1f\bd\03 \00\01\1f\bc\03\b1\03\c1\03\c4\03q\1f\bd\03\b5\03\b9\03\bd\03.\00 \00\10\1f\b3\03|\1f \00\b4\03s\1f,\00 \00E\1f\c4\03\b9\03 \00\bc\03s\1f\bd\03\n\00\c0\03\bf\03\c4\03\bf\1f \00\10\1f\be\03\c6\1f\bd\03 \00\c4\03\c7\1f \00\c0\03y\1f\bb\03\b5\03\b9\03 \00\ba\03\b1\03v\1f \00\c4\03p\1f \00\b1\03Q\1f\c4\03\c6\1f\c2\03 \00\14\1f\c7\03\b5\03\b9\03\bd\03 \00\00\1f\c3\03\c6\03\b1\03\bb\03\f6\1f\c2\03 \00\ba\03\b1\03v\1f \00\a6\03w\1f\bb\03\b9\03\c0\03\c0\03\bf\03\bd\03\n\00\c4\03\b9\03\bc\03\c9\03\c1\03u\1f\c3\03\b1\03\c3\03\b8\03\b1\03\b9\03,\00 \00\ba\03\b1\03v\1f \00\bc\03q\1f\bb\03\bf\1f \00\00\1f\ba\03\c1\03\b9\03\b2\03\f6\1f\c2\03 \00\bf\036\1f\b4\03\b1\03\87\03 \00\10\1f\c0\03\bf\1f \00\10\1f\bc\03\bf\03\e6\1f \00\b3\03q\1f\c1\03,\00 \00\bf\03P\1f \00\c0\03q\1f\bb\03\b1\03\b9\03\n\00\b3\03s\1f\b3\03\bf\03\bd\03\b5\03\bd\03 \00\c4\03\b1\03\e6\1f\c4\03\bf\1f \00\00\1f\bc\03\c6\03y\1f\c4\03\b5\03\c1\03\b1\03\87\03 \00\bd\03\e6\1f\bd\03 \00\bc\03s\1f\bd\03\c4\03\bf\03\b9\03 \00\c0\03s\1f\c0\03\b5\03\b9\03\c3\03\bc\03\b1\03\b9\03 \00\c4\03\bf\03\e6\1f\b8\03\bf\1f \001\1f\ba\03\b1\03\bd\03x\1f\bd\03\n\00\c0\03\c1\03\bf\03\bb\03\b1\03\b2\03\b5\03\d6\1f\bd\03 \00!\1f\bc\03\d6\1f\bd\03 \00\b5\036\1f\bd\03\b1\03\b9\03 \00\c4\03t\1f\bd\03 \00\c0\03\c1\03}\1f\c4\03\b7\03\bd\03,\00 \00E\1f\c0\03\c9\03\c2\03 \00\c4\03\bf\03z\1f\c2\03 \00\c3\03\c5\03\bc\03\bc\03q\1f\c7\03\bf\03\c5\03\c2\03\n\00\c3\03}\1f\c3\03\bf\03\bc\03\b5\03\bd\03.\00 \00\10\1fp\1f\bd\03 \00\b3\03p\1f\c1\03 \00\c4\03\bf\03\e6\1f\c4\03\bf\03 \00\b2\03\b5\03\b2\03\b1\03w\1f\c9\03\c2\03 \00Q\1f\c0\03q\1f\c1\03\be\03\c3\1f,\00 \00\c4\03y\1f\c4\03\b5\03 \00\ba\03\b1\03v\1f \00\c0\03\b5\03\c1\03v\1f \00\c4\03\bf\03\e6\1f\n\00\c4\03w\1f\bd\03\b1\03 \00\c4\03\b9\03\bc\03\c9\03\c1\03u\1f\c3\03\b5\03\c4\03\b1\03w\1f \00\c4\03\b9\03\c2\03 \00\ba\03\b1\03v\1f \00C\1f\bd\03 \00\c4\03\c1\03y\1f\c0\03\bf\03\bd\03 \00\10\1f\be\03s\1f\c3\03\c4\03\b1\03\b9\03 \00\c3\03\ba\03\bf\03\c0\03\b5\03\d6\1f\bd\03\87\03 \00\c0\03\c1\03v\1f\bd\03 \00\b4\03r\1f\n\00\c4\03t\1f\bd\03 \00\00\1f\c1\03\c7\03t\1f\bd\03 \00@\1f\c1\03\b8\03\f6\1f\c2\03 \00Q\1f\c0\03\bf\03\b8\03s\1f\c3\03\b8\03\b1\03\b9\03,\00 \00\bc\03q\1f\c4\03\b1\03\b9\03\bf\03\bd\03 \00!\1f\b3\03\bf\03\e6\1f\bc\03\b1\03\b9\03 \00\c0\03\b5\03\c1\03v\1f \00\c4\03\c6\1f\c2\03\n\00\c4\03\b5\03\bb\03\b5\03\c5\03\c4\03\c6\1f\c2\03 \00A\1f\bd\03\c4\03\b9\03\bd\03\bf\03\e6\1f\bd\03 \00\c0\03\bf\03\b9\03\b5\03\d6\1f\c3\03\b8\03\b1\03\b9\03 \00\bb\03y\1f\b3\03\bf\03\bd\03.\00\n\00\n\00\94\03\b7\03\bc\03\bf\03\c3\03\b8\03s\1f\bd\03\bf\03\c5\03\c2\03,\00 \00\93\03\fd\1f \00\bf\1f\9f\03\bb\03\c5\03\bd\03\b8\03\b9\03\b1\03\ba\03x\1f\c2\03\n\00\n\00G\00e\00o\00r\00g\00i\00a\00n\00:\00\n\00\n\00F\00r\00o\00m\00 \00a\00 \00U\00n\00i\00c\00o\00d\00e\00 \00c\00o\00n\00f\00e\00r\00e\00n\00c\00e\00 \00i\00n\00v\00i\00t\00a\00t\00i\00o\00n\00:\00\n\00\n\00\d2\10\d7\10\ee\10\dd\10\d5\10\d7\10 \00\d0\10\ee\10\da\10\d0\10\d5\10\d4\10 \00\d2\10\d0\10\d8\10\d0\10\e0\10\dd\10\d7\10 \00\e0\10\d4\10\d2\10\d8\10\e1\10\e2\10\e0\10\d0\10\ea\10\d8\10\d0\10 \00U\00n\00i\00c\00o\00d\00e\00-\00\d8\10\e1\10 \00\db\10\d4\10\d0\10\d7\10\d4\10 \00\e1\10\d0\10\d4\10\e0\10\d7\10\d0\10\e8\10\dd\10\e0\10\d8\10\e1\10\dd\10\n\00\d9\10\dd\10\dc\10\e4\10\d4\10\e0\10\d4\10\dc\10\ea\10\d8\10\d0\10\d6\10\d4\10 \00\d3\10\d0\10\e1\10\d0\10\e1\10\ec\10\e0\10\d4\10\d1\10\d0\10\d3\10,\00 \00\e0\10\dd\10\db\10\d4\10\da\10\d8\10\ea\10 \00\d2\10\d0\10\d8\10\db\10\d0\10\e0\10\d7\10\d4\10\d1\10\d0\10 \001\000\00-\001\002\00 \00\db\10\d0\10\e0\10\e2\10\e1\10,\00\n\00\e5\10.\00 \00\db\10\d0\10\d8\10\dc\10\ea\10\e8\10\d8\10,\00 \00\d2\10\d4\10\e0\10\db\10\d0\10\dc\10\d8\10\d0\10\e8\10\d8\10.\00 \00\d9\10\dd\10\dc\10\e4\10\d4\10\e0\10\d4\10\dc\10\ea\10\d8\10\d0\10 \00\e8\10\d4\10\f0\10\d9\10\e0\10\d4\10\d1\10\e1\10 \00\d4\10\e0\10\d7\10\d0\10\d3\10 \00\db\10\e1\10\dd\10\e4\10\da\10\d8\10\dd\10\e1\10\n\00\d4\10\e5\10\e1\10\de\10\d4\10\e0\10\e2\10\d4\10\d1\10\e1\10 \00\d8\10\e1\10\d4\10\d7\10 \00\d3\10\d0\10\e0\10\d2\10\d4\10\d1\10\e8\10\d8\10 \00\e0\10\dd\10\d2\10\dd\10\e0\10\d8\10\ea\10\d0\10\d0\10 \00\d8\10\dc\10\e2\10\d4\10\e0\10\dc\10\d4\10\e2\10\d8\10 \00\d3\10\d0\10 \00U\00n\00i\00c\00o\00d\00e\00-\00\d8\10,\00\n\00\d8\10\dc\10\e2\10\d4\10\e0\10\dc\10\d0\10\ea\10\d8\10\dd\10\dc\10\d0\10\da\10\d8\10\d6\10\d0\10\ea\10\d8\10\d0\10 \00\d3\10\d0\10 \00\da\10\dd\10\d9\10\d0\10\da\10\d8\10\d6\10\d0\10\ea\10\d8\10\d0\10,\00 \00U\00n\00i\00c\00o\00d\00e\00-\00\d8\10\e1\10 \00\d2\10\d0\10\db\10\dd\10\e7\10\d4\10\dc\10\d4\10\d1\10\d0\10\n\00\dd\10\de\10\d4\10\e0\10\d0\10\ea\10\d8\10\e3\10\da\10 \00\e1\10\d8\10\e1\10\e2\10\d4\10\db\10\d4\10\d1\10\e1\10\d0\10,\00 \00\d3\10\d0\10 \00\d2\10\d0\10\db\10\dd\10\e7\10\d4\10\dc\10\d4\10\d1\10\d8\10\d7\10 \00\de\10\e0\10\dd\10\d2\10\e0\10\d0\10\db\10\d4\10\d1\10\e8\10\d8\10,\00 \00\e8\10\e0\10\d8\10\e4\10\e2\10\d4\10\d1\10\e8\10\d8\10,\00\n\00\e2\10\d4\10\e5\10\e1\10\e2\10\d4\10\d1\10\d8\10\e1\10 \00\d3\10\d0\10\db\10\e3\10\e8\10\d0\10\d5\10\d4\10\d1\10\d0\10\e1\10\d0\10 \00\d3\10\d0\10 \00\db\10\e0\10\d0\10\d5\10\d0\10\da\10\d4\10\dc\10\dd\10\d5\10\d0\10\dc\10 \00\d9\10\dd\10\db\10\de\10\d8\10\e3\10\e2\10\d4\10\e0\10\e3\10\da\10 \00\e1\10\d8\10\e1\10\e2\10\d4\10\db\10\d4\10\d1\10\e8\10\d8\10.\00\n\00\n\00R\00u\00s\00s\00i\00a\00n\00:\00\n\00\n\00F\00r\00o\00m\00 \00a\00 \00U\00n\00i\00c\00o\00d\00e\00 \00c\00o\00n\00f\00e\00r\00e\00n\00c\00e\00 \00i\00n\00v\00i\00t\00a\00t\00i\00o\00n\00:\00\n\00\n\00\17\040\04@\045\043\048\04A\04B\04@\048\04@\04C\049\04B\045\04A\04L\04 \00A\045\049\04G\040\04A\04 \00=\040\04 \00\14\045\04A\04O\04B\04C\04N\04 \00\1c\045\046\044\04C\04=\040\04@\04>\044\04=\04C\04N\04 \00\1a\04>\04=\04D\045\04@\045\04=\04F\048\04N\04 \00?\04>\04\n\00U\00n\00i\00c\00o\00d\00e\00,\00 \00:\04>\04B\04>\04@\040\04O\04 \00A\04>\04A\04B\04>\048\04B\04A\04O\04 \001\000\00-\001\002\00 \00<\040\04@\04B\040\04 \001\009\009\007\00 \003\04>\044\040\04 \002\04 \00\1c\040\049\04=\04F\045\04 \002\04 \00\13\045\04@\04<\040\04=\048\048\04.\00\n\00\1a\04>\04=\04D\045\04@\045\04=\04F\048\04O\04 \00A\04>\041\045\04@\045\04B\04 \00H\048\04@\04>\04:\048\049\04 \00:\04@\04C\043\04 \00M\04:\04A\04?\045\04@\04B\04>\042\04 \00?\04>\04 \00 \002\04>\04?\04@\04>\04A\040\04<\04 \003\04;\04>\041\040\04;\04L\04=\04>\043\04>\04\n\00\18\04=\04B\045\04@\04=\045\04B\040\04 \008\04 \00U\00n\00i\00c\00o\00d\00e\00,\00 \00;\04>\04:\040\04;\048\047\040\04F\048\048\04 \008\04 \008\04=\04B\045\04@\04=\040\04F\048\04>\04=\040\04;\048\047\040\04F\048\048\04,\00 \002\04>\04?\04;\04>\04I\045\04=\048\04N\04 \008\04\n\00?\04@\048\04<\045\04=\045\04=\048\04N\04 \00U\00n\00i\00c\00o\00d\00e\00 \002\04 \00@\040\047\04;\048\04G\04=\04K\04E\04 \00>\04?\045\04@\040\04F\048\04>\04=\04=\04K\04E\04 \00A\048\04A\04B\045\04<\040\04E\04 \008\04 \00?\04@\04>\043\04@\040\04<\04<\04=\04K\04E\04\n\00?\04@\048\04;\04>\046\045\04=\048\04O\04E\04,\00 \00H\04@\048\04D\04B\040\04E\04,\00 \002\045\04@\04A\04B\04:\045\04 \008\04 \00<\04=\04>\043\04>\04O\047\04K\04G\04=\04K\04E\04 \00:\04>\04<\04?\04L\04N\04B\045\04@\04=\04K\04E\04 \00A\048\04A\04B\045\04<\040\04E\04.\00\n\00\n\00T\00h\00a\00i\00 \00(\00U\00C\00S\00 \00L\00e\00v\00e\00l\00 \002\00)\00:\00\n\00\n\00E\00x\00c\00e\00r\00p\00t\00 \00f\00r\00o\00m\00 \00a\00 \00p\00o\00e\00t\00r\00y\00 \00o\00n\00 \00T\00h\00e\00 \00R\00o\00m\00a\00n\00c\00e\00 \00o\00f\00 \00T\00h\00e\00 \00T\00h\00r\00e\00e\00 \00K\00i\00n\00g\00d\00o\00m\00s\00 \00(\00a\00 \00C\00h\00i\00n\00e\00s\00e\00\n\00c\00l\00a\00s\00s\00i\00c\00 \00\'\00S\00a\00n\00 \00G\00u\00a\00\'\00)\00:\00\n\00\n\00[\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00|\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00]\00\n\00 \00 \00O\0e \00A\0e\1c\0eH\0e\19\0e\14\0e4\0e\19\0e.\0e1\0eH\0e\19\0e@\0e*\0e7\0eH\0e-\0e!\0eB\0e\17\0e#\0e!\0eA\0e*\0e\19\0e*\0e1\0e\07\0e@\0e\'\0e\n\0e \00 \00\1e\0e#\0e0\0e\1b\0e\01\0e@\0e\01\0e(\0e\01\0e-\0e\07\0e\1a\0e9\0eJ\0e\01\0e9\0eI\0e\02\0e6\0eI\0e\19\0eC\0e+\0e!\0eH\0e\n\00*\0e4\0e\1a\0e*\0e-\0e\07\0e\01\0e)\0e1\0e\15\0e#\0e4\0e\"\0eL\0e\01\0eH\0e-\0e\19\0e+\0e\19\0eI\0e2\0eA\0e%\0e\16\0e1\0e\14\0eD\0e\1b\0e \00 \00 \00 \00 \00 \00 \00*\0e-\0e\07\0e-\0e\07\0e\04\0eL\0eD\0e\0b\0e#\0eI\0eB\0e\07\0eH\0e@\0e\02\0e%\0e2\0e@\0e\1a\0e2\0e\1b\0e1\0e\0d\0e\0d\0e2\0e\n\00 \00 \00\17\0e#\0e\07\0e\19\0e1\0e\1a\0e\16\0e7\0e-\0e\02\0e1\0e\19\0e\17\0e5\0e@\0e\1b\0eG\0e\19\0e\17\0e5\0eH\0e\1e\0e6\0eH\0e\07\0e \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00\1a\0eI\0e2\0e\19\0e@\0e!\0e7\0e-\0e\07\0e\08\0e6\0e\07\0e\'\0e4\0e\1b\0e#\0e4\0e\15\0e@\0e\1b\0eG\0e\19\0e\19\0e1\0e\01\0e+\0e\19\0e2\0e\n\00B\0e.\0e\08\0e4\0eK\0e\19\0e@\0e#\0e5\0e\"\0e\01\0e\17\0e1\0e\1e\0e\17\0e1\0eH\0e\'\0e+\0e1\0e\'\0e@\0e!\0e7\0e-\0e\07\0e!\0e2\0e \00 \00 \00 \00 \00 \00 \00 \00 \00+\0e!\0e2\0e\"\0e\08\0e0\0e\06\0eH\0e2\0e!\0e\14\0e\n\0e1\0eH\0e\'\0e\15\0e1\0e\'\0e*\0e3\0e\04\0e1\0e\0d\0e\n\00 \00 \00@\0e+\0e!\0e7\0e-\0e\19\0e\02\0e1\0e\1a\0eD\0e*\0eD\0e%\0eH\0e@\0e*\0e7\0e-\0e\08\0e2\0e\01\0e@\0e\04\0e+\0e2\0e \00 \00 \00 \00 \00 \00#\0e1\0e\1a\0e+\0e!\0e2\0e\1b\0eH\0e2\0e@\0e\02\0eI\0e2\0e!\0e2\0e@\0e%\0e\"\0e-\0e2\0e*\0e1\0e\0d\0e\n\00\1d\0eH\0e2\0e\"\0e-\0eI\0e-\0e\07\0e-\0e8\0eI\0e\19\0e\"\0e8\0eA\0e\"\0e\01\0eC\0e+\0eI\0eA\0e\15\0e\01\0e\01\0e1\0e\19\0e \00 \00 \00 \00 \00 \00 \00 \00 \00 \00C\0e\n\0eI\0e*\0e2\0e\'\0e\19\0e1\0eI\0e\19\0e@\0e\1b\0eG\0e\19\0e\n\0e\19\0e\'\0e\19\0e\n\0e7\0eH\0e\19\0e\n\0e\'\0e\19\0eC\0e\08\0e\n\00 \00 \00\1e\0e%\0e1\0e\19\0e%\0e4\0e\t\0e8\0e\"\0e\01\0e8\0e\"\0e\01\0e5\0e\01\0e%\0e1\0e\1a\0e\01\0eH\0e-\0e@\0e+\0e\15\0e8\0e \00 \00 \00 \00 \00 \00 \00 \00 \00 \00\n\0eH\0e2\0e\07\0e-\0e2\0e@\0e\1e\0e(\0e\08\0e#\0e4\0e\07\0e+\0e\19\0e2\0e\1f\0eI\0e2\0e#\0eI\0e-\0e\07\0eD\0e+\0eI\0e\n\00\15\0eI\0e-\0e\07\0e#\0e\1a\0e#\0e2\0e\06\0eH\0e2\0e\1f\0e1\0e\19\0e\08\0e\19\0e\1a\0e#\0e#\0e%\0e1\0e\"\0e \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00$\0eE\0e+\0e2\0eC\0e\04\0e#\0e\04\0eI\0e3\0e\n\0e9\0e\01\0e9\0eI\0e\1a\0e#\0e#\0e%\0e1\0e\07\0e\01\0eL\0e \00/\0e\n\00\n\00(\00T\00h\00e\00 \00a\00b\00o\00v\00e\00 \00i\00s\00 \00a\00 \00t\00w\00o\00-\00c\00o\00l\00u\00m\00n\00 \00t\00e\00x\00t\00.\00 \00I\00f\00 \00c\00o\00m\00b\00i\00n\00i\00n\00g\00 \00c\00h\00a\00r\00a\00c\00t\00e\00r\00s\00 \00a\00r\00e\00 \00h\00a\00n\00d\00l\00e\00d\00\n\00c\00o\00r\00r\00e\00c\00t\00l\00y\00,\00 \00t\00h\00e\00 \00l\00i\00n\00e\00s\00 \00o\00f\00 \00t\00h\00e\00 \00s\00e\00c\00o\00n\00d\00 \00c\00o\00l\00u\00m\00n\00 \00s\00h\00o\00u\00l\00d\00 \00b\00e\00 \00a\00l\00i\00g\00n\00e\00d\00 \00w\00i\00t\00h\00 \00t\00h\00e\00\n\00|\00 \00c\00h\00a\00r\00a\00c\00t\00e\00r\00 \00a\00b\00o\00v\00e\00.\00)\00\n\00\n\00E\00t\00h\00i\00o\00p\00i\00a\00n\00:\00\n\00\n\00P\00r\00o\00v\00e\00r\00b\00s\00 \00i\00n\00 \00t\00h\00e\00 \00A\00m\00h\00a\00r\00i\00c\00 \00l\00a\00n\00g\00u\00a\00g\00e\00:\00\n\00\n\000\12\1b\12\ed\12 \00\a0\12\ed\12s\12(\125\12 \00\95\12\t\13%\12 \00\a0\12\ed\12\a8\120\125\12b\13\n\00e\12\0b\12 \00\ab\12\08\12\9d\12 \00\a5\12\95\12\f0\12\a0\12c\12t\12 \00`\12F\12\18\12 \13\9d\12b\13\n\00\0c\13%\13 \00\eb\12\08\12d\12q\12 \00A\12\1d\12%\13\93\12 \00\90\12\cd\12b\13\n\00\f0\12\00\12 \00`\12\15\12\0d\12\19\12 \00E\12d\12 \00c\12\ed\12 \13#\13 \00\95\12#\13u\12 \00`\12\08\13\f0\12\08\12\cd\12b\13\n\00\e8\12\a0\12M\13 \00\c8\12\08\12\1d\12s\12 \00`\12E\12d\12 \00\a0\12\ed\12s\12=\12\1d\12b\13\n\00\a0\12\ed\12%\13 \00`\12`\12\0b\12 \00\f3\12\cb\12 \00p\12\18\12s\12b\13\n\002\12p\12(\12\t\13\19\12 \00\ed\12\f0\12(\12\0d\13\19\12b\13\n\00@\125\12 \00`\12@\125\12e\13 \00\d5\12\95\12A\12\0b\12\0d\12 \00`\12\a5\12\0d\13)\12 \00\ed\12\04\12\f3\12\0d\12b\13\n\00\f5\12-\12 \00b\12\eb\12e\12-\12 \00\a0\12\95\12`\123\12 \00\eb\125\12-\12b\13\n\000\12\cd\12 \00\a5\12\95\12\f0\12d\12q\12 \00\a5\12\95\12\05\13 \00\a5\12\95\12\f0\12 \00\t\13(\12d\12q\12 \00\a0\12\ed\12p\12\f3\12\f0\12-\12\1d\12b\13\n\00\a5\12\0d\13\dc\12-\12 \00\e8\12\a8\12H\13p\12\cd\12\95\12 \00\t\13.\12.\12 \003\12\ed\12\d8\12\0b\13\cd\12 \00\a0\12\ed\12\f5\12-\12\1d\12b\13\n\00\e8\12\0e\13(\12d\12u\12 \00\0c\12c\12e\13 \00b\12\eb\12\e9\12u\12 \00\ed\125\12E\12 \00c\12\eb\12\e9\12u\12 \00\eb\12 \13\0d\12E\12b\13\n\00%\12+\12 \00\a8\12\18\12M\13s\12u\12 \00\0d\12\04\13\95\12 \00\0b\12K\13s\12u\12b\13\n\00\d3\12c\12\ed\12 \00\1b\12\f0\12*\12\eb\12 \00\e8\12\08\12\cd\12e\13 \00\0d\13\95\12\f5\12 \00\ed\12\de\12 \00\ed\12\de\12+\12\0d\12b\13\n\00\e8\12\a5\125\12\0b\12\1d\12 \00\a0\12\08\13)\12 \00\18\12\ab\12 \00\e8\12\a0\12\1e\12+\12 \00\a0\12\08\13)\12 \00\cb\12-\12\ab\12b\13\n\00p\12\95\12\0b\13\0e\12 \00b\12p\12I\13 \00p\12\18\12\0d\126\12 \00c\12I\13b\13\n\00\c8\12\f3\12\05\13\05\12 \00\1b\12-\12 \00b\12\06\12\95\12 \00(\13-\125\12\05\12 \00\a0\12u\12\0b\120\12\cd\12b\13\n\00\a5\12\0d\13-\12\05\12\95\12 \00`\12M\13+\12=\12\05\12 \00\0d\12\ad\12 \00\d8\12-\12\0b\13b\13\n\00\n\00R\00u\00n\00e\00s\00:\00\n\00\n\00\bb\16\d6\16 \00\b3\16\b9\16\ab\16\a6\16 \00\a6\16\ab\16\cf\16 \00\bb\16\d6\16 \00\d2\16\a2\16\de\16\d6\16 \00\a9\16\be\16 \00\a6\16\ab\16\d7\16 \00\da\16\aa\16\be\16\de\16\d6\16 \00\be\16\a9\16\b1\16\a6\16\b9\16\d6\16\aa\16\b1\16\de\16\a2\16\d7\16 \00\b9\16\c1\16\a6\16 \00\a6\16\aa\16 \00\b9\16\d6\16\e5\16\ab\16\n\00\n\00(\00O\00l\00d\00 \00E\00n\00g\00l\00i\00s\00h\00,\00 \00w\00h\00i\00c\00h\00 \00t\00r\00a\00n\00s\00c\00r\00i\00b\00e\00d\00 \00i\00n\00t\00o\00 \00L\00a\00t\00i\00n\00 \00r\00e\00a\00d\00s\00 \00\'\00H\00e\00 \00c\00w\00a\00e\00t\00h\00 \00t\00h\00a\00t\00 \00h\00e\00\n\00b\00u\00d\00e\00 \00t\00h\00a\00e\00m\00 \00l\00a\00n\00d\00e\00 \00n\00o\00r\00t\00h\00w\00e\00a\00r\00d\00u\00m\00 \00w\00i\00t\00h\00 \00t\00h\00a\00 \00W\00e\00s\00t\00s\00a\00e\00.\00\'\00 \00a\00n\00d\00 \00m\00e\00a\00n\00s\00 \00\'\00H\00e\00 \00s\00a\00i\00d\00\n\00t\00h\00a\00t\00 \00h\00e\00 \00l\00i\00v\00e\00d\00 \00i\00n\00 \00t\00h\00e\00 \00n\00o\00r\00t\00h\00e\00r\00n\00 \00l\00a\00n\00d\00 \00n\00e\00a\00r\00 \00t\00h\00e\00 \00W\00e\00s\00t\00e\00r\00n\00 \00S\00e\00a\00.\00\'\00)\00\n\00\n\00B\00r\00a\00i\00l\00l\00e\00:\00\n\00\n\00L(\01(\'(\11( \00<(\01(\12( \00 \00M(\1c(\07(\11(9(0(\0e( \00c(\15(\0c(\n\00\n\00M(\1c(\07(\11(9( \00:(\01(\0e( \00\19(\11(\01(\19(\12( \00\1e(\15( \00\03(\11(\1b(\14( \00:(\n(9(2( \00y(;(\11( \00\n(\0e( \00\1d(\15( \00\19(3(\03(\1e(\n\001(\01(\1e(\11(\'(;( \00\01(\03(3(\1e( \009(\01(\1e(2( \00y(\11( \00\17(\11(\1b(\n(\0c(;( \00\15(\0b( \00\19(\n(\0e( \00\03(%(\17(\n(\01(\07( \00:(\01(\0e(\n\00\0e(\n(\1b(\1d(+( \00\03(9( \009(\11( \00\n(\07(;(\1b(9(\0d(\01(\1d(\02( \009(\11( \00\n(\07(;(\05(\02( \009(\11( \00%(\1d(\19(;(\1e(\01(\05(;(\02(\n\00\01(\1d(\19( \009(\11( \00!(\n(\11(\0b( \00\0d(3(\17(\1d(;(2( \00N(\n(\17(\15(\15(\1b(\11( \00\0e(\n(\1b(\1d(+( \00\n(\1e(2( \00A(\1d(\19(\n\00N(\n(\17(\15(\15(\1b(\11(0(\0e( \00\1d(\01(\0d(\11( \00:(\01(\0e( \00\1b(\15(\15(\19( \00%(\0f(\15(\1d( \000(a(\01(\1d(\1b(\11(\02( \00\0b(\15(\17( \00\01(\1d(9(9(\14(\1b( \00\19(\11(\n\00!(\15(\0e(\11( \00\1e(\15( \00\0f(%(\1e( \00\19(\n(\0e( \00\19(\01(\1d(\19( \00\1e(\15(2(\n\00\n\00U(\07(\19( \00M(\1c(\07(\11(9( \00:(\01(\0e( \00\01(\0e( \00\19(\11(\01(\19( \00\01(\0e( \00\01( \00\19(\15(\15(\17($(\1d(\01(\n(\07(2(\n\00\n\00M(\14(\19(\16( \00J( \00\19(\15(\1d(0(\1e( \00\0d(\11(\01(\1d( \00\1e(\15( \00\0e(\01(9( \009(\01(\1e( \00J( \00\05(\1d(*(\02( \00\15(\0b( \00\0d(9(\n\00*(\1d( \00\05(\1d(*(\07(+(\1b(\11(\02( \001(\01(\1e( \009(;(\11( \00\n(\0e( \00\0f(\1c(\1e(\n(\n(%(\07(\1c(\07(9( \00\19(\11(\01(\19( \00\01(\03(3(\1e(\n\00\01( \00\19(\15(\15(\17($(\1d(\01(\n(\07(2( \00J( \00\0d(\n(#(\1e( \00\19(\01(\'(\11( \00\03(\11(2( \00\14(\n(\07(\14(+(\02( \00\0d(9(\0e(\11(\07(\0b(\02( \00\1e(\15(\n\00\17(\11(\1b(\1c(\19( \00\01( \00\n(\15(\0b(\0b(\14($(\1d(\01(\n(\07( \00\01(\0e( \009(\11( \00\19(\11(\01(\19(\11(\0c( \00\0f(\n(\11(\n(\11( \00\15(\0b( \00\n(\17(\15(\1d(\0d(\15(\1d(\1b(;(9(\n\00\14( \009(\11( \00\1e(\17(\01(\19(\11(2( \00C(%(\1e( \009(\11( \00:(\n(\0e(\19(\15(\0d( \00\15(\0b( \003(\17( \00\01(\1d(\n(\11(\0c(\15(\17(\0e(\n\00\n(\0e( \00\14( \009(\11( \00\0e(\n(\0d(\n(\07(\11(\06( \00\01(\1d(\19( \00\0d(9( \00%(\1d(\19(\01(\07(\07(*(+( \00\19(\01(\1d(\19(\0e(\n\00)(\01(\07(\07( \00\1d(\15(\1e( \00\19(\n(\0c(%(\17(\03( \00\n(\1e(\02( \00\15(\17( \009(\11( \00J(3(\1d(\1e(\17(9(0(\0e( \00\19(\15(\1d(\11( \00\0b(\15(\17(2( \00y(3(\n\00:(\n(\07(\07( \009(;(\11(\0b(\15(\17(\11( \00\0f(;(\0d(\n(\1e( \00\0d(\11( \00\1e(\15( \00\17(\11(\0f(\11(\01(\1e(\02( \00\11(\0d(\0f(\19(\01(\1e(\n(\n(\01(\07(\07(9(\02( \009(\01(\1e(\n\00M(\1c(\07(\11(9( \00:(\01(\0e( \00\01(\0e( \00\19(\11(\01(\19( \00\01(\0e( \00\01( \00\19(\15(\15(\17($(\1d(\01(\n(\07(2(\n\00\n\00(\00T\00h\00e\00 \00f\00i\00r\00s\00t\00 \00c\00o\00u\00p\00l\00e\00 \00o\00f\00 \00p\00a\00r\00a\00g\00r\00a\00p\00h\00s\00 \00o\00f\00 \00\"\00A\00 \00C\00h\00r\00i\00s\00t\00m\00a\00s\00 \00C\00a\00r\00o\00l\00\"\00 \00b\00y\00 \00D\00i\00c\00k\00e\00n\00s\00)\00\n\00\n\00C\00o\00m\00p\00a\00c\00t\00 \00f\00o\00n\00t\00 \00s\00e\00l\00e\00c\00t\00i\00o\00n\00 \00e\00x\00a\00m\00p\00l\00e\00 \00t\00e\00x\00t\00:\00\n\00\n\00A\00B\00C\00D\00E\00F\00G\00H\00I\00J\00K\00L\00M\00N\00O\00P\00Q\00R\00S\00T\00U\00V\00W\00X\00Y\00Z\00 \00/\000\001\002\003\004\005\006\007\008\009\00\n\00a\00b\00c\00d\00e\00f\00g\00h\00i\00j\00k\00l\00m\00n\00o\00p\00q\00r\00s\00t\00u\00v\00w\00x\00y\00z\00 \00\a3\00\a9\00\b5\00\c0\00\c6\00\d6\00\de\00\df\00\e9\00\f6\00\ff\00\n\00\13 \14 \18 \1c \1d \1e \" & 0 \"!S\01`\01x\01~\01\ac \00\91\03\92\03\93\03\94\03\a9\03\b1\03\b2\03\b3\03\b4\03\c9\03 \00\10\04\11\04\12\04\13\04\14\040\041\042\043\044\04\n\00\00\"\02\"\08\"\1d!\'\"*\"a\"\1e\" \00\91!\97!\a8!\bb!\e3! \00\10%<%T%X%\91%\ba%:&@& \00\01\fb\fd\ff@$\82 \1f\02\1e\e5\04\84\1eP\02\d0\02N#\d0\051\05\d0\10\n\00\n\00G\00r\00e\00e\00t\00i\00n\00g\00s\00 \00i\00n\00 \00v\00a\00r\00i\00o\00u\00s\00 \00l\00a\00n\00g\00u\00a\00g\00e\00s\00:\00\n\00\n\00H\00e\00l\00l\00o\00 \00w\00o\00r\00l\00d\00,\00 \00\9a\03\b1\03\bb\03\b7\03\bc\03s\1f\c1\03\b1\03 \00\ba\03y\1f\c3\03\bc\03\b5\03,\00 \00\b30\f30\cb0\c10\cf0\n\00\n\00B\00o\00x\00 \00d\00r\00a\00w\00i\00n\00g\00 \00a\00l\00i\00g\00n\00m\00e\00n\00t\00 \00t\00e\00s\00t\00s\00:\00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00\88%\n\00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00\89%\n\00T%P%P%f%P%P%W% \00 \00\0c%\00%\00%,%\00%\00%\10% \00 \00m%\00%\00%,%\00%\00%n% \00 \00m%\00%\00%,%\00%\00%n% \00 \00\0f%\01%\01%3%\01%\01%\13% \00 \00\0e%\12%\0f%\11% \00 \00 \00w% \00 \00{% \00\0f%/%\13% \00\0c%0%\10% \00 \00 \00 \00\8a% \00q%r%q%r%s%s%s%\n\00Q%\0c%\00%h%\00%\10%Q% \00 \00\02%T%P%g%P%W%\02% \00 \00\02%R%P%j%P%U%\02% \00 \00\02%S%\00%A%\00%V%\02% \00 \00\03%\0c%\00%B%\00%\10%\03% \00 \00\17%C%D%\19% \00 \00v%<%t%z%K%x% %<%(% \00\1d%K%%% \00 \00 \00 \00\8b% \00r%q%r%q%s%s%s%\n\00Q%\02%r% \00q%\02%Q% \00 \00\02%Q% \00 \00 \00Q%\02% \00 \00\02%\02% \00\02% \00\02%\02% \00 \00\02%Q% \00\03% \00Q%\02% \00 \00\03%\02% \00\7f% \00\02%\03% \00 \00\0d%E%F%\13% \00 \00 \00u% \00 \00y% \00\17%7%\1b% \00\14%8%\18% \00 \00 \00 \00\8c% \00q%r%q%r%s%s%s%\n\00`%a% \00s% \00^%c% \00 \00\1c%b% \00 \00 \00_%$% \00 \00\1c%<%\00%<%\00%<%$% \00 \00\1c%k%\00%B%\00%k%$% \00 \00#%?%~%<%|%?%+% \00 \00\15%\1b%\16%\1a% \00 \00 \00 \00 \00\0c%\04%\04%\10% \00N% \00\0f%\05%\05%\13% \00\0b% \00\8d% \00r%q%r%q%s%s%s%\n\00Q%\02%q% \00r%\02%Q% \00 \00\02%Q% \00 \00 \00Q%\02% \00 \00\02%\02% \00\02% \00\02%\02% \00 \00\02%Q% \00\03% \00Q%\02% \00 \00\03%\02% \00}% \00\02%\03% \00 \00\91%\91%\92%\92%\93%\93%\88%\88% \00\n% \00 \00\06% \00N% \00O% \00 \00\07% \00\0b% \00\8e%\n\00Q%\14%\00%e%\00%\18%Q% \00 \00\02%Z%P%d%P%]%\02% \00 \00\02%X%P%j%P%[%\02% \00 \00\02%Y%\00%@%\00%\\%\02% \00 \00\03%\14%\00%B%\00%\18%\03% \00 \00\91%\91%\92%\92%\93%\93%\88%\88% \00\n% \00 \00\06% \00N% \00O% \00 \00\07% \00\0b% \00\8f%\n\00Z%P%P%i%P%P%]% \00 \00\14%\00%\00%4%\00%\00%\18% \00 \00p%\00%\00%4%\00%\00%o% \00 \00p%\00%\00%4%\00%\00%o% \00 \00\17%\01%\01%;%\01%\01%\1b% \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00\14%L%L%\18% \00N% \00\17%M%M%\1b% \00\0b% \00 \00\81%\82%\83%\84%\85%\86%\87%\88%\n\00\00\00") - (data (i32.const 14108) "\cc\1c\00\00\00\00\00\00\00\00\00\00\01\00\00\00\ba\1c\00\00S\00e\00n\00t\00e\00n\00c\00e\00s\00 \00t\00h\00a\00t\00 \00c\00o\00n\00t\00a\00i\00n\00 \00a\00l\00l\00 \00l\00e\00t\00t\00e\00r\00s\00 \00c\00o\00m\00m\00o\00n\00l\00y\00 \00u\00s\00e\00d\00 \00i\00n\00 \00a\00 \00l\00a\00n\00g\00u\00a\00g\00e\00\n\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00\n\00\n\00M\00a\00r\00k\00u\00s\00 \00K\00u\00h\00n\00 \00<\00h\00t\00t\00p\00:\00/\00/\00w\00w\00w\00.\00c\00l\00.\00c\00a\00m\00.\00a\00c\00.\00u\00k\00/\00~\00m\00g\00k\002\005\00/\00>\00 \00-\00-\00 \002\000\001\002\00-\000\004\00-\001\001\00\n\00\n\00T\00h\00i\00s\00 \00i\00s\00 \00a\00n\00 \00e\00x\00a\00m\00p\00l\00e\00 \00o\00f\00 \00a\00 \00p\00l\00a\00i\00n\00-\00t\00e\00x\00t\00 \00f\00i\00l\00e\00 \00e\00n\00c\00o\00d\00e\00d\00 \00i\00n\00 \00U\00T\00F\00-\008\00.\00\n\00\n\00\n\00D\00a\00n\00i\00s\00h\00 \00(\00d\00a\00)\00\n\00-\00-\00-\00-\00-\00-\00-\00-\00-\00\n\00\n\00 \00 \00Q\00u\00i\00z\00d\00e\00l\00t\00a\00g\00e\00r\00n\00e\00 \00s\00p\00i\00s\00t\00e\00 \00j\00o\00r\00d\00b\00\e6\00r\00 \00m\00e\00d\00 \00f\00l\00\f8\00d\00e\00,\00 \00m\00e\00n\00s\00 \00c\00i\00r\00k\00u\00s\00k\00l\00o\00v\00n\00e\00n\00\n\00 \00 \00W\00o\00l\00t\00h\00e\00r\00 \00s\00p\00i\00l\00l\00e\00d\00e\00 \00p\00\e5\00 \00x\00y\00l\00o\00f\00o\00n\00.\00\n\00 \00 \00(\00=\00 \00Q\00u\00i\00z\00 \00c\00o\00n\00t\00e\00s\00t\00a\00n\00t\00s\00 \00w\00e\00r\00e\00 \00e\00a\00t\00i\00n\00g\00 \00s\00t\00r\00a\00w\00b\00e\00r\00y\00 \00w\00i\00t\00h\00 \00c\00r\00e\00a\00m\00 \00w\00h\00i\00l\00e\00 \00W\00o\00l\00t\00h\00e\00r\00\n\00 \00 \00t\00h\00e\00 \00c\00i\00r\00c\00u\00s\00 \00c\00l\00o\00w\00n\00 \00p\00l\00a\00y\00e\00d\00 \00o\00n\00 \00x\00y\00l\00o\00p\00h\00o\00n\00e\00.\00)\00\n\00\n\00G\00e\00r\00m\00a\00n\00 \00(\00d\00e\00)\00\n\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00\n\00\n\00 \00 \00F\00a\00l\00s\00c\00h\00e\00s\00 \00\dc\00b\00e\00n\00 \00v\00o\00n\00 \00X\00y\00l\00o\00p\00h\00o\00n\00m\00u\00s\00i\00k\00 \00q\00u\00\e4\00l\00t\00 \00j\00e\00d\00e\00n\00 \00g\00r\00\f6\00\df\00e\00r\00e\00n\00 \00Z\00w\00e\00r\00g\00\n\00 \00 \00(\00=\00 \00W\00r\00o\00n\00g\00f\00u\00l\00 \00p\00r\00a\00c\00t\00i\00c\00i\00n\00g\00 \00o\00f\00 \00x\00y\00l\00o\00p\00h\00o\00n\00e\00 \00m\00u\00s\00i\00c\00 \00t\00o\00r\00t\00u\00r\00e\00s\00 \00e\00v\00e\00r\00y\00 \00l\00a\00r\00g\00e\00r\00 \00d\00w\00a\00r\00f\00)\00\n\00\n\00 \00 \00Z\00w\00\f6\00l\00f\00 \00B\00o\00x\00k\00\e4\00m\00p\00f\00e\00r\00 \00j\00a\00g\00t\00e\00n\00 \00E\00v\00a\00 \00q\00u\00e\00r\00 \00\fc\00b\00e\00r\00 \00d\00e\00n\00 \00S\00y\00l\00t\00e\00r\00 \00D\00e\00i\00c\00h\00\n\00 \00 \00(\00=\00 \00T\00w\00e\00l\00v\00e\00 \00b\00o\00x\00i\00n\00g\00 \00f\00i\00g\00h\00t\00e\00r\00s\00 \00h\00u\00n\00t\00e\00d\00 \00E\00v\00a\00 \00a\00c\00r\00o\00s\00s\00 \00t\00h\00e\00 \00d\00i\00k\00e\00 \00o\00f\00 \00S\00y\00l\00t\00)\00\n\00\n\00 \00 \00H\00e\00i\00z\00\f6\00l\00r\00\fc\00c\00k\00s\00t\00o\00\df\00a\00b\00d\00\e4\00m\00p\00f\00u\00n\00g\00\n\00 \00 \00(\00=\00 \00f\00u\00e\00l\00 \00o\00i\00l\00 \00r\00e\00c\00o\00i\00l\00 \00a\00b\00s\00o\00r\00b\00e\00r\00)\00\n\00 \00 \00(\00j\00q\00v\00w\00x\00y\00 \00m\00i\00s\00s\00i\00n\00g\00,\00 \00b\00u\00t\00 \00a\00l\00l\00 \00n\00o\00n\00-\00A\00S\00C\00I\00I\00 \00l\00e\00t\00t\00e\00r\00s\00 \00i\00n\00 \00o\00n\00e\00 \00w\00o\00r\00d\00)\00\n\00\n\00G\00r\00e\00e\00k\00 \00(\00e\00l\00)\00\n\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00\n\00\n\00 \00 \00\93\03\b1\03\b6\03\ad\03\b5\03\c2\03 \00\ba\03\b1\03v\1f \00\bc\03\c5\03\c1\03\c4\03\b9\03r\1f\c2\03 \00\b4\03r\1f\bd\03 \00\b8\03p\1f \00\b2\03\c1\03\f6\1f \00\c0\03\b9\03p\1f \00\c3\03\c4\03x\1f \00\c7\03\c1\03\c5\03\c3\03\b1\03\c6\03v\1f \00\be\03\ad\03\c6\03\c9\03\c4\03\bf\03\n\00 \00 \00(\00=\00 \00N\00o\00 \00m\00o\00r\00e\00 \00s\00h\00a\00l\00l\00 \00I\00 \00s\00e\00e\00 \00a\00c\00a\00c\00i\00a\00s\00 \00o\00r\00 \00m\00y\00r\00t\00l\00e\00s\00 \00i\00n\00 \00t\00h\00e\00 \00g\00o\00l\00d\00e\00n\00 \00c\00l\00e\00a\00r\00i\00n\00g\00)\00\n\00\n\00 \00 \00\9e\03\b5\03\c3\03\ba\03\b5\03\c0\03\ac\03\b6\03\c9\03 \00\c4\03t\1f\bd\03 \00\c8\03\c5\03\c7\03\bf\03\c6\03\b8\03\cc\03\c1\03\b1\03 \00\b2\03\b4\03\b5\03\bb\03\c5\03\b3\03\bc\03\af\03\b1\03\n\00 \00 \00(\00=\00 \00I\00 \00u\00n\00c\00o\00v\00e\00r\00 \00t\00h\00e\00 \00s\00o\00u\00l\00-\00d\00e\00s\00t\00r\00o\00y\00i\00n\00g\00 \00a\00b\00h\00o\00r\00r\00e\00n\00c\00e\00)\00\n\00\n\00E\00n\00g\00l\00i\00s\00h\00 \00(\00e\00n\00)\00\n\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00\n\00\n\00 \00 \00T\00h\00e\00 \00q\00u\00i\00c\00k\00 \00b\00r\00o\00w\00n\00 \00f\00o\00x\00 \00j\00u\00m\00p\00s\00 \00o\00v\00e\00r\00 \00t\00h\00e\00 \00l\00a\00z\00y\00 \00d\00o\00g\00\n\00\n\00S\00p\00a\00n\00i\00s\00h\00 \00(\00e\00s\00)\00\n\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00\n\00\n\00 \00 \00E\00l\00 \00p\00i\00n\00g\00\fc\00i\00n\00o\00 \00W\00e\00n\00c\00e\00s\00l\00a\00o\00 \00h\00i\00z\00o\00 \00k\00i\00l\00\f3\00m\00e\00t\00r\00o\00s\00 \00b\00a\00j\00o\00 \00e\00x\00h\00a\00u\00s\00t\00i\00v\00a\00 \00l\00l\00u\00v\00i\00a\00 \00y\00\n\00 \00 \00f\00r\00\ed\00o\00,\00 \00a\00\f1\00o\00r\00a\00b\00a\00 \00a\00 \00s\00u\00 \00q\00u\00e\00r\00i\00d\00o\00 \00c\00a\00c\00h\00o\00r\00r\00o\00.\00\n\00 \00 \00(\00C\00o\00n\00t\00a\00i\00n\00s\00 \00e\00v\00e\00r\00y\00 \00l\00e\00t\00t\00e\00r\00 \00a\00n\00d\00 \00e\00v\00e\00r\00y\00 \00a\00c\00c\00e\00n\00t\00,\00 \00b\00u\00t\00 \00n\00o\00t\00 \00e\00v\00e\00r\00y\00 \00c\00o\00m\00b\00i\00n\00a\00t\00i\00o\00n\00\n\00 \00 \00o\00f\00 \00v\00o\00w\00e\00l\00 \00+\00 \00a\00c\00u\00t\00e\00.\00)\00\n\00\n\00F\00r\00e\00n\00c\00h\00 \00(\00f\00r\00)\00\n\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00\n\00\n\00 \00 \00P\00o\00r\00t\00e\00z\00 \00c\00e\00 \00v\00i\00e\00u\00x\00 \00w\00h\00i\00s\00k\00y\00 \00a\00u\00 \00j\00u\00g\00e\00 \00b\00l\00o\00n\00d\00 \00q\00u\00i\00 \00f\00u\00m\00e\00 \00s\00u\00r\00 \00s\00o\00n\00 \00\ee\00l\00e\00 \00i\00n\00t\00\e9\00r\00i\00e\00u\00r\00e\00,\00 \00\e0\00\n\00 \00 \00c\00\f4\00t\00\e9\00 \00d\00e\00 \00l\00\'\00a\00l\00c\00\f4\00v\00e\00 \00o\00v\00o\00\ef\00d\00e\00,\00 \00o\00\f9\00 \00l\00e\00s\00 \00b\00\fb\00c\00h\00e\00s\00 \00s\00e\00 \00c\00o\00n\00s\00u\00m\00e\00n\00t\00 \00d\00a\00n\00s\00 \00l\00\'\00\e2\00t\00r\00e\00,\00 \00c\00e\00\n\00 \00 \00q\00u\00i\00 \00l\00u\00i\00 \00p\00e\00r\00m\00e\00t\00 \00d\00e\00 \00p\00e\00n\00s\00e\00r\00 \00\e0\00 \00l\00a\00 \00c\00\e6\00n\00o\00g\00e\00n\00\e8\00s\00e\00 \00d\00e\00 \00l\00\'\00\ea\00t\00r\00e\00 \00d\00o\00n\00t\00 \00i\00l\00 \00e\00s\00t\00 \00q\00u\00e\00s\00t\00i\00o\00n\00\n\00 \00 \00d\00a\00n\00s\00 \00l\00a\00 \00c\00a\00u\00s\00e\00 \00a\00m\00b\00i\00g\00u\00\eb\00 \00e\00n\00t\00e\00n\00d\00u\00e\00 \00\e0\00 \00M\00o\00\ff\00,\00 \00d\00a\00n\00s\00 \00u\00n\00 \00c\00a\00p\00h\00a\00r\00n\00a\00\fc\00m\00 \00q\00u\00i\00,\00\n\00 \00 \00p\00e\00n\00s\00e\00-\00t\00-\00i\00l\00,\00 \00d\00i\00m\00i\00n\00u\00e\00 \00\e7\00\e0\00 \00e\00t\00 \00l\00\e0\00 \00l\00a\00 \00q\00u\00a\00l\00i\00t\00\e9\00 \00d\00e\00 \00s\00o\00n\00 \00S\01u\00v\00r\00e\00.\00\n\00\n\00 \00 \00l\00\'\00\ee\00l\00e\00 \00e\00x\00i\00g\00u\00\eb\00\n\00 \00 \00O\00\f9\00 \00l\00\'\00o\00b\00\e8\00s\00e\00 \00j\00u\00r\00y\00 \00m\00\fb\00r\00\n\00 \00 \00F\00\ea\00t\00e\00 \00l\00\'\00h\00a\00\ef\00 \00v\00o\00l\00a\00p\00\fc\00k\00,\00\n\00 \00 \00\c2\00n\00e\00 \00e\00x\00 \00a\00\e9\00q\00u\00o\00 \00a\00u\00 \00w\00h\00i\00s\00t\00,\00\n\00 \00 \00\d4\00t\00e\00z\00 \00c\00e\00 \00v\00S\01u\00 \00d\00\e9\00\e7\00u\00.\00\n\00\n\00 \00 \00L\00e\00 \00c\00S\01u\00r\00 \00d\00\e9\00\e7\00u\00 \00m\00a\00i\00s\00 \00l\00\'\00\e2\00m\00e\00 \00p\00l\00u\00t\00\f4\00t\00 \00n\00a\00\ef\00v\00e\00,\00 \00L\00o\00u\00\ff\00s\00 \00r\00\ea\00v\00a\00 \00d\00e\00 \00c\00r\00a\00p\00a\00\fc\00t\00e\00r\00 \00e\00n\00\n\00 \00 \00c\00a\00n\00o\00\eb\00 \00a\00u\00 \00d\00e\00l\00\e0\00 \00d\00e\00s\00 \00\ee\00l\00e\00s\00,\00 \00p\00r\00\e8\00s\00 \00d\00u\00 \00m\00\e4\00l\00s\00t\00r\00\f6\00m\00 \00o\00\f9\00 \00b\00r\00\fb\00l\00e\00n\00t\00 \00l\00e\00s\00 \00n\00o\00v\00\e6\00.\00\n\00\n\00I\00r\00i\00s\00h\00 \00G\00a\00e\00l\00i\00c\00 \00(\00g\00a\00)\00\n\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00\n\00\n\00 \00 \00D\00\'\00f\00h\00u\00a\00s\00c\00a\00i\00l\00 \00\cd\00o\00s\00a\00,\00 \00\da\00r\00m\00h\00a\00c\00 \00n\00a\00 \00h\00\d3\00i\00g\00h\00e\00 \00B\00e\00a\00n\00n\00a\00i\00t\00h\00e\00,\00 \00p\00\f3\00r\00 \00\c9\00a\00v\00a\00 \00a\00g\00u\00s\00 \00\c1\00d\00h\00a\00i\00m\00h\00\n\00\n\00H\00u\00n\00g\00a\00r\00i\00a\00n\00 \00(\00h\00u\00)\00\n\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00\n\00\n\00 \00 \00\c1\00r\00v\00\ed\00z\00t\00q\01r\00Q\01 \00t\00\fc\00k\00\f6\00r\00f\00\fa\00r\00\f3\00g\00\e9\00p\00\n\00 \00 \00(\00=\00 \00f\00l\00o\00o\00d\00-\00p\00r\00o\00o\00f\00 \00m\00i\00r\00r\00o\00r\00-\00d\00r\00i\00l\00l\00i\00n\00g\00 \00m\00a\00c\00h\00i\00n\00e\00,\00 \00o\00n\00l\00y\00 \00a\00l\00l\00 \00n\00o\00n\00-\00A\00S\00C\00I\00I\00 \00l\00e\00t\00t\00e\00r\00s\00)\00\n\00\n\00I\00c\00e\00l\00a\00n\00d\00i\00c\00 \00(\00i\00s\00)\00\n\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00\n\00\n\00 \00 \00K\00\e6\00m\00i\00 \00n\00\fd\00 \00\f6\00x\00i\00 \00h\00\e9\00r\00 \00y\00k\00i\00s\00t\00 \00\fe\00j\00\f3\00f\00u\00m\00 \00n\00\fa\00 \00b\00\e6\00\f0\00i\00 \00v\00\ed\00l\00 \00o\00g\00 \00\e1\00d\00r\00e\00p\00a\00\n\00\n\00 \00 \00S\00\e6\00v\00\f6\00r\00 \00g\00r\00\e9\00t\00 \00\e1\00\f0\00a\00n\00 \00\fe\00v\00\ed\00 \00\fa\00l\00p\00a\00n\00 \00v\00a\00r\00 \00\f3\00n\00\fd\00t\00\n\00 \00 \00(\00s\00o\00m\00e\00 \00A\00S\00C\00I\00I\00 \00l\00e\00t\00t\00e\00r\00s\00 \00m\00i\00s\00s\00i\00n\00g\00)\00\n\00\n\00J\00a\00p\00a\00n\00e\00s\00e\00 \00(\00j\00p\00)\00\n\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00\n\00\n\00 \00 \00H\00i\00r\00a\00g\00a\00n\00a\00:\00 \00(\00I\00r\00o\00h\00a\00)\00\n\00\n\00 \00 \00D0\8d0o0k0{0x0h0a0\8a0l0\8b0\920\n\00 \00 \00\8f0K0\880_0\8c0]0d0m0j0\890\800\n\00 \00 \00F0\900n0J0O0\840~0Q0u0S0H0f0\n\00 \00 \00B0U0M0\860\810\7f0W0\910r0\820[0Y0\n\00\n\00 \00 \00K\00a\00t\00a\00k\00a\00n\00a\00:\00\n\00\n\00 \00 \00\a40\ed0\cf0\cb0\db0\d80\c80 \00\c10\ea0\cc0\eb0\f20 \00\ef0\ab0\e80\bf0\ec0\bd0 \00\c40\cd0\ca0\e90\e00\n\00 \00 \00\a60\f00\ce0\aa0\af0\e40\de0 \00\b10\d50\b30\a80\c60 \00\a20\b50\ad0\e60\e10\df0\b70 \00\f10\d20\e20\bb0\b90\f30\n\00\n\00H\00e\00b\00r\00e\00w\00 \00(\00i\00w\00)\00\n\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00\n\00\n\00 \00 \00?\00 \00\d3\05\d2\05 \00\e1\05\e7\05\e8\05\df\05 \00\e9\05\d8\05 \00\d1\05\d9\05\dd\05 \00\de\05\d0\05\d5\05\db\05\d6\05\d1\05 \00\d5\05\dc\05\e4\05\ea\05\e2\05 \00\de\05\e6\05\d0\05 \00\dc\05\d5\05 \00\d7\05\d1\05\e8\05\d4\05 \00\d0\05\d9\05\da\05 \00\d4\05\e7\05\dc\05\d9\05\d8\05\d4\05\n\00\n\00P\00o\00l\00i\00s\00h\00 \00(\00p\00l\00)\00\n\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00\n\00\n\00 \00 \00P\00c\00h\00n\00\05\01\07\01 \00w\00 \00t\00\19\01 \00B\01\f3\00d\00z\01 \00j\00e\00|\01a\00 \00l\00u\00b\00 \00o\00[\01m\00 \00s\00k\00r\00z\00y\00D\01 \00f\00i\00g\00\n\00 \00 \00(\00=\00 \00T\00o\00 \00p\00u\00s\00h\00 \00a\00 \00h\00e\00d\00g\00e\00h\00o\00g\00 \00o\00r\00 \00e\00i\00g\00h\00t\00 \00b\00i\00n\00s\00 \00o\00f\00 \00f\00i\00g\00s\00 \00i\00n\00 \00t\00h\00i\00s\00 \00b\00o\00a\00t\00)\00\n\00\n\00R\00u\00s\00s\00i\00a\00n\00 \00(\00r\00u\00)\00\n\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00\n\00\n\00 \00 \00\12\04 \00G\040\04I\040\04E\04 \00N\043\040\04 \006\048\04;\04 \001\04K\04 \00F\048\04B\04@\04C\04A\04?\00 \00\14\040\04,\00 \00=\04>\04 \00D\040\04;\04L\04H\048\042\04K\049\04 \00M\04:\047\045\04<\04?\04;\04O\04@\04!\00\n\00 \00 \00(\00=\00 \00W\00o\00u\00l\00d\00 \00a\00 \00c\00i\00t\00r\00u\00s\00 \00l\00i\00v\00e\00 \00i\00n\00 \00t\00h\00e\00 \00b\00u\00s\00h\00e\00s\00 \00o\00f\00 \00s\00o\00u\00t\00h\00?\00 \00Y\00e\00s\00,\00 \00b\00u\00t\00 \00o\00n\00l\00y\00 \00a\00 \00f\00a\00k\00e\00 \00o\00n\00e\00!\00)\00\n\00\n\00 \00 \00!\04J\045\04H\04L\04 \006\045\04 \005\04I\04Q\04 \00M\04B\048\04E\04 \00<\04O\043\04:\048\04E\04 \00D\04@\040\04=\04F\04C\047\04A\04:\048\04E\04 \001\04C\04;\04>\04:\04 \004\040\04 \002\04K\04?\045\049\04 \00G\040\04N\04\n\00 \00 \00(\00=\00 \00E\00a\00t\00 \00s\00o\00m\00e\00 \00m\00o\00r\00e\00 \00o\00f\00 \00t\00h\00e\00s\00e\00 \00f\00r\00e\00s\00h\00 \00F\00r\00e\00n\00c\00h\00 \00l\00o\00a\00f\00s\00 \00a\00n\00d\00 \00h\00a\00v\00e\00 \00s\00o\00m\00e\00 \00t\00e\00a\00)\00\n\00\n\00T\00h\00a\00i\00 \00(\00t\00h\00)\00\n\00-\00-\00-\00-\00-\00-\00-\00-\00-\00\n\00\n\00 \00 \00[\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00|\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00]\00\n\00 \00 \00O\0e \00@\0e\1b\0eG\0e\19\0e!\0e\19\0e8\0e)\0e\"\0eL\0e*\0e8\0e\14\0e\1b\0e#\0e0\0e@\0e*\0e#\0e4\0e\10\0e@\0e%\0e4\0e(\0e\04\0e8\0e\13\0e\04\0eH\0e2\0e \00 \00\01\0e\'\0eH\0e2\0e\1a\0e#\0e#\0e\14\0e2\0e\1d\0e9\0e\07\0e*\0e1\0e\15\0e\'\0eL\0e@\0e\14\0e#\0e1\0e\08\0e\t\0e2\0e\19\0e\n\00 \00 \00\08\0e\07\0e\1d\0eH\0e2\0e\1f\0e1\0e\19\0e\1e\0e1\0e\12\0e\19\0e2\0e\'\0e4\0e\n\0e2\0e\01\0e2\0e#\0e \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00-\0e\"\0eH\0e2\0e%\0eI\0e2\0e\07\0e\1c\0e%\0e2\0e\0d\0e$\0eE\0e@\0e\02\0eH\0e\19\0e\06\0eH\0e2\0e\1a\0e5\0e\11\0e2\0eC\0e\04\0e#\0e\n\00 \00 \00D\0e!\0eH\0e\16\0e7\0e-\0eB\0e\17\0e)\0eB\0e\01\0e#\0e\18\0eA\0e\n\0eH\0e\07\0e\0b\0e1\0e\14\0e.\0e6\0e\14\0e.\0e1\0e\14\0e\14\0eH\0e2\0e \00 \00 \00 \00 \00+\0e1\0e\14\0e-\0e \0e1\0e\"\0e@\0e+\0e!\0e7\0e-\0e\19\0e\01\0e5\0e,\0e2\0e-\0e1\0e\n\0e\0c\0e2\0e*\0e1\0e\"\0e\n\00 \00 \00\1b\0e\0f\0e4\0e\1a\0e1\0e\15\0e4\0e\1b\0e#\0e0\0e\1e\0e$\0e\15\0e4\0e\01\0e\0e\0e\01\0e3\0e+\0e\19\0e\14\0eC\0e\08\0e \00 \00 \00 \00 \00 \00 \00 \00\1e\0e9\0e\14\0e\08\0e2\0eC\0e+\0eI\0e\08\0eJ\0e0\0eF\0e \00\08\0eK\0e2\0eF\0e \00\19\0eH\0e2\0e\1f\0e1\0e\07\0e@\0e-\0e\"\0e \00/\0e\n\00\n\00 \00 \00[\00T\00h\00e\00 \00c\00o\00p\00y\00r\00i\00g\00h\00t\00 \00f\00o\00r\00 \00t\00h\00e\00 \00T\00h\00a\00i\00 \00e\00x\00a\00m\00p\00l\00e\00 \00i\00s\00 \00o\00w\00n\00e\00d\00 \00b\00y\00 \00T\00h\00e\00 \00C\00o\00m\00p\00u\00t\00e\00r\00\n\00 \00 \00A\00s\00s\00o\00c\00i\00a\00t\00i\00o\00n\00 \00o\00f\00 \00T\00h\00a\00i\00l\00a\00n\00d\00 \00u\00n\00d\00e\00r\00 \00t\00h\00e\00 \00R\00o\00y\00a\00l\00 \00P\00a\00t\00r\00o\00n\00a\00g\00e\00 \00o\00f\00 \00H\00i\00s\00 \00M\00a\00j\00e\00s\00t\00y\00 \00t\00h\00e\00\n\00 \00 \00K\00i\00n\00g\00.\00]\00\n\00\n\00T\00u\00r\00k\00i\00s\00h\00 \00(\00t\00r\00)\00\n\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00\n\00\n\00 \00 \00P\00i\00j\00a\00m\00a\00l\001\01 \00h\00a\00s\00t\00a\00,\00 \00y\00a\00\1f\011\01z\00 \00_\01o\00f\00\f6\00r\00e\00 \00\e7\00a\00b\00u\00c\00a\00k\00 \00g\00\fc\00v\00e\00n\00d\00i\00.\00\n\00 \00 \00(\00=\00P\00a\00t\00i\00e\00n\00t\00 \00w\00i\00t\00h\00 \00p\00a\00j\00a\00m\00a\00s\00,\00 \00t\00r\00u\00s\00t\00e\00d\00 \00s\00w\00a\00r\00t\00h\00y\00 \00d\00r\00i\00v\00e\00r\00 \00q\00u\00i\00c\00k\00l\00y\00)\00\n\00\00\00") - (data (i32.const 21488) "\03\00\00\00 \00\00\00\00\00\00\00 \00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 780) "L\00\00\00\00\00\00\00\00\00\00\00\01\00\00\008\00\00\00a\00a\00a\00a\00a\00a\00a\00a\00a\00a\00a\00a\00a\00a\00a\00a\00a\00a\00a\00a\00a\00a\00a\00a\00a\00a\00a\00\00\00\00\00\00\00") + (data (i32.const 860) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\02\00\00\004\d8\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 892) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\02\00\00\00\fd\ff\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 924) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\02\00\00\00\1e\dd\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 956) ",\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\0e\00\00\001\002\003\00\00\004\005\006\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 1004) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\06\00\00\001\002\003\00\00\00\00\00\00\00") + (data (i32.const 1036) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\08\00\00\00h\00i\00R\d8b\df\00\00\00\00") + (data (i32.const 1068) "<3\00\00\00\00\00\00\00\00\00\00\01\00\00\00*3\00\00M\00a\00t\00h\00e\00m\00a\00t\00i\00c\00s\00 \00a\00n\00d\00 \00S\00c\00i\00e\00n\00c\00e\00s\00:\00\n\00\n\00.\" \00E\00\c5\"d\00a\00 \00=\00 \00Q\00,\00 \00 \00n\00 \00\92! \00\1e\",\00 \00\11\" \00f\00(\00i\00)\00 \00=\00 \00\0f\" \00g\00(\00i\00)\00,\00 \00\00\"x\00\08\"\1d!:\00 \00\08#x\00\t# \00=\00 \00\12\"\n#\12\"x\00\0b#,\00 \00\b1\03 \00\'\" \00\ac\00\b2\03 \00=\00 \00\ac\00(\00\ac\00\b1\03 \00(\" \00\b2\03)\00,\00\n\00\n\00\15! \00\86\" \00\15!\80 \00\82\" \00$! \00\82\" \00\1a! \00\82\" \00\1d! \00\82\" \00\02!,\00 \00\a5\" \00<\00 \00a\00 \00`\" \00b\00 \00a\" \00c\00 \00d\" \00d\00 \00j\" \00\a4\" \00\d2! \00(\00A\00 \00\d4! \00B\00)\00,\00\n\00\n\002\00H\00\82 \00+\00 \00O\00\82 \00\cc! \002\00H\00\82 O\00,\00 \00R\00 \00=\00 \004\00.\007\00 \00k\00\a9\03,\00 \00\00# \002\000\000\00 \00m\00m\00\n\00\n\00L\00i\00n\00g\00u\00i\00s\00t\00i\00c\00s\00 \00a\00n\00d\00 \00d\00i\00c\00t\00i\00o\00n\00a\00r\00i\00e\00s\00:\00\n\00\n\00\f0\00i\00 \001\01n\00t\00Y\02\c8\02n\00\e6\00\83\02Y\02n\00Y\02l\00 \00f\00Y\02\c8\02n\00[\02t\001\01k\00 \00Y\02s\00o\00\8a\02s\00i\00\c8\02e\001\01\83\02n\00\n\00Y\00 \00[\00\c8\02\8f\02p\00s\00i\00l\00T\02n\00]\00,\00 \00Y\00e\00n\00 \00[\00j\00[\02n\00]\00,\00 \00Y\00o\00g\00a\00 \00[\00\c8\02j\00o\00\d0\02g\00Q\02]\00\n\00\n\00A\00P\00L\00:\00\n\00\n\00(\00(\00V\00s#V\00)\00=\00s#t#V\00)\00/\00V\00\90!,\00V\00 \00 \00 \00 \007#\90!s#\92!t#\06\"\07\"\83\"> N#U#\08#\n\00\n\00N\00i\00c\00e\00r\00 \00t\00y\00p\00o\00g\00r\00a\00p\00h\00y\00 \00i\00n\00 \00p\00l\00a\00i\00n\00 \00t\00e\00x\00t\00 \00f\00i\00l\00e\00s\00:\00\n\00\n\00T%P%P%P%P%P%P%P%P%P%P%P%P%P%P%P%P%P%P%P%P%P%P%P%P%P%P%P%P%P%P%P%P%P%P%P%P%P%P%P%P%P%P%W%\n\00Q% \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00Q%\n\00Q% \00 \00 \00\" \00\18 s\00i\00n\00g\00l\00e\00\19 \00a\00n\00d\00 \00\1c d\00o\00u\00b\00l\00e\00\1d \00q\00u\00o\00t\00e\00s\00 \00 \00 \00 \00 \00 \00 \00 \00 \00Q%\n\00Q% \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00Q%\n\00Q% \00 \00 \00\" \00C\00u\00r\00l\00y\00 \00a\00p\00o\00s\00t\00r\00o\00p\00h\00e\00s\00:\00 \00\1c W\00e\00\19 v\00e\00 \00b\00e\00e\00n\00 \00h\00e\00r\00e\00\1d \00Q%\n\00Q% \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00Q%\n\00Q% \00 \00 \00\" \00L\00a\00t\00i\00n\00-\001\00 \00a\00p\00o\00s\00t\00r\00o\00p\00h\00e\00 \00a\00n\00d\00 \00a\00c\00c\00e\00n\00t\00s\00:\00 \00\'\00\b4\00`\00 \00 \00Q%\n\00Q% \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00Q%\n\00Q% \00 \00 \00\" \00\1a d\00e\00u\00t\00s\00c\00h\00e\00\18 \00\1e A\00n\00f\00\fc\00h\00r\00u\00n\00g\00s\00z\00e\00i\00c\00h\00e\00n\00\1c \00 \00 \00 \00 \00 \00 \00Q%\n\00Q% \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00Q%\n\00Q% \00 \00 \00\" \00 ,\00 \00! ,\00 \000 ,\00 \00\" ,\00 \003\00\13 4\00,\00 \00\14 ,\00 \00\12\"5\00/\00+\005\00,\00 \00\"!,\00 \00& \00 \00 \00 \00 \00 \00Q%\n\00Q% \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00Q%\n\00Q% \00 \00 \00\" \00A\00S\00C\00I\00I\00 \00s\00a\00f\00e\00t\00y\00 \00t\00e\00s\00t\00:\00 \001\00l\00I\00|\00,\00 \000\00O\00D\00,\00 \008\00B\00 \00 \00 \00 \00 \00Q%\n\00Q% \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00m%\00%\00%\00%\00%\00%\00%\00%\00%\00%n% \00 \00 \00 \00 \00 \00 \00 \00 \00Q%\n\00Q% \00 \00 \00\" \00t\00h\00e\00 \00e\00u\00r\00o\00 \00s\00y\00m\00b\00o\00l\00:\00 \00\02% \001\004\00.\009\005\00 \00\ac \00\02% \00 \00 \00 \00 \00 \00 \00 \00 \00Q%\n\00Q% \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00p%\00%\00%\00%\00%\00%\00%\00%\00%\00%o% \00 \00 \00 \00 \00 \00 \00 \00 \00Q%\n\00Z%P%P%P%P%P%P%P%P%P%P%P%P%P%P%P%P%P%P%P%P%P%P%P%P%P%P%P%P%P%P%P%P%P%P%P%P%P%P%P%P%P%P%]%\n\00\n\00G\00r\00e\00e\00k\00 \00(\00i\00n\00 \00P\00o\00l\00y\00t\00o\00n\00i\00c\00)\00:\00\n\00\n\00T\00h\00e\00 \00G\00r\00e\00e\00k\00 \00a\00n\00t\00h\00e\00m\00:\00\n\00\n\00\a3\03r\1f \00\b3\03\bd\03\c9\03\c1\03w\1f\b6\03\c9\03 \00\00\1f\c0\03x\1f \00\c4\03t\1f\bd\03 \00\ba\03y\1f\c8\03\b7\03\n\00\c4\03\bf\03\e6\1f \00\c3\03\c0\03\b1\03\b8\03\b9\03\bf\03\e6\1f \00\c4\03t\1f\bd\03 \00\c4\03\c1\03\bf\03\bc\03\b5\03\c1\03u\1f,\00\n\00\c3\03r\1f \00\b3\03\bd\03\c9\03\c1\03w\1f\b6\03\c9\03 \00\00\1f\c0\03x\1f \00\c4\03t\1f\bd\03 \00D\1f\c8\03\b7\03\n\00\c0\03\bf\03z\1f \00\bc\03r\1f \00\b2\03w\1f\b1\03 \00\bc\03\b5\03\c4\03\c1\03q\1f\b5\03\b9\03 \00\c4\03t\1f \00\b3\03\c6\1f.\00\n\00\n\00\bf\1f\91\03\c0\03\bf\1f \00\c4\03p\1f \00\ba\03y\1f\ba\03\ba\03\b1\03\bb\03\b1\03 \00\b2\03\b3\03\b1\03\bb\03\bc\03s\1f\bd\03\b7\03\n\00\c4\03\f6\1f\bd\03 \00\fe\1f\95\03\bb\03\bb\03u\1f\bd\03\c9\03\bd\03 \00\c4\03p\1f \001\1f\b5\03\c1\03q\1f\n\00\ba\03\b1\03v\1f \00\c3\03p\1f\bd\03 \00\c0\03\c1\03\f6\1f\c4\03\b1\03 \00\00\1f\bd\03\b4\03\c1\03\b5\03\b9\03\c9\03\bc\03s\1f\bd\03\b7\03\n\00\c7\03\b1\03\d6\1f\c1\03\b5\03,\00 \00f\1f \00\c7\03\b1\03\d6\1f\c1\03\b5\03,\00 \00\bf\1f\95\03\bb\03\b5\03\c5\03\b8\03\b5\03\c1\03\b9\03q\1f!\00\n\00\n\00F\00r\00o\00m\00 \00a\00 \00s\00p\00e\00e\00c\00h\00 \00o\00f\00 \00D\00e\00m\00o\00s\00t\00h\00e\00n\00e\00s\00 \00i\00n\00 \00t\00h\00e\00 \004\00t\00h\00 \00c\00e\00n\00t\00u\00r\00y\00 \00B\00C\00:\00\n\00\n\00\9f\03P\1f\c7\03v\1f \00\c4\03\b1\03P\1f\c4\03p\1f \00\c0\03\b1\03\c1\03w\1f\c3\03\c4\03\b1\03\c4\03\b1\03w\1f \00\bc\03\bf\03\b9\03 \00\b3\03\b9\03\b3\03\bd\03}\1f\c3\03\ba\03\b5\03\b9\03\bd\03,\00 \00f\1f \00\04\1f\bd\03\b4\03\c1\03\b5\03\c2\03 \00\bf\1f\91\03\b8\03\b7\03\bd\03\b1\03\d6\1f\bf\03\b9\03,\00\n\00E\1f\c4\03\b1\03\bd\03 \00\c4\03\bf\1f \00\b5\030\1f\c2\03 \00\c4\03p\1f \00\c0\03\c1\03q\1f\b3\03\bc\03\b1\03\c4\03\b1\03 \00\00\1f\c0\03\bf\03\b2\03\bb\03s\1f\c8\03\c9\03 \00\ba\03\b1\03v\1f \00E\1f\c4\03\b1\03\bd\03 \00\c0\03\c1\03x\1f\c2\03 \00\c4\03\bf\03z\1f\c2\03\n\00\bb\03y\1f\b3\03\bf\03\c5\03\c2\03 \00\bf\03S\1f\c2\03 \00\00\1f\ba\03\bf\03{\1f\c9\03\87\03 \00\c4\03\bf\03z\1f\c2\03 \00\bc\03r\1f\bd\03 \00\b3\03p\1f\c1\03 \00\bb\03y\1f\b3\03\bf\03\c5\03\c2\03 \00\c0\03\b5\03\c1\03v\1f \00\c4\03\bf\03\e6\1f\n\00\c4\03\b9\03\bc\03\c9\03\c1\03u\1f\c3\03\b1\03\c3\03\b8\03\b1\03\b9\03 \00\a6\03w\1f\bb\03\b9\03\c0\03\c0\03\bf\03\bd\03 \00A\1f\c1\03\f6\1f \00\b3\03\b9\03\b3\03\bd\03\bf\03\bc\03s\1f\bd\03\bf\03\c5\03\c2\03,\00 \00\c4\03p\1f \00\b4\03r\1f \00\c0\03\c1\03q\1f\b3\03\bc\03\b1\03\c4\03\bf\1f\n\00\b5\030\1f\c2\03 \00\c4\03\bf\03\e6\1f\c4\03\bf\03 \00\c0\03\c1\03\bf\03u\1f\ba\03\bf\03\bd\03\c4\03\b1\03,\00 \00 \00e\1f\c3\03\b8\03\bf\1f \00E\1f\c0\03\c9\03\c2\03 \00\bc\03t\1f \00\c0\03\b5\03\b9\03\c3\03y\1f\bc\03\b5\03\b8\03\bf\1f \00\b1\03P\1f\c4\03\bf\03v\1f\n\00\c0\03\c1\03y\1f\c4\03\b5\03\c1\03\bf\03\bd\03 \00\ba\03\b1\03\ba\03\f6\1f\c2\03 \00\c3\03\ba\03s\1f\c8\03\b1\03\c3\03\b8\03\b1\03\b9\03 \00\b4\03s\1f\bf\03\bd\03.\00 \00\bf\03P\1f\b4\03s\1f\bd\03 \00\bf\03V\1f\bd\03 \00\04\1f\bb\03\bb\03\bf\03 \00\bc\03\bf\03\b9\03 \00\b4\03\bf\03\ba\03\bf\03\e6\1f\c3\03\b9\03\bd\03\n\00\bf\031\1f \00\c4\03p\1f \00\c4\03\bf\03\b9\03\b1\03\e6\1f\c4\03\b1\03 \00\bb\03s\1f\b3\03\bf\03\bd\03\c4\03\b5\03\c2\03 \00\"\1f \00\c4\03t\1f\bd\03 \00Q\1f\c0\03y\1f\b8\03\b5\03\c3\03\b9\03\bd\03,\00 \00\c0\03\b5\03\c1\03v\1f \00\'\1f\c2\03 \00\b2\03\bf\03\c5\03\bb\03\b5\03{\1f\b5\03\c3\03\b8\03\b1\03\b9\03,\00\n\00\bf\03P\1f\c7\03v\1f \00\c4\03t\1f\bd\03 \00\bf\03V\1f\c3\03\b1\03\bd\03 \00\c0\03\b1\03\c1\03\b9\03\c3\03\c4\03q\1f\bd\03\c4\03\b5\03\c2\03 \00Q\1f\bc\03\d6\1f\bd\03 \00\01\1f\bc\03\b1\03\c1\03\c4\03q\1f\bd\03\b5\03\b9\03\bd\03.\00 \00\10\1f\b3\03|\1f \00\b4\03s\1f,\00 \00E\1f\c4\03\b9\03 \00\bc\03s\1f\bd\03\n\00\c0\03\bf\03\c4\03\bf\1f \00\10\1f\be\03\c6\1f\bd\03 \00\c4\03\c7\1f \00\c0\03y\1f\bb\03\b5\03\b9\03 \00\ba\03\b1\03v\1f \00\c4\03p\1f \00\b1\03Q\1f\c4\03\c6\1f\c2\03 \00\14\1f\c7\03\b5\03\b9\03\bd\03 \00\00\1f\c3\03\c6\03\b1\03\bb\03\f6\1f\c2\03 \00\ba\03\b1\03v\1f \00\a6\03w\1f\bb\03\b9\03\c0\03\c0\03\bf\03\bd\03\n\00\c4\03\b9\03\bc\03\c9\03\c1\03u\1f\c3\03\b1\03\c3\03\b8\03\b1\03\b9\03,\00 \00\ba\03\b1\03v\1f \00\bc\03q\1f\bb\03\bf\1f \00\00\1f\ba\03\c1\03\b9\03\b2\03\f6\1f\c2\03 \00\bf\036\1f\b4\03\b1\03\87\03 \00\10\1f\c0\03\bf\1f \00\10\1f\bc\03\bf\03\e6\1f \00\b3\03q\1f\c1\03,\00 \00\bf\03P\1f \00\c0\03q\1f\bb\03\b1\03\b9\03\n\00\b3\03s\1f\b3\03\bf\03\bd\03\b5\03\bd\03 \00\c4\03\b1\03\e6\1f\c4\03\bf\1f \00\00\1f\bc\03\c6\03y\1f\c4\03\b5\03\c1\03\b1\03\87\03 \00\bd\03\e6\1f\bd\03 \00\bc\03s\1f\bd\03\c4\03\bf\03\b9\03 \00\c0\03s\1f\c0\03\b5\03\b9\03\c3\03\bc\03\b1\03\b9\03 \00\c4\03\bf\03\e6\1f\b8\03\bf\1f \001\1f\ba\03\b1\03\bd\03x\1f\bd\03\n\00\c0\03\c1\03\bf\03\bb\03\b1\03\b2\03\b5\03\d6\1f\bd\03 \00!\1f\bc\03\d6\1f\bd\03 \00\b5\036\1f\bd\03\b1\03\b9\03 \00\c4\03t\1f\bd\03 \00\c0\03\c1\03}\1f\c4\03\b7\03\bd\03,\00 \00E\1f\c0\03\c9\03\c2\03 \00\c4\03\bf\03z\1f\c2\03 \00\c3\03\c5\03\bc\03\bc\03q\1f\c7\03\bf\03\c5\03\c2\03\n\00\c3\03}\1f\c3\03\bf\03\bc\03\b5\03\bd\03.\00 \00\10\1fp\1f\bd\03 \00\b3\03p\1f\c1\03 \00\c4\03\bf\03\e6\1f\c4\03\bf\03 \00\b2\03\b5\03\b2\03\b1\03w\1f\c9\03\c2\03 \00Q\1f\c0\03q\1f\c1\03\be\03\c3\1f,\00 \00\c4\03y\1f\c4\03\b5\03 \00\ba\03\b1\03v\1f \00\c0\03\b5\03\c1\03v\1f \00\c4\03\bf\03\e6\1f\n\00\c4\03w\1f\bd\03\b1\03 \00\c4\03\b9\03\bc\03\c9\03\c1\03u\1f\c3\03\b5\03\c4\03\b1\03w\1f \00\c4\03\b9\03\c2\03 \00\ba\03\b1\03v\1f \00C\1f\bd\03 \00\c4\03\c1\03y\1f\c0\03\bf\03\bd\03 \00\10\1f\be\03s\1f\c3\03\c4\03\b1\03\b9\03 \00\c3\03\ba\03\bf\03\c0\03\b5\03\d6\1f\bd\03\87\03 \00\c0\03\c1\03v\1f\bd\03 \00\b4\03r\1f\n\00\c4\03t\1f\bd\03 \00\00\1f\c1\03\c7\03t\1f\bd\03 \00@\1f\c1\03\b8\03\f6\1f\c2\03 \00Q\1f\c0\03\bf\03\b8\03s\1f\c3\03\b8\03\b1\03\b9\03,\00 \00\bc\03q\1f\c4\03\b1\03\b9\03\bf\03\bd\03 \00!\1f\b3\03\bf\03\e6\1f\bc\03\b1\03\b9\03 \00\c0\03\b5\03\c1\03v\1f \00\c4\03\c6\1f\c2\03\n\00\c4\03\b5\03\bb\03\b5\03\c5\03\c4\03\c6\1f\c2\03 \00A\1f\bd\03\c4\03\b9\03\bd\03\bf\03\e6\1f\bd\03 \00\c0\03\bf\03\b9\03\b5\03\d6\1f\c3\03\b8\03\b1\03\b9\03 \00\bb\03y\1f\b3\03\bf\03\bd\03.\00\n\00\n\00\94\03\b7\03\bc\03\bf\03\c3\03\b8\03s\1f\bd\03\bf\03\c5\03\c2\03,\00 \00\93\03\fd\1f \00\bf\1f\9f\03\bb\03\c5\03\bd\03\b8\03\b9\03\b1\03\ba\03x\1f\c2\03\n\00\n\00G\00e\00o\00r\00g\00i\00a\00n\00:\00\n\00\n\00F\00r\00o\00m\00 \00a\00 \00U\00n\00i\00c\00o\00d\00e\00 \00c\00o\00n\00f\00e\00r\00e\00n\00c\00e\00 \00i\00n\00v\00i\00t\00a\00t\00i\00o\00n\00:\00\n\00\n\00\d2\10\d7\10\ee\10\dd\10\d5\10\d7\10 \00\d0\10\ee\10\da\10\d0\10\d5\10\d4\10 \00\d2\10\d0\10\d8\10\d0\10\e0\10\dd\10\d7\10 \00\e0\10\d4\10\d2\10\d8\10\e1\10\e2\10\e0\10\d0\10\ea\10\d8\10\d0\10 \00U\00n\00i\00c\00o\00d\00e\00-\00\d8\10\e1\10 \00\db\10\d4\10\d0\10\d7\10\d4\10 \00\e1\10\d0\10\d4\10\e0\10\d7\10\d0\10\e8\10\dd\10\e0\10\d8\10\e1\10\dd\10\n\00\d9\10\dd\10\dc\10\e4\10\d4\10\e0\10\d4\10\dc\10\ea\10\d8\10\d0\10\d6\10\d4\10 \00\d3\10\d0\10\e1\10\d0\10\e1\10\ec\10\e0\10\d4\10\d1\10\d0\10\d3\10,\00 \00\e0\10\dd\10\db\10\d4\10\da\10\d8\10\ea\10 \00\d2\10\d0\10\d8\10\db\10\d0\10\e0\10\d7\10\d4\10\d1\10\d0\10 \001\000\00-\001\002\00 \00\db\10\d0\10\e0\10\e2\10\e1\10,\00\n\00\e5\10.\00 \00\db\10\d0\10\d8\10\dc\10\ea\10\e8\10\d8\10,\00 \00\d2\10\d4\10\e0\10\db\10\d0\10\dc\10\d8\10\d0\10\e8\10\d8\10.\00 \00\d9\10\dd\10\dc\10\e4\10\d4\10\e0\10\d4\10\dc\10\ea\10\d8\10\d0\10 \00\e8\10\d4\10\f0\10\d9\10\e0\10\d4\10\d1\10\e1\10 \00\d4\10\e0\10\d7\10\d0\10\d3\10 \00\db\10\e1\10\dd\10\e4\10\da\10\d8\10\dd\10\e1\10\n\00\d4\10\e5\10\e1\10\de\10\d4\10\e0\10\e2\10\d4\10\d1\10\e1\10 \00\d8\10\e1\10\d4\10\d7\10 \00\d3\10\d0\10\e0\10\d2\10\d4\10\d1\10\e8\10\d8\10 \00\e0\10\dd\10\d2\10\dd\10\e0\10\d8\10\ea\10\d0\10\d0\10 \00\d8\10\dc\10\e2\10\d4\10\e0\10\dc\10\d4\10\e2\10\d8\10 \00\d3\10\d0\10 \00U\00n\00i\00c\00o\00d\00e\00-\00\d8\10,\00\n\00\d8\10\dc\10\e2\10\d4\10\e0\10\dc\10\d0\10\ea\10\d8\10\dd\10\dc\10\d0\10\da\10\d8\10\d6\10\d0\10\ea\10\d8\10\d0\10 \00\d3\10\d0\10 \00\da\10\dd\10\d9\10\d0\10\da\10\d8\10\d6\10\d0\10\ea\10\d8\10\d0\10,\00 \00U\00n\00i\00c\00o\00d\00e\00-\00\d8\10\e1\10 \00\d2\10\d0\10\db\10\dd\10\e7\10\d4\10\dc\10\d4\10\d1\10\d0\10\n\00\dd\10\de\10\d4\10\e0\10\d0\10\ea\10\d8\10\e3\10\da\10 \00\e1\10\d8\10\e1\10\e2\10\d4\10\db\10\d4\10\d1\10\e1\10\d0\10,\00 \00\d3\10\d0\10 \00\d2\10\d0\10\db\10\dd\10\e7\10\d4\10\dc\10\d4\10\d1\10\d8\10\d7\10 \00\de\10\e0\10\dd\10\d2\10\e0\10\d0\10\db\10\d4\10\d1\10\e8\10\d8\10,\00 \00\e8\10\e0\10\d8\10\e4\10\e2\10\d4\10\d1\10\e8\10\d8\10,\00\n\00\e2\10\d4\10\e5\10\e1\10\e2\10\d4\10\d1\10\d8\10\e1\10 \00\d3\10\d0\10\db\10\e3\10\e8\10\d0\10\d5\10\d4\10\d1\10\d0\10\e1\10\d0\10 \00\d3\10\d0\10 \00\db\10\e0\10\d0\10\d5\10\d0\10\da\10\d4\10\dc\10\dd\10\d5\10\d0\10\dc\10 \00\d9\10\dd\10\db\10\de\10\d8\10\e3\10\e2\10\d4\10\e0\10\e3\10\da\10 \00\e1\10\d8\10\e1\10\e2\10\d4\10\db\10\d4\10\d1\10\e8\10\d8\10.\00\n\00\n\00R\00u\00s\00s\00i\00a\00n\00:\00\n\00\n\00F\00r\00o\00m\00 \00a\00 \00U\00n\00i\00c\00o\00d\00e\00 \00c\00o\00n\00f\00e\00r\00e\00n\00c\00e\00 \00i\00n\00v\00i\00t\00a\00t\00i\00o\00n\00:\00\n\00\n\00\17\040\04@\045\043\048\04A\04B\04@\048\04@\04C\049\04B\045\04A\04L\04 \00A\045\049\04G\040\04A\04 \00=\040\04 \00\14\045\04A\04O\04B\04C\04N\04 \00\1c\045\046\044\04C\04=\040\04@\04>\044\04=\04C\04N\04 \00\1a\04>\04=\04D\045\04@\045\04=\04F\048\04N\04 \00?\04>\04\n\00U\00n\00i\00c\00o\00d\00e\00,\00 \00:\04>\04B\04>\04@\040\04O\04 \00A\04>\04A\04B\04>\048\04B\04A\04O\04 \001\000\00-\001\002\00 \00<\040\04@\04B\040\04 \001\009\009\007\00 \003\04>\044\040\04 \002\04 \00\1c\040\049\04=\04F\045\04 \002\04 \00\13\045\04@\04<\040\04=\048\048\04.\00\n\00\1a\04>\04=\04D\045\04@\045\04=\04F\048\04O\04 \00A\04>\041\045\04@\045\04B\04 \00H\048\04@\04>\04:\048\049\04 \00:\04@\04C\043\04 \00M\04:\04A\04?\045\04@\04B\04>\042\04 \00?\04>\04 \00 \002\04>\04?\04@\04>\04A\040\04<\04 \003\04;\04>\041\040\04;\04L\04=\04>\043\04>\04\n\00\18\04=\04B\045\04@\04=\045\04B\040\04 \008\04 \00U\00n\00i\00c\00o\00d\00e\00,\00 \00;\04>\04:\040\04;\048\047\040\04F\048\048\04 \008\04 \008\04=\04B\045\04@\04=\040\04F\048\04>\04=\040\04;\048\047\040\04F\048\048\04,\00 \002\04>\04?\04;\04>\04I\045\04=\048\04N\04 \008\04\n\00?\04@\048\04<\045\04=\045\04=\048\04N\04 \00U\00n\00i\00c\00o\00d\00e\00 \002\04 \00@\040\047\04;\048\04G\04=\04K\04E\04 \00>\04?\045\04@\040\04F\048\04>\04=\04=\04K\04E\04 \00A\048\04A\04B\045\04<\040\04E\04 \008\04 \00?\04@\04>\043\04@\040\04<\04<\04=\04K\04E\04\n\00?\04@\048\04;\04>\046\045\04=\048\04O\04E\04,\00 \00H\04@\048\04D\04B\040\04E\04,\00 \002\045\04@\04A\04B\04:\045\04 \008\04 \00<\04=\04>\043\04>\04O\047\04K\04G\04=\04K\04E\04 \00:\04>\04<\04?\04L\04N\04B\045\04@\04=\04K\04E\04 \00A\048\04A\04B\045\04<\040\04E\04.\00\n\00\n\00T\00h\00a\00i\00 \00(\00U\00C\00S\00 \00L\00e\00v\00e\00l\00 \002\00)\00:\00\n\00\n\00E\00x\00c\00e\00r\00p\00t\00 \00f\00r\00o\00m\00 \00a\00 \00p\00o\00e\00t\00r\00y\00 \00o\00n\00 \00T\00h\00e\00 \00R\00o\00m\00a\00n\00c\00e\00 \00o\00f\00 \00T\00h\00e\00 \00T\00h\00r\00e\00e\00 \00K\00i\00n\00g\00d\00o\00m\00s\00 \00(\00a\00 \00C\00h\00i\00n\00e\00s\00e\00\n\00c\00l\00a\00s\00s\00i\00c\00 \00\'\00S\00a\00n\00 \00G\00u\00a\00\'\00)\00:\00\n\00\n\00[\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00|\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00]\00\n\00 \00 \00O\0e \00A\0e\1c\0eH\0e\19\0e\14\0e4\0e\19\0e.\0e1\0eH\0e\19\0e@\0e*\0e7\0eH\0e-\0e!\0eB\0e\17\0e#\0e!\0eA\0e*\0e\19\0e*\0e1\0e\07\0e@\0e\'\0e\n\0e \00 \00\1e\0e#\0e0\0e\1b\0e\01\0e@\0e\01\0e(\0e\01\0e-\0e\07\0e\1a\0e9\0eJ\0e\01\0e9\0eI\0e\02\0e6\0eI\0e\19\0eC\0e+\0e!\0eH\0e\n\00*\0e4\0e\1a\0e*\0e-\0e\07\0e\01\0e)\0e1\0e\15\0e#\0e4\0e\"\0eL\0e\01\0eH\0e-\0e\19\0e+\0e\19\0eI\0e2\0eA\0e%\0e\16\0e1\0e\14\0eD\0e\1b\0e \00 \00 \00 \00 \00 \00 \00*\0e-\0e\07\0e-\0e\07\0e\04\0eL\0eD\0e\0b\0e#\0eI\0eB\0e\07\0eH\0e@\0e\02\0e%\0e2\0e@\0e\1a\0e2\0e\1b\0e1\0e\0d\0e\0d\0e2\0e\n\00 \00 \00\17\0e#\0e\07\0e\19\0e1\0e\1a\0e\16\0e7\0e-\0e\02\0e1\0e\19\0e\17\0e5\0e@\0e\1b\0eG\0e\19\0e\17\0e5\0eH\0e\1e\0e6\0eH\0e\07\0e \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00\1a\0eI\0e2\0e\19\0e@\0e!\0e7\0e-\0e\07\0e\08\0e6\0e\07\0e\'\0e4\0e\1b\0e#\0e4\0e\15\0e@\0e\1b\0eG\0e\19\0e\19\0e1\0e\01\0e+\0e\19\0e2\0e\n\00B\0e.\0e\08\0e4\0eK\0e\19\0e@\0e#\0e5\0e\"\0e\01\0e\17\0e1\0e\1e\0e\17\0e1\0eH\0e\'\0e+\0e1\0e\'\0e@\0e!\0e7\0e-\0e\07\0e!\0e2\0e \00 \00 \00 \00 \00 \00 \00 \00 \00+\0e!\0e2\0e\"\0e\08\0e0\0e\06\0eH\0e2\0e!\0e\14\0e\n\0e1\0eH\0e\'\0e\15\0e1\0e\'\0e*\0e3\0e\04\0e1\0e\0d\0e\n\00 \00 \00@\0e+\0e!\0e7\0e-\0e\19\0e\02\0e1\0e\1a\0eD\0e*\0eD\0e%\0eH\0e@\0e*\0e7\0e-\0e\08\0e2\0e\01\0e@\0e\04\0e+\0e2\0e \00 \00 \00 \00 \00 \00#\0e1\0e\1a\0e+\0e!\0e2\0e\1b\0eH\0e2\0e@\0e\02\0eI\0e2\0e!\0e2\0e@\0e%\0e\"\0e-\0e2\0e*\0e1\0e\0d\0e\n\00\1d\0eH\0e2\0e\"\0e-\0eI\0e-\0e\07\0e-\0e8\0eI\0e\19\0e\"\0e8\0eA\0e\"\0e\01\0eC\0e+\0eI\0eA\0e\15\0e\01\0e\01\0e1\0e\19\0e \00 \00 \00 \00 \00 \00 \00 \00 \00 \00C\0e\n\0eI\0e*\0e2\0e\'\0e\19\0e1\0eI\0e\19\0e@\0e\1b\0eG\0e\19\0e\n\0e\19\0e\'\0e\19\0e\n\0e7\0eH\0e\19\0e\n\0e\'\0e\19\0eC\0e\08\0e\n\00 \00 \00\1e\0e%\0e1\0e\19\0e%\0e4\0e\t\0e8\0e\"\0e\01\0e8\0e\"\0e\01\0e5\0e\01\0e%\0e1\0e\1a\0e\01\0eH\0e-\0e@\0e+\0e\15\0e8\0e \00 \00 \00 \00 \00 \00 \00 \00 \00 \00\n\0eH\0e2\0e\07\0e-\0e2\0e@\0e\1e\0e(\0e\08\0e#\0e4\0e\07\0e+\0e\19\0e2\0e\1f\0eI\0e2\0e#\0eI\0e-\0e\07\0eD\0e+\0eI\0e\n\00\15\0eI\0e-\0e\07\0e#\0e\1a\0e#\0e2\0e\06\0eH\0e2\0e\1f\0e1\0e\19\0e\08\0e\19\0e\1a\0e#\0e#\0e%\0e1\0e\"\0e \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00$\0eE\0e+\0e2\0eC\0e\04\0e#\0e\04\0eI\0e3\0e\n\0e9\0e\01\0e9\0eI\0e\1a\0e#\0e#\0e%\0e1\0e\07\0e\01\0eL\0e \00/\0e\n\00\n\00(\00T\00h\00e\00 \00a\00b\00o\00v\00e\00 \00i\00s\00 \00a\00 \00t\00w\00o\00-\00c\00o\00l\00u\00m\00n\00 \00t\00e\00x\00t\00.\00 \00I\00f\00 \00c\00o\00m\00b\00i\00n\00i\00n\00g\00 \00c\00h\00a\00r\00a\00c\00t\00e\00r\00s\00 \00a\00r\00e\00 \00h\00a\00n\00d\00l\00e\00d\00\n\00c\00o\00r\00r\00e\00c\00t\00l\00y\00,\00 \00t\00h\00e\00 \00l\00i\00n\00e\00s\00 \00o\00f\00 \00t\00h\00e\00 \00s\00e\00c\00o\00n\00d\00 \00c\00o\00l\00u\00m\00n\00 \00s\00h\00o\00u\00l\00d\00 \00b\00e\00 \00a\00l\00i\00g\00n\00e\00d\00 \00w\00i\00t\00h\00 \00t\00h\00e\00\n\00|\00 \00c\00h\00a\00r\00a\00c\00t\00e\00r\00 \00a\00b\00o\00v\00e\00.\00)\00\n\00\n\00E\00t\00h\00i\00o\00p\00i\00a\00n\00:\00\n\00\n\00P\00r\00o\00v\00e\00r\00b\00s\00 \00i\00n\00 \00t\00h\00e\00 \00A\00m\00h\00a\00r\00i\00c\00 \00l\00a\00n\00g\00u\00a\00g\00e\00:\00\n\00\n\000\12\1b\12\ed\12 \00\a0\12\ed\12s\12(\125\12 \00\95\12\t\13%\12 \00\a0\12\ed\12\a8\120\125\12b\13\n\00e\12\0b\12 \00\ab\12\08\12\9d\12 \00\a5\12\95\12\f0\12\a0\12c\12t\12 \00`\12F\12\18\12 \13\9d\12b\13\n\00\0c\13%\13 \00\eb\12\08\12d\12q\12 \00A\12\1d\12%\13\93\12 \00\90\12\cd\12b\13\n\00\f0\12\00\12 \00`\12\15\12\0d\12\19\12 \00E\12d\12 \00c\12\ed\12 \13#\13 \00\95\12#\13u\12 \00`\12\08\13\f0\12\08\12\cd\12b\13\n\00\e8\12\a0\12M\13 \00\c8\12\08\12\1d\12s\12 \00`\12E\12d\12 \00\a0\12\ed\12s\12=\12\1d\12b\13\n\00\a0\12\ed\12%\13 \00`\12`\12\0b\12 \00\f3\12\cb\12 \00p\12\18\12s\12b\13\n\002\12p\12(\12\t\13\19\12 \00\ed\12\f0\12(\12\0d\13\19\12b\13\n\00@\125\12 \00`\12@\125\12e\13 \00\d5\12\95\12A\12\0b\12\0d\12 \00`\12\a5\12\0d\13)\12 \00\ed\12\04\12\f3\12\0d\12b\13\n\00\f5\12-\12 \00b\12\eb\12e\12-\12 \00\a0\12\95\12`\123\12 \00\eb\125\12-\12b\13\n\000\12\cd\12 \00\a5\12\95\12\f0\12d\12q\12 \00\a5\12\95\12\05\13 \00\a5\12\95\12\f0\12 \00\t\13(\12d\12q\12 \00\a0\12\ed\12p\12\f3\12\f0\12-\12\1d\12b\13\n\00\a5\12\0d\13\dc\12-\12 \00\e8\12\a8\12H\13p\12\cd\12\95\12 \00\t\13.\12.\12 \003\12\ed\12\d8\12\0b\13\cd\12 \00\a0\12\ed\12\f5\12-\12\1d\12b\13\n\00\e8\12\0e\13(\12d\12u\12 \00\0c\12c\12e\13 \00b\12\eb\12\e9\12u\12 \00\ed\125\12E\12 \00c\12\eb\12\e9\12u\12 \00\eb\12 \13\0d\12E\12b\13\n\00%\12+\12 \00\a8\12\18\12M\13s\12u\12 \00\0d\12\04\13\95\12 \00\0b\12K\13s\12u\12b\13\n\00\d3\12c\12\ed\12 \00\1b\12\f0\12*\12\eb\12 \00\e8\12\08\12\cd\12e\13 \00\0d\13\95\12\f5\12 \00\ed\12\de\12 \00\ed\12\de\12+\12\0d\12b\13\n\00\e8\12\a5\125\12\0b\12\1d\12 \00\a0\12\08\13)\12 \00\18\12\ab\12 \00\e8\12\a0\12\1e\12+\12 \00\a0\12\08\13)\12 \00\cb\12-\12\ab\12b\13\n\00p\12\95\12\0b\13\0e\12 \00b\12p\12I\13 \00p\12\18\12\0d\126\12 \00c\12I\13b\13\n\00\c8\12\f3\12\05\13\05\12 \00\1b\12-\12 \00b\12\06\12\95\12 \00(\13-\125\12\05\12 \00\a0\12u\12\0b\120\12\cd\12b\13\n\00\a5\12\0d\13-\12\05\12\95\12 \00`\12M\13+\12=\12\05\12 \00\0d\12\ad\12 \00\d8\12-\12\0b\13b\13\n\00\n\00R\00u\00n\00e\00s\00:\00\n\00\n\00\bb\16\d6\16 \00\b3\16\b9\16\ab\16\a6\16 \00\a6\16\ab\16\cf\16 \00\bb\16\d6\16 \00\d2\16\a2\16\de\16\d6\16 \00\a9\16\be\16 \00\a6\16\ab\16\d7\16 \00\da\16\aa\16\be\16\de\16\d6\16 \00\be\16\a9\16\b1\16\a6\16\b9\16\d6\16\aa\16\b1\16\de\16\a2\16\d7\16 \00\b9\16\c1\16\a6\16 \00\a6\16\aa\16 \00\b9\16\d6\16\e5\16\ab\16\n\00\n\00(\00O\00l\00d\00 \00E\00n\00g\00l\00i\00s\00h\00,\00 \00w\00h\00i\00c\00h\00 \00t\00r\00a\00n\00s\00c\00r\00i\00b\00e\00d\00 \00i\00n\00t\00o\00 \00L\00a\00t\00i\00n\00 \00r\00e\00a\00d\00s\00 \00\'\00H\00e\00 \00c\00w\00a\00e\00t\00h\00 \00t\00h\00a\00t\00 \00h\00e\00\n\00b\00u\00d\00e\00 \00t\00h\00a\00e\00m\00 \00l\00a\00n\00d\00e\00 \00n\00o\00r\00t\00h\00w\00e\00a\00r\00d\00u\00m\00 \00w\00i\00t\00h\00 \00t\00h\00a\00 \00W\00e\00s\00t\00s\00a\00e\00.\00\'\00 \00a\00n\00d\00 \00m\00e\00a\00n\00s\00 \00\'\00H\00e\00 \00s\00a\00i\00d\00\n\00t\00h\00a\00t\00 \00h\00e\00 \00l\00i\00v\00e\00d\00 \00i\00n\00 \00t\00h\00e\00 \00n\00o\00r\00t\00h\00e\00r\00n\00 \00l\00a\00n\00d\00 \00n\00e\00a\00r\00 \00t\00h\00e\00 \00W\00e\00s\00t\00e\00r\00n\00 \00S\00e\00a\00.\00\'\00)\00\n\00\n\00B\00r\00a\00i\00l\00l\00e\00:\00\n\00\n\00L(\01(\'(\11( \00<(\01(\12( \00 \00M(\1c(\07(\11(9(0(\0e( \00c(\15(\0c(\n\00\n\00M(\1c(\07(\11(9( \00:(\01(\0e( \00\19(\11(\01(\19(\12( \00\1e(\15( \00\03(\11(\1b(\14( \00:(\n(9(2( \00y(;(\11( \00\n(\0e( \00\1d(\15( \00\19(3(\03(\1e(\n\001(\01(\1e(\11(\'(;( \00\01(\03(3(\1e( \009(\01(\1e(2( \00y(\11( \00\17(\11(\1b(\n(\0c(;( \00\15(\0b( \00\19(\n(\0e( \00\03(%(\17(\n(\01(\07( \00:(\01(\0e(\n\00\0e(\n(\1b(\1d(+( \00\03(9( \009(\11( \00\n(\07(;(\1b(9(\0d(\01(\1d(\02( \009(\11( \00\n(\07(;(\05(\02( \009(\11( \00%(\1d(\19(;(\1e(\01(\05(;(\02(\n\00\01(\1d(\19( \009(\11( \00!(\n(\11(\0b( \00\0d(3(\17(\1d(;(2( \00N(\n(\17(\15(\15(\1b(\11( \00\0e(\n(\1b(\1d(+( \00\n(\1e(2( \00A(\1d(\19(\n\00N(\n(\17(\15(\15(\1b(\11(0(\0e( \00\1d(\01(\0d(\11( \00:(\01(\0e( \00\1b(\15(\15(\19( \00%(\0f(\15(\1d( \000(a(\01(\1d(\1b(\11(\02( \00\0b(\15(\17( \00\01(\1d(9(9(\14(\1b( \00\19(\11(\n\00!(\15(\0e(\11( \00\1e(\15( \00\0f(%(\1e( \00\19(\n(\0e( \00\19(\01(\1d(\19( \00\1e(\15(2(\n\00\n\00U(\07(\19( \00M(\1c(\07(\11(9( \00:(\01(\0e( \00\01(\0e( \00\19(\11(\01(\19( \00\01(\0e( \00\01( \00\19(\15(\15(\17($(\1d(\01(\n(\07(2(\n\00\n\00M(\14(\19(\16( \00J( \00\19(\15(\1d(0(\1e( \00\0d(\11(\01(\1d( \00\1e(\15( \00\0e(\01(9( \009(\01(\1e( \00J( \00\05(\1d(*(\02( \00\15(\0b( \00\0d(9(\n\00*(\1d( \00\05(\1d(*(\07(+(\1b(\11(\02( \001(\01(\1e( \009(;(\11( \00\n(\0e( \00\0f(\1c(\1e(\n(\n(%(\07(\1c(\07(9( \00\19(\11(\01(\19( \00\01(\03(3(\1e(\n\00\01( \00\19(\15(\15(\17($(\1d(\01(\n(\07(2( \00J( \00\0d(\n(#(\1e( \00\19(\01(\'(\11( \00\03(\11(2( \00\14(\n(\07(\14(+(\02( \00\0d(9(\0e(\11(\07(\0b(\02( \00\1e(\15(\n\00\17(\11(\1b(\1c(\19( \00\01( \00\n(\15(\0b(\0b(\14($(\1d(\01(\n(\07( \00\01(\0e( \009(\11( \00\19(\11(\01(\19(\11(\0c( \00\0f(\n(\11(\n(\11( \00\15(\0b( \00\n(\17(\15(\1d(\0d(\15(\1d(\1b(;(9(\n\00\14( \009(\11( \00\1e(\17(\01(\19(\11(2( \00C(%(\1e( \009(\11( \00:(\n(\0e(\19(\15(\0d( \00\15(\0b( \003(\17( \00\01(\1d(\n(\11(\0c(\15(\17(\0e(\n\00\n(\0e( \00\14( \009(\11( \00\0e(\n(\0d(\n(\07(\11(\06( \00\01(\1d(\19( \00\0d(9( \00%(\1d(\19(\01(\07(\07(*(+( \00\19(\01(\1d(\19(\0e(\n\00)(\01(\07(\07( \00\1d(\15(\1e( \00\19(\n(\0c(%(\17(\03( \00\n(\1e(\02( \00\15(\17( \009(\11( \00J(3(\1d(\1e(\17(9(0(\0e( \00\19(\15(\1d(\11( \00\0b(\15(\17(2( \00y(3(\n\00:(\n(\07(\07( \009(;(\11(\0b(\15(\17(\11( \00\0f(;(\0d(\n(\1e( \00\0d(\11( \00\1e(\15( \00\17(\11(\0f(\11(\01(\1e(\02( \00\11(\0d(\0f(\19(\01(\1e(\n(\n(\01(\07(\07(9(\02( \009(\01(\1e(\n\00M(\1c(\07(\11(9( \00:(\01(\0e( \00\01(\0e( \00\19(\11(\01(\19( \00\01(\0e( \00\01( \00\19(\15(\15(\17($(\1d(\01(\n(\07(2(\n\00\n\00(\00T\00h\00e\00 \00f\00i\00r\00s\00t\00 \00c\00o\00u\00p\00l\00e\00 \00o\00f\00 \00p\00a\00r\00a\00g\00r\00a\00p\00h\00s\00 \00o\00f\00 \00\"\00A\00 \00C\00h\00r\00i\00s\00t\00m\00a\00s\00 \00C\00a\00r\00o\00l\00\"\00 \00b\00y\00 \00D\00i\00c\00k\00e\00n\00s\00)\00\n\00\n\00C\00o\00m\00p\00a\00c\00t\00 \00f\00o\00n\00t\00 \00s\00e\00l\00e\00c\00t\00i\00o\00n\00 \00e\00x\00a\00m\00p\00l\00e\00 \00t\00e\00x\00t\00:\00\n\00\n\00A\00B\00C\00D\00E\00F\00G\00H\00I\00J\00K\00L\00M\00N\00O\00P\00Q\00R\00S\00T\00U\00V\00W\00X\00Y\00Z\00 \00/\000\001\002\003\004\005\006\007\008\009\00\n\00a\00b\00c\00d\00e\00f\00g\00h\00i\00j\00k\00l\00m\00n\00o\00p\00q\00r\00s\00t\00u\00v\00w\00x\00y\00z\00 \00\a3\00\a9\00\b5\00\c0\00\c6\00\d6\00\de\00\df\00\e9\00\f6\00\ff\00\n\00\13 \14 \18 \1c \1d \1e \" & 0 \"!S\01`\01x\01~\01\ac \00\91\03\92\03\93\03\94\03\a9\03\b1\03\b2\03\b3\03\b4\03\c9\03 \00\10\04\11\04\12\04\13\04\14\040\041\042\043\044\04\n\00\00\"\02\"\08\"\1d!\'\"*\"a\"\1e\" \00\91!\97!\a8!\bb!\e3! \00\10%<%T%X%\91%\ba%:&@& \00\01\fb\fd\ff@$\82 \1f\02\1e\e5\04\84\1eP\02\d0\02N#\d0\051\05\d0\10\n\00\n\00G\00r\00e\00e\00t\00i\00n\00g\00s\00 \00i\00n\00 \00v\00a\00r\00i\00o\00u\00s\00 \00l\00a\00n\00g\00u\00a\00g\00e\00s\00:\00\n\00\n\00H\00e\00l\00l\00o\00 \00w\00o\00r\00l\00d\00,\00 \00\9a\03\b1\03\bb\03\b7\03\bc\03s\1f\c1\03\b1\03 \00\ba\03y\1f\c3\03\bc\03\b5\03,\00 \00\b30\f30\cb0\c10\cf0\n\00\n\00B\00o\00x\00 \00d\00r\00a\00w\00i\00n\00g\00 \00a\00l\00i\00g\00n\00m\00e\00n\00t\00 \00t\00e\00s\00t\00s\00:\00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00\88%\n\00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00\89%\n\00T%P%P%f%P%P%W% \00 \00\0c%\00%\00%,%\00%\00%\10% \00 \00m%\00%\00%,%\00%\00%n% \00 \00m%\00%\00%,%\00%\00%n% \00 \00\0f%\01%\01%3%\01%\01%\13% \00 \00\0e%\12%\0f%\11% \00 \00 \00w% \00 \00{% \00\0f%/%\13% \00\0c%0%\10% \00 \00 \00 \00\8a% \00q%r%q%r%s%s%s%\n\00Q%\0c%\00%h%\00%\10%Q% \00 \00\02%T%P%g%P%W%\02% \00 \00\02%R%P%j%P%U%\02% \00 \00\02%S%\00%A%\00%V%\02% \00 \00\03%\0c%\00%B%\00%\10%\03% \00 \00\17%C%D%\19% \00 \00v%<%t%z%K%x% %<%(% \00\1d%K%%% \00 \00 \00 \00\8b% \00r%q%r%q%s%s%s%\n\00Q%\02%r% \00q%\02%Q% \00 \00\02%Q% \00 \00 \00Q%\02% \00 \00\02%\02% \00\02% \00\02%\02% \00 \00\02%Q% \00\03% \00Q%\02% \00 \00\03%\02% \00\7f% \00\02%\03% \00 \00\0d%E%F%\13% \00 \00 \00u% \00 \00y% \00\17%7%\1b% \00\14%8%\18% \00 \00 \00 \00\8c% \00q%r%q%r%s%s%s%\n\00`%a% \00s% \00^%c% \00 \00\1c%b% \00 \00 \00_%$% \00 \00\1c%<%\00%<%\00%<%$% \00 \00\1c%k%\00%B%\00%k%$% \00 \00#%?%~%<%|%?%+% \00 \00\15%\1b%\16%\1a% \00 \00 \00 \00 \00\0c%\04%\04%\10% \00N% \00\0f%\05%\05%\13% \00\0b% \00\8d% \00r%q%r%q%s%s%s%\n\00Q%\02%q% \00r%\02%Q% \00 \00\02%Q% \00 \00 \00Q%\02% \00 \00\02%\02% \00\02% \00\02%\02% \00 \00\02%Q% \00\03% \00Q%\02% \00 \00\03%\02% \00}% \00\02%\03% \00 \00\91%\91%\92%\92%\93%\93%\88%\88% \00\n% \00 \00\06% \00N% \00O% \00 \00\07% \00\0b% \00\8e%\n\00Q%\14%\00%e%\00%\18%Q% \00 \00\02%Z%P%d%P%]%\02% \00 \00\02%X%P%j%P%[%\02% \00 \00\02%Y%\00%@%\00%\\%\02% \00 \00\03%\14%\00%B%\00%\18%\03% \00 \00\91%\91%\92%\92%\93%\93%\88%\88% \00\n% \00 \00\06% \00N% \00O% \00 \00\07% \00\0b% \00\8f%\n\00Z%P%P%i%P%P%]% \00 \00\14%\00%\00%4%\00%\00%\18% \00 \00p%\00%\00%4%\00%\00%o% \00 \00p%\00%\00%4%\00%\00%o% \00 \00\17%\01%\01%;%\01%\01%\1b% \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00\14%L%L%\18% \00N% \00\17%M%M%\1b% \00\0b% \00 \00\81%\82%\83%\84%\85%\86%\87%\88%\n\00\00\00") + (data (i32.const 14188) "\cc\1c\00\00\00\00\00\00\00\00\00\00\01\00\00\00\ba\1c\00\00S\00e\00n\00t\00e\00n\00c\00e\00s\00 \00t\00h\00a\00t\00 \00c\00o\00n\00t\00a\00i\00n\00 \00a\00l\00l\00 \00l\00e\00t\00t\00e\00r\00s\00 \00c\00o\00m\00m\00o\00n\00l\00y\00 \00u\00s\00e\00d\00 \00i\00n\00 \00a\00 \00l\00a\00n\00g\00u\00a\00g\00e\00\n\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00\n\00\n\00M\00a\00r\00k\00u\00s\00 \00K\00u\00h\00n\00 \00<\00h\00t\00t\00p\00:\00/\00/\00w\00w\00w\00.\00c\00l\00.\00c\00a\00m\00.\00a\00c\00.\00u\00k\00/\00~\00m\00g\00k\002\005\00/\00>\00 \00-\00-\00 \002\000\001\002\00-\000\004\00-\001\001\00\n\00\n\00T\00h\00i\00s\00 \00i\00s\00 \00a\00n\00 \00e\00x\00a\00m\00p\00l\00e\00 \00o\00f\00 \00a\00 \00p\00l\00a\00i\00n\00-\00t\00e\00x\00t\00 \00f\00i\00l\00e\00 \00e\00n\00c\00o\00d\00e\00d\00 \00i\00n\00 \00U\00T\00F\00-\008\00.\00\n\00\n\00\n\00D\00a\00n\00i\00s\00h\00 \00(\00d\00a\00)\00\n\00-\00-\00-\00-\00-\00-\00-\00-\00-\00\n\00\n\00 \00 \00Q\00u\00i\00z\00d\00e\00l\00t\00a\00g\00e\00r\00n\00e\00 \00s\00p\00i\00s\00t\00e\00 \00j\00o\00r\00d\00b\00\e6\00r\00 \00m\00e\00d\00 \00f\00l\00\f8\00d\00e\00,\00 \00m\00e\00n\00s\00 \00c\00i\00r\00k\00u\00s\00k\00l\00o\00v\00n\00e\00n\00\n\00 \00 \00W\00o\00l\00t\00h\00e\00r\00 \00s\00p\00i\00l\00l\00e\00d\00e\00 \00p\00\e5\00 \00x\00y\00l\00o\00f\00o\00n\00.\00\n\00 \00 \00(\00=\00 \00Q\00u\00i\00z\00 \00c\00o\00n\00t\00e\00s\00t\00a\00n\00t\00s\00 \00w\00e\00r\00e\00 \00e\00a\00t\00i\00n\00g\00 \00s\00t\00r\00a\00w\00b\00e\00r\00y\00 \00w\00i\00t\00h\00 \00c\00r\00e\00a\00m\00 \00w\00h\00i\00l\00e\00 \00W\00o\00l\00t\00h\00e\00r\00\n\00 \00 \00t\00h\00e\00 \00c\00i\00r\00c\00u\00s\00 \00c\00l\00o\00w\00n\00 \00p\00l\00a\00y\00e\00d\00 \00o\00n\00 \00x\00y\00l\00o\00p\00h\00o\00n\00e\00.\00)\00\n\00\n\00G\00e\00r\00m\00a\00n\00 \00(\00d\00e\00)\00\n\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00\n\00\n\00 \00 \00F\00a\00l\00s\00c\00h\00e\00s\00 \00\dc\00b\00e\00n\00 \00v\00o\00n\00 \00X\00y\00l\00o\00p\00h\00o\00n\00m\00u\00s\00i\00k\00 \00q\00u\00\e4\00l\00t\00 \00j\00e\00d\00e\00n\00 \00g\00r\00\f6\00\df\00e\00r\00e\00n\00 \00Z\00w\00e\00r\00g\00\n\00 \00 \00(\00=\00 \00W\00r\00o\00n\00g\00f\00u\00l\00 \00p\00r\00a\00c\00t\00i\00c\00i\00n\00g\00 \00o\00f\00 \00x\00y\00l\00o\00p\00h\00o\00n\00e\00 \00m\00u\00s\00i\00c\00 \00t\00o\00r\00t\00u\00r\00e\00s\00 \00e\00v\00e\00r\00y\00 \00l\00a\00r\00g\00e\00r\00 \00d\00w\00a\00r\00f\00)\00\n\00\n\00 \00 \00Z\00w\00\f6\00l\00f\00 \00B\00o\00x\00k\00\e4\00m\00p\00f\00e\00r\00 \00j\00a\00g\00t\00e\00n\00 \00E\00v\00a\00 \00q\00u\00e\00r\00 \00\fc\00b\00e\00r\00 \00d\00e\00n\00 \00S\00y\00l\00t\00e\00r\00 \00D\00e\00i\00c\00h\00\n\00 \00 \00(\00=\00 \00T\00w\00e\00l\00v\00e\00 \00b\00o\00x\00i\00n\00g\00 \00f\00i\00g\00h\00t\00e\00r\00s\00 \00h\00u\00n\00t\00e\00d\00 \00E\00v\00a\00 \00a\00c\00r\00o\00s\00s\00 \00t\00h\00e\00 \00d\00i\00k\00e\00 \00o\00f\00 \00S\00y\00l\00t\00)\00\n\00\n\00 \00 \00H\00e\00i\00z\00\f6\00l\00r\00\fc\00c\00k\00s\00t\00o\00\df\00a\00b\00d\00\e4\00m\00p\00f\00u\00n\00g\00\n\00 \00 \00(\00=\00 \00f\00u\00e\00l\00 \00o\00i\00l\00 \00r\00e\00c\00o\00i\00l\00 \00a\00b\00s\00o\00r\00b\00e\00r\00)\00\n\00 \00 \00(\00j\00q\00v\00w\00x\00y\00 \00m\00i\00s\00s\00i\00n\00g\00,\00 \00b\00u\00t\00 \00a\00l\00l\00 \00n\00o\00n\00-\00A\00S\00C\00I\00I\00 \00l\00e\00t\00t\00e\00r\00s\00 \00i\00n\00 \00o\00n\00e\00 \00w\00o\00r\00d\00)\00\n\00\n\00G\00r\00e\00e\00k\00 \00(\00e\00l\00)\00\n\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00\n\00\n\00 \00 \00\93\03\b1\03\b6\03\ad\03\b5\03\c2\03 \00\ba\03\b1\03v\1f \00\bc\03\c5\03\c1\03\c4\03\b9\03r\1f\c2\03 \00\b4\03r\1f\bd\03 \00\b8\03p\1f \00\b2\03\c1\03\f6\1f \00\c0\03\b9\03p\1f \00\c3\03\c4\03x\1f \00\c7\03\c1\03\c5\03\c3\03\b1\03\c6\03v\1f \00\be\03\ad\03\c6\03\c9\03\c4\03\bf\03\n\00 \00 \00(\00=\00 \00N\00o\00 \00m\00o\00r\00e\00 \00s\00h\00a\00l\00l\00 \00I\00 \00s\00e\00e\00 \00a\00c\00a\00c\00i\00a\00s\00 \00o\00r\00 \00m\00y\00r\00t\00l\00e\00s\00 \00i\00n\00 \00t\00h\00e\00 \00g\00o\00l\00d\00e\00n\00 \00c\00l\00e\00a\00r\00i\00n\00g\00)\00\n\00\n\00 \00 \00\9e\03\b5\03\c3\03\ba\03\b5\03\c0\03\ac\03\b6\03\c9\03 \00\c4\03t\1f\bd\03 \00\c8\03\c5\03\c7\03\bf\03\c6\03\b8\03\cc\03\c1\03\b1\03 \00\b2\03\b4\03\b5\03\bb\03\c5\03\b3\03\bc\03\af\03\b1\03\n\00 \00 \00(\00=\00 \00I\00 \00u\00n\00c\00o\00v\00e\00r\00 \00t\00h\00e\00 \00s\00o\00u\00l\00-\00d\00e\00s\00t\00r\00o\00y\00i\00n\00g\00 \00a\00b\00h\00o\00r\00r\00e\00n\00c\00e\00)\00\n\00\n\00E\00n\00g\00l\00i\00s\00h\00 \00(\00e\00n\00)\00\n\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00\n\00\n\00 \00 \00T\00h\00e\00 \00q\00u\00i\00c\00k\00 \00b\00r\00o\00w\00n\00 \00f\00o\00x\00 \00j\00u\00m\00p\00s\00 \00o\00v\00e\00r\00 \00t\00h\00e\00 \00l\00a\00z\00y\00 \00d\00o\00g\00\n\00\n\00S\00p\00a\00n\00i\00s\00h\00 \00(\00e\00s\00)\00\n\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00\n\00\n\00 \00 \00E\00l\00 \00p\00i\00n\00g\00\fc\00i\00n\00o\00 \00W\00e\00n\00c\00e\00s\00l\00a\00o\00 \00h\00i\00z\00o\00 \00k\00i\00l\00\f3\00m\00e\00t\00r\00o\00s\00 \00b\00a\00j\00o\00 \00e\00x\00h\00a\00u\00s\00t\00i\00v\00a\00 \00l\00l\00u\00v\00i\00a\00 \00y\00\n\00 \00 \00f\00r\00\ed\00o\00,\00 \00a\00\f1\00o\00r\00a\00b\00a\00 \00a\00 \00s\00u\00 \00q\00u\00e\00r\00i\00d\00o\00 \00c\00a\00c\00h\00o\00r\00r\00o\00.\00\n\00 \00 \00(\00C\00o\00n\00t\00a\00i\00n\00s\00 \00e\00v\00e\00r\00y\00 \00l\00e\00t\00t\00e\00r\00 \00a\00n\00d\00 \00e\00v\00e\00r\00y\00 \00a\00c\00c\00e\00n\00t\00,\00 \00b\00u\00t\00 \00n\00o\00t\00 \00e\00v\00e\00r\00y\00 \00c\00o\00m\00b\00i\00n\00a\00t\00i\00o\00n\00\n\00 \00 \00o\00f\00 \00v\00o\00w\00e\00l\00 \00+\00 \00a\00c\00u\00t\00e\00.\00)\00\n\00\n\00F\00r\00e\00n\00c\00h\00 \00(\00f\00r\00)\00\n\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00\n\00\n\00 \00 \00P\00o\00r\00t\00e\00z\00 \00c\00e\00 \00v\00i\00e\00u\00x\00 \00w\00h\00i\00s\00k\00y\00 \00a\00u\00 \00j\00u\00g\00e\00 \00b\00l\00o\00n\00d\00 \00q\00u\00i\00 \00f\00u\00m\00e\00 \00s\00u\00r\00 \00s\00o\00n\00 \00\ee\00l\00e\00 \00i\00n\00t\00\e9\00r\00i\00e\00u\00r\00e\00,\00 \00\e0\00\n\00 \00 \00c\00\f4\00t\00\e9\00 \00d\00e\00 \00l\00\'\00a\00l\00c\00\f4\00v\00e\00 \00o\00v\00o\00\ef\00d\00e\00,\00 \00o\00\f9\00 \00l\00e\00s\00 \00b\00\fb\00c\00h\00e\00s\00 \00s\00e\00 \00c\00o\00n\00s\00u\00m\00e\00n\00t\00 \00d\00a\00n\00s\00 \00l\00\'\00\e2\00t\00r\00e\00,\00 \00c\00e\00\n\00 \00 \00q\00u\00i\00 \00l\00u\00i\00 \00p\00e\00r\00m\00e\00t\00 \00d\00e\00 \00p\00e\00n\00s\00e\00r\00 \00\e0\00 \00l\00a\00 \00c\00\e6\00n\00o\00g\00e\00n\00\e8\00s\00e\00 \00d\00e\00 \00l\00\'\00\ea\00t\00r\00e\00 \00d\00o\00n\00t\00 \00i\00l\00 \00e\00s\00t\00 \00q\00u\00e\00s\00t\00i\00o\00n\00\n\00 \00 \00d\00a\00n\00s\00 \00l\00a\00 \00c\00a\00u\00s\00e\00 \00a\00m\00b\00i\00g\00u\00\eb\00 \00e\00n\00t\00e\00n\00d\00u\00e\00 \00\e0\00 \00M\00o\00\ff\00,\00 \00d\00a\00n\00s\00 \00u\00n\00 \00c\00a\00p\00h\00a\00r\00n\00a\00\fc\00m\00 \00q\00u\00i\00,\00\n\00 \00 \00p\00e\00n\00s\00e\00-\00t\00-\00i\00l\00,\00 \00d\00i\00m\00i\00n\00u\00e\00 \00\e7\00\e0\00 \00e\00t\00 \00l\00\e0\00 \00l\00a\00 \00q\00u\00a\00l\00i\00t\00\e9\00 \00d\00e\00 \00s\00o\00n\00 \00S\01u\00v\00r\00e\00.\00\n\00\n\00 \00 \00l\00\'\00\ee\00l\00e\00 \00e\00x\00i\00g\00u\00\eb\00\n\00 \00 \00O\00\f9\00 \00l\00\'\00o\00b\00\e8\00s\00e\00 \00j\00u\00r\00y\00 \00m\00\fb\00r\00\n\00 \00 \00F\00\ea\00t\00e\00 \00l\00\'\00h\00a\00\ef\00 \00v\00o\00l\00a\00p\00\fc\00k\00,\00\n\00 \00 \00\c2\00n\00e\00 \00e\00x\00 \00a\00\e9\00q\00u\00o\00 \00a\00u\00 \00w\00h\00i\00s\00t\00,\00\n\00 \00 \00\d4\00t\00e\00z\00 \00c\00e\00 \00v\00S\01u\00 \00d\00\e9\00\e7\00u\00.\00\n\00\n\00 \00 \00L\00e\00 \00c\00S\01u\00r\00 \00d\00\e9\00\e7\00u\00 \00m\00a\00i\00s\00 \00l\00\'\00\e2\00m\00e\00 \00p\00l\00u\00t\00\f4\00t\00 \00n\00a\00\ef\00v\00e\00,\00 \00L\00o\00u\00\ff\00s\00 \00r\00\ea\00v\00a\00 \00d\00e\00 \00c\00r\00a\00p\00a\00\fc\00t\00e\00r\00 \00e\00n\00\n\00 \00 \00c\00a\00n\00o\00\eb\00 \00a\00u\00 \00d\00e\00l\00\e0\00 \00d\00e\00s\00 \00\ee\00l\00e\00s\00,\00 \00p\00r\00\e8\00s\00 \00d\00u\00 \00m\00\e4\00l\00s\00t\00r\00\f6\00m\00 \00o\00\f9\00 \00b\00r\00\fb\00l\00e\00n\00t\00 \00l\00e\00s\00 \00n\00o\00v\00\e6\00.\00\n\00\n\00I\00r\00i\00s\00h\00 \00G\00a\00e\00l\00i\00c\00 \00(\00g\00a\00)\00\n\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00\n\00\n\00 \00 \00D\00\'\00f\00h\00u\00a\00s\00c\00a\00i\00l\00 \00\cd\00o\00s\00a\00,\00 \00\da\00r\00m\00h\00a\00c\00 \00n\00a\00 \00h\00\d3\00i\00g\00h\00e\00 \00B\00e\00a\00n\00n\00a\00i\00t\00h\00e\00,\00 \00p\00\f3\00r\00 \00\c9\00a\00v\00a\00 \00a\00g\00u\00s\00 \00\c1\00d\00h\00a\00i\00m\00h\00\n\00\n\00H\00u\00n\00g\00a\00r\00i\00a\00n\00 \00(\00h\00u\00)\00\n\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00\n\00\n\00 \00 \00\c1\00r\00v\00\ed\00z\00t\00q\01r\00Q\01 \00t\00\fc\00k\00\f6\00r\00f\00\fa\00r\00\f3\00g\00\e9\00p\00\n\00 \00 \00(\00=\00 \00f\00l\00o\00o\00d\00-\00p\00r\00o\00o\00f\00 \00m\00i\00r\00r\00o\00r\00-\00d\00r\00i\00l\00l\00i\00n\00g\00 \00m\00a\00c\00h\00i\00n\00e\00,\00 \00o\00n\00l\00y\00 \00a\00l\00l\00 \00n\00o\00n\00-\00A\00S\00C\00I\00I\00 \00l\00e\00t\00t\00e\00r\00s\00)\00\n\00\n\00I\00c\00e\00l\00a\00n\00d\00i\00c\00 \00(\00i\00s\00)\00\n\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00\n\00\n\00 \00 \00K\00\e6\00m\00i\00 \00n\00\fd\00 \00\f6\00x\00i\00 \00h\00\e9\00r\00 \00y\00k\00i\00s\00t\00 \00\fe\00j\00\f3\00f\00u\00m\00 \00n\00\fa\00 \00b\00\e6\00\f0\00i\00 \00v\00\ed\00l\00 \00o\00g\00 \00\e1\00d\00r\00e\00p\00a\00\n\00\n\00 \00 \00S\00\e6\00v\00\f6\00r\00 \00g\00r\00\e9\00t\00 \00\e1\00\f0\00a\00n\00 \00\fe\00v\00\ed\00 \00\fa\00l\00p\00a\00n\00 \00v\00a\00r\00 \00\f3\00n\00\fd\00t\00\n\00 \00 \00(\00s\00o\00m\00e\00 \00A\00S\00C\00I\00I\00 \00l\00e\00t\00t\00e\00r\00s\00 \00m\00i\00s\00s\00i\00n\00g\00)\00\n\00\n\00J\00a\00p\00a\00n\00e\00s\00e\00 \00(\00j\00p\00)\00\n\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00\n\00\n\00 \00 \00H\00i\00r\00a\00g\00a\00n\00a\00:\00 \00(\00I\00r\00o\00h\00a\00)\00\n\00\n\00 \00 \00D0\8d0o0k0{0x0h0a0\8a0l0\8b0\920\n\00 \00 \00\8f0K0\880_0\8c0]0d0m0j0\890\800\n\00 \00 \00F0\900n0J0O0\840~0Q0u0S0H0f0\n\00 \00 \00B0U0M0\860\810\7f0W0\910r0\820[0Y0\n\00\n\00 \00 \00K\00a\00t\00a\00k\00a\00n\00a\00:\00\n\00\n\00 \00 \00\a40\ed0\cf0\cb0\db0\d80\c80 \00\c10\ea0\cc0\eb0\f20 \00\ef0\ab0\e80\bf0\ec0\bd0 \00\c40\cd0\ca0\e90\e00\n\00 \00 \00\a60\f00\ce0\aa0\af0\e40\de0 \00\b10\d50\b30\a80\c60 \00\a20\b50\ad0\e60\e10\df0\b70 \00\f10\d20\e20\bb0\b90\f30\n\00\n\00H\00e\00b\00r\00e\00w\00 \00(\00i\00w\00)\00\n\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00\n\00\n\00 \00 \00?\00 \00\d3\05\d2\05 \00\e1\05\e7\05\e8\05\df\05 \00\e9\05\d8\05 \00\d1\05\d9\05\dd\05 \00\de\05\d0\05\d5\05\db\05\d6\05\d1\05 \00\d5\05\dc\05\e4\05\ea\05\e2\05 \00\de\05\e6\05\d0\05 \00\dc\05\d5\05 \00\d7\05\d1\05\e8\05\d4\05 \00\d0\05\d9\05\da\05 \00\d4\05\e7\05\dc\05\d9\05\d8\05\d4\05\n\00\n\00P\00o\00l\00i\00s\00h\00 \00(\00p\00l\00)\00\n\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00\n\00\n\00 \00 \00P\00c\00h\00n\00\05\01\07\01 \00w\00 \00t\00\19\01 \00B\01\f3\00d\00z\01 \00j\00e\00|\01a\00 \00l\00u\00b\00 \00o\00[\01m\00 \00s\00k\00r\00z\00y\00D\01 \00f\00i\00g\00\n\00 \00 \00(\00=\00 \00T\00o\00 \00p\00u\00s\00h\00 \00a\00 \00h\00e\00d\00g\00e\00h\00o\00g\00 \00o\00r\00 \00e\00i\00g\00h\00t\00 \00b\00i\00n\00s\00 \00o\00f\00 \00f\00i\00g\00s\00 \00i\00n\00 \00t\00h\00i\00s\00 \00b\00o\00a\00t\00)\00\n\00\n\00R\00u\00s\00s\00i\00a\00n\00 \00(\00r\00u\00)\00\n\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00\n\00\n\00 \00 \00\12\04 \00G\040\04I\040\04E\04 \00N\043\040\04 \006\048\04;\04 \001\04K\04 \00F\048\04B\04@\04C\04A\04?\00 \00\14\040\04,\00 \00=\04>\04 \00D\040\04;\04L\04H\048\042\04K\049\04 \00M\04:\047\045\04<\04?\04;\04O\04@\04!\00\n\00 \00 \00(\00=\00 \00W\00o\00u\00l\00d\00 \00a\00 \00c\00i\00t\00r\00u\00s\00 \00l\00i\00v\00e\00 \00i\00n\00 \00t\00h\00e\00 \00b\00u\00s\00h\00e\00s\00 \00o\00f\00 \00s\00o\00u\00t\00h\00?\00 \00Y\00e\00s\00,\00 \00b\00u\00t\00 \00o\00n\00l\00y\00 \00a\00 \00f\00a\00k\00e\00 \00o\00n\00e\00!\00)\00\n\00\n\00 \00 \00!\04J\045\04H\04L\04 \006\045\04 \005\04I\04Q\04 \00M\04B\048\04E\04 \00<\04O\043\04:\048\04E\04 \00D\04@\040\04=\04F\04C\047\04A\04:\048\04E\04 \001\04C\04;\04>\04:\04 \004\040\04 \002\04K\04?\045\049\04 \00G\040\04N\04\n\00 \00 \00(\00=\00 \00E\00a\00t\00 \00s\00o\00m\00e\00 \00m\00o\00r\00e\00 \00o\00f\00 \00t\00h\00e\00s\00e\00 \00f\00r\00e\00s\00h\00 \00F\00r\00e\00n\00c\00h\00 \00l\00o\00a\00f\00s\00 \00a\00n\00d\00 \00h\00a\00v\00e\00 \00s\00o\00m\00e\00 \00t\00e\00a\00)\00\n\00\n\00T\00h\00a\00i\00 \00(\00t\00h\00)\00\n\00-\00-\00-\00-\00-\00-\00-\00-\00-\00\n\00\n\00 \00 \00[\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00|\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00]\00\n\00 \00 \00O\0e \00@\0e\1b\0eG\0e\19\0e!\0e\19\0e8\0e)\0e\"\0eL\0e*\0e8\0e\14\0e\1b\0e#\0e0\0e@\0e*\0e#\0e4\0e\10\0e@\0e%\0e4\0e(\0e\04\0e8\0e\13\0e\04\0eH\0e2\0e \00 \00\01\0e\'\0eH\0e2\0e\1a\0e#\0e#\0e\14\0e2\0e\1d\0e9\0e\07\0e*\0e1\0e\15\0e\'\0eL\0e@\0e\14\0e#\0e1\0e\08\0e\t\0e2\0e\19\0e\n\00 \00 \00\08\0e\07\0e\1d\0eH\0e2\0e\1f\0e1\0e\19\0e\1e\0e1\0e\12\0e\19\0e2\0e\'\0e4\0e\n\0e2\0e\01\0e2\0e#\0e \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00-\0e\"\0eH\0e2\0e%\0eI\0e2\0e\07\0e\1c\0e%\0e2\0e\0d\0e$\0eE\0e@\0e\02\0eH\0e\19\0e\06\0eH\0e2\0e\1a\0e5\0e\11\0e2\0eC\0e\04\0e#\0e\n\00 \00 \00D\0e!\0eH\0e\16\0e7\0e-\0eB\0e\17\0e)\0eB\0e\01\0e#\0e\18\0eA\0e\n\0eH\0e\07\0e\0b\0e1\0e\14\0e.\0e6\0e\14\0e.\0e1\0e\14\0e\14\0eH\0e2\0e \00 \00 \00 \00 \00+\0e1\0e\14\0e-\0e \0e1\0e\"\0e@\0e+\0e!\0e7\0e-\0e\19\0e\01\0e5\0e,\0e2\0e-\0e1\0e\n\0e\0c\0e2\0e*\0e1\0e\"\0e\n\00 \00 \00\1b\0e\0f\0e4\0e\1a\0e1\0e\15\0e4\0e\1b\0e#\0e0\0e\1e\0e$\0e\15\0e4\0e\01\0e\0e\0e\01\0e3\0e+\0e\19\0e\14\0eC\0e\08\0e \00 \00 \00 \00 \00 \00 \00 \00\1e\0e9\0e\14\0e\08\0e2\0eC\0e+\0eI\0e\08\0eJ\0e0\0eF\0e \00\08\0eK\0e2\0eF\0e \00\19\0eH\0e2\0e\1f\0e1\0e\07\0e@\0e-\0e\"\0e \00/\0e\n\00\n\00 \00 \00[\00T\00h\00e\00 \00c\00o\00p\00y\00r\00i\00g\00h\00t\00 \00f\00o\00r\00 \00t\00h\00e\00 \00T\00h\00a\00i\00 \00e\00x\00a\00m\00p\00l\00e\00 \00i\00s\00 \00o\00w\00n\00e\00d\00 \00b\00y\00 \00T\00h\00e\00 \00C\00o\00m\00p\00u\00t\00e\00r\00\n\00 \00 \00A\00s\00s\00o\00c\00i\00a\00t\00i\00o\00n\00 \00o\00f\00 \00T\00h\00a\00i\00l\00a\00n\00d\00 \00u\00n\00d\00e\00r\00 \00t\00h\00e\00 \00R\00o\00y\00a\00l\00 \00P\00a\00t\00r\00o\00n\00a\00g\00e\00 \00o\00f\00 \00H\00i\00s\00 \00M\00a\00j\00e\00s\00t\00y\00 \00t\00h\00e\00\n\00 \00 \00K\00i\00n\00g\00.\00]\00\n\00\n\00T\00u\00r\00k\00i\00s\00h\00 \00(\00t\00r\00)\00\n\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00\n\00\n\00 \00 \00P\00i\00j\00a\00m\00a\00l\001\01 \00h\00a\00s\00t\00a\00,\00 \00y\00a\00\1f\011\01z\00 \00_\01o\00f\00\f6\00r\00e\00 \00\e7\00a\00b\00u\00c\00a\00k\00 \00g\00\fc\00v\00e\00n\00d\00i\00.\00\n\00 \00 \00(\00=\00P\00a\00t\00i\00e\00n\00t\00 \00w\00i\00t\00h\00 \00p\00a\00j\00a\00m\00a\00s\00,\00 \00t\00r\00u\00s\00t\00e\00d\00 \00s\00w\00a\00r\00t\00h\00y\00 \00d\00r\00i\00v\00e\00r\00 \00q\00u\00i\00c\00k\00l\00y\00)\00\n\00\00\00") + (data (i32.const 21568) "\03\00\00\00 \00\00\00\00\00\00\00 \00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") (table $0 1 funcref) (elem $0 (i32.const 1)) (export "memory" (memory $0)) @@ -3946,6 +3947,16 @@ i32.const 1 i32.add local.set $6 + local.get $3 + local.get $8 + i32.eqz + i32.and + if + local.get $6 + local.get $2 + i32.sub + return + end else local.get $8 i32.const 2048 @@ -4079,7 +4090,7 @@ if i32.const 688 i32.const 752 - i32.const 739 + i32.const 741 i32.const 49 call $~lib/builtins/abort unreachable @@ -4332,8 +4343,8 @@ global.get $~lib/memory/__data_end i32.lt_s if - i32.const 37920 - i32.const 37968 + i32.const 38000 + i32.const 38048 i32.const 1 i32.const 1 call $~lib/builtins/abort @@ -5073,8 +5084,10 @@ (local $0 i32) (local $1 i32) (local $2 i32) + (local $3 i32) + (local $4 i32) global.get $~lib/memory/__stack_pointer - i32.const 8 + i32.const 16 i32.sub global.set $~lib/memory/__stack_pointer call $~stack_check @@ -5082,12 +5095,15 @@ i64.const 0 i64.store global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store offset=8 + global.get $~lib/memory/__stack_pointer global.get $std/string-encoding/str - local.set $2 + local.set $4 global.get $~lib/memory/__stack_pointer - local.get $2 + local.get $4 i32.store - local.get $2 + local.get $4 i32.const 1 i32.const 2 global.set $~argumentsLength @@ -5254,7 +5270,35 @@ unreachable end global.get $~lib/memory/__stack_pointer - i32.const 8 + i32.const 800 + local.tee $2 + i32.store offset=8 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.const 1 + i32.const 2 + global.set $~argumentsLength + i32.const 0 + call $~lib/string/String.UTF8.encode@varargs + local.tee $3 + i32.store offset=12 + local.get $3 + call $~lib/arraybuffer/ArrayBuffer#get:byteLength + local.get $2 + i32.const 1 + call $~lib/string/String.UTF8.byteLength + i32.eq + i32.eqz + if + i32.const 0 + i32.const 64 + i32.const 94 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + i32.const 16 i32.add global.set $~lib/memory/__stack_pointer ) @@ -5273,7 +5317,7 @@ i32.const 0 i32.store offset=8 global.get $~lib/memory/__stack_pointer - i32.const 800 + i32.const 880 local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 @@ -5292,7 +5336,7 @@ local.tee $0 i32.store offset=8 local.get $0 - i32.const 800 + i32.const 880 local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 @@ -5303,13 +5347,13 @@ if i32.const 0 i32.const 64 - i32.const 98 + i32.const 101 i32.const 3 call $~lib/builtins/abort unreachable end global.get $~lib/memory/__stack_pointer - i32.const 800 + i32.const 880 local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 @@ -5328,7 +5372,7 @@ local.tee $0 i32.store offset=8 local.get $0 - i32.const 832 + i32.const 912 local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 @@ -5339,13 +5383,13 @@ if i32.const 0 i32.const 64 - i32.const 100 + i32.const 103 i32.const 3 call $~lib/builtins/abort unreachable end global.get $~lib/memory/__stack_pointer - i32.const 864 + i32.const 944 local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 @@ -5364,7 +5408,7 @@ local.tee $0 i32.store offset=8 local.get $0 - i32.const 864 + i32.const 944 local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 @@ -5375,13 +5419,13 @@ if i32.const 0 i32.const 64 - i32.const 103 + i32.const 106 i32.const 3 call $~lib/builtins/abort unreachable end global.get $~lib/memory/__stack_pointer - i32.const 864 + i32.const 944 local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 @@ -5400,7 +5444,7 @@ local.tee $0 i32.store offset=8 local.get $0 - i32.const 832 + i32.const 912 local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 @@ -5411,7 +5455,7 @@ if i32.const 0 i32.const 64 - i32.const 105 + i32.const 108 i32.const 3 call $~lib/builtins/abort unreachable @@ -5468,7 +5512,7 @@ if i32.const 0 i32.const 64 - i32.const 111 + i32.const 114 i32.const 3 call $~lib/builtins/abort unreachable @@ -5535,13 +5579,13 @@ if i32.const 0 i32.const 64 - i32.const 117 + i32.const 120 i32.const 3 call $~lib/builtins/abort unreachable end global.get $~lib/memory/__stack_pointer - i32.const 896 + i32.const 976 local.tee $1 i32.store offset=12 local.get $1 @@ -5553,7 +5597,7 @@ if i32.const 0 i32.const 64 - i32.const 119 + i32.const 122 i32.const 3 call $~lib/builtins/abort unreachable @@ -5575,13 +5619,13 @@ if i32.const 0 i32.const 64 - i32.const 121 + i32.const 124 i32.const 3 call $~lib/builtins/abort unreachable end global.get $~lib/memory/__stack_pointer - i32.const 944 + i32.const 1024 local.tee $3 i32.store offset=20 local.get $3 @@ -5593,7 +5637,7 @@ if i32.const 0 i32.const 64 - i32.const 123 + i32.const 126 i32.const 3 call $~lib/builtins/abort unreachable @@ -5612,7 +5656,7 @@ if i32.const 0 i32.const 64 - i32.const 124 + i32.const 127 i32.const 3 call $~lib/builtins/abort unreachable @@ -5640,7 +5684,7 @@ if i32.const 0 i32.const 64 - i32.const 126 + i32.const 129 i32.const 3 call $~lib/builtins/abort unreachable @@ -5711,7 +5755,7 @@ if i32.const 0 i32.const 64 - i32.const 135 + i32.const 138 i32.const 3 call $~lib/builtins/abort unreachable @@ -5736,7 +5780,7 @@ if i32.const 0 i32.const 64 - i32.const 136 + i32.const 139 i32.const 3 call $~lib/builtins/abort unreachable @@ -5761,7 +5805,7 @@ if i32.const 0 i32.const 64 - i32.const 137 + i32.const 140 i32.const 3 call $~lib/builtins/abort unreachable @@ -5788,7 +5832,7 @@ if i32.const 0 i32.const 64 - i32.const 138 + i32.const 141 i32.const 3 call $~lib/builtins/abort unreachable @@ -5815,7 +5859,7 @@ if i32.const 0 i32.const 64 - i32.const 139 + i32.const 142 i32.const 3 call $~lib/builtins/abort unreachable @@ -5842,7 +5886,7 @@ if i32.const 0 i32.const 64 - i32.const 140 + i32.const 143 i32.const 3 call $~lib/builtins/abort unreachable @@ -5858,7 +5902,7 @@ local.get $3 i32.store local.get $3 - i32.const 976 + i32.const 1056 local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 @@ -5869,7 +5913,7 @@ if i32.const 0 i32.const 64 - i32.const 142 + i32.const 145 i32.const 3 call $~lib/builtins/abort unreachable @@ -5896,7 +5940,7 @@ if i32.const 0 i32.const 64 - i32.const 143 + i32.const 146 i32.const 3 call $~lib/builtins/abort unreachable @@ -5923,7 +5967,7 @@ if i32.const 0 i32.const 64 - i32.const 144 + i32.const 147 i32.const 3 call $~lib/builtins/abort unreachable @@ -5971,7 +6015,7 @@ if i32.const 0 i32.const 64 - i32.const 150 + i32.const 153 i32.const 3 call $~lib/builtins/abort unreachable @@ -5994,7 +6038,7 @@ if i32.const 0 i32.const 64 - i32.const 152 + i32.const 155 i32.const 3 call $~lib/builtins/abort unreachable @@ -6042,14 +6086,14 @@ call $std/string-encoding/testUTF8Decode call $std/string-encoding/testUTF8DecodeNullTerminated call $std/string-encoding/testUTF8DecodeUnsafe - i32.const 1008 + i32.const 1088 local.set $0 global.get $~lib/memory/__stack_pointer local.get $0 i32.store local.get $0 call $std/string-encoding/testLarge - i32.const 14128 + i32.const 14208 local.set $0 global.get $~lib/memory/__stack_pointer local.get $0 @@ -6196,7 +6240,7 @@ if i32.const 0 i32.const 752 - i32.const 767 + i32.const 769 i32.const 7 call $~lib/builtins/abort unreachable diff --git a/tests/compiler/std/string.optimized.wat b/tests/compiler/std/string.optimized.wat index 98f5851467..2656b9f5fd 100644 --- a/tests/compiler/std/string.optimized.wat +++ b/tests/compiler/std/string.optimized.wat @@ -1770,12 +1770,12 @@ (local $0 i32) (local $1 i32) memory.size - local.tee $0 + local.tee $1 i32.const 0 i32.le_s if (result i32) i32.const 1 - local.get $0 + local.get $1 i32.sub memory.grow i32.const 0 @@ -1793,11 +1793,11 @@ i32.const 0 i32.store loop $for-loop|0 - local.get $1 + local.get $0 i32.const 23 i32.lt_u if - local.get $1 + local.get $0 i32.const 2 i32.shl i32.const 42272 @@ -1805,14 +1805,14 @@ i32.const 0 i32.store offset=4 i32.const 0 - local.set $0 + local.set $1 loop $for-loop|1 - local.get $0 + local.get $1 i32.const 16 i32.lt_u if - local.get $0 local.get $1 + local.get $0 i32.const 4 i32.shl i32.add @@ -1822,17 +1822,17 @@ i32.add i32.const 0 i32.store offset=96 - local.get $0 + local.get $1 i32.const 1 i32.add - local.set $0 + local.set $1 br $for-loop|1 end end - local.get $1 + local.get $0 i32.const 1 i32.add - local.set $1 + local.set $0 br $for-loop|0 end end @@ -6931,8 +6931,6 @@ select i32.store16 offset=4 local.get $1 - i32.const 2 - i32.add else local.get $0 i32.const 4 @@ -7032,9 +7030,9 @@ local.get $0 local.get $1 i32.add - i32.const 2 - i32.add end + i32.const 2 + i32.add end end end @@ -7428,8 +7426,8 @@ local.get $6 i64.const 0 i64.store offset=16 - block $folding-inner2 - block $folding-inner1 + block $folding-inner3 + block $folding-inner2 block $folding-inner0 local.get $2 i32.eqz @@ -7459,12 +7457,7 @@ i32.const 1 call $byn-split-outlined-A$~lib/rt/itcms/__link end - global.get $~lib/memory/__stack_pointer - i32.const 24 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $1 - return + br $folding-inner3 end local.get $0 i32.const 20 @@ -7472,7 +7465,7 @@ i32.load offset=16 i32.const 1 i32.shr_u - local.set $8 + local.set $7 i32.const 2147483647 local.get $2 local.get $2 @@ -7486,9 +7479,9 @@ i32.load offset=16 i32.const 1 i32.shr_u - local.tee $9 + local.tee $6 if - local.get $8 + local.get $7 i32.eqz if global.get $~lib/memory/__stack_pointer @@ -7496,37 +7489,37 @@ i32.const 4 i32.const 0 call $~lib/rt/__newArray - local.tee $0 + local.tee $1 i32.store offset=4 - local.get $0 + local.get $1 i32.load offset=4 i32.const 1712 i32.store - br $folding-inner1 + br $folding-inner3 end else - local.get $8 + local.get $7 i32.eqz br_if $folding-inner0 global.get $~lib/memory/__stack_pointer - local.get $8 + local.get $7 local.get $2 local.get $2 - local.get $8 + local.get $7 i32.gt_s select - local.tee $1 + local.tee $2 i32.const 4 i32.const 0 call $~lib/rt/__newArray - local.tee $2 + local.tee $1 i32.store - local.get $2 + local.get $1 i32.load offset=4 - local.set $4 + local.set $3 loop $for-loop|0 - local.get $1 - local.get $3 + local.get $2 + local.get $4 i32.gt_s if global.get $~lib/memory/__stack_pointer @@ -7536,116 +7529,111 @@ local.tee $5 i32.store offset=8 local.get $5 - local.get $3 + local.get $4 i32.const 1 i32.shl local.get $0 i32.add i32.load16_u i32.store16 - local.get $3 + local.get $4 i32.const 2 i32.shl - local.get $4 + local.get $3 i32.add local.get $5 i32.store local.get $5 if - local.get $2 + local.get $1 local.get $5 i32.const 1 call $byn-split-outlined-A$~lib/rt/itcms/__link 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 - i32.const 24 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $2 - return + 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 $3 + local.tee $8 i32.store offset=12 loop $while-continue|1 local.get $0 local.get $1 - local.get $4 + local.get $5 call $~lib/string/String#indexOf - local.tee $6 + local.tee $9 i32.const -1 i32.xor if - local.get $6 - local.get $4 + local.get $9 + local.get $5 i32.sub - local.tee $7 + local.tee $4 i32.const 0 i32.gt_s if global.get $~lib/memory/__stack_pointer - local.get $7 + local.get $4 i32.const 1 i32.shl local.tee $10 i32.const 1 call $~lib/rt/itcms/__new - local.tee $7 + local.tee $4 i32.store offset=16 - local.get $7 local.get $4 + local.get $5 i32.const 1 i32.shl local.get $0 i32.add local.get $10 call $~lib/memory/memory.copy - local.get $3 - local.get $7 + local.get $8 + local.get $4 call $~lib/array/Array<~lib/string/String>#push else global.get $~lib/memory/__stack_pointer i32.const 1712 i32.store offset=20 - local.get $3 + local.get $8 i32.const 1712 call $~lib/array/Array<~lib/string/String>#push end local.get $2 - local.get $5 + local.get $3 i32.const 1 i32.add - local.tee $5 + local.tee $3 i32.eq br_if $folding-inner2 local.get $6 local.get $9 i32.add - local.set $4 + local.set $5 br $while-continue|1 end end - local.get $4 + local.get $5 i32.eqz if - local.get $3 + local.get $8 local.get $0 call $~lib/array/Array<~lib/string/String>#push br $folding-inner2 end - local.get $8 - local.get $4 + local.get $7 + local.get $5 i32.sub local.tee $1 i32.const 0 @@ -7661,21 +7649,21 @@ local.tee $2 i32.store offset=4 local.get $2 - local.get $4 + local.get $5 i32.const 1 i32.shl local.get $0 i32.add local.get $1 call $~lib/memory/memory.copy - local.get $3 + local.get $8 local.get $2 call $~lib/array/Array<~lib/string/String>#push else global.get $~lib/memory/__stack_pointer i32.const 1712 i32.store offset=20 - local.get $3 + local.get $8 i32.const 1712 call $~lib/array/Array<~lib/string/String>#push end @@ -7683,27 +7671,28 @@ i32.const 24 i32.add global.set $~lib/memory/__stack_pointer - local.get $3 + local.get $8 return end i32.const 0 i32.const 4 i32.const 0 call $~lib/rt/__newArray - local.set $0 + local.set $1 + br $folding-inner3 end global.get $~lib/memory/__stack_pointer i32.const 24 i32.add global.set $~lib/memory/__stack_pointer - local.get $0 + local.get $8 return end global.get $~lib/memory/__stack_pointer i32.const 24 i32.add global.set $~lib/memory/__stack_pointer - local.get $3 + local.get $1 ) (func $start:std/string (local $0 i32) @@ -7879,14 +7868,12 @@ i32.const 1 i32.le_u br_if $__inlined_func$~lib/string/String#codePointAt - local.get $3 - i32.load16_u offset=2 - local.tee $5 - local.set $0 local.get $4 i32.const 2 i32.eq - local.get $5 + local.get $3 + i32.load16_u offset=2 + local.tee $0 i32.const 64512 i32.and i32.const 55296 @@ -8398,33 +8385,24 @@ i32.const 2176 i32.store offset=4 i32.const 0 + i32.const 2172 + i32.load + i32.const 1 + i32.shr_u + local.tee $0 local.get $3 i32.const 20 i32.sub i32.load offset=16 i32.const 1 i32.shr_u - local.tee $0 - i32.const 0 - local.get $0 - local.get $0 - i32.const 0 i32.gt_s - select - local.tee $0 - i32.const 2172 - i32.load - i32.const 1 - i32.shr_u - local.tee $4 - i32.add - i32.lt_s br_if $__inlined_func$~lib/string/String#startsWith drop local.get $3 - local.get $0 + i32.const 0 i32.const 2176 - local.get $4 + local.get $0 call $~lib/util/string/compareImpl i32.eqz end @@ -8457,7 +8435,7 @@ local.tee $0 local.get $0 i32.const 536870910 - i32.gt_s + i32.gt_u select i32.const 2204 i32.load @@ -13690,28 +13668,28 @@ global.get $~lib/memory/__stack_pointer i32.const 65377 call $~lib/string/String.fromCodePoint - local.tee $0 + local.tee $3 i32.store offset=36 global.get $~lib/memory/__stack_pointer i32.const 55296 call $~lib/string/String.fromCodePoint - local.set $4 + local.set $5 global.get $~lib/memory/__stack_pointer - local.get $4 + local.get $5 i32.store i32.const 56322 call $~lib/string/String.fromCodePoint - local.set $5 + local.set $0 global.get $~lib/memory/__stack_pointer - local.get $5 + local.get $0 i32.store offset=4 - local.get $4 local.get $5 + local.get $0 call $~lib/string/String#concat - local.tee $3 + local.tee $0 i32.store offset=40 - local.get $0 local.get $3 + local.get $0 call $~lib/string/String.__gt i32.eqz if @@ -21694,43 +21672,45 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $2 + local.tee $1 i32.const 0 i32.store - local.get $2 + local.get $1 local.get $0 i32.load offset=12 - local.tee $3 + local.tee $1 i32.const 1 i32.shl i32.const 1 call $~lib/rt/itcms/__new - local.tee $2 + local.tee $3 i32.store local.get $0 i32.load offset=4 + local.set $2 + i32.const 0 local.set $0 loop $for-loop|0 + local.get $0 local.get $1 - local.get $3 i32.lt_s if - local.get $1 + local.get $0 i32.const 1 i32.shl - local.get $2 + local.get $3 i32.add - local.get $1 + local.get $0 i32.const 2 i32.shl - local.get $0 + local.get $2 i32.add i32.load i32.store16 - local.get $1 + local.get $0 i32.const 1 i32.add - local.set $1 + local.set $0 br $for-loop|0 end end @@ -21738,7 +21718,7 @@ i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $2 + local.get $3 ) (func $~lib/string/String.fromCodePoint (param $0 i32) (result i32) (local $1 i32) @@ -21849,10 +21829,6 @@ i32.shl local.tee $3 i32.eqz - local.get $1 - i32.const 1 - i32.shl - local.tee $1 local.get $0 i32.const 20 i32.sub @@ -21861,8 +21837,12 @@ i32.shr_u i32.const 1 i32.shl - local.tee $6 - i32.lt_u + local.tee $4 + local.get $1 + i32.const 1 + i32.shl + local.tee $1 + i32.gt_u i32.or if global.get $~lib/memory/__stack_pointer @@ -21876,17 +21856,17 @@ local.get $1 i32.const 1 call $~lib/rt/itcms/__new - local.tee $4 + local.tee $5 i32.store + local.get $3 local.get $1 - local.get $6 + local.get $4 i32.sub - local.tee $5 - local.get $3 - i32.gt_u + local.tee $6 + i32.lt_u if local.get $3 - local.get $5 + local.get $6 i32.const 2 i32.sub local.get $3 @@ -21894,36 +21874,36 @@ local.tee $1 i32.mul local.set $7 - local.get $4 + local.get $5 local.get $2 local.get $3 local.get $1 call $~lib/memory/memory.repeat - local.get $4 + local.get $5 local.get $7 i32.add local.get $2 - local.get $5 + local.get $6 local.get $7 i32.sub call $~lib/memory/memory.copy else - local.get $4 - local.get $2 local.get $5 + local.get $2 + local.get $6 call $~lib/memory/memory.copy end - local.get $4 local.get $5 + local.get $6 i32.add local.get $0 - local.get $6 + 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 $4 + local.get $5 ) (func $~lib/string/String#padEnd (param $0 i32) (param $1 i32) (param $2 i32) (result i32) (local $3 i32) @@ -21958,10 +21938,6 @@ i32.shl local.tee $3 i32.eqz - local.get $1 - i32.const 1 - i32.shl - local.tee $4 local.get $0 i32.const 20 i32.sub @@ -21970,8 +21946,12 @@ i32.shr_u i32.const 1 i32.shl + local.tee $4 + local.get $1 + i32.const 1 + i32.shl local.tee $5 - i32.lt_u + i32.gt_u i32.or if global.get $~lib/memory/__stack_pointer @@ -21982,53 +21962,53 @@ return end global.get $~lib/memory/__stack_pointer - local.get $4 + local.get $5 i32.const 1 call $~lib/rt/itcms/__new local.tee $1 i32.store local.get $1 local.get $0 - local.get $5 - call $~lib/memory/memory.copy local.get $4 + call $~lib/memory/memory.copy + local.get $3 local.get $5 + local.get $4 i32.sub - local.tee $4 - local.get $3 - i32.gt_u + local.tee $5 + i32.lt_u if local.get $3 - local.get $4 + local.get $5 i32.const 2 i32.sub local.get $3 i32.div_u - local.tee $6 + local.tee $0 i32.mul - local.set $0 + local.set $6 local.get $1 - local.get $5 + local.get $4 i32.add - local.tee $5 + local.tee $4 local.get $2 local.get $3 - local.get $6 - call $~lib/memory/memory.repeat local.get $0 - local.get $5 + call $~lib/memory/memory.repeat + local.get $4 + local.get $6 i32.add local.get $2 - local.get $4 - local.get $0 + local.get $5 + local.get $6 i32.sub call $~lib/memory/memory.copy else local.get $1 - local.get $5 + local.get $4 i32.add local.get $2 - local.get $4 + local.get $5 call $~lib/memory/memory.copy end global.get $~lib/memory/__stack_pointer @@ -22222,7 +22202,7 @@ i32.shr_u i32.const 1 i32.shl - local.tee $2 + local.tee $3 local.set $1 loop $while-continue|0 local.get $1 @@ -22234,16 +22214,16 @@ i32.const 2 i32.sub i32.load16_u - local.tee $3 + local.tee $2 i32.const 5760 i32.lt_u if - local.get $3 + local.get $2 i32.const 128 i32.or i32.const 160 i32.eq - local.get $3 + local.get $2 i32.const 9 i32.sub i32.const 4 @@ -22252,7 +22232,7 @@ br $__inlined_func$~lib/util/string/isSpace end i32.const 1 - local.get $3 + local.get $2 i32.const -8192 i32.add i32.const 10 @@ -22261,31 +22241,31 @@ drop block $break|0 block $case6|0 - local.get $3 + local.get $2 i32.const 5760 i32.eq br_if $case6|0 - local.get $3 + local.get $2 i32.const 8232 i32.eq br_if $case6|0 - local.get $3 + local.get $2 i32.const 8233 i32.eq br_if $case6|0 - local.get $3 + local.get $2 i32.const 8239 i32.eq br_if $case6|0 - local.get $3 + local.get $2 i32.const 8287 i32.eq br_if $case6|0 - local.get $3 + local.get $2 i32.const 12288 i32.eq br_if $case6|0 - local.get $3 + local.get $2 i32.const 65279 i32.eq br_if $case6|0 @@ -22318,7 +22298,7 @@ return end local.get $1 - local.get $2 + local.get $3 i32.eq if global.get $~lib/memory/__stack_pointer @@ -22781,21 +22761,21 @@ global.get $~lib/memory/__stack_pointer i32.const 0 i32.store - local.get $0 + local.get $1 i32.const 20 i32.sub i32.load offset=16 i32.const 1 i32.shr_u - local.tee $4 - local.get $1 + local.tee $3 + local.get $0 i32.const 20 i32.sub i32.load offset=16 i32.const 1 i32.shr_u - local.tee $3 - i32.le_u + local.tee $4 + i32.ge_u if local.get $3 local.get $4 @@ -22905,25 +22885,25 @@ (local $9 i32) (local $10 i32) (local $11 i32) + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.sub + global.set $~lib/memory/__stack_pointer + 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-inner2 - global.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-inner1 local.get $0 i32.const 20 @@ -22931,18 +22911,18 @@ i32.load offset=16 i32.const 1 i32.shr_u - local.tee $5 + local.tee $3 local.get $1 i32.const 20 i32.sub i32.load offset=16 i32.const 1 i32.shr_u - local.tee $7 + local.tee $8 i32.le_u if - local.get $5 - local.get $7 + local.get $3 + local.get $8 i32.ge_u if local.get $2 @@ -22961,46 +22941,46 @@ i32.load offset=16 i32.const 1 i32.shr_u - local.set $3 - local.get $7 + local.set $4 + local.get $8 i32.eqz if - local.get $3 + local.get $4 i32.eqz br_if $folding-inner2 global.get $~lib/memory/__stack_pointer + local.get $4 local.get $3 - local.get $5 i32.const 1 i32.add i32.mul - local.get $5 + local.get $3 i32.add i32.const 1 i32.shl i32.const 1 call $~lib/rt/itcms/__new - local.tee $4 + local.tee $5 i32.store - local.get $4 + local.get $5 local.get $2 - local.get $3 + local.get $4 i32.const 1 i32.shl call $~lib/memory/memory.copy - local.get $3 + local.get $4 local.set $1 loop $for-loop|0 - local.get $5 - local.get $6 + local.get $3 + local.get $11 i32.gt_u if local.get $1 i32.const 1 i32.shl - local.get $4 + local.get $5 i32.add - local.get $6 + local.get $11 i32.const 1 i32.shl local.get $0 @@ -23013,85 +22993,85 @@ local.tee $1 i32.const 1 i32.shl - local.get $4 + local.get $5 i32.add local.get $2 - local.get $3 + local.get $4 i32.const 1 i32.shl call $~lib/memory/memory.copy local.get $1 - local.get $3 + local.get $4 i32.add local.set $1 - local.get $6 + local.get $11 i32.const 1 i32.add - local.set $6 + local.set $11 br $for-loop|0 end end br $folding-inner1 end - local.get $3 - local.get $7 + local.get $4 + local.get $8 i32.eq if global.get $~lib/memory/__stack_pointer - local.get $5 + local.get $3 i32.const 1 i32.shl - local.tee $5 + local.tee $3 i32.const 1 call $~lib/rt/itcms/__new - local.tee $4 + local.tee $5 i32.store - local.get $4 - local.get $0 local.get $5 + local.get $0 + local.get $3 call $~lib/memory/memory.copy loop $while-continue|1 local.get $0 local.get $1 - local.get $9 + local.get $10 call $~lib/string/String#indexOf - local.tee $5 + local.tee $3 i32.const -1 i32.xor if - local.get $5 + local.get $3 i32.const 1 i32.shl - local.get $4 + local.get $5 i32.add local.get $2 - local.get $3 + local.get $4 i32.const 1 i32.shl call $~lib/memory/memory.copy - local.get $5 - local.get $7 + local.get $3 + local.get $8 i32.add - local.set $9 + local.set $10 br $while-continue|1 end end br $folding-inner1 end - local.get $5 - local.set $4 + local.get $3 + local.set $5 loop $while-continue|2 local.get $0 local.get $1 - local.get $9 + local.get $10 call $~lib/string/String#indexOf - local.tee $6 + local.tee $7 i32.const -1 i32.xor if - local.get $10 + local.get $11 if (result i32) - local.get $10 + local.get $11 i32.const 20 i32.sub i32.load offset=16 @@ -23103,106 +23083,106 @@ i32.eqz if global.get $~lib/memory/__stack_pointer - local.get $5 + local.get $3 i32.const 1 i32.shl i32.const 1 call $~lib/rt/itcms/__new - local.tee $10 + local.tee $11 i32.store offset=4 end + local.get $5 local.get $4 - local.get $3 - local.get $6 local.get $9 + local.get $7 + local.get $10 i32.sub - local.tee $11 - local.get $8 + local.tee $6 i32.add i32.add i32.lt_u if global.get $~lib/memory/__stack_pointer - local.get $10 - local.get $4 + local.get $11 + local.get $5 i32.const 1 i32.shl - local.tee $4 + local.tee $5 i32.const 1 i32.shl call $~lib/rt/itcms/__renew - local.tee $10 + local.tee $11 i32.store offset=4 end - local.get $8 + local.get $9 i32.const 1 i32.shl - local.get $10 + local.get $11 i32.add - local.get $9 + local.get $10 i32.const 1 i32.shl local.get $0 i32.add - local.get $11 + local.get $6 i32.const 1 i32.shl call $~lib/memory/memory.copy - local.get $8 - local.get $11 + local.get $6 + local.get $9 i32.add - local.tee $8 + local.tee $6 i32.const 1 i32.shl - local.get $10 + local.get $11 i32.add local.get $2 - local.get $3 + local.get $4 i32.const 1 i32.shl call $~lib/memory/memory.copy - local.get $3 - local.get $8 - i32.add - local.set $8 + local.get $4 local.get $6 - local.get $7 i32.add local.set $9 + local.get $7 + local.get $8 + i32.add + local.set $10 br $while-continue|2 end end - local.get $10 + local.get $11 if - local.get $4 local.get $5 local.get $9 + local.get $3 + local.get $10 i32.sub local.tee $1 - local.get $8 i32.add i32.lt_u if global.get $~lib/memory/__stack_pointer - local.get $10 - local.get $4 + local.get $11 + local.get $5 i32.const 1 i32.shl - local.tee $4 + local.tee $5 i32.const 1 i32.shl call $~lib/rt/itcms/__renew - local.tee $10 + local.tee $11 i32.store offset=4 end local.get $1 if - local.get $8 + local.get $9 i32.const 1 i32.shl - local.get $10 + local.get $11 i32.add - local.get $9 + local.get $10 i32.const 1 i32.shl local.get $0 @@ -23212,27 +23192,27 @@ i32.shl call $~lib/memory/memory.copy end + local.get $5 local.get $1 - local.get $8 + local.get $9 i32.add local.tee $0 - local.get $4 - i32.lt_u + i32.gt_u if global.get $~lib/memory/__stack_pointer - local.get $10 + local.get $11 local.get $0 i32.const 1 i32.shl call $~lib/rt/itcms/__renew - local.tee $10 + local.tee $11 i32.store offset=4 end global.get $~lib/memory/__stack_pointer i32.const 8 i32.add global.set $~lib/memory/__stack_pointer - local.get $10 + local.get $11 return end br $folding-inner2 @@ -23241,7 +23221,7 @@ i32.const 8 i32.add global.set $~lib/memory/__stack_pointer - local.get $4 + local.get $5 return end global.get $~lib/memory/__stack_pointer @@ -23498,10 +23478,9 @@ i32.gt_s select local.tee $2 - local.tee $4 + local.get $2 local.get $3 - local.get $4 - i32.lt_s + i32.gt_s select i32.const 1 i32.shl @@ -23817,7 +23796,7 @@ block $__inlined_func$~lib/util/number/ulog_base (result i32) local.get $7 i64.extend_i32_u - local.tee $6 + local.tee $5 local.set $2 local.get $1 i32.popcnt @@ -23840,7 +23819,7 @@ end local.get $1 i64.extend_i32_s - local.tee $5 + local.tee $6 local.set $3 i32.const 1 local.set $0 @@ -23870,7 +23849,7 @@ i64.ne if local.get $2 - local.get $5 + local.get $6 i64.div_u local.set $2 local.get $0 @@ -23894,7 +23873,7 @@ local.tee $0 i32.store local.get $0 - local.get $6 + local.get $5 local.get $7 local.get $1 call $~lib/util/number/utoa64_any_core @@ -23913,8 +23892,8 @@ local.get $0 ) (func $~lib/util/number/utoa32 (param $0 i32) (param $1 i32) (result i32) - (local $2 i32) - (local $3 i64) + (local $2 i64) + (local $3 i32) (local $4 i64) (local $5 i64) (local $6 i64) @@ -24017,9 +23996,9 @@ i32.shl i32.const 1 call $~lib/rt/itcms/__new - local.tee $2 + local.tee $3 i32.store - local.get $2 + local.get $3 local.get $0 local.get $1 call $~lib/util/number/utoa32_dec_lut @@ -24042,11 +24021,11 @@ i32.shl i32.const 1 call $~lib/rt/itcms/__new - local.tee $2 + local.tee $3 i32.store local.get $0 i64.extend_i32_u - local.set $3 + local.set $2 loop $while-continue|0 local.get $1 i32.const 2 @@ -24058,9 +24037,9 @@ local.tee $1 i32.const 1 i32.shl - local.get $2 - i32.add local.get $3 + i32.add + local.get $2 i32.wrap_i64 i32.const 255 i32.and @@ -24070,10 +24049,10 @@ i32.add i32.load i32.store - local.get $3 + local.get $2 i64.const 8 i64.shr_u - local.set $3 + local.set $2 br $while-continue|0 end end @@ -24081,8 +24060,8 @@ i32.const 1 i32.and if - local.get $2 local.get $3 + local.get $2 i32.wrap_i64 i32.const 6 i32.shl @@ -24096,15 +24075,15 @@ block $__inlined_func$~lib/util/number/ulog_base (result i32) local.get $0 i64.extend_i32_u - local.tee $6 - local.set $3 + local.tee $5 + local.set $2 local.get $1 i32.popcnt i32.const 1 i32.eq if i32.const 63 - local.get $3 + local.get $2 i64.clz i32.wrap_i64 i32.sub @@ -24119,19 +24098,19 @@ end local.get $1 i64.extend_i32_s - local.tee $5 + local.tee $6 local.set $4 i32.const 1 local.set $0 loop $while-continue|00 - local.get $3 + local.get $2 local.get $4 i64.ge_u if - local.get $3 + local.get $2 local.get $4 i64.div_u - local.set $3 + local.set $2 local.get $4 local.get $4 i64.mul @@ -24144,14 +24123,14 @@ end end loop $while-continue|1 - local.get $3 + local.get $2 i64.const 0 i64.ne if - local.get $3 - local.get $5 + local.get $2 + local.get $6 i64.div_u - local.set $3 + local.set $2 local.get $0 i32.const 1 i32.add @@ -24168,10 +24147,10 @@ i32.shl i32.const 1 call $~lib/rt/itcms/__new - local.tee $2 + local.tee $3 i32.store - local.get $2 - local.get $6 + local.get $3 + local.get $5 local.get $0 local.get $1 call $~lib/util/number/utoa64_any_core @@ -24181,7 +24160,7 @@ i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $2 + local.get $3 ) (func $~lib/util/number/utoa64 (param $0 i64) (param $1 i32) (result i32) (local $2 i64) @@ -24244,47 +24223,46 @@ local.get $0 i32.wrap_i64 local.tee $1 - local.tee $3 i32.const 100000 i32.lt_u if (result i32) - local.get $3 + local.get $1 i32.const 100 i32.lt_u if (result i32) - local.get $3 + local.get $1 i32.const 10 i32.ge_u i32.const 1 i32.add else - local.get $3 + local.get $1 i32.const 10000 i32.ge_u i32.const 3 i32.add - local.get $3 + local.get $1 i32.const 1000 i32.ge_u i32.add end else - local.get $3 + local.get $1 i32.const 10000000 i32.lt_u if (result i32) - local.get $3 + local.get $1 i32.const 1000000 i32.ge_u i32.const 6 i32.add else - local.get $3 + local.get $1 i32.const 1000000000 i32.ge_u i32.const 8 i32.add - local.get $3 + local.get $1 i32.const 100000000 i32.ge_u i32.add @@ -24594,47 +24572,46 @@ local.get $0 i32.wrap_i64 local.tee $1 - local.tee $3 i32.const 100000 i32.lt_u if (result i32) - local.get $3 + local.get $1 i32.const 100 i32.lt_u if (result i32) - local.get $3 + local.get $1 i32.const 10 i32.ge_u i32.const 1 i32.add else - local.get $3 + local.get $1 i32.const 10000 i32.ge_u i32.const 3 i32.add - local.get $3 + local.get $1 i32.const 1000 i32.ge_u i32.add end else - local.get $3 + local.get $1 i32.const 10000000 i32.lt_u if (result i32) - local.get $3 + local.get $1 i32.const 1000000 i32.ge_u i32.const 6 i32.add else - local.get $3 + local.get $1 i32.const 1000000000 i32.ge_u i32.const 8 i32.add - local.get $3 + local.get $1 i32.const 100000000 i32.ge_u i32.add @@ -24950,22 +24927,22 @@ call $~lib/util/number/dtoa_core i32.const 1 i32.shl - local.set $2 + local.set $1 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 $2 i32.store - local.get $1 - i32.const 22864 local.get $2 + i32.const 22864 + local.get $1 call $~lib/memory/memory.copy global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $1 + local.get $2 ) (func $byn-split-outlined-A$~lib/rt/itcms/__visit (param $0 i32) global.get $~lib/rt/itcms/white diff --git a/tests/compiler/std/symbol.optimized.wat b/tests/compiler/std/symbol.optimized.wat index 30c8aa5278..41f8793785 100644 --- a/tests/compiler/std/symbol.optimized.wat +++ b/tests/compiler/std/symbol.optimized.wat @@ -829,12 +829,12 @@ (local $0 i32) (local $1 i32) memory.size - local.tee $0 + local.tee $1 i32.const 0 i32.le_s if (result i32) i32.const 1 - local.get $0 + local.get $1 i32.sub memory.grow i32.const 0 @@ -852,11 +852,11 @@ i32.const 0 i32.store loop $for-loop|0 - local.get $1 + local.get $0 i32.const 23 i32.lt_u if - local.get $1 + local.get $0 i32.const 2 i32.shl i32.const 19088 @@ -864,14 +864,14 @@ i32.const 0 i32.store offset=4 i32.const 0 - local.set $0 + local.set $1 loop $for-loop|1 - local.get $0 + local.get $1 i32.const 16 i32.lt_u if - local.get $0 local.get $1 + local.get $0 i32.const 4 i32.shl i32.add @@ -881,17 +881,17 @@ i32.add i32.const 0 i32.store offset=96 - local.get $0 + local.get $1 i32.const 1 i32.add - local.set $0 + local.set $1 br $for-loop|1 end end - local.get $1 + local.get $0 i32.const 1 i32.add - local.set $1 + local.set $0 br $for-loop|0 end end @@ -3335,7 +3335,6 @@ (local $8 i32) (local $9 i32) (local $10 i32) - (local $11 i32) global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub @@ -3508,11 +3507,11 @@ global.set $~lib/symbol/idToString end global.get $~lib/symbol/nextId - local.tee $2 + local.tee $3 i32.const 1 i32.add global.set $~lib/symbol/nextId - local.get $2 + local.get $3 i32.eqz if unreachable @@ -3520,7 +3519,7 @@ global.get $~lib/memory/__stack_pointer local.tee $0 global.get $~lib/symbol/stringToId - local.tee $5 + local.tee $4 i32.store local.get $0 i32.const 4 @@ -3530,31 +3529,29 @@ i32.const 2700 i32.lt_s br_if $folding-inner1 - local.get $2 - local.set $0 global.get $~lib/memory/__stack_pointer i32.const 0 i32.store - local.get $5 + local.get $4 i32.const 1056 call $~lib/util/hash/HASH<~lib/string/String> - local.tee $6 + local.tee $5 call $~lib/map/Map<~lib/string/String,usize>#find - local.tee $1 + local.tee $0 if - local.get $1 local.get $0 + local.get $3 i32.store offset=4 else - local.get $5 + local.get $4 i32.load offset=16 - local.get $5 + local.get $4 i32.load offset=12 i32.eq if - local.get $5 + local.get $4 i32.load offset=20 - local.get $5 + local.get $4 i32.load offset=12 i32.const 3 i32.mul @@ -3562,17 +3559,17 @@ i32.div_s i32.lt_s if (result i32) - local.get $5 + local.get $4 i32.load offset=4 else - local.get $5 + local.get $4 i32.load offset=4 i32.const 1 i32.shl i32.const 1 i32.or end - local.set $7 + local.set $6 global.get $~lib/memory/__stack_pointer i32.const 12 i32.sub @@ -3582,123 +3579,123 @@ i32.lt_s br_if $folding-inner1 global.get $~lib/memory/__stack_pointer - local.tee $1 + local.tee $0 i64.const 0 i64.store - local.get $1 + local.get $0 i32.const 0 i32.store offset=8 - local.get $1 - local.get $7 + local.get $0 + local.get $6 i32.const 1 i32.add - local.tee $1 + local.tee $0 i32.const 2 i32.shl call $~lib/arraybuffer/ArrayBuffer#constructor - local.tee $8 + local.tee $7 i32.store global.get $~lib/memory/__stack_pointer - local.get $1 + local.get $0 i32.const 3 i32.shl i32.const 3 i32.div_s - local.tee $9 + local.tee $8 i32.const 12 i32.mul call $~lib/arraybuffer/ArrayBuffer#constructor - local.tee $3 + local.tee $1 i32.store offset=4 - local.get $5 + local.get $4 i32.load offset=8 - local.tee $4 - local.get $5 + local.tee $2 + local.get $4 i32.load offset=16 i32.const 12 i32.mul i32.add - local.set $10 - local.get $3 - local.set $1 + local.set $9 + local.get $1 + local.set $0 loop $while-continue|0 - local.get $4 - local.get $10 + local.get $2 + local.get $9 i32.ne if - local.get $4 + local.get $2 i32.load offset=8 i32.const 1 i32.and i32.eqz if global.get $~lib/memory/__stack_pointer - local.get $4 + local.get $2 i32.load - local.tee $11 + local.tee $10 i32.store offset=8 - local.get $1 - local.get $11 + local.get $0 + local.get $10 i32.store - local.get $1 - local.get $4 + local.get $0 + local.get $2 i32.load offset=4 i32.store offset=4 - local.get $1 - local.get $11 + local.get $0 + local.get $10 call $~lib/util/hash/HASH<~lib/string/String> - local.get $7 + local.get $6 i32.and i32.const 2 i32.shl - local.get $8 + local.get $7 i32.add - local.tee $11 + local.tee $10 i32.load i32.store offset=8 - local.get $11 - local.get $1 + local.get $10 + local.get $0 i32.store - local.get $1 + local.get $0 i32.const 12 i32.add - local.set $1 + local.set $0 end - local.get $4 + local.get $2 i32.const 12 i32.add - local.set $4 + local.set $2 br $while-continue|0 end end - local.get $5 - local.get $8 + local.get $4 + local.get $7 i32.store - local.get $8 + local.get $7 if - local.get $5 - local.get $8 + local.get $4 + local.get $7 i32.const 0 call $byn-split-outlined-A$~lib/rt/itcms/__link end - local.get $5 - local.get $7 + local.get $4 + local.get $6 i32.store offset=4 - local.get $5 - local.get $3 + local.get $4 + local.get $1 i32.store offset=8 - local.get $3 + local.get $1 if - local.get $5 - local.get $3 + local.get $4 + local.get $1 i32.const 0 call $byn-split-outlined-A$~lib/rt/itcms/__link end - local.get $5 - local.get $9 + local.get $4 + local.get $8 i32.store offset=12 - local.get $5 - local.get $5 + local.get $4 + local.get $4 i32.load offset=20 i32.store offset=16 global.get $~lib/memory/__stack_pointer @@ -3707,53 +3704,53 @@ global.set $~lib/memory/__stack_pointer end global.get $~lib/memory/__stack_pointer - local.get $5 + local.get $4 i32.load offset=8 - local.tee $1 + local.tee $0 i32.store - local.get $5 - local.get $5 + local.get $4 + local.get $4 i32.load offset=16 - local.tee $3 + local.tee $1 i32.const 1 i32.add i32.store offset=16 - local.get $3 + local.get $1 i32.const 12 i32.mul - local.get $1 + local.get $0 i32.add - local.tee $1 + local.tee $0 i32.const 1056 i32.store - local.get $5 + local.get $4 i32.const 1056 i32.const 1 call $byn-split-outlined-A$~lib/rt/itcms/__link - local.get $1 local.get $0 + local.get $3 i32.store offset=4 - local.get $5 - local.get $5 + local.get $4 + local.get $4 i32.load offset=20 i32.const 1 i32.add i32.store offset=20 - local.get $1 - local.get $5 + local.get $0 + local.get $4 i32.load - local.get $5 + local.get $4 i32.load offset=4 - local.get $6 + local.get $5 i32.and i32.const 2 i32.shl i32.add - local.tee $3 + local.tee $1 i32.load i32.store offset=8 - local.get $3 local.get $1 + local.get $0 i32.store end global.get $~lib/memory/__stack_pointer @@ -3762,7 +3759,7 @@ global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer global.get $~lib/symbol/idToString - local.tee $5 + local.tee $4 i32.store global.get $~lib/memory/__stack_pointer i32.const 4 @@ -3775,10 +3772,9 @@ global.get $~lib/memory/__stack_pointer i32.const 0 i32.store - local.get $5 + local.get $4 i32.load - local.get $0 - local.tee $3 + local.get $3 i32.const -1028477379 i32.mul i32.const 374761397 @@ -3806,8 +3802,8 @@ i32.shr_u local.get $0 i32.xor - local.tee $6 - local.get $5 + local.tee $5 + local.get $4 i32.load offset=4 i32.and i32.const 2 @@ -3848,20 +3844,20 @@ local.get $0 i32.const 1056 i32.store offset=4 - local.get $5 + local.get $4 i32.const 1056 i32.const 1 call $byn-split-outlined-A$~lib/rt/itcms/__link else - local.get $5 + local.get $4 i32.load offset=16 - local.get $5 + local.get $4 i32.load offset=12 i32.eq if - local.get $5 + local.get $4 i32.load offset=20 - local.get $5 + local.get $4 i32.load offset=12 i32.const 3 i32.mul @@ -3869,17 +3865,17 @@ i32.div_s i32.lt_s if (result i32) - local.get $5 + local.get $4 i32.load offset=4 else - local.get $5 + local.get $4 i32.load offset=4 i32.const 1 i32.shl i32.const 1 i32.or end - local.set $7 + local.set $6 global.get $~lib/memory/__stack_pointer i32.const 8 i32.sub @@ -3893,14 +3889,14 @@ i64.const 0 i64.store local.get $0 - local.get $7 + local.get $6 i32.const 1 i32.add local.tee $0 i32.const 2 i32.shl call $~lib/arraybuffer/ArrayBuffer#constructor - local.tee $8 + local.tee $7 i32.store global.get $~lib/memory/__stack_pointer local.get $0 @@ -3908,45 +3904,45 @@ i32.shl i32.const 3 i32.div_s - local.tee $9 + local.tee $8 i32.const 12 i32.mul call $~lib/arraybuffer/ArrayBuffer#constructor - local.tee $4 + local.tee $1 i32.store offset=4 - local.get $5 + local.get $4 i32.load offset=8 - local.tee $1 - local.get $5 + local.tee $2 + local.get $4 i32.load offset=16 i32.const 12 i32.mul i32.add - local.set $10 - local.get $4 + local.set $9 + local.get $1 local.set $0 loop $while-continue|00 - local.get $1 - local.get $10 + local.get $2 + local.get $9 i32.ne if - local.get $1 + local.get $2 i32.load offset=8 i32.const 1 i32.and i32.eqz if local.get $0 - local.get $1 + local.get $2 i32.load - local.tee $11 + local.tee $10 i32.store local.get $0 - local.get $1 + local.get $2 i32.load offset=4 i32.store offset=4 local.get $0 - local.get $11 + local.get $10 i32.const -1028477379 i32.mul i32.const 374761397 @@ -3955,35 +3951,35 @@ i32.rotl i32.const 668265263 i32.mul - local.tee $11 + local.tee $10 i32.const 15 i32.shr_u - local.get $11 + local.get $10 i32.xor i32.const -2048144777 i32.mul - local.tee $11 + local.tee $10 i32.const 13 i32.shr_u - local.get $11 + local.get $10 i32.xor i32.const -1028477379 i32.mul - local.tee $11 + local.tee $10 i32.const 16 i32.shr_u - local.get $11 + local.get $10 i32.xor - local.get $7 + local.get $6 i32.and i32.const 2 i32.shl - local.get $8 + local.get $7 i32.add - local.tee $11 + local.tee $10 i32.load i32.store offset=8 - local.get $11 + local.get $10 local.get $0 i32.store local.get $0 @@ -3991,41 +3987,41 @@ i32.add local.set $0 end - local.get $1 + local.get $2 i32.const 12 i32.add - local.set $1 + local.set $2 br $while-continue|00 end end - local.get $5 - local.get $8 + local.get $4 + local.get $7 i32.store - local.get $8 + local.get $7 if - local.get $5 - local.get $8 + local.get $4 + local.get $7 i32.const 0 call $byn-split-outlined-A$~lib/rt/itcms/__link end - local.get $5 - local.get $7 + local.get $4 + local.get $6 i32.store offset=4 - local.get $5 local.get $4 + local.get $1 i32.store offset=8 - local.get $4 + local.get $1 if - local.get $5 local.get $4 + local.get $1 i32.const 0 call $byn-split-outlined-A$~lib/rt/itcms/__link end - local.get $5 - local.get $9 + local.get $4 + local.get $8 i32.store offset=12 - local.get $5 - local.get $5 + local.get $4 + local.get $4 i32.load offset=20 i32.store offset=16 global.get $~lib/memory/__stack_pointer @@ -4034,12 +4030,12 @@ global.set $~lib/memory/__stack_pointer end global.get $~lib/memory/__stack_pointer - local.get $5 + local.get $4 i32.load offset=8 local.tee $0 i32.store - local.get $5 - local.get $5 + local.get $4 + local.get $4 i32.load offset=16 local.tee $1 i32.const 1 @@ -4056,22 +4052,22 @@ local.get $0 i32.const 1056 i32.store offset=4 - local.get $5 + local.get $4 i32.const 1056 i32.const 1 call $byn-split-outlined-A$~lib/rt/itcms/__link - local.get $5 - local.get $5 + local.get $4 + local.get $4 i32.load offset=20 i32.const 1 i32.add i32.store offset=20 local.get $0 - local.get $5 + local.get $4 i32.load - local.get $5 + local.get $4 i32.load offset=4 - local.get $6 + local.get $5 i32.and i32.const 2 i32.shl @@ -4091,7 +4087,7 @@ i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $2 + local.get $3 return end i32.const 19104 diff --git a/tests/compiler/std/typedarray.optimized.wat b/tests/compiler/std/typedarray.optimized.wat index fe2e03facc..e37533c4cc 100644 --- a/tests/compiler/std/typedarray.optimized.wat +++ b/tests/compiler/std/typedarray.optimized.wat @@ -1389,12 +1389,12 @@ (local $0 i32) (local $1 i32) memory.size - local.tee $0 + local.tee $1 i32.const 0 i32.le_s if (result i32) i32.const 1 - local.get $0 + local.get $1 i32.sub memory.grow i32.const 0 @@ -1412,11 +1412,11 @@ i32.const 0 i32.store loop $for-loop|0 - local.get $1 + local.get $0 i32.const 23 i32.lt_u if - local.get $1 + local.get $0 i32.const 2 i32.shl i32.const 33024 @@ -1424,14 +1424,14 @@ i32.const 0 i32.store offset=4 i32.const 0 - local.set $0 + local.set $1 loop $for-loop|1 - local.get $0 + local.get $1 i32.const 16 i32.lt_u if - local.get $0 local.get $1 + local.get $0 i32.const 4 i32.shl i32.add @@ -1441,17 +1441,17 @@ i32.add i32.const 0 i32.store offset=96 - local.get $0 + local.get $1 i32.const 1 i32.add - local.set $0 + local.set $1 br $for-loop|1 end end - local.get $1 + local.get $0 i32.const 1 i32.add - local.set $1 + local.set $0 br $for-loop|0 end end @@ -6103,7 +6103,6 @@ br $while-continue|0 end end - local.get $2 local.get $1 i32.const 8388608 i32.ge_u @@ -6121,6 +6120,7 @@ i32.sub local.set $1 end + local.get $2 local.get $1 i32.const 8 i32.shl @@ -6584,14 +6584,14 @@ i32.load local.tee $1 call $~lib/typedarray/Int8Array#constructor - local.tee $4 + local.tee $2 i32.store offset=4 loop $for-loop|0 local.get $0 local.get $1 i32.lt_s if - local.get $4 + local.get $2 local.get $0 i32.const 7728 local.get $0 @@ -6610,26 +6610,26 @@ i32.const -1 local.set $1 block $~lib/typedarray/INDEX_OF<~lib/typedarray/Int8Array,i8>|inlined.0 - local.get $4 + local.get $2 i32.load offset=8 - local.tee $3 + local.tee $4 i32.const 0 i32.le_s i32.const 1 - local.get $3 + local.get $4 select br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Int8Array,i8>|inlined.0 - local.get $4 + local.get $2 i32.load offset=4 - local.set $2 + local.set $3 loop $while-continue|0 local.get $0 - local.get $3 + local.get $4 i32.lt_s if local.get $0 local.tee $1 - local.get $2 + local.get $3 i32.add i32.load8_u i32.eqz @@ -6658,26 +6658,26 @@ i32.const -1 local.set $1 block $~lib/typedarray/INDEX_OF<~lib/typedarray/Int8Array,i8>|inlined.01 - local.get $4 + local.get $2 i32.load offset=8 - local.tee $3 + local.tee $4 i32.const 0 i32.le_s i32.const 1 - local.get $3 + local.get $4 select br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Int8Array,i8>|inlined.01 - local.get $4 + local.get $2 i32.load offset=4 - local.set $2 + local.set $3 loop $while-continue|02 local.get $0 - local.get $3 + local.get $4 i32.lt_s if local.get $0 local.tee $1 - local.get $2 + local.get $3 i32.add i32.load8_u i32.const 11 @@ -6709,26 +6709,26 @@ i32.const -1 local.set $1 block $~lib/typedarray/INDEX_OF<~lib/typedarray/Int8Array,i8>|inlined.04 - local.get $4 + local.get $2 i32.load offset=8 - local.tee $3 + local.tee $4 i32.const 0 i32.le_s i32.const 1 - local.get $3 + local.get $4 select br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Int8Array,i8>|inlined.04 - local.get $4 + local.get $2 i32.load offset=4 - local.set $2 + local.set $3 loop $while-continue|05 local.get $0 - local.get $3 + local.get $4 i32.lt_s if local.get $0 local.tee $1 - local.get $2 + local.get $3 i32.add i32.load8_u i32.const 255 @@ -6760,26 +6760,26 @@ i32.const -1 local.set $1 block $~lib/typedarray/INDEX_OF<~lib/typedarray/Int8Array,i8>|inlined.07 - local.get $4 + local.get $2 i32.load offset=8 - local.tee $3 + local.tee $4 i32.const 0 i32.le_s i32.const 1 - local.get $3 + local.get $4 select br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Int8Array,i8>|inlined.07 - local.get $4 + local.get $2 i32.load offset=4 - local.set $2 + local.set $3 loop $while-continue|08 local.get $0 - local.get $3 + local.get $4 i32.lt_s if local.get $0 local.tee $1 - local.get $2 + local.get $3 i32.add i32.load8_u i32.const 3 @@ -6811,26 +6811,26 @@ i32.const -1 local.set $1 block $~lib/typedarray/INDEX_OF<~lib/typedarray/Int8Array,i8>|inlined.010 - 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.010 - local.get $4 + local.get $2 i32.load offset=4 - local.set $2 + local.set $3 loop $while-continue|011 local.get $0 - local.get $3 + local.get $4 i32.lt_s if local.get $0 local.tee $1 - local.get $2 + local.get $3 i32.add i32.load8_u i32.const 3 @@ -6862,26 +6862,26 @@ i32.const -1 local.set $1 block $~lib/typedarray/INDEX_OF<~lib/typedarray/Int8Array,i8>|inlined.013 - local.get $4 + local.get $2 i32.load offset=8 - local.tee $3 + local.tee $4 i32.const 3 i32.le_s i32.const 1 - local.get $3 + local.get $4 select br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Int8Array,i8>|inlined.013 - local.get $4 + local.get $2 i32.load offset=4 - local.set $2 + local.set $3 loop $while-continue|014 local.get $0 - local.get $3 + local.get $4 i32.lt_s if local.get $0 local.tee $1 - local.get $2 + local.get $3 i32.add i32.load8_u i32.const 3 @@ -6913,26 +6913,26 @@ i32.const -1 local.set $1 block $~lib/typedarray/INDEX_OF<~lib/typedarray/Int8Array,i8>|inlined.016 - local.get $4 + local.get $2 i32.load offset=8 - local.tee $3 + local.tee $4 i32.const 4 i32.le_s i32.const 1 - local.get $3 + local.get $4 select br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Int8Array,i8>|inlined.016 - local.get $4 + local.get $2 i32.load offset=4 - local.set $2 + local.set $3 loop $while-continue|017 local.get $0 - local.get $3 + local.get $4 i32.lt_s if local.get $0 local.tee $1 - local.get $2 + local.get $3 i32.add i32.load8_u i32.const 3 @@ -6964,26 +6964,26 @@ i32.const -1 local.set $1 block $~lib/typedarray/INDEX_OF<~lib/typedarray/Int8Array,i8>|inlined.019 - local.get $4 + local.get $2 i32.load offset=8 - local.tee $3 + local.tee $4 i32.const 10 i32.le_s i32.const 1 - local.get $3 + local.get $4 select br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Int8Array,i8>|inlined.019 - local.get $4 + local.get $2 i32.load offset=4 - local.set $2 + local.set $3 loop $while-continue|020 local.get $0 - local.get $3 + local.get $4 i32.lt_s if local.get $0 local.tee $1 - local.get $2 + local.get $3 i32.add i32.load8_u i32.const 1 @@ -7011,18 +7011,18 @@ unreachable end i32.const -1 - local.set $1 + local.set $0 block $~lib/typedarray/INDEX_OF<~lib/typedarray/Int8Array,i8>|inlined.022 - local.get $4 + local.get $2 i32.load offset=8 - local.tee $2 + local.tee $3 i32.const -100 i32.le_s i32.const 1 - local.get $2 + local.get $3 select br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Int8Array,i8>|inlined.022 - local.get $2 + local.get $3 i32.const 100 i32.sub local.tee $0 @@ -7031,13 +7031,13 @@ i32.const 0 i32.gt_s select - local.set $1 - local.get $4 - i32.load offset=4 local.set $0 + local.get $2 + i32.load offset=4 + local.set $1 loop $while-continue|023 - local.get $1 - local.get $2 + local.get $0 + local.get $3 i32.lt_s if local.get $0 @@ -7047,17 +7047,17 @@ i32.const 1 i32.eq br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Int8Array,i8>|inlined.022 - 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 i32.const 1 i32.ne if @@ -7070,42 +7070,44 @@ end i32.const 1 global.set $~argumentsLength - local.get $4 + local.get $2 + local.tee $0 i32.load offset=8 - local.tee $2 - local.set $0 + local.set $3 i32.const -1 local.set $1 block $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Int8Array,i8>|inlined.0 local.get $2 + i32.load offset=8 + local.tee $2 i32.eqz br_if $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Int8Array,i8>|inlined.0 - local.get $0 local.get $2 + local.get $3 i32.add local.get $2 i32.const 1 i32.sub - local.get $0 - local.get $0 + local.get $3 local.get $2 - i32.ge_s + local.get $3 + i32.le_s select - local.get $0 + local.get $3 i32.const 0 i32.lt_s select local.set $1 - local.get $4 + local.get $0 i32.load offset=4 - local.set $0 + local.set $2 loop $while-continue|00 local.get $1 i32.const 0 i32.ge_s if - local.get $0 local.get $1 + local.get $2 i32.add i32.load8_u i32.eqz @@ -7131,42 +7133,42 @@ end i32.const 1 global.set $~argumentsLength - local.get $4 + local.get $0 i32.load offset=8 - local.tee $2 - local.set $0 + local.tee $3 + local.set $2 i32.const -1 local.set $1 block $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Int8Array,i8>|inlined.05 - local.get $2 + local.get $3 i32.eqz br_if $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Int8Array,i8>|inlined.05 - local.get $0 local.get $2 + local.get $3 i32.add - local.get $2 + local.get $3 i32.const 1 i32.sub - local.get $0 - local.get $0 local.get $2 + local.get $2 + local.get $3 i32.ge_s select - local.get $0 + local.get $2 i32.const 0 i32.lt_s select local.set $1 - local.get $4 + local.get $0 i32.load offset=4 - local.set $0 + local.set $2 loop $while-continue|06 local.get $1 i32.const 0 i32.ge_s if - local.get $0 local.get $1 + local.get $2 i32.add i32.load8_u i32.const 11 @@ -7195,42 +7197,42 @@ end i32.const 1 global.set $~argumentsLength - local.get $4 + local.get $0 i32.load offset=8 - local.tee $2 - local.set $0 + local.tee $3 + local.set $2 i32.const -1 local.set $1 block $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Int8Array,i8>|inlined.011 - local.get $2 + local.get $3 i32.eqz br_if $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Int8Array,i8>|inlined.011 - local.get $0 local.get $2 + local.get $3 i32.add - local.get $2 + local.get $3 i32.const 1 i32.sub - local.get $0 - local.get $0 local.get $2 + local.get $2 + local.get $3 i32.ge_s select - local.get $0 + local.get $2 i32.const 0 i32.lt_s select local.set $1 - local.get $4 + local.get $0 i32.load offset=4 - local.set $0 + local.set $2 loop $while-continue|012 local.get $1 i32.const 0 i32.ge_s if - local.get $0 local.get $1 + local.get $2 i32.add i32.load8_u i32.const 255 @@ -7259,42 +7261,42 @@ end i32.const 1 global.set $~argumentsLength - local.get $4 + local.get $0 i32.load offset=8 - local.tee $2 - local.set $0 + local.tee $3 + local.set $2 i32.const -1 local.set $1 block $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Int8Array,i8>|inlined.017 - local.get $2 + local.get $3 i32.eqz br_if $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Int8Array,i8>|inlined.017 - local.get $0 local.get $2 + local.get $3 i32.add - local.get $2 + local.get $3 i32.const 1 i32.sub - local.get $0 - local.get $0 local.get $2 + local.get $2 + local.get $3 i32.ge_s select - local.get $0 + local.get $2 i32.const 0 i32.lt_s select local.set $1 - local.get $4 + local.get $0 i32.load offset=4 - local.set $0 + local.set $2 loop $while-continue|018 local.get $1 i32.const 0 i32.ge_s if - local.get $0 local.get $1 + local.get $2 i32.add i32.load8_u i32.const 3 @@ -7324,7 +7326,8 @@ i32.const -1 local.set $1 block $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Int8Array,i8>|inlined.019 - local.get $4 + local.get $0 + local.tee $2 i32.load offset=8 local.tee $0 i32.eqz @@ -7338,9 +7341,9 @@ i32.le_s select local.set $0 - local.get $4 + local.get $2 i32.load offset=4 - local.set $2 + local.set $3 loop $while-continue|024 local.get $0 i32.const 0 @@ -7348,7 +7351,7 @@ if local.get $0 local.tee $1 - local.get $2 + local.get $3 i32.add i32.load8_u i32.const 3 @@ -7378,7 +7381,7 @@ i32.const -1 local.set $1 block $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Int8Array,i8>|inlined.026 - local.get $4 + local.get $2 i32.load offset=8 local.tee $0 i32.eqz @@ -7392,9 +7395,9 @@ i32.le_s select local.set $0 - local.get $4 + local.get $2 i32.load offset=4 - local.set $2 + local.set $3 loop $while-continue|027 local.get $0 i32.const 0 @@ -7402,7 +7405,7 @@ if local.get $0 local.tee $1 - local.get $2 + local.get $3 i32.add i32.load8_u i32.const 3 @@ -7432,7 +7435,7 @@ i32.const -1 local.set $1 block $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Int8Array,i8>|inlined.029 - local.get $4 + local.get $2 i32.load offset=8 local.tee $0 i32.eqz @@ -7446,9 +7449,9 @@ i32.le_s select local.set $0 - local.get $4 + local.get $2 i32.load offset=4 - local.set $2 + local.set $3 loop $while-continue|030 local.get $0 i32.const 0 @@ -7456,7 +7459,7 @@ if local.get $0 local.tee $1 - local.get $2 + local.get $3 i32.add i32.load8_u i32.const 3 @@ -7486,7 +7489,7 @@ i32.const -1 local.set $1 block $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Int8Array,i8>|inlined.032 - local.get $4 + local.get $2 i32.load offset=8 local.tee $0 i32.eqz @@ -7500,9 +7503,9 @@ i32.le_s select local.set $0 - local.get $4 + local.get $2 i32.load offset=4 - local.set $2 + local.set $3 loop $while-continue|033 local.get $0 i32.const 0 @@ -7510,7 +7513,7 @@ if local.get $0 local.tee $1 - local.get $2 + local.get $3 i32.add i32.load8_u i32.const 1 @@ -7538,22 +7541,22 @@ unreachable end i32.const -1 - local.set $1 + local.set $0 block $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Int8Array,i8>|inlined.035 - local.get $4 + local.get $2 i32.load offset=8 - local.tee $0 + local.tee $1 i32.eqz br_if $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Int8Array,i8>|inlined.035 - local.get $0 + local.get $1 i32.const 10 i32.sub - local.set $1 - local.get $4 - i32.load offset=4 local.set $0 + local.get $2 + i32.load offset=4 + local.set $1 loop $while-continue|036 - local.get $1 + local.get $0 i32.const 0 i32.ge_s if @@ -7564,17 +7567,17 @@ i32.const 1 i32.eq br_if $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Int8Array,i8>|inlined.035 - 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 1 i32.ne if @@ -7586,22 +7589,22 @@ unreachable end i32.const -1 - local.set $1 + local.set $0 block $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Int8Array,i8>|inlined.038 - local.get $4 + local.get $2 i32.load offset=8 - local.tee $0 + local.tee $1 i32.eqz br_if $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Int8Array,i8>|inlined.038 - local.get $0 + local.get $1 i32.const 11 i32.sub - local.set $1 - local.get $4 - i32.load offset=4 local.set $0 + local.get $2 + i32.load offset=4 + local.set $1 loop $while-continue|039 - local.get $1 + local.get $0 i32.const 0 i32.ge_s if @@ -7612,17 +7615,17 @@ i32.const 1 i32.eq br_if $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Int8Array,i8>|inlined.038 - local.get $1 + local.get $0 i32.const 1 i32.sub - local.set $1 + local.set $0 br $while-continue|039 end end i32.const -1 - local.set $1 + local.set $0 end - local.get $1 + local.get $0 i32.const -1 i32.ne if @@ -7634,7 +7637,7 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $4 + local.get $2 i32.const 4 i32.const 9 call $~lib/typedarray/Int8Array#subarray @@ -7996,9 +7999,9 @@ unreachable end i32.const 2 - local.set $1 - i32.const -1 local.set $0 + i32.const -1 + local.set $1 block $~lib/typedarray/INDEX_OF<~lib/typedarray/Int8Array,i8>|inlined.062 local.get $4 i32.load offset=8 @@ -8013,29 +8016,29 @@ i32.load offset=4 local.set $2 loop $while-continue|063 - local.get $1 + local.get $0 local.get $3 i32.lt_s if - local.get $1 - local.tee $0 + local.get $0 + local.tee $1 local.get $2 i32.add i32.load8_u i32.const 5 i32.eq br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Int8Array,i8>|inlined.062 - local.get $0 + local.get $1 i32.const 1 i32.add - local.set $1 + local.set $0 br $while-continue|063 end end i32.const -1 - local.set $0 + local.set $1 end - local.get $0 + local.get $1 i32.const -1 i32.ne if @@ -8087,14 +8090,14 @@ i32.load local.tee $1 call $~lib/typedarray/Uint8Array#constructor - local.tee $4 + local.tee $2 i32.store offset=4 loop $for-loop|0 local.get $0 local.get $1 i32.lt_s if - local.get $4 + local.get $2 local.get $0 i32.const 7728 local.get $0 @@ -8114,26 +8117,26 @@ i32.const -1 local.set $1 block $~lib/typedarray/INDEX_OF<~lib/typedarray/Uint8Array,u8>|inlined.0 - local.get $4 + local.get $2 i32.load offset=8 - local.tee $3 + local.tee $4 i32.const 0 i32.le_s i32.const 1 - local.get $3 + local.get $4 select br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Uint8Array,u8>|inlined.0 - local.get $4 + local.get $2 i32.load offset=4 - local.set $2 + local.set $3 loop $while-continue|0 local.get $0 - local.get $3 + local.get $4 i32.lt_s if local.get $0 local.tee $1 - local.get $2 + local.get $3 i32.add i32.load8_u i32.eqz @@ -8162,26 +8165,26 @@ i32.const -1 local.set $1 block $~lib/typedarray/INDEX_OF<~lib/typedarray/Uint8Array,u8>|inlined.01 - local.get $4 + local.get $2 i32.load offset=8 - local.tee $3 + local.tee $4 i32.const 0 i32.le_s i32.const 1 - local.get $3 + local.get $4 select br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Uint8Array,u8>|inlined.01 - local.get $4 + local.get $2 i32.load offset=4 - local.set $2 + local.set $3 loop $while-continue|02 local.get $0 - local.get $3 + local.get $4 i32.lt_s if local.get $0 local.tee $1 - local.get $2 + local.get $3 i32.add i32.load8_u i32.const 11 @@ -8213,26 +8216,26 @@ i32.const -1 local.set $1 block $~lib/typedarray/INDEX_OF<~lib/typedarray/Uint8Array,u8>|inlined.04 - local.get $4 + local.get $2 i32.load offset=8 - local.tee $3 + local.tee $4 i32.const 0 i32.le_s i32.const 1 - local.get $3 + local.get $4 select br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Uint8Array,u8>|inlined.04 - local.get $4 + local.get $2 i32.load offset=4 - local.set $2 + local.set $3 loop $while-continue|05 local.get $0 - local.get $3 + local.get $4 i32.lt_s if local.get $0 local.tee $1 - local.get $2 + local.get $3 i32.add i32.load8_u i32.const 255 @@ -8264,26 +8267,26 @@ i32.const -1 local.set $1 block $~lib/typedarray/INDEX_OF<~lib/typedarray/Uint8Array,u8>|inlined.07 - local.get $4 + local.get $2 i32.load offset=8 - local.tee $3 + local.tee $4 i32.const 0 i32.le_s i32.const 1 - local.get $3 + local.get $4 select br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Uint8Array,u8>|inlined.07 - local.get $4 + local.get $2 i32.load offset=4 - local.set $2 + local.set $3 loop $while-continue|08 local.get $0 - local.get $3 + local.get $4 i32.lt_s if local.get $0 local.tee $1 - local.get $2 + local.get $3 i32.add i32.load8_u i32.const 3 @@ -8315,26 +8318,26 @@ i32.const -1 local.set $1 block $~lib/typedarray/INDEX_OF<~lib/typedarray/Uint8Array,u8>|inlined.010 - 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.010 - local.get $4 + local.get $2 i32.load offset=4 - local.set $2 + local.set $3 loop $while-continue|011 local.get $0 - local.get $3 + local.get $4 i32.lt_s if local.get $0 local.tee $1 - local.get $2 + local.get $3 i32.add i32.load8_u i32.const 3 @@ -8366,26 +8369,26 @@ i32.const -1 local.set $1 block $~lib/typedarray/INDEX_OF<~lib/typedarray/Uint8Array,u8>|inlined.013 - local.get $4 + local.get $2 i32.load offset=8 - local.tee $3 + local.tee $4 i32.const 3 i32.le_s i32.const 1 - local.get $3 + local.get $4 select br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Uint8Array,u8>|inlined.013 - local.get $4 + local.get $2 i32.load offset=4 - local.set $2 + local.set $3 loop $while-continue|014 local.get $0 - local.get $3 + local.get $4 i32.lt_s if local.get $0 local.tee $1 - local.get $2 + local.get $3 i32.add i32.load8_u i32.const 3 @@ -8417,26 +8420,26 @@ i32.const -1 local.set $1 block $~lib/typedarray/INDEX_OF<~lib/typedarray/Uint8Array,u8>|inlined.016 - local.get $4 + local.get $2 i32.load offset=8 - local.tee $3 + local.tee $4 i32.const 4 i32.le_s i32.const 1 - local.get $3 + local.get $4 select br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Uint8Array,u8>|inlined.016 - local.get $4 + local.get $2 i32.load offset=4 - local.set $2 + local.set $3 loop $while-continue|017 local.get $0 - local.get $3 + local.get $4 i32.lt_s if local.get $0 local.tee $1 - local.get $2 + local.get $3 i32.add i32.load8_u i32.const 3 @@ -8468,26 +8471,26 @@ i32.const -1 local.set $1 block $~lib/typedarray/INDEX_OF<~lib/typedarray/Uint8Array,u8>|inlined.019 - local.get $4 + local.get $2 i32.load offset=8 - local.tee $3 + local.tee $4 i32.const 10 i32.le_s i32.const 1 - local.get $3 + local.get $4 select br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Uint8Array,u8>|inlined.019 - local.get $4 + local.get $2 i32.load offset=4 - local.set $2 + local.set $3 loop $while-continue|020 local.get $0 - local.get $3 + local.get $4 i32.lt_s if local.get $0 local.tee $1 - local.get $2 + local.get $3 i32.add i32.load8_u i32.const 1 @@ -8515,18 +8518,18 @@ unreachable end i32.const -1 - local.set $1 + local.set $0 block $~lib/typedarray/INDEX_OF<~lib/typedarray/Uint8Array,u8>|inlined.022 - local.get $4 + local.get $2 i32.load offset=8 - local.tee $2 + local.tee $3 i32.const -100 i32.le_s i32.const 1 - local.get $2 + local.get $3 select br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Uint8Array,u8>|inlined.022 - local.get $2 + local.get $3 i32.const 100 i32.sub local.tee $0 @@ -8535,13 +8538,13 @@ i32.const 0 i32.gt_s select - local.set $1 - local.get $4 - i32.load offset=4 local.set $0 + local.get $2 + i32.load offset=4 + local.set $1 loop $while-continue|023 - local.get $1 - local.get $2 + local.get $0 + local.get $3 i32.lt_s if local.get $0 @@ -8551,17 +8554,17 @@ i32.const 1 i32.eq br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Uint8Array,u8>|inlined.022 - 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 i32.const 1 i32.ne if @@ -8574,42 +8577,44 @@ end i32.const 1 global.set $~argumentsLength - local.get $4 + local.get $2 + local.tee $0 i32.load offset=8 - local.tee $2 - local.set $0 + local.set $3 i32.const -1 local.set $1 block $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Uint8Array,u8>|inlined.0 local.get $2 + i32.load offset=8 + local.tee $2 i32.eqz br_if $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Uint8Array,u8>|inlined.0 - local.get $0 local.get $2 + local.get $3 i32.add local.get $2 i32.const 1 i32.sub - local.get $0 - local.get $0 + local.get $3 local.get $2 - i32.ge_s + local.get $3 + i32.le_s select - local.get $0 + local.get $3 i32.const 0 i32.lt_s select local.set $1 - local.get $4 + local.get $0 i32.load offset=4 - local.set $0 + local.set $2 loop $while-continue|00 local.get $1 i32.const 0 i32.ge_s if - local.get $0 local.get $1 + local.get $2 i32.add i32.load8_u i32.eqz @@ -8635,42 +8640,42 @@ end i32.const 1 global.set $~argumentsLength - local.get $4 + local.get $0 i32.load offset=8 - local.tee $2 - local.set $0 + local.tee $3 + local.set $2 i32.const -1 local.set $1 block $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Uint8Array,u8>|inlined.05 - local.get $2 + local.get $3 i32.eqz br_if $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Uint8Array,u8>|inlined.05 - local.get $0 local.get $2 + local.get $3 i32.add - local.get $2 + local.get $3 i32.const 1 i32.sub - local.get $0 - local.get $0 local.get $2 + local.get $2 + local.get $3 i32.ge_s select - local.get $0 + local.get $2 i32.const 0 i32.lt_s select local.set $1 - local.get $4 + local.get $0 i32.load offset=4 - local.set $0 + local.set $2 loop $while-continue|06 local.get $1 i32.const 0 i32.ge_s if - local.get $0 local.get $1 + local.get $2 i32.add i32.load8_u i32.const 11 @@ -8699,42 +8704,42 @@ end i32.const 1 global.set $~argumentsLength - local.get $4 + local.get $0 i32.load offset=8 - local.tee $2 - local.set $0 + local.tee $3 + local.set $2 i32.const -1 local.set $1 block $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Uint8Array,u8>|inlined.011 - local.get $2 + local.get $3 i32.eqz br_if $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Uint8Array,u8>|inlined.011 - local.get $0 local.get $2 + local.get $3 i32.add - local.get $2 + local.get $3 i32.const 1 i32.sub - local.get $0 - local.get $0 local.get $2 + local.get $2 + local.get $3 i32.ge_s select - local.get $0 + local.get $2 i32.const 0 i32.lt_s select local.set $1 - local.get $4 + local.get $0 i32.load offset=4 - local.set $0 + local.set $2 loop $while-continue|012 local.get $1 i32.const 0 i32.ge_s if - local.get $0 local.get $1 + local.get $2 i32.add i32.load8_u i32.const 255 @@ -8763,42 +8768,42 @@ end i32.const 1 global.set $~argumentsLength - local.get $4 + local.get $0 i32.load offset=8 - local.tee $2 - local.set $0 + local.tee $3 + local.set $2 i32.const -1 local.set $1 block $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Uint8Array,u8>|inlined.017 - local.get $2 + local.get $3 i32.eqz br_if $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Uint8Array,u8>|inlined.017 - local.get $0 local.get $2 + local.get $3 i32.add - local.get $2 + local.get $3 i32.const 1 i32.sub - local.get $0 - local.get $0 local.get $2 + local.get $2 + local.get $3 i32.ge_s select - local.get $0 + local.get $2 i32.const 0 i32.lt_s select local.set $1 - local.get $4 + local.get $0 i32.load offset=4 - local.set $0 + local.set $2 loop $while-continue|018 local.get $1 i32.const 0 i32.ge_s if - local.get $0 local.get $1 + local.get $2 i32.add i32.load8_u i32.const 3 @@ -8828,7 +8833,8 @@ i32.const -1 local.set $1 block $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Uint8Array,u8>|inlined.019 - local.get $4 + local.get $0 + local.tee $2 i32.load offset=8 local.tee $0 i32.eqz @@ -8842,9 +8848,9 @@ i32.le_s select local.set $0 - local.get $4 + local.get $2 i32.load offset=4 - local.set $2 + local.set $3 loop $while-continue|024 local.get $0 i32.const 0 @@ -8852,7 +8858,7 @@ if local.get $0 local.tee $1 - local.get $2 + local.get $3 i32.add i32.load8_u i32.const 3 @@ -8882,7 +8888,7 @@ i32.const -1 local.set $1 block $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Uint8Array,u8>|inlined.026 - local.get $4 + local.get $2 i32.load offset=8 local.tee $0 i32.eqz @@ -8896,9 +8902,9 @@ i32.le_s select local.set $0 - local.get $4 + local.get $2 i32.load offset=4 - local.set $2 + local.set $3 loop $while-continue|027 local.get $0 i32.const 0 @@ -8906,7 +8912,7 @@ if local.get $0 local.tee $1 - local.get $2 + local.get $3 i32.add i32.load8_u i32.const 3 @@ -8936,7 +8942,7 @@ i32.const -1 local.set $1 block $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Uint8Array,u8>|inlined.029 - local.get $4 + local.get $2 i32.load offset=8 local.tee $0 i32.eqz @@ -8950,9 +8956,9 @@ i32.le_s select local.set $0 - local.get $4 + local.get $2 i32.load offset=4 - local.set $2 + local.set $3 loop $while-continue|030 local.get $0 i32.const 0 @@ -8960,7 +8966,7 @@ if local.get $0 local.tee $1 - local.get $2 + local.get $3 i32.add i32.load8_u i32.const 3 @@ -8990,7 +8996,7 @@ i32.const -1 local.set $1 block $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Uint8Array,u8>|inlined.032 - local.get $4 + local.get $2 i32.load offset=8 local.tee $0 i32.eqz @@ -9004,9 +9010,9 @@ i32.le_s select local.set $0 - local.get $4 + local.get $2 i32.load offset=4 - local.set $2 + local.set $3 loop $while-continue|033 local.get $0 i32.const 0 @@ -9014,7 +9020,7 @@ if local.get $0 local.tee $1 - local.get $2 + local.get $3 i32.add i32.load8_u i32.const 1 @@ -9042,22 +9048,22 @@ unreachable end i32.const -1 - local.set $1 + local.set $0 block $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Uint8Array,u8>|inlined.035 - local.get $4 + local.get $2 i32.load offset=8 - local.tee $0 + local.tee $1 i32.eqz br_if $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Uint8Array,u8>|inlined.035 - local.get $0 + local.get $1 i32.const 10 i32.sub - local.set $1 - local.get $4 - i32.load offset=4 local.set $0 + local.get $2 + i32.load offset=4 + local.set $1 loop $while-continue|036 - local.get $1 + local.get $0 i32.const 0 i32.ge_s if @@ -9068,17 +9074,17 @@ i32.const 1 i32.eq br_if $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Uint8Array,u8>|inlined.035 - 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 1 i32.ne if @@ -9090,22 +9096,22 @@ unreachable end i32.const -1 - local.set $1 + local.set $0 block $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Uint8Array,u8>|inlined.038 - local.get $4 + local.get $2 i32.load offset=8 - local.tee $0 + local.tee $1 i32.eqz br_if $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Uint8Array,u8>|inlined.038 - local.get $0 + local.get $1 i32.const 11 i32.sub - local.set $1 - local.get $4 - i32.load offset=4 local.set $0 + local.get $2 + i32.load offset=4 + local.set $1 loop $while-continue|039 - local.get $1 + local.get $0 i32.const 0 i32.ge_s if @@ -9116,17 +9122,17 @@ i32.const 1 i32.eq br_if $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Uint8Array,u8>|inlined.038 - local.get $1 + local.get $0 i32.const 1 i32.sub - local.set $1 + local.set $0 br $while-continue|039 end end i32.const -1 - local.set $1 + local.set $0 end - local.get $1 + local.get $0 i32.const -1 i32.ne if @@ -9138,7 +9144,7 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $4 + local.get $2 i32.const 9 call $~lib/typedarray/Uint8Array#subarray local.tee $4 @@ -9499,9 +9505,9 @@ unreachable end i32.const 2 - local.set $1 - i32.const -1 local.set $0 + i32.const -1 + local.set $1 block $~lib/typedarray/INDEX_OF<~lib/typedarray/Uint8Array,u8>|inlined.062 local.get $4 i32.load offset=8 @@ -9516,29 +9522,29 @@ i32.load offset=4 local.set $2 loop $while-continue|063 - local.get $1 + local.get $0 local.get $3 i32.lt_s if - local.get $1 - local.tee $0 + local.get $0 + local.tee $1 local.get $2 i32.add i32.load8_u i32.const 5 i32.eq br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Uint8Array,u8>|inlined.062 - local.get $0 + local.get $1 i32.const 1 i32.add - local.set $1 + local.set $0 br $while-continue|063 end end i32.const -1 - local.set $0 + local.set $1 end - local.get $0 + local.get $1 i32.const -1 i32.ne if @@ -9590,14 +9596,14 @@ i32.load local.tee $1 call $~lib/typedarray/Uint8ClampedArray#constructor - local.tee $4 + local.tee $2 i32.store offset=4 loop $for-loop|0 local.get $0 local.get $1 i32.lt_s if - local.get $4 + local.get $2 local.get $0 i32.const 7728 local.get $0 @@ -9617,26 +9623,26 @@ i32.const -1 local.set $1 block $~lib/typedarray/INDEX_OF<~lib/typedarray/Uint8Array,u8>|inlined.0 - local.get $4 + local.get $2 i32.load offset=8 - local.tee $3 + local.tee $4 i32.const 0 i32.le_s i32.const 1 - local.get $3 + local.get $4 select br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Uint8Array,u8>|inlined.0 - local.get $4 + local.get $2 i32.load offset=4 - local.set $2 + local.set $3 loop $while-continue|0 local.get $0 - local.get $3 + local.get $4 i32.lt_s if local.get $0 local.tee $1 - local.get $2 + local.get $3 i32.add i32.load8_u i32.eqz @@ -9665,26 +9671,26 @@ i32.const -1 local.set $1 block $~lib/typedarray/INDEX_OF<~lib/typedarray/Uint8Array,u8>|inlined.01 - local.get $4 + local.get $2 i32.load offset=8 - local.tee $3 + local.tee $4 i32.const 0 i32.le_s i32.const 1 - local.get $3 + local.get $4 select br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Uint8Array,u8>|inlined.01 - local.get $4 + local.get $2 i32.load offset=4 - local.set $2 + local.set $3 loop $while-continue|02 local.get $0 - local.get $3 + local.get $4 i32.lt_s if local.get $0 local.tee $1 - local.get $2 + local.get $3 i32.add i32.load8_u i32.const 11 @@ -9716,26 +9722,26 @@ i32.const -1 local.set $1 block $~lib/typedarray/INDEX_OF<~lib/typedarray/Uint8Array,u8>|inlined.04 - local.get $4 + local.get $2 i32.load offset=8 - local.tee $3 + local.tee $4 i32.const 0 i32.le_s i32.const 1 - local.get $3 + local.get $4 select br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Uint8Array,u8>|inlined.04 - local.get $4 + local.get $2 i32.load offset=4 - local.set $2 + local.set $3 loop $while-continue|05 local.get $0 - local.get $3 + local.get $4 i32.lt_s if local.get $0 local.tee $1 - local.get $2 + local.get $3 i32.add i32.load8_u i32.const 255 @@ -9767,26 +9773,26 @@ i32.const -1 local.set $1 block $~lib/typedarray/INDEX_OF<~lib/typedarray/Uint8Array,u8>|inlined.07 - local.get $4 + local.get $2 i32.load offset=8 - local.tee $3 + local.tee $4 i32.const 0 i32.le_s i32.const 1 - local.get $3 + local.get $4 select br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Uint8Array,u8>|inlined.07 - local.get $4 + local.get $2 i32.load offset=4 - local.set $2 + local.set $3 loop $while-continue|08 local.get $0 - local.get $3 + local.get $4 i32.lt_s if local.get $0 local.tee $1 - local.get $2 + local.get $3 i32.add i32.load8_u i32.const 3 @@ -9818,26 +9824,26 @@ i32.const -1 local.set $1 block $~lib/typedarray/INDEX_OF<~lib/typedarray/Uint8Array,u8>|inlined.010 - 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.010 - local.get $4 + local.get $2 i32.load offset=4 - local.set $2 + local.set $3 loop $while-continue|011 local.get $0 - local.get $3 + local.get $4 i32.lt_s if local.get $0 local.tee $1 - local.get $2 + local.get $3 i32.add i32.load8_u i32.const 3 @@ -9869,26 +9875,26 @@ i32.const -1 local.set $1 block $~lib/typedarray/INDEX_OF<~lib/typedarray/Uint8Array,u8>|inlined.013 - local.get $4 + local.get $2 i32.load offset=8 - local.tee $3 + local.tee $4 i32.const 3 i32.le_s i32.const 1 - local.get $3 + local.get $4 select br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Uint8Array,u8>|inlined.013 - local.get $4 + local.get $2 i32.load offset=4 - local.set $2 + local.set $3 loop $while-continue|014 local.get $0 - local.get $3 + local.get $4 i32.lt_s if local.get $0 local.tee $1 - local.get $2 + local.get $3 i32.add i32.load8_u i32.const 3 @@ -9920,26 +9926,26 @@ i32.const -1 local.set $1 block $~lib/typedarray/INDEX_OF<~lib/typedarray/Uint8Array,u8>|inlined.016 - local.get $4 + local.get $2 i32.load offset=8 - local.tee $3 + local.tee $4 i32.const 4 i32.le_s i32.const 1 - local.get $3 + local.get $4 select br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Uint8Array,u8>|inlined.016 - local.get $4 + local.get $2 i32.load offset=4 - local.set $2 + local.set $3 loop $while-continue|017 local.get $0 - local.get $3 + local.get $4 i32.lt_s if local.get $0 local.tee $1 - local.get $2 + local.get $3 i32.add i32.load8_u i32.const 3 @@ -9971,26 +9977,26 @@ i32.const -1 local.set $1 block $~lib/typedarray/INDEX_OF<~lib/typedarray/Uint8Array,u8>|inlined.019 - local.get $4 + local.get $2 i32.load offset=8 - local.tee $3 + local.tee $4 i32.const 10 i32.le_s i32.const 1 - local.get $3 + local.get $4 select br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Uint8Array,u8>|inlined.019 - local.get $4 + local.get $2 i32.load offset=4 - local.set $2 + local.set $3 loop $while-continue|020 local.get $0 - local.get $3 + local.get $4 i32.lt_s if local.get $0 local.tee $1 - local.get $2 + local.get $3 i32.add i32.load8_u i32.const 1 @@ -10018,18 +10024,18 @@ unreachable end i32.const -1 - local.set $1 + local.set $0 block $~lib/typedarray/INDEX_OF<~lib/typedarray/Uint8Array,u8>|inlined.022 - local.get $4 + local.get $2 i32.load offset=8 - local.tee $2 + local.tee $3 i32.const -100 i32.le_s i32.const 1 - local.get $2 + local.get $3 select br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Uint8Array,u8>|inlined.022 - local.get $2 + local.get $3 i32.const 100 i32.sub local.tee $0 @@ -10038,13 +10044,13 @@ i32.const 0 i32.gt_s select - local.set $1 - local.get $4 - i32.load offset=4 local.set $0 + local.get $2 + i32.load offset=4 + local.set $1 loop $while-continue|023 - local.get $1 - local.get $2 + local.get $0 + local.get $3 i32.lt_s if local.get $0 @@ -10054,17 +10060,17 @@ i32.const 1 i32.eq br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Uint8Array,u8>|inlined.022 - 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 i32.const 1 i32.ne if @@ -10077,42 +10083,44 @@ end i32.const 1 global.set $~argumentsLength - local.get $4 + local.get $2 + local.tee $0 i32.load offset=8 - local.tee $2 - local.set $0 + local.set $3 i32.const -1 local.set $1 block $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Uint8Array,u8>|inlined.0 local.get $2 + i32.load offset=8 + local.tee $2 i32.eqz br_if $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Uint8Array,u8>|inlined.0 - local.get $0 local.get $2 + local.get $3 i32.add local.get $2 i32.const 1 i32.sub - local.get $0 - local.get $0 + local.get $3 local.get $2 - i32.ge_s + local.get $3 + i32.le_s select - local.get $0 + local.get $3 i32.const 0 i32.lt_s select local.set $1 - local.get $4 + local.get $0 i32.load offset=4 - local.set $0 + local.set $2 loop $while-continue|00 local.get $1 i32.const 0 i32.ge_s if - local.get $0 local.get $1 + local.get $2 i32.add i32.load8_u i32.eqz @@ -10138,42 +10146,42 @@ end i32.const 1 global.set $~argumentsLength - local.get $4 + local.get $0 i32.load offset=8 - local.tee $2 - local.set $0 + local.tee $3 + local.set $2 i32.const -1 local.set $1 block $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Uint8Array,u8>|inlined.05 - local.get $2 + local.get $3 i32.eqz br_if $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Uint8Array,u8>|inlined.05 - local.get $0 local.get $2 + local.get $3 i32.add - local.get $2 + local.get $3 i32.const 1 i32.sub - local.get $0 - local.get $0 local.get $2 + local.get $2 + local.get $3 i32.ge_s select - local.get $0 + local.get $2 i32.const 0 i32.lt_s select local.set $1 - local.get $4 + local.get $0 i32.load offset=4 - local.set $0 + local.set $2 loop $while-continue|06 local.get $1 i32.const 0 i32.ge_s if - local.get $0 local.get $1 + local.get $2 i32.add i32.load8_u i32.const 11 @@ -10202,42 +10210,42 @@ end i32.const 1 global.set $~argumentsLength - local.get $4 + local.get $0 i32.load offset=8 - local.tee $2 - local.set $0 + local.tee $3 + local.set $2 i32.const -1 local.set $1 block $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Uint8Array,u8>|inlined.011 - local.get $2 + local.get $3 i32.eqz br_if $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Uint8Array,u8>|inlined.011 - local.get $0 local.get $2 + local.get $3 i32.add - local.get $2 + local.get $3 i32.const 1 i32.sub - local.get $0 - local.get $0 local.get $2 + local.get $2 + local.get $3 i32.ge_s select - local.get $0 + local.get $2 i32.const 0 i32.lt_s select local.set $1 - local.get $4 + local.get $0 i32.load offset=4 - local.set $0 + local.set $2 loop $while-continue|012 local.get $1 i32.const 0 i32.ge_s if - local.get $0 local.get $1 + local.get $2 i32.add i32.load8_u i32.const 255 @@ -10266,42 +10274,42 @@ end i32.const 1 global.set $~argumentsLength - local.get $4 + local.get $0 i32.load offset=8 - local.tee $2 - local.set $0 + local.tee $3 + local.set $2 i32.const -1 local.set $1 block $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Uint8Array,u8>|inlined.017 - local.get $2 + local.get $3 i32.eqz br_if $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Uint8Array,u8>|inlined.017 - local.get $0 local.get $2 + local.get $3 i32.add - local.get $2 + local.get $3 i32.const 1 i32.sub - local.get $0 - local.get $0 local.get $2 + local.get $2 + local.get $3 i32.ge_s select - local.get $0 + local.get $2 i32.const 0 i32.lt_s select local.set $1 - local.get $4 + local.get $0 i32.load offset=4 - local.set $0 + local.set $2 loop $while-continue|018 local.get $1 i32.const 0 i32.ge_s if - local.get $0 local.get $1 + local.get $2 i32.add i32.load8_u i32.const 3 @@ -10331,7 +10339,8 @@ i32.const -1 local.set $1 block $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Uint8Array,u8>|inlined.019 - local.get $4 + local.get $0 + local.tee $2 i32.load offset=8 local.tee $0 i32.eqz @@ -10345,9 +10354,9 @@ i32.le_s select local.set $0 - local.get $4 + local.get $2 i32.load offset=4 - local.set $2 + local.set $3 loop $while-continue|024 local.get $0 i32.const 0 @@ -10355,7 +10364,7 @@ if local.get $0 local.tee $1 - local.get $2 + local.get $3 i32.add i32.load8_u i32.const 3 @@ -10385,7 +10394,7 @@ i32.const -1 local.set $1 block $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Uint8Array,u8>|inlined.026 - local.get $4 + local.get $2 i32.load offset=8 local.tee $0 i32.eqz @@ -10399,9 +10408,9 @@ i32.le_s select local.set $0 - local.get $4 + local.get $2 i32.load offset=4 - local.set $2 + local.set $3 loop $while-continue|027 local.get $0 i32.const 0 @@ -10409,7 +10418,7 @@ if local.get $0 local.tee $1 - local.get $2 + local.get $3 i32.add i32.load8_u i32.const 3 @@ -10439,7 +10448,7 @@ i32.const -1 local.set $1 block $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Uint8Array,u8>|inlined.029 - local.get $4 + local.get $2 i32.load offset=8 local.tee $0 i32.eqz @@ -10453,9 +10462,9 @@ i32.le_s select local.set $0 - local.get $4 + local.get $2 i32.load offset=4 - local.set $2 + local.set $3 loop $while-continue|030 local.get $0 i32.const 0 @@ -10463,7 +10472,7 @@ if local.get $0 local.tee $1 - local.get $2 + local.get $3 i32.add i32.load8_u i32.const 3 @@ -10493,7 +10502,7 @@ i32.const -1 local.set $1 block $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Uint8Array,u8>|inlined.032 - local.get $4 + local.get $2 i32.load offset=8 local.tee $0 i32.eqz @@ -10507,9 +10516,9 @@ i32.le_s select local.set $0 - local.get $4 + local.get $2 i32.load offset=4 - local.set $2 + local.set $3 loop $while-continue|033 local.get $0 i32.const 0 @@ -10517,7 +10526,7 @@ if local.get $0 local.tee $1 - local.get $2 + local.get $3 i32.add i32.load8_u i32.const 1 @@ -10545,22 +10554,22 @@ unreachable end i32.const -1 - local.set $1 + local.set $0 block $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Uint8Array,u8>|inlined.035 - local.get $4 + local.get $2 i32.load offset=8 - local.tee $0 + local.tee $1 i32.eqz br_if $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Uint8Array,u8>|inlined.035 - local.get $0 + local.get $1 i32.const 10 i32.sub - local.set $1 - local.get $4 - i32.load offset=4 local.set $0 + local.get $2 + i32.load offset=4 + local.set $1 loop $while-continue|036 - local.get $1 + local.get $0 i32.const 0 i32.ge_s if @@ -10571,17 +10580,17 @@ i32.const 1 i32.eq br_if $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Uint8Array,u8>|inlined.035 - 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 1 i32.ne if @@ -10593,22 +10602,22 @@ unreachable end i32.const -1 - local.set $1 + local.set $0 block $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Uint8Array,u8>|inlined.038 - local.get $4 + local.get $2 i32.load offset=8 - local.tee $0 + local.tee $1 i32.eqz br_if $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Uint8Array,u8>|inlined.038 - local.get $0 + local.get $1 i32.const 11 i32.sub - local.set $1 - local.get $4 - i32.load offset=4 local.set $0 + local.get $2 + i32.load offset=4 + local.set $1 loop $while-continue|039 - local.get $1 + local.get $0 i32.const 0 i32.ge_s if @@ -10619,17 +10628,17 @@ i32.const 1 i32.eq br_if $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Uint8Array,u8>|inlined.038 - local.get $1 + local.get $0 i32.const 1 i32.sub - local.set $1 + local.set $0 br $while-continue|039 end end i32.const -1 - local.set $1 + local.set $0 end - local.get $1 + local.get $0 i32.const -1 i32.ne if @@ -10641,7 +10650,7 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $4 + local.get $2 i32.const 9 call $~lib/typedarray/Uint8ClampedArray#subarray local.tee $4 @@ -11002,9 +11011,9 @@ unreachable end i32.const 2 - local.set $1 - i32.const -1 local.set $0 + i32.const -1 + local.set $1 block $~lib/typedarray/INDEX_OF<~lib/typedarray/Uint8Array,u8>|inlined.062 local.get $4 i32.load offset=8 @@ -11019,29 +11028,29 @@ i32.load offset=4 local.set $2 loop $while-continue|063 - local.get $1 + local.get $0 local.get $3 i32.lt_s if - local.get $1 - local.tee $0 + local.get $0 + local.tee $1 local.get $2 i32.add i32.load8_u i32.const 5 i32.eq br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Uint8Array,u8>|inlined.062 - local.get $0 + local.get $1 i32.const 1 i32.add - local.set $1 + local.set $0 br $while-continue|063 end end i32.const -1 - local.set $0 + local.set $1 end - local.get $0 + local.get $1 i32.const -1 i32.ne if @@ -11158,45 +11167,45 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $1 + local.tee $0 i64.const 0 i64.store - local.get $1 + local.get $0 i32.const 0 i32.store offset=8 - local.get $1 + local.get $0 i32.const 7728 i32.store - local.get $1 + local.get $0 i32.const 7740 i32.load - local.tee $1 + local.tee $0 call $~lib/typedarray/Int16Array#constructor local.tee $4 i32.store offset=4 loop $for-loop|0 local.get $0 local.get $1 - i32.lt_s + i32.gt_s if local.get $4 - local.get $0 + local.get $1 i32.const 7728 - local.get $0 + local.get $1 call $~lib/array/Array#__get i32.extend16_s call $~lib/typedarray/Int16Array#__set - local.get $0 + local.get $1 i32.const 1 i32.add - local.set $0 + local.set $1 br $for-loop|0 end end i32.const 0 - local.set $0 - i32.const -1 local.set $1 + i32.const -1 + local.set $0 block $~lib/typedarray/INDEX_OF<~lib/typedarray/Int16Array,i16>|inlined.0 local.get $4 i32.load offset=8 @@ -11212,12 +11221,12 @@ i32.load offset=4 local.set $2 loop $while-continue|0 - local.get $0 + local.get $1 local.get $3 i32.lt_s if - local.get $0 - local.tee $1 + local.get $1 + local.tee $0 i32.const 1 i32.shl local.get $2 @@ -11225,17 +11234,17 @@ i32.load16_u i32.eqz br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Int16Array,i16>|inlined.0 - local.get $1 + local.get $0 i32.const 1 i32.add - local.set $0 + local.set $1 br $while-continue|0 end end i32.const -1 - local.set $1 + local.set $0 end - local.get $1 + local.get $0 if i32.const 0 i32.const 1568 @@ -11245,9 +11254,9 @@ unreachable end i32.const 0 - local.set $0 - i32.const -1 local.set $1 + i32.const -1 + local.set $0 block $~lib/typedarray/INDEX_OF<~lib/typedarray/Int16Array,i16>|inlined.01 local.get $4 i32.load offset=8 @@ -11263,12 +11272,12 @@ i32.load offset=4 local.set $2 loop $while-continue|02 - local.get $0 + local.get $1 local.get $3 i32.lt_s if - local.get $0 - local.tee $1 + local.get $1 + local.tee $0 i32.const 1 i32.shl local.get $2 @@ -11277,17 +11286,17 @@ i32.const 11 i32.eq br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Int16Array,i16>|inlined.01 - local.get $1 + local.get $0 i32.const 1 i32.add - local.set $0 + local.set $1 br $while-continue|02 end end i32.const -1 - local.set $1 + local.set $0 end - local.get $1 + local.get $0 i32.const -1 i32.ne if @@ -11299,9 +11308,9 @@ unreachable end i32.const 0 - local.set $0 - i32.const -1 local.set $1 + i32.const -1 + local.set $0 block $~lib/typedarray/INDEX_OF<~lib/typedarray/Int16Array,i16>|inlined.04 local.get $4 i32.load offset=8 @@ -11317,12 +11326,12 @@ i32.load offset=4 local.set $2 loop $while-continue|05 - local.get $0 + local.get $1 local.get $3 i32.lt_s if - local.get $0 - local.tee $1 + local.get $1 + local.tee $0 i32.const 1 i32.shl local.get $2 @@ -11331,17 +11340,17 @@ i32.const 65535 i32.eq br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Int16Array,i16>|inlined.04 - local.get $1 + local.get $0 i32.const 1 i32.add - local.set $0 + local.set $1 br $while-continue|05 end end i32.const -1 - local.set $1 + local.set $0 end - local.get $1 + local.get $0 i32.const -1 i32.ne if @@ -11353,9 +11362,9 @@ unreachable end i32.const 0 - local.set $0 - i32.const -1 local.set $1 + i32.const -1 + local.set $0 block $~lib/typedarray/INDEX_OF<~lib/typedarray/Int16Array,i16>|inlined.07 local.get $4 i32.load offset=8 @@ -11371,12 +11380,12 @@ i32.load offset=4 local.set $2 loop $while-continue|08 - local.get $0 + local.get $1 local.get $3 i32.lt_s if - local.get $0 - local.tee $1 + local.get $1 + local.tee $0 i32.const 1 i32.shl local.get $2 @@ -11385,17 +11394,17 @@ i32.const 3 i32.eq br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Int16Array,i16>|inlined.07 - local.get $1 + local.get $0 i32.const 1 i32.add - local.set $0 + local.set $1 br $while-continue|08 end end i32.const -1 - local.set $1 + local.set $0 end - local.get $1 + local.get $0 i32.const 3 i32.ne if @@ -11407,9 +11416,9 @@ unreachable end i32.const 2 - local.set $0 - i32.const -1 local.set $1 + i32.const -1 + local.set $0 block $~lib/typedarray/INDEX_OF<~lib/typedarray/Int16Array,i16>|inlined.010 local.get $4 i32.load offset=8 @@ -11426,12 +11435,12 @@ i32.load offset=4 local.set $2 loop $while-continue|011 - local.get $0 + local.get $1 local.get $3 i32.lt_s if - local.get $0 - local.tee $1 + local.get $1 + local.tee $0 i32.const 1 i32.shl local.get $2 @@ -11440,17 +11449,17 @@ i32.const 3 i32.eq br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Int16Array,i16>|inlined.010 - local.get $1 + local.get $0 i32.const 1 i32.add - local.set $0 + local.set $1 br $while-continue|011 end end i32.const -1 - local.set $1 + local.set $0 end - local.get $1 + local.get $0 i32.const 3 i32.ne if @@ -11462,9 +11471,9 @@ unreachable end i32.const 3 - local.set $0 - i32.const -1 local.set $1 + i32.const -1 + local.set $0 block $~lib/typedarray/INDEX_OF<~lib/typedarray/Int16Array,i16>|inlined.013 local.get $4 i32.load offset=8 @@ -11481,12 +11490,12 @@ i32.load offset=4 local.set $2 loop $while-continue|014 - local.get $0 + local.get $1 local.get $3 i32.lt_s if - local.get $0 - local.tee $1 + local.get $1 + local.tee $0 i32.const 1 i32.shl local.get $2 @@ -11495,17 +11504,17 @@ i32.const 3 i32.eq br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Int16Array,i16>|inlined.013 - local.get $1 + local.get $0 i32.const 1 i32.add - local.set $0 + local.set $1 br $while-continue|014 end end i32.const -1 - local.set $1 + local.set $0 end - local.get $1 + local.get $0 i32.const 3 i32.ne if @@ -11517,9 +11526,9 @@ unreachable end i32.const 4 - local.set $0 - i32.const -1 local.set $1 + i32.const -1 + local.set $0 block $~lib/typedarray/INDEX_OF<~lib/typedarray/Int16Array,i16>|inlined.016 local.get $4 i32.load offset=8 @@ -11536,12 +11545,12 @@ i32.load offset=4 local.set $2 loop $while-continue|017 - local.get $0 + local.get $1 local.get $3 i32.lt_s if - local.get $0 - local.tee $1 + local.get $1 + local.tee $0 i32.const 1 i32.shl local.get $2 @@ -11550,17 +11559,17 @@ i32.const 3 i32.eq br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Int16Array,i16>|inlined.016 - local.get $1 + local.get $0 i32.const 1 i32.add - local.set $0 + local.set $1 br $while-continue|017 end end i32.const -1 - local.set $1 + local.set $0 end - local.get $1 + local.get $0 i32.const -1 i32.ne if @@ -11572,9 +11581,9 @@ unreachable end i32.const 10 - local.set $0 - i32.const -1 local.set $1 + i32.const -1 + local.set $0 block $~lib/typedarray/INDEX_OF<~lib/typedarray/Int16Array,i16>|inlined.019 local.get $4 i32.load offset=8 @@ -11591,12 +11600,12 @@ i32.load offset=4 local.set $2 loop $while-continue|020 - local.get $0 + local.get $1 local.get $3 i32.lt_s if - local.get $0 - local.tee $1 + local.get $1 + local.tee $0 i32.const 1 i32.shl local.get $2 @@ -11605,17 +11614,17 @@ i32.const 1 i32.eq br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Int16Array,i16>|inlined.019 - local.get $1 + local.get $0 i32.const 1 i32.add - local.set $0 + local.set $1 br $while-continue|020 end end i32.const -1 - local.set $1 + local.set $0 end - local.get $1 + local.get $0 i32.const -1 i32.ne if @@ -11747,34 +11756,34 @@ unreachable end i32.const -1 - local.set $1 + local.set $0 block $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Int16Array,i16>|inlined.0 local.get $4 i32.load offset=8 i32.const 1 i32.shr_u - local.tee $0 + local.tee $1 i32.eqz br_if $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Int16Array,i16>|inlined.0 - local.get $0 + local.get $1 i32.const 1 i32.sub i32.const 4 - local.get $0 + local.get $1 i32.const 4 i32.le_u select - local.set $0 + local.set $1 local.get $4 i32.load offset=4 local.set $2 loop $while-continue|024 - local.get $0 + local.get $1 i32.const 0 i32.ge_s if - local.get $0 - local.tee $1 + local.get $1 + local.tee $0 i32.const 1 i32.shl local.get $2 @@ -11783,17 +11792,17 @@ i32.const 3 i32.eq br_if $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Int16Array,i16>|inlined.0 - local.get $1 + local.get $0 i32.const 1 i32.sub - local.set $0 + local.set $1 br $while-continue|024 end end i32.const -1 - local.set $1 + local.set $0 end - local.get $1 + local.get $0 i32.const 3 i32.ne if @@ -11805,34 +11814,34 @@ unreachable end i32.const -1 - local.set $1 + local.set $0 block $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Int16Array,i16>|inlined.026 local.get $4 i32.load offset=8 i32.const 1 i32.shr_u - local.tee $0 + local.tee $1 i32.eqz br_if $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Int16Array,i16>|inlined.026 - 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_u select - local.set $0 + local.set $1 local.get $4 i32.load offset=4 local.set $2 loop $while-continue|027 - local.get $0 + local.get $1 i32.const 0 i32.ge_s if - local.get $0 - local.tee $1 + local.get $1 + local.tee $0 i32.const 1 i32.shl local.get $2 @@ -11841,17 +11850,17 @@ i32.const 3 i32.eq br_if $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Int16Array,i16>|inlined.026 - local.get $1 + local.get $0 i32.const 1 i32.sub - local.set $0 + local.set $1 br $while-continue|027 end end i32.const -1 - local.set $1 + local.set $0 end - local.get $1 + local.get $0 i32.const 3 i32.ne if @@ -11863,34 +11872,34 @@ unreachable end i32.const -1 - local.set $1 + local.set $0 block $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Int16Array,i16>|inlined.029 local.get $4 i32.load offset=8 i32.const 1 i32.shr_u - local.tee $0 + local.tee $1 i32.eqz br_if $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Int16Array,i16>|inlined.029 - 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_u select - local.set $0 + local.set $1 local.get $4 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 $0 - local.tee $1 + local.get $1 + local.tee $0 i32.const 1 i32.shl local.get $2 @@ -11899,17 +11908,17 @@ i32.const 3 i32.eq br_if $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Int16Array,i16>|inlined.029 - local.get $1 + local.get $0 i32.const 1 i32.sub - local.set $0 + local.set $1 br $while-continue|030 end end i32.const -1 - local.set $1 + local.set $0 end - local.get $1 + local.get $0 i32.const -1 i32.ne if @@ -11921,34 +11930,34 @@ unreachable end i32.const -1 - local.set $1 + local.set $0 block $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Int16Array,i16>|inlined.032 local.get $4 i32.load offset=8 i32.const 1 i32.shr_u - local.tee $0 + local.tee $1 i32.eqz br_if $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Int16Array,i16>|inlined.032 - local.get $0 + local.get $1 i32.const 1 i32.sub i32.const 100 - local.get $0 + local.get $1 i32.const 100 i32.le_u select - local.set $0 + local.set $1 local.get $4 i32.load offset=4 local.set $2 loop $while-continue|033 - local.get $0 + local.get $1 i32.const 0 i32.ge_s if - local.get $0 - local.tee $1 + local.get $1 + local.tee $0 i32.const 1 i32.shl local.get $2 @@ -11957,17 +11966,17 @@ i32.const 1 i32.eq br_if $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Int16Array,i16>|inlined.032 - local.get $1 + local.get $0 i32.const 1 i32.sub - local.set $0 + local.set $1 br $while-continue|033 end end i32.const -1 - local.set $1 + local.set $0 end - local.get $1 + local.get $0 i32.const 1 i32.ne if @@ -12089,9 +12098,9 @@ local.tee $4 i32.store offset=8 i32.const 0 - local.set $0 - i32.const -1 local.set $1 + i32.const -1 + local.set $0 block $~lib/typedarray/INDEX_OF<~lib/typedarray/Int16Array,i16>|inlined.041 local.get $4 i32.load offset=8 @@ -12107,12 +12116,12 @@ i32.load offset=4 local.set $2 loop $while-continue|042 - local.get $0 + local.get $1 local.get $3 i32.lt_s if - local.get $0 - local.tee $1 + local.get $1 + local.tee $0 i32.const 1 i32.shl local.get $2 @@ -12121,17 +12130,17 @@ i32.const 3 i32.eq br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Int16Array,i16>|inlined.041 - local.get $1 + local.get $0 i32.const 1 i32.add - local.set $0 + local.set $1 br $while-continue|042 end end i32.const -1 - local.set $1 + local.set $0 end - local.get $1 + local.get $0 i32.const -1 i32.ne if @@ -12143,9 +12152,9 @@ unreachable end i32.const 0 - local.set $0 - i32.const -1 local.set $1 + i32.const -1 + local.set $0 block $~lib/typedarray/INDEX_OF<~lib/typedarray/Int16Array,i16>|inlined.044 local.get $4 i32.load offset=8 @@ -12161,12 +12170,12 @@ i32.load offset=4 local.set $2 loop $while-continue|045 - local.get $0 + local.get $1 local.get $3 i32.lt_s if - local.get $0 - local.tee $1 + local.get $1 + local.tee $0 i32.const 1 i32.shl local.get $2 @@ -12175,17 +12184,17 @@ i32.const 4 i32.eq br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Int16Array,i16>|inlined.044 - local.get $1 + local.get $0 i32.const 1 i32.add - local.set $0 + local.set $1 br $while-continue|045 end end i32.const -1 - local.set $1 + local.set $0 end - local.get $1 + local.get $0 if i32.const 0 i32.const 1568 @@ -12195,9 +12204,9 @@ unreachable end i32.const 0 - local.set $0 - i32.const -1 local.set $1 + i32.const -1 + local.set $0 block $~lib/typedarray/INDEX_OF<~lib/typedarray/Int16Array,i16>|inlined.047 local.get $4 i32.load offset=8 @@ -12213,12 +12222,12 @@ i32.load offset=4 local.set $2 loop $while-continue|048 - local.get $0 + local.get $1 local.get $3 i32.lt_s if - local.get $0 - local.tee $1 + local.get $1 + local.tee $0 i32.const 1 i32.shl local.get $2 @@ -12227,17 +12236,17 @@ i32.const 5 i32.eq br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Int16Array,i16>|inlined.047 - local.get $1 + local.get $0 i32.const 1 i32.add - local.set $0 + local.set $1 br $while-continue|048 end end i32.const -1 - local.set $1 + local.set $0 end - local.get $1 + local.get $0 i32.const 1 i32.ne if @@ -12249,9 +12258,9 @@ unreachable end i32.const 0 - local.set $0 - i32.const -1 local.set $1 + i32.const -1 + local.set $0 block $~lib/typedarray/INDEX_OF<~lib/typedarray/Int16Array,i16>|inlined.050 local.get $4 i32.load offset=8 @@ -12267,12 +12276,12 @@ i32.load offset=4 local.set $2 loop $while-continue|051 - local.get $0 + local.get $1 local.get $3 i32.lt_s if - local.get $0 - local.tee $1 + local.get $1 + local.tee $0 i32.const 1 i32.shl local.get $2 @@ -12281,17 +12290,17 @@ i32.const 9 i32.eq br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Int16Array,i16>|inlined.050 - local.get $1 + local.get $0 i32.const 1 i32.add - local.set $0 + local.set $1 br $while-continue|051 end end i32.const -1 - local.set $1 + local.set $0 end - local.get $1 + local.get $0 i32.const -1 i32.ne if @@ -12303,9 +12312,9 @@ unreachable end i32.const 0 - local.set $0 - i32.const -1 local.set $1 + i32.const -1 + local.set $0 block $~lib/typedarray/INDEX_OF<~lib/typedarray/Int16Array,i16>|inlined.053 local.get $4 i32.load offset=8 @@ -12321,12 +12330,12 @@ i32.load offset=4 local.set $2 loop $while-continue|054 - local.get $0 + local.get $1 local.get $3 i32.lt_s if - local.get $0 - local.tee $1 + local.get $1 + local.tee $0 i32.const 1 i32.shl local.get $2 @@ -12335,17 +12344,17 @@ i32.const 10 i32.eq br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Int16Array,i16>|inlined.053 - local.get $1 + local.get $0 i32.const 1 i32.add - local.set $0 + local.set $1 br $while-continue|054 end end i32.const -1 - local.set $1 + local.set $0 end - local.get $1 + local.get $0 i32.const -1 i32.ne if @@ -12357,9 +12366,9 @@ unreachable end i32.const 0 - local.set $0 - i32.const -1 local.set $1 + i32.const -1 + local.set $0 block $~lib/typedarray/INDEX_OF<~lib/typedarray/Int16Array,i16>|inlined.056 local.get $4 i32.load offset=8 @@ -12375,12 +12384,12 @@ i32.load offset=4 local.set $2 loop $while-continue|057 - local.get $0 + local.get $1 local.get $3 i32.lt_s if - local.get $0 - local.tee $1 + local.get $1 + local.tee $0 i32.const 1 i32.shl local.get $2 @@ -12389,17 +12398,17 @@ i32.const 11 i32.eq br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Int16Array,i16>|inlined.056 - local.get $1 + local.get $0 i32.const 1 i32.add - local.set $0 + local.set $1 br $while-continue|057 end end i32.const -1 - local.set $1 + local.set $0 end - local.get $1 + local.get $0 i32.const -1 i32.ne if @@ -12411,9 +12420,9 @@ unreachable end i32.const 1 - local.set $0 - i32.const -1 local.set $1 + i32.const -1 + local.set $0 block $~lib/typedarray/INDEX_OF<~lib/typedarray/Int16Array,i16>|inlined.059 local.get $4 i32.load offset=8 @@ -12430,12 +12439,12 @@ i32.load offset=4 local.set $2 loop $while-continue|060 - local.get $0 + local.get $1 local.get $3 i32.lt_s if - local.get $0 - local.tee $1 + local.get $1 + local.tee $0 i32.const 1 i32.shl local.get $2 @@ -12444,17 +12453,17 @@ i32.const 5 i32.eq br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Int16Array,i16>|inlined.059 - local.get $1 + local.get $0 i32.const 1 i32.add - local.set $0 + local.set $1 br $while-continue|060 end end i32.const -1 - local.set $1 + local.set $0 end - local.get $1 + local.get $0 i32.const 1 i32.ne if @@ -12547,46 +12556,46 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $1 + local.tee $0 i64.const 0 i64.store - local.get $1 + local.get $0 i32.const 0 i32.store offset=8 - local.get $1 + local.get $0 i32.const 7728 i32.store - local.get $1 + local.get $0 i32.const 7740 i32.load - local.tee $1 + local.tee $0 call $~lib/typedarray/Uint16Array#constructor local.tee $4 i32.store offset=4 loop $for-loop|0 local.get $0 local.get $1 - i32.lt_s + i32.gt_s if local.get $4 - local.get $0 + local.get $1 i32.const 7728 - local.get $0 + local.get $1 call $~lib/array/Array#__get i32.const 65535 i32.and call $~lib/typedarray/Uint16Array#__set - local.get $0 + local.get $1 i32.const 1 i32.add - local.set $0 + local.set $1 br $for-loop|0 end end i32.const 0 - local.set $0 - i32.const -1 local.set $1 + i32.const -1 + local.set $0 block $~lib/typedarray/INDEX_OF<~lib/typedarray/Uint16Array,u16>|inlined.0 local.get $4 i32.load offset=8 @@ -12602,12 +12611,12 @@ i32.load offset=4 local.set $2 loop $while-continue|0 - local.get $0 + local.get $1 local.get $3 i32.lt_s if - local.get $0 - local.tee $1 + local.get $1 + local.tee $0 i32.const 1 i32.shl local.get $2 @@ -12615,17 +12624,17 @@ i32.load16_u i32.eqz br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Uint16Array,u16>|inlined.0 - local.get $1 + local.get $0 i32.const 1 i32.add - local.set $0 + local.set $1 br $while-continue|0 end end i32.const -1 - local.set $1 + local.set $0 end - local.get $1 + local.get $0 if i32.const 0 i32.const 1568 @@ -12635,9 +12644,9 @@ unreachable end i32.const 0 - local.set $0 - i32.const -1 local.set $1 + i32.const -1 + local.set $0 block $~lib/typedarray/INDEX_OF<~lib/typedarray/Uint16Array,u16>|inlined.01 local.get $4 i32.load offset=8 @@ -12653,12 +12662,12 @@ i32.load offset=4 local.set $2 loop $while-continue|02 - local.get $0 + local.get $1 local.get $3 i32.lt_s if - local.get $0 - local.tee $1 + local.get $1 + local.tee $0 i32.const 1 i32.shl local.get $2 @@ -12667,17 +12676,17 @@ i32.const 11 i32.eq br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Uint16Array,u16>|inlined.01 - local.get $1 + local.get $0 i32.const 1 i32.add - local.set $0 + local.set $1 br $while-continue|02 end end i32.const -1 - local.set $1 + local.set $0 end - local.get $1 + local.get $0 i32.const -1 i32.ne if @@ -12689,9 +12698,9 @@ unreachable end i32.const 0 - local.set $0 - i32.const -1 local.set $1 + i32.const -1 + local.set $0 block $~lib/typedarray/INDEX_OF<~lib/typedarray/Uint16Array,u16>|inlined.04 local.get $4 i32.load offset=8 @@ -12707,12 +12716,12 @@ i32.load offset=4 local.set $2 loop $while-continue|05 - local.get $0 + local.get $1 local.get $3 i32.lt_s if - local.get $0 - local.tee $1 + local.get $1 + local.tee $0 i32.const 1 i32.shl local.get $2 @@ -12721,17 +12730,17 @@ i32.const 65535 i32.eq br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Uint16Array,u16>|inlined.04 - local.get $1 + local.get $0 i32.const 1 i32.add - local.set $0 + local.set $1 br $while-continue|05 end end i32.const -1 - local.set $1 + local.set $0 end - local.get $1 + local.get $0 i32.const -1 i32.ne if @@ -12743,9 +12752,9 @@ unreachable end i32.const 0 - local.set $0 - i32.const -1 local.set $1 + i32.const -1 + local.set $0 block $~lib/typedarray/INDEX_OF<~lib/typedarray/Uint16Array,u16>|inlined.07 local.get $4 i32.load offset=8 @@ -12761,12 +12770,12 @@ i32.load offset=4 local.set $2 loop $while-continue|08 - local.get $0 + local.get $1 local.get $3 i32.lt_s if - local.get $0 - local.tee $1 + local.get $1 + local.tee $0 i32.const 1 i32.shl local.get $2 @@ -12775,17 +12784,17 @@ i32.const 3 i32.eq br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Uint16Array,u16>|inlined.07 - local.get $1 + local.get $0 i32.const 1 i32.add - local.set $0 + local.set $1 br $while-continue|08 end end i32.const -1 - local.set $1 + local.set $0 end - local.get $1 + local.get $0 i32.const 3 i32.ne if @@ -12797,9 +12806,9 @@ unreachable end i32.const 2 - local.set $0 - i32.const -1 local.set $1 + i32.const -1 + local.set $0 block $~lib/typedarray/INDEX_OF<~lib/typedarray/Uint16Array,u16>|inlined.010 local.get $4 i32.load offset=8 @@ -12816,12 +12825,12 @@ i32.load offset=4 local.set $2 loop $while-continue|011 - local.get $0 + local.get $1 local.get $3 i32.lt_s if - local.get $0 - local.tee $1 + local.get $1 + local.tee $0 i32.const 1 i32.shl local.get $2 @@ -12830,17 +12839,17 @@ i32.const 3 i32.eq br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Uint16Array,u16>|inlined.010 - local.get $1 + local.get $0 i32.const 1 i32.add - local.set $0 + local.set $1 br $while-continue|011 end end i32.const -1 - local.set $1 + local.set $0 end - local.get $1 + local.get $0 i32.const 3 i32.ne if @@ -12852,9 +12861,9 @@ unreachable end i32.const 3 - local.set $0 - i32.const -1 local.set $1 + i32.const -1 + local.set $0 block $~lib/typedarray/INDEX_OF<~lib/typedarray/Uint16Array,u16>|inlined.013 local.get $4 i32.load offset=8 @@ -12871,12 +12880,12 @@ i32.load offset=4 local.set $2 loop $while-continue|014 - local.get $0 + local.get $1 local.get $3 i32.lt_s if - local.get $0 - local.tee $1 + local.get $1 + local.tee $0 i32.const 1 i32.shl local.get $2 @@ -12885,17 +12894,17 @@ i32.const 3 i32.eq br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Uint16Array,u16>|inlined.013 - local.get $1 + local.get $0 i32.const 1 i32.add - local.set $0 + local.set $1 br $while-continue|014 end end i32.const -1 - local.set $1 + local.set $0 end - local.get $1 + local.get $0 i32.const 3 i32.ne if @@ -12907,9 +12916,9 @@ unreachable end i32.const 4 - local.set $0 - i32.const -1 local.set $1 + i32.const -1 + local.set $0 block $~lib/typedarray/INDEX_OF<~lib/typedarray/Uint16Array,u16>|inlined.016 local.get $4 i32.load offset=8 @@ -12926,12 +12935,12 @@ i32.load offset=4 local.set $2 loop $while-continue|017 - local.get $0 + local.get $1 local.get $3 i32.lt_s if - local.get $0 - local.tee $1 + local.get $1 + local.tee $0 i32.const 1 i32.shl local.get $2 @@ -12940,17 +12949,17 @@ i32.const 3 i32.eq br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Uint16Array,u16>|inlined.016 - local.get $1 + local.get $0 i32.const 1 i32.add - local.set $0 + local.set $1 br $while-continue|017 end end i32.const -1 - local.set $1 + local.set $0 end - local.get $1 + local.get $0 i32.const -1 i32.ne if @@ -12962,9 +12971,9 @@ unreachable end i32.const 10 - local.set $0 - i32.const -1 local.set $1 + i32.const -1 + local.set $0 block $~lib/typedarray/INDEX_OF<~lib/typedarray/Uint16Array,u16>|inlined.019 local.get $4 i32.load offset=8 @@ -12981,12 +12990,12 @@ i32.load offset=4 local.set $2 loop $while-continue|020 - local.get $0 + local.get $1 local.get $3 i32.lt_s if - local.get $0 - local.tee $1 + local.get $1 + local.tee $0 i32.const 1 i32.shl local.get $2 @@ -12995,17 +13004,17 @@ i32.const 1 i32.eq br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Uint16Array,u16>|inlined.019 - local.get $1 + local.get $0 i32.const 1 i32.add - local.set $0 + local.set $1 br $while-continue|020 end end i32.const -1 - local.set $1 + local.set $0 end - local.get $1 + local.get $0 i32.const -1 i32.ne if @@ -13137,34 +13146,34 @@ unreachable end i32.const -1 - local.set $1 + local.set $0 block $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Uint16Array,u16>|inlined.0 local.get $4 i32.load offset=8 i32.const 1 i32.shr_u - local.tee $0 + local.tee $1 i32.eqz br_if $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Uint16Array,u16>|inlined.0 - local.get $0 + local.get $1 i32.const 1 i32.sub i32.const 4 - local.get $0 + local.get $1 i32.const 4 i32.le_u select - local.set $0 + local.set $1 local.get $4 i32.load offset=4 local.set $2 loop $while-continue|024 - local.get $0 + local.get $1 i32.const 0 i32.ge_s if - local.get $0 - local.tee $1 + local.get $1 + local.tee $0 i32.const 1 i32.shl local.get $2 @@ -13173,17 +13182,17 @@ i32.const 3 i32.eq br_if $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Uint16Array,u16>|inlined.0 - local.get $1 + local.get $0 i32.const 1 i32.sub - local.set $0 + local.set $1 br $while-continue|024 end end i32.const -1 - local.set $1 + local.set $0 end - local.get $1 + local.get $0 i32.const 3 i32.ne if @@ -13195,34 +13204,34 @@ unreachable end i32.const -1 - local.set $1 + local.set $0 block $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Uint16Array,u16>|inlined.026 local.get $4 i32.load offset=8 i32.const 1 i32.shr_u - local.tee $0 + local.tee $1 i32.eqz br_if $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Uint16Array,u16>|inlined.026 - 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_u select - local.set $0 + local.set $1 local.get $4 i32.load offset=4 local.set $2 loop $while-continue|027 - local.get $0 + local.get $1 i32.const 0 i32.ge_s if - local.get $0 - local.tee $1 + local.get $1 + local.tee $0 i32.const 1 i32.shl local.get $2 @@ -13231,17 +13240,17 @@ i32.const 3 i32.eq br_if $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Uint16Array,u16>|inlined.026 - local.get $1 + local.get $0 i32.const 1 i32.sub - local.set $0 + local.set $1 br $while-continue|027 end end i32.const -1 - local.set $1 + local.set $0 end - local.get $1 + local.get $0 i32.const 3 i32.ne if @@ -13253,34 +13262,34 @@ unreachable end i32.const -1 - local.set $1 + local.set $0 block $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Uint16Array,u16>|inlined.029 local.get $4 i32.load offset=8 i32.const 1 i32.shr_u - local.tee $0 + local.tee $1 i32.eqz br_if $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Uint16Array,u16>|inlined.029 - 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_u select - local.set $0 + local.set $1 local.get $4 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 $0 - local.tee $1 + local.get $1 + local.tee $0 i32.const 1 i32.shl local.get $2 @@ -13289,17 +13298,17 @@ i32.const 3 i32.eq br_if $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Uint16Array,u16>|inlined.029 - local.get $1 + local.get $0 i32.const 1 i32.sub - local.set $0 + local.set $1 br $while-continue|030 end end i32.const -1 - local.set $1 + local.set $0 end - local.get $1 + local.get $0 i32.const -1 i32.ne if @@ -13311,34 +13320,34 @@ unreachable end i32.const -1 - local.set $1 + local.set $0 block $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Uint16Array,u16>|inlined.032 local.get $4 i32.load offset=8 i32.const 1 i32.shr_u - local.tee $0 + local.tee $1 i32.eqz br_if $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Uint16Array,u16>|inlined.032 - local.get $0 + local.get $1 i32.const 1 i32.sub i32.const 100 - local.get $0 + local.get $1 i32.const 100 i32.le_u select - local.set $0 + local.set $1 local.get $4 i32.load offset=4 local.set $2 loop $while-continue|033 - local.get $0 + local.get $1 i32.const 0 i32.ge_s if - local.get $0 - local.tee $1 + local.get $1 + local.tee $0 i32.const 1 i32.shl local.get $2 @@ -13347,17 +13356,17 @@ i32.const 1 i32.eq br_if $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Uint16Array,u16>|inlined.032 - local.get $1 + local.get $0 i32.const 1 i32.sub - local.set $0 + local.set $1 br $while-continue|033 end end i32.const -1 - local.set $1 + local.set $0 end - local.get $1 + local.get $0 i32.const 1 i32.ne if @@ -13479,9 +13488,9 @@ local.tee $4 i32.store offset=8 i32.const 0 - local.set $0 - i32.const -1 local.set $1 + i32.const -1 + local.set $0 block $~lib/typedarray/INDEX_OF<~lib/typedarray/Uint16Array,u16>|inlined.041 local.get $4 i32.load offset=8 @@ -13497,12 +13506,12 @@ i32.load offset=4 local.set $2 loop $while-continue|042 - local.get $0 + local.get $1 local.get $3 i32.lt_s if - local.get $0 - local.tee $1 + local.get $1 + local.tee $0 i32.const 1 i32.shl local.get $2 @@ -13511,17 +13520,17 @@ i32.const 3 i32.eq br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Uint16Array,u16>|inlined.041 - local.get $1 + local.get $0 i32.const 1 i32.add - local.set $0 + local.set $1 br $while-continue|042 end end i32.const -1 - local.set $1 + local.set $0 end - local.get $1 + local.get $0 i32.const -1 i32.ne if @@ -13533,9 +13542,9 @@ unreachable end i32.const 0 - local.set $0 - i32.const -1 local.set $1 + i32.const -1 + local.set $0 block $~lib/typedarray/INDEX_OF<~lib/typedarray/Uint16Array,u16>|inlined.044 local.get $4 i32.load offset=8 @@ -13551,12 +13560,12 @@ i32.load offset=4 local.set $2 loop $while-continue|045 - local.get $0 + local.get $1 local.get $3 i32.lt_s if - local.get $0 - local.tee $1 + local.get $1 + local.tee $0 i32.const 1 i32.shl local.get $2 @@ -13565,17 +13574,17 @@ i32.const 4 i32.eq br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Uint16Array,u16>|inlined.044 - local.get $1 + local.get $0 i32.const 1 i32.add - local.set $0 + local.set $1 br $while-continue|045 end end i32.const -1 - local.set $1 + local.set $0 end - local.get $1 + local.get $0 if i32.const 0 i32.const 1568 @@ -13585,9 +13594,9 @@ unreachable end i32.const 0 - local.set $0 - i32.const -1 local.set $1 + i32.const -1 + local.set $0 block $~lib/typedarray/INDEX_OF<~lib/typedarray/Uint16Array,u16>|inlined.047 local.get $4 i32.load offset=8 @@ -13603,12 +13612,12 @@ i32.load offset=4 local.set $2 loop $while-continue|048 - local.get $0 + local.get $1 local.get $3 i32.lt_s if - local.get $0 - local.tee $1 + local.get $1 + local.tee $0 i32.const 1 i32.shl local.get $2 @@ -13617,17 +13626,17 @@ i32.const 5 i32.eq br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Uint16Array,u16>|inlined.047 - local.get $1 + local.get $0 i32.const 1 i32.add - local.set $0 + local.set $1 br $while-continue|048 end end i32.const -1 - local.set $1 + local.set $0 end - local.get $1 + local.get $0 i32.const 1 i32.ne if @@ -13639,9 +13648,9 @@ unreachable end i32.const 0 - local.set $0 - i32.const -1 local.set $1 + i32.const -1 + local.set $0 block $~lib/typedarray/INDEX_OF<~lib/typedarray/Uint16Array,u16>|inlined.050 local.get $4 i32.load offset=8 @@ -13657,12 +13666,12 @@ i32.load offset=4 local.set $2 loop $while-continue|051 - local.get $0 + local.get $1 local.get $3 i32.lt_s if - local.get $0 - local.tee $1 + local.get $1 + local.tee $0 i32.const 1 i32.shl local.get $2 @@ -13671,17 +13680,17 @@ i32.const 9 i32.eq br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Uint16Array,u16>|inlined.050 - local.get $1 + local.get $0 i32.const 1 i32.add - local.set $0 + local.set $1 br $while-continue|051 end end i32.const -1 - local.set $1 + local.set $0 end - local.get $1 + local.get $0 i32.const -1 i32.ne if @@ -13693,9 +13702,9 @@ unreachable end i32.const 0 - local.set $0 - i32.const -1 local.set $1 + i32.const -1 + local.set $0 block $~lib/typedarray/INDEX_OF<~lib/typedarray/Uint16Array,u16>|inlined.053 local.get $4 i32.load offset=8 @@ -13711,12 +13720,12 @@ i32.load offset=4 local.set $2 loop $while-continue|054 - local.get $0 + local.get $1 local.get $3 i32.lt_s if - local.get $0 - local.tee $1 + local.get $1 + local.tee $0 i32.const 1 i32.shl local.get $2 @@ -13725,17 +13734,17 @@ i32.const 10 i32.eq br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Uint16Array,u16>|inlined.053 - local.get $1 + local.get $0 i32.const 1 i32.add - local.set $0 + local.set $1 br $while-continue|054 end end i32.const -1 - local.set $1 + local.set $0 end - local.get $1 + local.get $0 i32.const -1 i32.ne if @@ -13747,9 +13756,9 @@ unreachable end i32.const 0 - local.set $0 - i32.const -1 local.set $1 + i32.const -1 + local.set $0 block $~lib/typedarray/INDEX_OF<~lib/typedarray/Uint16Array,u16>|inlined.056 local.get $4 i32.load offset=8 @@ -13765,12 +13774,12 @@ i32.load offset=4 local.set $2 loop $while-continue|057 - local.get $0 + local.get $1 local.get $3 i32.lt_s if - local.get $0 - local.tee $1 + local.get $1 + local.tee $0 i32.const 1 i32.shl local.get $2 @@ -13779,17 +13788,17 @@ i32.const 11 i32.eq br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Uint16Array,u16>|inlined.056 - local.get $1 + local.get $0 i32.const 1 i32.add - local.set $0 + local.set $1 br $while-continue|057 end end i32.const -1 - local.set $1 + local.set $0 end - local.get $1 + local.get $0 i32.const -1 i32.ne if @@ -13801,9 +13810,9 @@ unreachable end i32.const 1 - local.set $0 - i32.const -1 local.set $1 + i32.const -1 + local.set $0 block $~lib/typedarray/INDEX_OF<~lib/typedarray/Uint16Array,u16>|inlined.059 local.get $4 i32.load offset=8 @@ -13820,12 +13829,12 @@ i32.load offset=4 local.set $2 loop $while-continue|060 - local.get $0 + local.get $1 local.get $3 i32.lt_s if - local.get $0 - local.tee $1 + local.get $1 + local.tee $0 i32.const 1 i32.shl local.get $2 @@ -13834,17 +13843,17 @@ i32.const 5 i32.eq br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Uint16Array,u16>|inlined.059 - local.get $1 + local.get $0 i32.const 1 i32.add - local.set $0 + local.set $1 br $while-continue|060 end end i32.const -1 - local.set $1 + local.set $0 end - local.get $1 + local.get $0 i32.const 1 i32.ne if @@ -13937,44 +13946,44 @@ unreachable end 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 - local.get $0 + local.get $1 i32.const 7728 i32.store - local.get $0 + local.get $1 i32.const 7740 i32.load - local.tee $0 + local.tee $1 call $~lib/typedarray/Int32Array#constructor local.tee $3 i32.store offset=4 loop $for-loop|0 local.get $0 local.get $1 - i32.gt_s + i32.lt_s if local.get $3 - local.get $1 + local.get $0 i32.const 7728 - local.get $1 + local.get $0 call $~lib/array/Array#__get call $~lib/typedarray/Int32Array#__set - local.get $1 + local.get $0 i32.const 1 i32.add - local.set $1 + local.set $0 br $for-loop|0 end end i32.const 0 - local.set $1 - i32.const -1 local.set $0 + i32.const -1 + local.set $1 block $~lib/typedarray/INDEX_OF<~lib/typedarray/Int32Array,i32>|inlined.0 local.get $3 i32.load offset=8 @@ -13987,12 +13996,12 @@ i32.load offset=4 local.set $2 loop $while-continue|0 - local.get $1 + local.get $0 local.get $4 i32.lt_s if - local.get $1 - local.tee $0 + local.get $0 + local.tee $1 i32.const 2 i32.shl local.get $2 @@ -14000,17 +14009,17 @@ i32.load i32.eqz br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Int32Array,i32>|inlined.0 - local.get $0 + local.get $1 i32.const 1 i32.add - local.set $1 + local.set $0 br $while-continue|0 end end i32.const -1 - local.set $0 + local.set $1 end - local.get $0 + local.get $1 if i32.const 0 i32.const 1568 @@ -14020,9 +14029,9 @@ unreachable end i32.const 0 - local.set $1 - i32.const -1 local.set $0 + i32.const -1 + local.set $1 block $~lib/typedarray/INDEX_OF<~lib/typedarray/Int32Array,i32>|inlined.01 local.get $3 i32.load offset=8 @@ -14035,12 +14044,12 @@ i32.load offset=4 local.set $2 loop $while-continue|02 - local.get $1 + local.get $0 local.get $4 i32.lt_s if - local.get $1 - local.tee $0 + local.get $0 + local.tee $1 i32.const 2 i32.shl local.get $2 @@ -14049,17 +14058,17 @@ i32.const 11 i32.eq br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Int32Array,i32>|inlined.01 - local.get $0 + local.get $1 i32.const 1 i32.add - local.set $1 + local.set $0 br $while-continue|02 end end i32.const -1 - local.set $0 + local.set $1 end - local.get $0 + local.get $1 i32.const -1 i32.ne if @@ -14071,9 +14080,9 @@ unreachable end i32.const 0 - local.set $1 - i32.const -1 local.set $0 + i32.const -1 + local.set $1 block $~lib/typedarray/INDEX_OF<~lib/typedarray/Int32Array,i32>|inlined.04 local.get $3 i32.load offset=8 @@ -14086,12 +14095,12 @@ i32.load offset=4 local.set $2 loop $while-continue|05 - local.get $1 + local.get $0 local.get $4 i32.lt_s if - local.get $1 - local.tee $0 + local.get $0 + local.tee $1 i32.const 2 i32.shl local.get $2 @@ -14100,17 +14109,17 @@ i32.const -1 i32.eq br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Int32Array,i32>|inlined.04 - local.get $0 + local.get $1 i32.const 1 i32.add - local.set $1 + local.set $0 br $while-continue|05 end end i32.const -1 - local.set $0 + local.set $1 end - local.get $0 + local.get $1 i32.const -1 i32.ne if @@ -14122,9 +14131,9 @@ unreachable end i32.const 0 - local.set $1 - i32.const -1 local.set $0 + i32.const -1 + local.set $1 block $~lib/typedarray/INDEX_OF<~lib/typedarray/Int32Array,i32>|inlined.07 local.get $3 i32.load offset=8 @@ -14137,12 +14146,12 @@ i32.load offset=4 local.set $2 loop $while-continue|08 - local.get $1 + local.get $0 local.get $4 i32.lt_s if - local.get $1 - local.tee $0 + local.get $0 + local.tee $1 i32.const 2 i32.shl local.get $2 @@ -14151,17 +14160,17 @@ i32.const 3 i32.eq br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Int32Array,i32>|inlined.07 - local.get $0 + local.get $1 i32.const 1 i32.add - local.set $1 + local.set $0 br $while-continue|08 end end i32.const -1 - local.set $0 + local.set $1 end - local.get $0 + local.get $1 i32.const 3 i32.ne if @@ -14173,9 +14182,9 @@ unreachable end i32.const 2 - local.set $1 - i32.const -1 local.set $0 + i32.const -1 + local.set $1 block $~lib/typedarray/INDEX_OF<~lib/typedarray/Int32Array,i32>|inlined.010 local.get $3 i32.load offset=8 @@ -14192,12 +14201,12 @@ i32.load offset=4 local.set $2 loop $while-continue|011 - local.get $1 + local.get $0 local.get $4 i32.lt_s if - local.get $1 - local.tee $0 + local.get $0 + local.tee $1 i32.const 2 i32.shl local.get $2 @@ -14206,17 +14215,17 @@ i32.const 3 i32.eq br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Int32Array,i32>|inlined.010 - local.get $0 + local.get $1 i32.const 1 i32.add - local.set $1 + local.set $0 br $while-continue|011 end end i32.const -1 - local.set $0 + local.set $1 end - local.get $0 + local.get $1 i32.const 3 i32.ne if @@ -14228,9 +14237,9 @@ unreachable end i32.const 3 - local.set $1 - i32.const -1 local.set $0 + i32.const -1 + local.set $1 block $~lib/typedarray/INDEX_OF<~lib/typedarray/Int32Array,i32>|inlined.013 local.get $3 i32.load offset=8 @@ -14247,12 +14256,12 @@ i32.load offset=4 local.set $2 loop $while-continue|014 - local.get $1 + local.get $0 local.get $4 i32.lt_s if - local.get $1 - local.tee $0 + local.get $0 + local.tee $1 i32.const 2 i32.shl local.get $2 @@ -14261,17 +14270,17 @@ i32.const 3 i32.eq br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Int32Array,i32>|inlined.013 - local.get $0 + local.get $1 i32.const 1 i32.add - local.set $1 + local.set $0 br $while-continue|014 end end i32.const -1 - local.set $0 + local.set $1 end - local.get $0 + local.get $1 i32.const 3 i32.ne if @@ -14283,9 +14292,9 @@ unreachable end i32.const 4 - local.set $1 - i32.const -1 local.set $0 + i32.const -1 + local.set $1 block $~lib/typedarray/INDEX_OF<~lib/typedarray/Int32Array,i32>|inlined.016 local.get $3 i32.load offset=8 @@ -14302,12 +14311,12 @@ i32.load offset=4 local.set $2 loop $while-continue|017 - local.get $1 + local.get $0 local.get $4 i32.lt_s if - local.get $1 - local.tee $0 + local.get $0 + local.tee $1 i32.const 2 i32.shl local.get $2 @@ -14316,17 +14325,17 @@ i32.const 3 i32.eq br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Int32Array,i32>|inlined.016 - local.get $0 + local.get $1 i32.const 1 i32.add - local.set $1 + local.set $0 br $while-continue|017 end end i32.const -1 - local.set $0 + local.set $1 end - local.get $0 + local.get $1 i32.const -1 i32.ne if @@ -14338,9 +14347,9 @@ unreachable end i32.const 10 - local.set $1 - i32.const -1 local.set $0 + i32.const -1 + local.set $1 block $~lib/typedarray/INDEX_OF<~lib/typedarray/Int32Array,i32>|inlined.019 local.get $3 i32.load offset=8 @@ -14357,12 +14366,12 @@ i32.load offset=4 local.set $2 loop $while-continue|020 - local.get $1 + local.get $0 local.get $4 i32.lt_s if - local.get $1 - local.tee $0 + local.get $0 + local.tee $1 i32.const 2 i32.shl local.get $2 @@ -14371,17 +14380,17 @@ i32.const 1 i32.eq br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Int32Array,i32>|inlined.019 - local.get $0 + local.get $1 i32.const 1 i32.add - local.set $1 + local.set $0 br $while-continue|020 end end i32.const -1 - local.set $0 + local.set $1 end - local.get $0 + local.get $1 i32.const -1 i32.ne if @@ -14712,34 +14721,34 @@ unreachable end i32.const -1 - local.set $0 + local.set $1 block $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Int32Array,i32>|inlined.019 local.get $3 i32.load offset=8 i32.const 2 i32.shr_u - local.tee $1 + local.tee $0 i32.eqz br_if $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Int32Array,i32>|inlined.019 - local.get $1 + local.get $0 i32.const 1 i32.sub i32.const 4 - local.get $1 + local.get $0 i32.const 4 i32.le_u select - local.set $1 + local.set $0 local.get $3 i32.load offset=4 local.set $2 loop $while-continue|024 - local.get $1 + local.get $0 i32.const 0 i32.ge_s if - local.get $1 - local.tee $0 + local.get $0 + local.tee $1 i32.const 2 i32.shl local.get $2 @@ -14748,17 +14757,17 @@ i32.const 3 i32.eq br_if $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Int32Array,i32>|inlined.019 - local.get $0 + local.get $1 i32.const 1 i32.sub - local.set $1 + local.set $0 br $while-continue|024 end end i32.const -1 - local.set $0 + local.set $1 end - local.get $0 + local.get $1 i32.const 3 i32.ne if @@ -14770,34 +14779,34 @@ unreachable end i32.const -1 - local.set $0 + local.set $1 block $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Int32Array,i32>|inlined.026 local.get $3 i32.load offset=8 i32.const 2 i32.shr_u - local.tee $1 + local.tee $0 i32.eqz br_if $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Int32Array,i32>|inlined.026 - local.get $1 + local.get $0 i32.const 1 i32.sub i32.const 3 - local.get $1 + local.get $0 i32.const 3 i32.le_u select - local.set $1 + local.set $0 local.get $3 i32.load offset=4 local.set $2 loop $while-continue|027 - local.get $1 + local.get $0 i32.const 0 i32.ge_s if - local.get $1 - local.tee $0 + local.get $0 + local.tee $1 i32.const 2 i32.shl local.get $2 @@ -14806,17 +14815,17 @@ i32.const 3 i32.eq br_if $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Int32Array,i32>|inlined.026 - local.get $0 + local.get $1 i32.const 1 i32.sub - local.set $1 + local.set $0 br $while-continue|027 end end i32.const -1 - local.set $0 + local.set $1 end - local.get $0 + local.get $1 i32.const 3 i32.ne if @@ -14828,34 +14837,34 @@ unreachable end i32.const -1 - local.set $0 + local.set $1 block $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Int32Array,i32>|inlined.029 local.get $3 i32.load offset=8 i32.const 2 i32.shr_u - local.tee $1 + local.tee $0 i32.eqz br_if $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Int32Array,i32>|inlined.029 - local.get $1 + local.get $0 i32.const 1 i32.sub i32.const 2 - local.get $1 + local.get $0 i32.const 2 i32.le_u select - local.set $1 + local.set $0 local.get $3 i32.load offset=4 local.set $2 loop $while-continue|030 - local.get $1 + local.get $0 i32.const 0 i32.ge_s if - local.get $1 - local.tee $0 + local.get $0 + local.tee $1 i32.const 2 i32.shl local.get $2 @@ -14864,17 +14873,17 @@ i32.const 3 i32.eq br_if $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Int32Array,i32>|inlined.029 - local.get $0 + local.get $1 i32.const 1 i32.sub - local.set $1 + local.set $0 br $while-continue|030 end end i32.const -1 - local.set $0 + local.set $1 end - local.get $0 + local.get $1 i32.const -1 i32.ne if @@ -14886,34 +14895,34 @@ unreachable end i32.const -1 - local.set $0 + local.set $1 block $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Int32Array,i32>|inlined.032 local.get $3 i32.load offset=8 i32.const 2 i32.shr_u - local.tee $1 + local.tee $0 i32.eqz br_if $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Int32Array,i32>|inlined.032 - local.get $1 + local.get $0 i32.const 1 i32.sub i32.const 100 - local.get $1 + local.get $0 i32.const 100 i32.le_u select - local.set $1 + local.set $0 local.get $3 i32.load offset=4 local.set $2 loop $while-continue|033 - local.get $1 + local.get $0 i32.const 0 i32.ge_s if - local.get $1 - local.tee $0 + local.get $0 + local.tee $1 i32.const 2 i32.shl local.get $2 @@ -14922,17 +14931,17 @@ i32.const 1 i32.eq br_if $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Int32Array,i32>|inlined.032 - local.get $0 + local.get $1 i32.const 1 i32.sub - local.set $1 + local.set $0 br $while-continue|033 end end i32.const -1 - local.set $0 + local.set $1 end - local.get $0 + local.get $1 i32.const 1 i32.ne if @@ -15055,9 +15064,9 @@ local.tee $4 i32.store offset=8 i32.const 0 - local.set $1 - i32.const -1 local.set $0 + i32.const -1 + local.set $1 block $~lib/typedarray/INDEX_OF<~lib/typedarray/Int32Array,i32>|inlined.041 local.get $4 i32.load offset=8 @@ -15070,12 +15079,12 @@ i32.load offset=4 local.set $3 loop $while-continue|042 - local.get $1 + local.get $0 local.get $2 i32.lt_s if - local.get $1 - local.tee $0 + local.get $0 + local.tee $1 i32.const 2 i32.shl local.get $3 @@ -15084,17 +15093,17 @@ i32.const 3 i32.eq br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Int32Array,i32>|inlined.041 - local.get $0 + local.get $1 i32.const 1 i32.add - local.set $1 + local.set $0 br $while-continue|042 end end i32.const -1 - local.set $0 + local.set $1 end - local.get $0 + local.get $1 i32.const -1 i32.ne if @@ -15106,9 +15115,9 @@ unreachable end i32.const 0 - local.set $1 - i32.const -1 local.set $0 + i32.const -1 + local.set $1 block $~lib/typedarray/INDEX_OF<~lib/typedarray/Int32Array,i32>|inlined.044 local.get $4 i32.load offset=8 @@ -15121,12 +15130,12 @@ i32.load offset=4 local.set $3 loop $while-continue|045 - local.get $1 + local.get $0 local.get $2 i32.lt_s if - local.get $1 - local.tee $0 + local.get $0 + local.tee $1 i32.const 2 i32.shl local.get $3 @@ -15135,17 +15144,17 @@ i32.const 4 i32.eq br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Int32Array,i32>|inlined.044 - local.get $0 + local.get $1 i32.const 1 i32.add - local.set $1 + local.set $0 br $while-continue|045 end end i32.const -1 - local.set $0 + local.set $1 end - local.get $0 + local.get $1 if i32.const 0 i32.const 1568 @@ -15155,9 +15164,9 @@ unreachable end i32.const 0 - local.set $1 - i32.const -1 local.set $0 + i32.const -1 + local.set $1 block $~lib/typedarray/INDEX_OF<~lib/typedarray/Int32Array,i32>|inlined.047 local.get $4 i32.load offset=8 @@ -15170,12 +15179,12 @@ i32.load offset=4 local.set $3 loop $while-continue|048 - local.get $1 + local.get $0 local.get $2 i32.lt_s if - local.get $1 - local.tee $0 + local.get $0 + local.tee $1 i32.const 2 i32.shl local.get $3 @@ -15184,17 +15193,17 @@ i32.const 5 i32.eq br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Int32Array,i32>|inlined.047 - local.get $0 + local.get $1 i32.const 1 i32.add - local.set $1 + local.set $0 br $while-continue|048 end end i32.const -1 - local.set $0 + local.set $1 end - local.get $0 + local.get $1 i32.const 1 i32.ne if @@ -15206,9 +15215,9 @@ unreachable end i32.const 0 - local.set $1 - i32.const -1 local.set $0 + i32.const -1 + local.set $1 block $~lib/typedarray/INDEX_OF<~lib/typedarray/Int32Array,i32>|inlined.050 local.get $4 i32.load offset=8 @@ -15221,12 +15230,12 @@ i32.load offset=4 local.set $3 loop $while-continue|051 - local.get $1 + local.get $0 local.get $2 i32.lt_s if - local.get $1 - local.tee $0 + local.get $0 + local.tee $1 i32.const 2 i32.shl local.get $3 @@ -15235,17 +15244,17 @@ i32.const 9 i32.eq br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Int32Array,i32>|inlined.050 - local.get $0 + local.get $1 i32.const 1 i32.add - local.set $1 + local.set $0 br $while-continue|051 end end i32.const -1 - local.set $0 + local.set $1 end - local.get $0 + local.get $1 i32.const -1 i32.ne if @@ -15257,9 +15266,9 @@ unreachable end i32.const 0 - local.set $1 - i32.const -1 local.set $0 + i32.const -1 + local.set $1 block $~lib/typedarray/INDEX_OF<~lib/typedarray/Int32Array,i32>|inlined.053 local.get $4 i32.load offset=8 @@ -15272,12 +15281,12 @@ i32.load offset=4 local.set $3 loop $while-continue|054 - local.get $1 + local.get $0 local.get $2 i32.lt_s if - local.get $1 - local.tee $0 + local.get $0 + local.tee $1 i32.const 2 i32.shl local.get $3 @@ -15286,17 +15295,17 @@ i32.const 10 i32.eq br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Int32Array,i32>|inlined.053 - local.get $0 + local.get $1 i32.const 1 i32.add - local.set $1 + local.set $0 br $while-continue|054 end end i32.const -1 - local.set $0 + local.set $1 end - local.get $0 + local.get $1 i32.const -1 i32.ne if @@ -15308,9 +15317,9 @@ unreachable end i32.const 0 - local.set $1 - i32.const -1 local.set $0 + i32.const -1 + local.set $1 block $~lib/typedarray/INDEX_OF<~lib/typedarray/Int32Array,i32>|inlined.056 local.get $4 i32.load offset=8 @@ -15323,12 +15332,12 @@ i32.load offset=4 local.set $3 loop $while-continue|057 - local.get $1 + local.get $0 local.get $2 i32.lt_s if - local.get $1 - local.tee $0 + local.get $0 + local.tee $1 i32.const 2 i32.shl local.get $3 @@ -15337,17 +15346,17 @@ i32.const 11 i32.eq br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Int32Array,i32>|inlined.056 - local.get $0 + local.get $1 i32.const 1 i32.add - local.set $1 + local.set $0 br $while-continue|057 end end i32.const -1 - local.set $0 + local.set $1 end - local.get $0 + local.get $1 i32.const -1 i32.ne if @@ -15359,9 +15368,9 @@ unreachable end i32.const 1 - local.set $1 - i32.const -1 local.set $0 + i32.const -1 + local.set $1 block $~lib/typedarray/INDEX_OF<~lib/typedarray/Int32Array,i32>|inlined.059 local.get $4 i32.load offset=8 @@ -15378,12 +15387,12 @@ i32.load offset=4 local.set $3 loop $while-continue|060 - local.get $1 + local.get $0 local.get $2 i32.lt_s if - local.get $1 - local.tee $0 + local.get $0 + local.tee $1 i32.const 2 i32.shl local.get $3 @@ -15392,17 +15401,17 @@ i32.const 5 i32.eq br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Int32Array,i32>|inlined.059 - local.get $0 + local.get $1 i32.const 1 i32.add - local.set $1 + local.set $0 br $while-continue|060 end end i32.const -1 - local.set $0 + local.set $1 end - local.get $0 + local.get $1 i32.const 1 i32.ne if @@ -15495,44 +15504,44 @@ unreachable end 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 - local.get $0 + local.get $1 i32.const 7728 i32.store - local.get $0 + local.get $1 i32.const 7740 i32.load - local.tee $0 + local.tee $1 call $~lib/typedarray/Uint32Array#constructor local.tee $3 i32.store offset=4 loop $for-loop|0 local.get $0 local.get $1 - i32.gt_s + i32.lt_s if local.get $3 - local.get $1 + local.get $0 i32.const 7728 - local.get $1 + local.get $0 call $~lib/array/Array#__get call $~lib/typedarray/Uint32Array#__set - local.get $1 + local.get $0 i32.const 1 i32.add - local.set $1 + local.set $0 br $for-loop|0 end end i32.const 0 - local.set $1 - i32.const -1 local.set $0 + i32.const -1 + local.set $1 block $~lib/typedarray/INDEX_OF<~lib/typedarray/Uint32Array,u32>|inlined.0 local.get $3 i32.load offset=8 @@ -15545,12 +15554,12 @@ i32.load offset=4 local.set $2 loop $while-continue|0 - local.get $1 + local.get $0 local.get $4 i32.lt_s if - local.get $1 - local.tee $0 + local.get $0 + local.tee $1 i32.const 2 i32.shl local.get $2 @@ -15558,17 +15567,17 @@ i32.load i32.eqz br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Uint32Array,u32>|inlined.0 - local.get $0 + local.get $1 i32.const 1 i32.add - local.set $1 + local.set $0 br $while-continue|0 end end i32.const -1 - local.set $0 + local.set $1 end - local.get $0 + local.get $1 if i32.const 0 i32.const 1568 @@ -15578,9 +15587,9 @@ unreachable end i32.const 0 - local.set $1 - i32.const -1 local.set $0 + i32.const -1 + local.set $1 block $~lib/typedarray/INDEX_OF<~lib/typedarray/Uint32Array,u32>|inlined.01 local.get $3 i32.load offset=8 @@ -15593,12 +15602,12 @@ i32.load offset=4 local.set $2 loop $while-continue|02 - local.get $1 + local.get $0 local.get $4 i32.lt_s if - local.get $1 - local.tee $0 + local.get $0 + local.tee $1 i32.const 2 i32.shl local.get $2 @@ -15607,17 +15616,17 @@ i32.const 11 i32.eq br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Uint32Array,u32>|inlined.01 - local.get $0 + local.get $1 i32.const 1 i32.add - local.set $1 + local.set $0 br $while-continue|02 end end i32.const -1 - local.set $0 + local.set $1 end - local.get $0 + local.get $1 i32.const -1 i32.ne if @@ -15629,9 +15638,9 @@ unreachable end i32.const 0 - local.set $1 - i32.const -1 local.set $0 + i32.const -1 + local.set $1 block $~lib/typedarray/INDEX_OF<~lib/typedarray/Uint32Array,u32>|inlined.04 local.get $3 i32.load offset=8 @@ -15644,12 +15653,12 @@ i32.load offset=4 local.set $2 loop $while-continue|05 - local.get $1 + local.get $0 local.get $4 i32.lt_s if - local.get $1 - local.tee $0 + local.get $0 + local.tee $1 i32.const 2 i32.shl local.get $2 @@ -15658,17 +15667,17 @@ i32.const -1 i32.eq br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Uint32Array,u32>|inlined.04 - local.get $0 + local.get $1 i32.const 1 i32.add - local.set $1 + local.set $0 br $while-continue|05 end end i32.const -1 - local.set $0 + local.set $1 end - local.get $0 + local.get $1 i32.const -1 i32.ne if @@ -15680,9 +15689,9 @@ unreachable end i32.const 0 - local.set $1 - i32.const -1 local.set $0 + i32.const -1 + local.set $1 block $~lib/typedarray/INDEX_OF<~lib/typedarray/Uint32Array,u32>|inlined.07 local.get $3 i32.load offset=8 @@ -15695,12 +15704,12 @@ i32.load offset=4 local.set $2 loop $while-continue|08 - local.get $1 + local.get $0 local.get $4 i32.lt_s if - local.get $1 - local.tee $0 + local.get $0 + local.tee $1 i32.const 2 i32.shl local.get $2 @@ -15709,17 +15718,17 @@ i32.const 3 i32.eq br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Uint32Array,u32>|inlined.07 - local.get $0 + local.get $1 i32.const 1 i32.add - local.set $1 + local.set $0 br $while-continue|08 end end i32.const -1 - local.set $0 + local.set $1 end - local.get $0 + local.get $1 i32.const 3 i32.ne if @@ -15731,9 +15740,9 @@ unreachable end i32.const 2 - local.set $1 - i32.const -1 local.set $0 + i32.const -1 + local.set $1 block $~lib/typedarray/INDEX_OF<~lib/typedarray/Uint32Array,u32>|inlined.010 local.get $3 i32.load offset=8 @@ -15750,12 +15759,12 @@ i32.load offset=4 local.set $2 loop $while-continue|011 - local.get $1 + local.get $0 local.get $4 i32.lt_s if - local.get $1 - local.tee $0 + local.get $0 + local.tee $1 i32.const 2 i32.shl local.get $2 @@ -15764,17 +15773,17 @@ i32.const 3 i32.eq br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Uint32Array,u32>|inlined.010 - local.get $0 + local.get $1 i32.const 1 i32.add - local.set $1 + local.set $0 br $while-continue|011 end end i32.const -1 - local.set $0 + local.set $1 end - local.get $0 + local.get $1 i32.const 3 i32.ne if @@ -15786,9 +15795,9 @@ unreachable end i32.const 3 - local.set $1 - i32.const -1 local.set $0 + i32.const -1 + local.set $1 block $~lib/typedarray/INDEX_OF<~lib/typedarray/Uint32Array,u32>|inlined.013 local.get $3 i32.load offset=8 @@ -15805,12 +15814,12 @@ i32.load offset=4 local.set $2 loop $while-continue|014 - local.get $1 + local.get $0 local.get $4 i32.lt_s if - local.get $1 - local.tee $0 + local.get $0 + local.tee $1 i32.const 2 i32.shl local.get $2 @@ -15819,17 +15828,17 @@ i32.const 3 i32.eq br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Uint32Array,u32>|inlined.013 - local.get $0 + local.get $1 i32.const 1 i32.add - local.set $1 + local.set $0 br $while-continue|014 end end i32.const -1 - local.set $0 + local.set $1 end - local.get $0 + local.get $1 i32.const 3 i32.ne if @@ -15841,9 +15850,9 @@ unreachable end i32.const 4 - local.set $1 - i32.const -1 local.set $0 + i32.const -1 + local.set $1 block $~lib/typedarray/INDEX_OF<~lib/typedarray/Uint32Array,u32>|inlined.016 local.get $3 i32.load offset=8 @@ -15860,12 +15869,12 @@ i32.load offset=4 local.set $2 loop $while-continue|017 - local.get $1 + local.get $0 local.get $4 i32.lt_s if - local.get $1 - local.tee $0 + local.get $0 + local.tee $1 i32.const 2 i32.shl local.get $2 @@ -15874,17 +15883,17 @@ i32.const 3 i32.eq br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Uint32Array,u32>|inlined.016 - local.get $0 + local.get $1 i32.const 1 i32.add - local.set $1 + local.set $0 br $while-continue|017 end end i32.const -1 - local.set $0 + local.set $1 end - local.get $0 + local.get $1 i32.const -1 i32.ne if @@ -15896,9 +15905,9 @@ unreachable end i32.const 10 - local.set $1 - i32.const -1 local.set $0 + i32.const -1 + local.set $1 block $~lib/typedarray/INDEX_OF<~lib/typedarray/Uint32Array,u32>|inlined.019 local.get $3 i32.load offset=8 @@ -15915,12 +15924,12 @@ i32.load offset=4 local.set $2 loop $while-continue|020 - local.get $1 + local.get $0 local.get $4 i32.lt_s if - local.get $1 - local.tee $0 + local.get $0 + local.tee $1 i32.const 2 i32.shl local.get $2 @@ -15929,17 +15938,17 @@ i32.const 1 i32.eq br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Uint32Array,u32>|inlined.019 - local.get $0 + local.get $1 i32.const 1 i32.add - local.set $1 + local.set $0 br $while-continue|020 end end i32.const -1 - local.set $0 + local.set $1 end - local.get $0 + local.get $1 i32.const -1 i32.ne if @@ -16270,34 +16279,34 @@ unreachable end i32.const -1 - local.set $0 + local.set $1 block $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Uint32Array,u32>|inlined.019 local.get $3 i32.load offset=8 i32.const 2 i32.shr_u - local.tee $1 + local.tee $0 i32.eqz br_if $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Uint32Array,u32>|inlined.019 - local.get $1 + local.get $0 i32.const 1 i32.sub i32.const 4 - local.get $1 + local.get $0 i32.const 4 i32.le_u select - local.set $1 + local.set $0 local.get $3 i32.load offset=4 local.set $2 loop $while-continue|024 - local.get $1 + local.get $0 i32.const 0 i32.ge_s if - local.get $1 - local.tee $0 + local.get $0 + local.tee $1 i32.const 2 i32.shl local.get $2 @@ -16306,17 +16315,17 @@ i32.const 3 i32.eq br_if $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Uint32Array,u32>|inlined.019 - local.get $0 + local.get $1 i32.const 1 i32.sub - local.set $1 + local.set $0 br $while-continue|024 end end i32.const -1 - local.set $0 + local.set $1 end - local.get $0 + local.get $1 i32.const 3 i32.ne if @@ -16328,34 +16337,34 @@ unreachable end i32.const -1 - local.set $0 + local.set $1 block $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Uint32Array,u32>|inlined.026 local.get $3 i32.load offset=8 i32.const 2 i32.shr_u - local.tee $1 + local.tee $0 i32.eqz br_if $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Uint32Array,u32>|inlined.026 - local.get $1 + local.get $0 i32.const 1 i32.sub i32.const 3 - local.get $1 + local.get $0 i32.const 3 i32.le_u select - local.set $1 + local.set $0 local.get $3 i32.load offset=4 local.set $2 loop $while-continue|027 - local.get $1 + local.get $0 i32.const 0 i32.ge_s if - local.get $1 - local.tee $0 + local.get $0 + local.tee $1 i32.const 2 i32.shl local.get $2 @@ -16364,17 +16373,17 @@ i32.const 3 i32.eq br_if $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Uint32Array,u32>|inlined.026 - local.get $0 + local.get $1 i32.const 1 i32.sub - local.set $1 + local.set $0 br $while-continue|027 end end i32.const -1 - local.set $0 + local.set $1 end - local.get $0 + local.get $1 i32.const 3 i32.ne if @@ -16386,34 +16395,34 @@ unreachable end i32.const -1 - local.set $0 + local.set $1 block $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Uint32Array,u32>|inlined.029 local.get $3 i32.load offset=8 i32.const 2 i32.shr_u - local.tee $1 + local.tee $0 i32.eqz br_if $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Uint32Array,u32>|inlined.029 - local.get $1 + local.get $0 i32.const 1 i32.sub i32.const 2 - local.get $1 + local.get $0 i32.const 2 i32.le_u select - local.set $1 + local.set $0 local.get $3 i32.load offset=4 local.set $2 loop $while-continue|030 - local.get $1 + local.get $0 i32.const 0 i32.ge_s if - local.get $1 - local.tee $0 + local.get $0 + local.tee $1 i32.const 2 i32.shl local.get $2 @@ -16422,17 +16431,17 @@ i32.const 3 i32.eq br_if $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Uint32Array,u32>|inlined.029 - local.get $0 + local.get $1 i32.const 1 i32.sub - local.set $1 + local.set $0 br $while-continue|030 end end i32.const -1 - local.set $0 + local.set $1 end - local.get $0 + local.get $1 i32.const -1 i32.ne if @@ -16444,34 +16453,34 @@ unreachable end i32.const -1 - local.set $0 + local.set $1 block $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Uint32Array,u32>|inlined.032 local.get $3 i32.load offset=8 i32.const 2 i32.shr_u - local.tee $1 + local.tee $0 i32.eqz br_if $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Uint32Array,u32>|inlined.032 - local.get $1 + local.get $0 i32.const 1 i32.sub i32.const 100 - local.get $1 + local.get $0 i32.const 100 i32.le_u select - local.set $1 + local.set $0 local.get $3 i32.load offset=4 local.set $2 loop $while-continue|033 - local.get $1 + local.get $0 i32.const 0 i32.ge_s if - local.get $1 - local.tee $0 + local.get $0 + local.tee $1 i32.const 2 i32.shl local.get $2 @@ -16480,17 +16489,17 @@ i32.const 1 i32.eq br_if $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Uint32Array,u32>|inlined.032 - local.get $0 + local.get $1 i32.const 1 i32.sub - local.set $1 + local.set $0 br $while-continue|033 end end i32.const -1 - local.set $0 + local.set $1 end - local.get $0 + local.get $1 i32.const 1 i32.ne if @@ -16612,9 +16621,9 @@ local.tee $4 i32.store offset=8 i32.const 0 - local.set $1 - i32.const -1 local.set $0 + i32.const -1 + local.set $1 block $~lib/typedarray/INDEX_OF<~lib/typedarray/Uint32Array,u32>|inlined.041 local.get $4 i32.load offset=8 @@ -16627,12 +16636,12 @@ i32.load offset=4 local.set $3 loop $while-continue|042 - local.get $1 + local.get $0 local.get $2 i32.lt_s if - local.get $1 - local.tee $0 + local.get $0 + local.tee $1 i32.const 2 i32.shl local.get $3 @@ -16641,17 +16650,17 @@ i32.const 3 i32.eq br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Uint32Array,u32>|inlined.041 - local.get $0 + local.get $1 i32.const 1 i32.add - local.set $1 + local.set $0 br $while-continue|042 end end i32.const -1 - local.set $0 + local.set $1 end - local.get $0 + local.get $1 i32.const -1 i32.ne if @@ -16663,9 +16672,9 @@ unreachable end i32.const 0 - local.set $1 - i32.const -1 local.set $0 + i32.const -1 + local.set $1 block $~lib/typedarray/INDEX_OF<~lib/typedarray/Uint32Array,u32>|inlined.044 local.get $4 i32.load offset=8 @@ -16678,12 +16687,12 @@ i32.load offset=4 local.set $3 loop $while-continue|045 - local.get $1 + local.get $0 local.get $2 i32.lt_s if - local.get $1 - local.tee $0 + local.get $0 + local.tee $1 i32.const 2 i32.shl local.get $3 @@ -16692,17 +16701,17 @@ i32.const 4 i32.eq br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Uint32Array,u32>|inlined.044 - local.get $0 + local.get $1 i32.const 1 i32.add - local.set $1 + local.set $0 br $while-continue|045 end end i32.const -1 - local.set $0 + local.set $1 end - local.get $0 + local.get $1 if i32.const 0 i32.const 1568 @@ -16712,9 +16721,9 @@ unreachable end i32.const 0 - local.set $1 - i32.const -1 local.set $0 + i32.const -1 + local.set $1 block $~lib/typedarray/INDEX_OF<~lib/typedarray/Uint32Array,u32>|inlined.047 local.get $4 i32.load offset=8 @@ -16727,12 +16736,12 @@ i32.load offset=4 local.set $3 loop $while-continue|048 - local.get $1 + local.get $0 local.get $2 i32.lt_s if - local.get $1 - local.tee $0 + local.get $0 + local.tee $1 i32.const 2 i32.shl local.get $3 @@ -16741,17 +16750,17 @@ i32.const 5 i32.eq br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Uint32Array,u32>|inlined.047 - local.get $0 + local.get $1 i32.const 1 i32.add - local.set $1 + local.set $0 br $while-continue|048 end end i32.const -1 - local.set $0 + local.set $1 end - local.get $0 + local.get $1 i32.const 1 i32.ne if @@ -16763,9 +16772,9 @@ unreachable end i32.const 0 - local.set $1 - i32.const -1 local.set $0 + i32.const -1 + local.set $1 block $~lib/typedarray/INDEX_OF<~lib/typedarray/Uint32Array,u32>|inlined.050 local.get $4 i32.load offset=8 @@ -16778,12 +16787,12 @@ i32.load offset=4 local.set $3 loop $while-continue|051 - local.get $1 + local.get $0 local.get $2 i32.lt_s if - local.get $1 - local.tee $0 + local.get $0 + local.tee $1 i32.const 2 i32.shl local.get $3 @@ -16792,17 +16801,17 @@ i32.const 9 i32.eq br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Uint32Array,u32>|inlined.050 - local.get $0 + local.get $1 i32.const 1 i32.add - local.set $1 + local.set $0 br $while-continue|051 end end i32.const -1 - local.set $0 + local.set $1 end - local.get $0 + local.get $1 i32.const -1 i32.ne if @@ -16814,9 +16823,9 @@ unreachable end i32.const 0 - local.set $1 - i32.const -1 local.set $0 + i32.const -1 + local.set $1 block $~lib/typedarray/INDEX_OF<~lib/typedarray/Uint32Array,u32>|inlined.053 local.get $4 i32.load offset=8 @@ -16829,12 +16838,12 @@ i32.load offset=4 local.set $3 loop $while-continue|054 - local.get $1 + local.get $0 local.get $2 i32.lt_s if - local.get $1 - local.tee $0 + local.get $0 + local.tee $1 i32.const 2 i32.shl local.get $3 @@ -16843,17 +16852,17 @@ i32.const 10 i32.eq br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Uint32Array,u32>|inlined.053 - local.get $0 + local.get $1 i32.const 1 i32.add - local.set $1 + local.set $0 br $while-continue|054 end end i32.const -1 - local.set $0 + local.set $1 end - local.get $0 + local.get $1 i32.const -1 i32.ne if @@ -16865,9 +16874,9 @@ unreachable end i32.const 0 - local.set $1 - i32.const -1 local.set $0 + i32.const -1 + local.set $1 block $~lib/typedarray/INDEX_OF<~lib/typedarray/Uint32Array,u32>|inlined.056 local.get $4 i32.load offset=8 @@ -16880,12 +16889,12 @@ i32.load offset=4 local.set $3 loop $while-continue|057 - local.get $1 + local.get $0 local.get $2 i32.lt_s if - local.get $1 - local.tee $0 + local.get $0 + local.tee $1 i32.const 2 i32.shl local.get $3 @@ -16894,17 +16903,17 @@ i32.const 11 i32.eq br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Uint32Array,u32>|inlined.056 - local.get $0 + local.get $1 i32.const 1 i32.add - local.set $1 + local.set $0 br $while-continue|057 end end i32.const -1 - local.set $0 + local.set $1 end - local.get $0 + local.get $1 i32.const -1 i32.ne if @@ -16916,9 +16925,9 @@ unreachable end i32.const 1 - local.set $1 - i32.const -1 local.set $0 + i32.const -1 + local.set $1 block $~lib/typedarray/INDEX_OF<~lib/typedarray/Uint32Array,u32>|inlined.059 local.get $4 i32.load offset=8 @@ -16935,12 +16944,12 @@ i32.load offset=4 local.set $3 loop $while-continue|060 - local.get $1 + local.get $0 local.get $2 i32.lt_s if - local.get $1 - local.tee $0 + local.get $0 + local.tee $1 i32.const 2 i32.shl local.get $3 @@ -16949,17 +16958,17 @@ i32.const 5 i32.eq br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Uint32Array,u32>|inlined.059 - local.get $0 + local.get $1 i32.const 1 i32.add - local.set $1 + local.set $0 br $while-continue|060 end end i32.const -1 - local.set $0 + local.set $1 end - local.get $0 + local.get $1 i32.const 1 i32.ne if @@ -17052,81 +17061,81 @@ unreachable end 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 - local.get $0 + local.get $1 i32.const 7728 i32.store - local.get $0 + local.get $1 i32.const 7740 i32.load - local.tee $0 + local.tee $1 call $~lib/typedarray/Int64Array#constructor - local.tee $4 + local.tee $2 i32.store offset=4 loop $for-loop|0 local.get $0 local.get $1 - i32.gt_s + i32.lt_s if - local.get $4 - local.get $1 + local.get $2 + local.get $0 i32.const 7728 - local.get $1 + local.get $0 call $~lib/array/Array#__get i64.extend_i32_s call $~lib/typedarray/Int64Array#__set - local.get $1 + local.get $0 i32.const 1 i32.add - local.set $1 + local.set $0 br $for-loop|0 end end i32.const 0 - local.set $1 - i32.const -1 local.set $0 + i32.const -1 + local.set $1 block $~lib/typedarray/INDEX_OF<~lib/typedarray/Int64Array,i64>|inlined.0 - local.get $4 + local.get $2 i32.load offset=8 i32.const 3 i32.shr_u - local.tee $3 + local.tee $4 i32.eqz br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Int64Array,i64>|inlined.0 - local.get $4 + local.get $2 i32.load offset=4 - local.set $2 + local.set $3 loop $while-continue|0 - local.get $1 - local.get $3 + local.get $0 + local.get $4 i32.lt_s if - local.get $1 - local.tee $0 + local.get $0 + local.tee $1 i32.const 3 i32.shl - local.get $2 + local.get $3 i32.add i64.load i64.eqz br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Int64Array,i64>|inlined.0 - local.get $0 + local.get $1 i32.const 1 i32.add - local.set $1 + local.set $0 br $while-continue|0 end end i32.const -1 - local.set $0 + local.set $1 end - local.get $0 + local.get $1 if i32.const 0 i32.const 1568 @@ -17136,46 +17145,46 @@ unreachable end i32.const 0 - local.set $1 - i32.const -1 local.set $0 + i32.const -1 + local.set $1 block $~lib/typedarray/INDEX_OF<~lib/typedarray/Int64Array,i64>|inlined.01 - local.get $4 + local.get $2 i32.load offset=8 i32.const 3 i32.shr_u - local.tee $3 + local.tee $4 i32.eqz br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Int64Array,i64>|inlined.01 - local.get $4 + local.get $2 i32.load offset=4 - local.set $2 + local.set $3 loop $while-continue|02 - local.get $1 - local.get $3 + local.get $0 + local.get $4 i32.lt_s if - local.get $1 - local.tee $0 + local.get $0 + local.tee $1 i32.const 3 i32.shl - local.get $2 + local.get $3 i32.add i64.load i64.const 11 i64.eq br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Int64Array,i64>|inlined.01 - local.get $0 + local.get $1 i32.const 1 i32.add - local.set $1 + local.set $0 br $while-continue|02 end end i32.const -1 - local.set $0 + local.set $1 end - local.get $0 + local.get $1 i32.const -1 i32.ne if @@ -17187,46 +17196,46 @@ unreachable end i32.const 0 - local.set $1 - i32.const -1 local.set $0 + i32.const -1 + local.set $1 block $~lib/typedarray/INDEX_OF<~lib/typedarray/Int64Array,i64>|inlined.04 - local.get $4 + local.get $2 i32.load offset=8 i32.const 3 i32.shr_u - local.tee $3 + local.tee $4 i32.eqz br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Int64Array,i64>|inlined.04 - local.get $4 + local.get $2 i32.load offset=4 - local.set $2 + local.set $3 loop $while-continue|05 - local.get $1 - local.get $3 + local.get $0 + local.get $4 i32.lt_s if - local.get $1 - local.tee $0 + local.get $0 + local.tee $1 i32.const 3 i32.shl - local.get $2 + local.get $3 i32.add i64.load i64.const -1 i64.eq br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Int64Array,i64>|inlined.04 - local.get $0 + local.get $1 i32.const 1 i32.add - local.set $1 + local.set $0 br $while-continue|05 end end i32.const -1 - local.set $0 + local.set $1 end - local.get $0 + local.get $1 i32.const -1 i32.ne if @@ -17238,46 +17247,46 @@ unreachable end i32.const 0 - local.set $1 - i32.const -1 local.set $0 + i32.const -1 + local.set $1 block $~lib/typedarray/INDEX_OF<~lib/typedarray/Int64Array,i64>|inlined.07 - local.get $4 + local.get $2 i32.load offset=8 i32.const 3 i32.shr_u - local.tee $3 + local.tee $4 i32.eqz br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Int64Array,i64>|inlined.07 - local.get $4 + local.get $2 i32.load offset=4 - local.set $2 + local.set $3 loop $while-continue|08 - local.get $1 - local.get $3 + local.get $0 + local.get $4 i32.lt_s if - local.get $1 - local.tee $0 + local.get $0 + local.tee $1 i32.const 3 i32.shl - local.get $2 + local.get $3 i32.add i64.load i64.const 3 i64.eq br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Int64Array,i64>|inlined.07 - local.get $0 + local.get $1 i32.const 1 i32.add - local.set $1 + local.set $0 br $while-continue|08 end end i32.const -1 - local.set $0 + local.set $1 end - local.get $0 + local.get $1 i32.const 3 i32.ne if @@ -17289,50 +17298,50 @@ unreachable end i32.const 2 - local.set $1 - i32.const -1 local.set $0 + i32.const -1 + local.set $1 block $~lib/typedarray/INDEX_OF<~lib/typedarray/Int64Array,i64>|inlined.010 - 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.010 - local.get $4 + local.get $2 i32.load offset=4 - local.set $2 + local.set $3 loop $while-continue|011 - local.get $1 - local.get $3 + local.get $0 + local.get $4 i32.lt_s if - local.get $1 - local.tee $0 + local.get $0 + local.tee $1 i32.const 3 i32.shl - local.get $2 + local.get $3 i32.add i64.load i64.const 3 i64.eq br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Int64Array,i64>|inlined.010 - local.get $0 + local.get $1 i32.const 1 i32.add - local.set $1 + local.set $0 br $while-continue|011 end end i32.const -1 - local.set $0 + local.set $1 end - local.get $0 + local.get $1 i32.const 3 i32.ne if @@ -17344,50 +17353,50 @@ unreachable end i32.const 3 - local.set $1 - i32.const -1 local.set $0 + i32.const -1 + local.set $1 block $~lib/typedarray/INDEX_OF<~lib/typedarray/Int64Array,i64>|inlined.013 - local.get $4 + local.get $2 i32.load offset=8 i32.const 3 i32.shr_u - local.tee $3 + local.tee $4 i32.const 3 i32.le_u i32.const 1 - local.get $3 + local.get $4 select br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Int64Array,i64>|inlined.013 - local.get $4 + local.get $2 i32.load offset=4 - local.set $2 + local.set $3 loop $while-continue|014 - local.get $1 - local.get $3 + local.get $0 + local.get $4 i32.lt_s if - local.get $1 - local.tee $0 + local.get $0 + local.tee $1 i32.const 3 i32.shl - local.get $2 + local.get $3 i32.add i64.load i64.const 3 i64.eq br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Int64Array,i64>|inlined.013 - local.get $0 + local.get $1 i32.const 1 i32.add - local.set $1 + local.set $0 br $while-continue|014 end end i32.const -1 - local.set $0 + local.set $1 end - local.get $0 + local.get $1 i32.const 3 i32.ne if @@ -17399,50 +17408,50 @@ unreachable end i32.const 4 - local.set $1 - i32.const -1 local.set $0 + i32.const -1 + local.set $1 block $~lib/typedarray/INDEX_OF<~lib/typedarray/Int64Array,i64>|inlined.016 - local.get $4 + local.get $2 i32.load offset=8 i32.const 3 i32.shr_u - local.tee $3 + local.tee $4 i32.const 4 i32.le_u i32.const 1 - local.get $3 + local.get $4 select br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Int64Array,i64>|inlined.016 - local.get $4 + local.get $2 i32.load offset=4 - local.set $2 + local.set $3 loop $while-continue|017 - local.get $1 - local.get $3 + local.get $0 + local.get $4 i32.lt_s if - local.get $1 - local.tee $0 + local.get $0 + local.tee $1 i32.const 3 i32.shl - local.get $2 + local.get $3 i32.add i64.load i64.const 3 i64.eq br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Int64Array,i64>|inlined.016 - local.get $0 + local.get $1 i32.const 1 i32.add - local.set $1 + local.set $0 br $while-continue|017 end end i32.const -1 - local.set $0 + local.set $1 end - local.get $0 + local.get $1 i32.const -1 i32.ne if @@ -17454,50 +17463,50 @@ unreachable end i32.const 10 - local.set $1 - i32.const -1 local.set $0 + i32.const -1 + local.set $1 block $~lib/typedarray/INDEX_OF<~lib/typedarray/Int64Array,i64>|inlined.019 - local.get $4 + local.get $2 i32.load offset=8 i32.const 3 i32.shr_u - local.tee $3 + local.tee $4 i32.const 10 i32.le_u i32.const 1 - local.get $3 + local.get $4 select br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Int64Array,i64>|inlined.019 - local.get $4 + local.get $2 i32.load offset=4 - local.set $2 + local.set $3 loop $while-continue|020 - local.get $1 - local.get $3 + local.get $0 + local.get $4 i32.lt_s if - local.get $1 - local.tee $0 + local.get $0 + local.tee $1 i32.const 3 i32.shl - local.get $2 + local.get $3 i32.add i64.load i64.const 1 i64.eq br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Int64Array,i64>|inlined.019 - local.get $0 + local.get $1 i32.const 1 i32.add - local.set $1 + local.set $0 br $while-continue|020 end end i32.const -1 - local.set $0 + local.set $1 end - local.get $0 + local.get $1 i32.const -1 i32.ne if @@ -17511,18 +17520,18 @@ i32.const -1 local.set $0 block $~lib/typedarray/INDEX_OF<~lib/typedarray/Int64Array,i64>|inlined.022 - local.get $4 + local.get $2 i32.load offset=8 i32.const 3 i32.shr_u - local.tee $2 + local.tee $3 i32.const -100 i32.le_s i32.const 1 - local.get $2 + local.get $3 select br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Int64Array,i64>|inlined.022 - local.get $2 + local.get $3 i32.const 100 i32.sub local.tee $0 @@ -17532,12 +17541,12 @@ i32.gt_s select local.set $0 - local.get $4 + local.get $2 i32.load offset=4 local.set $1 loop $while-continue|023 local.get $0 - local.get $2 + local.get $3 i32.lt_s if local.get $0 @@ -17572,35 +17581,39 @@ end i32.const 1 global.set $~argumentsLength - local.get $4 + local.get $2 + local.tee $0 i32.load offset=8 i32.const 3 i32.shr_u - local.tee $2 - local.set $1 + local.set $3 i32.const -1 - local.set $0 + local.set $1 block $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Int64Array,i64>|inlined.0 local.get $2 + i32.load offset=8 + i32.const 3 + i32.shr_u + local.tee $2 i32.eqz br_if $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Int64Array,i64>|inlined.0 - local.get $1 local.get $2 + local.get $3 i32.add local.get $2 i32.const 1 i32.sub - local.get $1 - local.get $1 + local.get $3 local.get $2 - i32.ge_s + local.get $3 + i32.le_s select - local.get $1 + local.get $3 i32.const 0 i32.lt_s select local.set $1 - local.get $4 + local.get $0 i32.load offset=4 local.set $2 loop $while-continue|00 @@ -17609,7 +17622,6 @@ i32.ge_s if local.get $1 - local.tee $0 i32.const 3 i32.shl local.get $2 @@ -17617,7 +17629,7 @@ i64.load i64.eqz br_if $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Int64Array,i64>|inlined.0 - local.get $0 + local.get $1 i32.const 1 i32.sub local.set $1 @@ -17625,9 +17637,9 @@ end end i32.const -1 - local.set $0 + local.set $1 end - local.get $0 + local.get $1 if i32.const 0 i32.const 1568 @@ -17638,35 +17650,35 @@ end i32.const 1 global.set $~argumentsLength - local.get $4 + local.get $0 i32.load offset=8 i32.const 3 i32.shr_u - local.tee $2 - local.set $1 + local.tee $3 + local.set $2 i32.const -1 - local.set $0 + local.set $1 block $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Int64Array,i64>|inlined.05 - local.get $2 + local.get $3 i32.eqz br_if $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Int64Array,i64>|inlined.05 - local.get $1 local.get $2 + local.get $3 i32.add - local.get $2 + local.get $3 i32.const 1 i32.sub - local.get $1 - local.get $1 local.get $2 + local.get $2 + local.get $3 i32.ge_s select - local.get $1 + local.get $2 i32.const 0 i32.lt_s select local.set $1 - local.get $4 + local.get $0 i32.load offset=4 local.set $2 loop $while-continue|06 @@ -17675,7 +17687,6 @@ i32.ge_s if local.get $1 - local.tee $0 i32.const 3 i32.shl local.get $2 @@ -17684,7 +17695,7 @@ i64.const 11 i64.eq br_if $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Int64Array,i64>|inlined.05 - local.get $0 + local.get $1 i32.const 1 i32.sub local.set $1 @@ -17692,9 +17703,9 @@ end end i32.const -1 - local.set $0 + local.set $1 end - local.get $0 + local.get $1 i32.const -1 i32.ne if @@ -17707,35 +17718,35 @@ end i32.const 1 global.set $~argumentsLength - local.get $4 + local.get $0 i32.load offset=8 i32.const 3 i32.shr_u - local.tee $2 - local.set $1 + local.tee $3 + local.set $2 i32.const -1 - local.set $0 + local.set $1 block $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Int64Array,i64>|inlined.011 - local.get $2 + local.get $3 i32.eqz br_if $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Int64Array,i64>|inlined.011 - local.get $1 local.get $2 + local.get $3 i32.add - local.get $2 + local.get $3 i32.const 1 i32.sub - local.get $1 - local.get $1 local.get $2 + local.get $2 + local.get $3 i32.ge_s select - local.get $1 + local.get $2 i32.const 0 i32.lt_s select local.set $1 - local.get $4 + local.get $0 i32.load offset=4 local.set $2 loop $while-continue|012 @@ -17744,7 +17755,6 @@ i32.ge_s if local.get $1 - local.tee $0 i32.const 3 i32.shl local.get $2 @@ -17753,7 +17763,7 @@ i64.const -1 i64.eq br_if $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Int64Array,i64>|inlined.011 - local.get $0 + local.get $1 i32.const 1 i32.sub local.set $1 @@ -17761,9 +17771,9 @@ end end i32.const -1 - local.set $0 + local.set $1 end - local.get $0 + local.get $1 i32.const -1 i32.ne if @@ -17776,35 +17786,35 @@ end i32.const 1 global.set $~argumentsLength - local.get $4 + local.get $0 i32.load offset=8 i32.const 3 i32.shr_u - local.tee $2 - local.set $1 + local.tee $3 + local.set $2 i32.const -1 - local.set $0 + local.set $1 block $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Int64Array,i64>|inlined.017 - local.get $2 + local.get $3 i32.eqz br_if $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Int64Array,i64>|inlined.017 - local.get $1 local.get $2 + local.get $3 i32.add - local.get $2 + local.get $3 i32.const 1 i32.sub - local.get $1 - local.get $1 local.get $2 + local.get $2 + local.get $3 i32.ge_s select - local.get $1 + local.get $2 i32.const 0 i32.lt_s select local.set $1 - local.get $4 + local.get $0 i32.load offset=4 local.set $2 loop $while-continue|018 @@ -17813,7 +17823,6 @@ i32.ge_s if local.get $1 - local.tee $0 i32.const 3 i32.shl local.get $2 @@ -17822,7 +17831,7 @@ i64.const 3 i64.eq br_if $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Int64Array,i64>|inlined.017 - local.get $0 + local.get $1 i32.const 1 i32.sub local.set $1 @@ -17830,9 +17839,9 @@ end end i32.const -1 - local.set $0 + local.set $1 end - local.get $0 + local.get $1 i32.const 3 i32.ne if @@ -17844,53 +17853,54 @@ unreachable end i32.const -1 - local.set $0 + local.set $1 block $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Int64Array,i64>|inlined.019 - local.get $4 + local.get $0 + local.tee $2 i32.load offset=8 i32.const 3 i32.shr_u - local.tee $1 + local.tee $0 i32.eqz br_if $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Int64Array,i64>|inlined.019 - local.get $1 + local.get $0 i32.const 1 i32.sub i32.const 4 - local.get $1 + local.get $0 i32.const 4 i32.le_u select - local.set $1 - local.get $4 + local.set $0 + local.get $2 i32.load offset=4 - local.set $2 + local.set $3 loop $while-continue|024 - local.get $1 + local.get $0 i32.const 0 i32.ge_s if - local.get $1 - local.tee $0 + local.get $0 + local.tee $1 i32.const 3 i32.shl - local.get $2 + local.get $3 i32.add i64.load i64.const 3 i64.eq br_if $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Int64Array,i64>|inlined.019 - local.get $0 + local.get $1 i32.const 1 i32.sub - local.set $1 + local.set $0 br $while-continue|024 end end i32.const -1 - local.set $0 + local.set $1 end - local.get $0 + local.get $1 i32.const 3 i32.ne if @@ -17902,53 +17912,53 @@ unreachable end i32.const -1 - local.set $0 + local.set $1 block $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Int64Array,i64>|inlined.026 - local.get $4 + local.get $2 i32.load offset=8 i32.const 3 i32.shr_u - local.tee $1 + local.tee $0 i32.eqz br_if $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Int64Array,i64>|inlined.026 - local.get $1 + local.get $0 i32.const 1 i32.sub i32.const 3 - local.get $1 + local.get $0 i32.const 3 i32.le_u select - local.set $1 - local.get $4 + local.set $0 + local.get $2 i32.load offset=4 - local.set $2 + local.set $3 loop $while-continue|027 - local.get $1 + local.get $0 i32.const 0 i32.ge_s if - local.get $1 - local.tee $0 + local.get $0 + local.tee $1 i32.const 3 i32.shl - local.get $2 + local.get $3 i32.add i64.load i64.const 3 i64.eq br_if $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Int64Array,i64>|inlined.026 - local.get $0 + local.get $1 i32.const 1 i32.sub - local.set $1 + local.set $0 br $while-continue|027 end end i32.const -1 - local.set $0 + local.set $1 end - local.get $0 + local.get $1 i32.const 3 i32.ne if @@ -17960,53 +17970,53 @@ unreachable end i32.const -1 - local.set $0 + local.set $1 block $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Int64Array,i64>|inlined.029 - local.get $4 + local.get $2 i32.load offset=8 i32.const 3 i32.shr_u - local.tee $1 + local.tee $0 i32.eqz br_if $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Int64Array,i64>|inlined.029 - local.get $1 + local.get $0 i32.const 1 i32.sub i32.const 2 - local.get $1 + local.get $0 i32.const 2 i32.le_u select - local.set $1 - local.get $4 + local.set $0 + local.get $2 i32.load offset=4 - local.set $2 + local.set $3 loop $while-continue|030 - local.get $1 + local.get $0 i32.const 0 i32.ge_s if - local.get $1 - local.tee $0 + local.get $0 + local.tee $1 i32.const 3 i32.shl - local.get $2 + local.get $3 i32.add i64.load i64.const 3 i64.eq br_if $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Int64Array,i64>|inlined.029 - local.get $0 + local.get $1 i32.const 1 i32.sub - local.set $1 + local.set $0 br $while-continue|030 end end i32.const -1 - local.set $0 + local.set $1 end - local.get $0 + local.get $1 i32.const -1 i32.ne if @@ -18018,53 +18028,53 @@ unreachable end i32.const -1 - local.set $0 + local.set $1 block $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Int64Array,i64>|inlined.032 - local.get $4 + local.get $2 i32.load offset=8 i32.const 3 i32.shr_u - local.tee $1 + local.tee $0 i32.eqz br_if $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Int64Array,i64>|inlined.032 - local.get $1 + local.get $0 i32.const 1 i32.sub i32.const 100 - local.get $1 + local.get $0 i32.const 100 i32.le_u select - local.set $1 - local.get $4 + local.set $0 + local.get $2 i32.load offset=4 - local.set $2 + local.set $3 loop $while-continue|033 - local.get $1 + local.get $0 i32.const 0 i32.ge_s if - local.get $1 - local.tee $0 + local.get $0 + local.tee $1 i32.const 3 i32.shl - local.get $2 + local.get $3 i32.add i64.load i64.const 1 i64.eq br_if $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Int64Array,i64>|inlined.032 - local.get $0 + local.get $1 i32.const 1 i32.sub - local.set $1 + local.set $0 br $while-continue|033 end end i32.const -1 - local.set $0 + local.set $1 end - local.get $0 + local.get $1 i32.const 1 i32.ne if @@ -18078,7 +18088,7 @@ i32.const -1 local.set $0 block $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Int64Array,i64>|inlined.035 - local.get $4 + local.get $2 i32.load offset=8 i32.const 3 i32.shr_u @@ -18089,7 +18099,7 @@ i32.const 10 i32.sub local.set $0 - local.get $4 + local.get $2 i32.load offset=4 local.set $1 loop $while-continue|036 @@ -18130,7 +18140,7 @@ i32.const -1 local.set $0 block $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Int64Array,i64>|inlined.038 - local.get $4 + local.get $2 i32.load offset=8 i32.const 3 i32.shr_u @@ -18141,7 +18151,7 @@ i32.const 11 i32.sub local.set $0 - local.get $4 + local.get $2 i32.load offset=4 local.set $1 loop $while-continue|039 @@ -18180,15 +18190,15 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $4 + local.get $2 i32.const 9 call $~lib/typedarray/Int64Array#subarray local.tee $4 i32.store offset=8 i32.const 0 - local.set $1 - i32.const -1 local.set $0 + i32.const -1 + local.set $1 block $~lib/typedarray/INDEX_OF<~lib/typedarray/Int64Array,i64>|inlined.041 local.get $4 i32.load offset=8 @@ -18201,12 +18211,12 @@ i32.load offset=4 local.set $2 loop $while-continue|042 - local.get $1 + local.get $0 local.get $3 i32.lt_s if - local.get $1 - local.tee $0 + local.get $0 + local.tee $1 i32.const 3 i32.shl local.get $2 @@ -18215,17 +18225,17 @@ i64.const 3 i64.eq br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Int64Array,i64>|inlined.041 - local.get $0 + local.get $1 i32.const 1 i32.add - local.set $1 + local.set $0 br $while-continue|042 end end i32.const -1 - local.set $0 + local.set $1 end - local.get $0 + local.get $1 i32.const -1 i32.ne if @@ -18237,9 +18247,9 @@ unreachable end i32.const 0 - local.set $1 - i32.const -1 local.set $0 + i32.const -1 + local.set $1 block $~lib/typedarray/INDEX_OF<~lib/typedarray/Int64Array,i64>|inlined.044 local.get $4 i32.load offset=8 @@ -18252,12 +18262,12 @@ i32.load offset=4 local.set $2 loop $while-continue|045 - local.get $1 + local.get $0 local.get $3 i32.lt_s if - local.get $1 - local.tee $0 + local.get $0 + local.tee $1 i32.const 3 i32.shl local.get $2 @@ -18266,17 +18276,17 @@ i64.const 4 i64.eq br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Int64Array,i64>|inlined.044 - local.get $0 + local.get $1 i32.const 1 i32.add - local.set $1 + local.set $0 br $while-continue|045 end end i32.const -1 - local.set $0 + local.set $1 end - local.get $0 + local.get $1 if i32.const 0 i32.const 1568 @@ -18286,9 +18296,9 @@ unreachable end i32.const 0 - local.set $1 - i32.const -1 local.set $0 + i32.const -1 + local.set $1 block $~lib/typedarray/INDEX_OF<~lib/typedarray/Int64Array,i64>|inlined.047 local.get $4 i32.load offset=8 @@ -18301,12 +18311,12 @@ i32.load offset=4 local.set $2 loop $while-continue|048 - local.get $1 + local.get $0 local.get $3 i32.lt_s if - local.get $1 - local.tee $0 + local.get $0 + local.tee $1 i32.const 3 i32.shl local.get $2 @@ -18315,17 +18325,17 @@ i64.const 5 i64.eq br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Int64Array,i64>|inlined.047 - local.get $0 + local.get $1 i32.const 1 i32.add - local.set $1 + local.set $0 br $while-continue|048 end end i32.const -1 - local.set $0 + local.set $1 end - local.get $0 + local.get $1 i32.const 1 i32.ne if @@ -18337,9 +18347,9 @@ unreachable end i32.const 0 - local.set $1 - i32.const -1 local.set $0 + i32.const -1 + local.set $1 block $~lib/typedarray/INDEX_OF<~lib/typedarray/Int64Array,i64>|inlined.050 local.get $4 i32.load offset=8 @@ -18352,12 +18362,12 @@ i32.load offset=4 local.set $2 loop $while-continue|051 - local.get $1 + local.get $0 local.get $3 i32.lt_s if - local.get $1 - local.tee $0 + local.get $0 + local.tee $1 i32.const 3 i32.shl local.get $2 @@ -18366,17 +18376,17 @@ i64.const 9 i64.eq br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Int64Array,i64>|inlined.050 - local.get $0 + local.get $1 i32.const 1 i32.add - local.set $1 + local.set $0 br $while-continue|051 end end i32.const -1 - local.set $0 + local.set $1 end - local.get $0 + local.get $1 i32.const -1 i32.ne if @@ -18388,9 +18398,9 @@ unreachable end i32.const 0 - local.set $1 - i32.const -1 local.set $0 + i32.const -1 + local.set $1 block $~lib/typedarray/INDEX_OF<~lib/typedarray/Int64Array,i64>|inlined.053 local.get $4 i32.load offset=8 @@ -18403,12 +18413,12 @@ i32.load offset=4 local.set $2 loop $while-continue|054 - local.get $1 + local.get $0 local.get $3 i32.lt_s if - local.get $1 - local.tee $0 + local.get $0 + local.tee $1 i32.const 3 i32.shl local.get $2 @@ -18417,17 +18427,17 @@ i64.const 10 i64.eq br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Int64Array,i64>|inlined.053 - local.get $0 + local.get $1 i32.const 1 i32.add - local.set $1 + local.set $0 br $while-continue|054 end end i32.const -1 - local.set $0 + local.set $1 end - local.get $0 + local.get $1 i32.const -1 i32.ne if @@ -18439,9 +18449,9 @@ unreachable end i32.const 0 - local.set $1 - i32.const -1 local.set $0 + i32.const -1 + local.set $1 block $~lib/typedarray/INDEX_OF<~lib/typedarray/Int64Array,i64>|inlined.056 local.get $4 i32.load offset=8 @@ -18454,12 +18464,12 @@ i32.load offset=4 local.set $2 loop $while-continue|057 - local.get $1 + local.get $0 local.get $3 i32.lt_s if - local.get $1 - local.tee $0 + local.get $0 + local.tee $1 i32.const 3 i32.shl local.get $2 @@ -18468,17 +18478,17 @@ i64.const 11 i64.eq br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Int64Array,i64>|inlined.056 - local.get $0 + local.get $1 i32.const 1 i32.add - local.set $1 + local.set $0 br $while-continue|057 end end i32.const -1 - local.set $0 + local.set $1 end - local.get $0 + local.get $1 i32.const -1 i32.ne if @@ -18490,9 +18500,9 @@ unreachable end i32.const 1 - local.set $1 - i32.const -1 local.set $0 + i32.const -1 + local.set $1 block $~lib/typedarray/INDEX_OF<~lib/typedarray/Int64Array,i64>|inlined.059 local.get $4 i32.load offset=8 @@ -18509,12 +18519,12 @@ i32.load offset=4 local.set $2 loop $while-continue|060 - local.get $1 + local.get $0 local.get $3 i32.lt_s if - local.get $1 - local.tee $0 + local.get $0 + local.tee $1 i32.const 3 i32.shl local.get $2 @@ -18523,17 +18533,17 @@ i64.const 5 i64.eq br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Int64Array,i64>|inlined.059 - local.get $0 + local.get $1 i32.const 1 i32.add - local.set $1 + local.set $0 br $while-continue|060 end end i32.const -1 - local.set $0 + local.set $1 end - local.get $0 + local.get $1 i32.const 1 i32.ne if @@ -18626,81 +18636,81 @@ unreachable end 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 - local.get $0 + local.get $1 i32.const 7728 i32.store - local.get $0 + local.get $1 i32.const 7740 i32.load - local.tee $0 + local.tee $1 call $~lib/typedarray/Uint64Array#constructor - local.tee $4 + local.tee $2 i32.store offset=4 loop $for-loop|0 local.get $0 local.get $1 - i32.gt_s + i32.lt_s if - local.get $4 - local.get $1 + local.get $2 + local.get $0 i32.const 7728 - local.get $1 + local.get $0 call $~lib/array/Array#__get i64.extend_i32_s call $~lib/typedarray/Uint64Array#__set - local.get $1 + local.get $0 i32.const 1 i32.add - local.set $1 + local.set $0 br $for-loop|0 end end i32.const 0 - local.set $1 - i32.const -1 local.set $0 + i32.const -1 + local.set $1 block $~lib/typedarray/INDEX_OF<~lib/typedarray/Uint64Array,u64>|inlined.0 - local.get $4 + local.get $2 i32.load offset=8 i32.const 3 i32.shr_u - local.tee $3 + local.tee $4 i32.eqz br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Uint64Array,u64>|inlined.0 - local.get $4 + local.get $2 i32.load offset=4 - local.set $2 + local.set $3 loop $while-continue|0 - local.get $1 - local.get $3 + local.get $0 + local.get $4 i32.lt_s if - local.get $1 - local.tee $0 + local.get $0 + local.tee $1 i32.const 3 i32.shl - local.get $2 + local.get $3 i32.add i64.load i64.eqz br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Uint64Array,u64>|inlined.0 - local.get $0 + local.get $1 i32.const 1 i32.add - local.set $1 + local.set $0 br $while-continue|0 end end i32.const -1 - local.set $0 + local.set $1 end - local.get $0 + local.get $1 if i32.const 0 i32.const 1568 @@ -18710,46 +18720,46 @@ unreachable end i32.const 0 - local.set $1 - i32.const -1 local.set $0 + i32.const -1 + local.set $1 block $~lib/typedarray/INDEX_OF<~lib/typedarray/Uint64Array,u64>|inlined.01 - local.get $4 + local.get $2 i32.load offset=8 i32.const 3 i32.shr_u - local.tee $3 + local.tee $4 i32.eqz br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Uint64Array,u64>|inlined.01 - local.get $4 + local.get $2 i32.load offset=4 - local.set $2 + local.set $3 loop $while-continue|02 - local.get $1 - local.get $3 + local.get $0 + local.get $4 i32.lt_s if - local.get $1 - local.tee $0 + local.get $0 + local.tee $1 i32.const 3 i32.shl - local.get $2 + local.get $3 i32.add i64.load i64.const 11 i64.eq br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Uint64Array,u64>|inlined.01 - local.get $0 + local.get $1 i32.const 1 i32.add - local.set $1 + local.set $0 br $while-continue|02 end end i32.const -1 - local.set $0 + local.set $1 end - local.get $0 + local.get $1 i32.const -1 i32.ne if @@ -18761,46 +18771,46 @@ unreachable end i32.const 0 - local.set $1 - i32.const -1 local.set $0 + i32.const -1 + local.set $1 block $~lib/typedarray/INDEX_OF<~lib/typedarray/Uint64Array,u64>|inlined.04 - local.get $4 + local.get $2 i32.load offset=8 i32.const 3 i32.shr_u - local.tee $3 + local.tee $4 i32.eqz br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Uint64Array,u64>|inlined.04 - local.get $4 + local.get $2 i32.load offset=4 - local.set $2 + local.set $3 loop $while-continue|05 - local.get $1 - local.get $3 + local.get $0 + local.get $4 i32.lt_s if - local.get $1 - local.tee $0 + local.get $0 + local.tee $1 i32.const 3 i32.shl - local.get $2 + local.get $3 i32.add i64.load i64.const -1 i64.eq br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Uint64Array,u64>|inlined.04 - local.get $0 + local.get $1 i32.const 1 i32.add - local.set $1 + local.set $0 br $while-continue|05 end end i32.const -1 - local.set $0 + local.set $1 end - local.get $0 + local.get $1 i32.const -1 i32.ne if @@ -18812,46 +18822,46 @@ unreachable end i32.const 0 - local.set $1 - i32.const -1 local.set $0 + i32.const -1 + local.set $1 block $~lib/typedarray/INDEX_OF<~lib/typedarray/Uint64Array,u64>|inlined.07 - local.get $4 + local.get $2 i32.load offset=8 i32.const 3 i32.shr_u - local.tee $3 + local.tee $4 i32.eqz br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Uint64Array,u64>|inlined.07 - local.get $4 + local.get $2 i32.load offset=4 - local.set $2 + local.set $3 loop $while-continue|08 - local.get $1 - local.get $3 + local.get $0 + local.get $4 i32.lt_s if - local.get $1 - local.tee $0 + local.get $0 + local.tee $1 i32.const 3 i32.shl - local.get $2 + local.get $3 i32.add i64.load i64.const 3 i64.eq br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Uint64Array,u64>|inlined.07 - local.get $0 + local.get $1 i32.const 1 i32.add - local.set $1 + local.set $0 br $while-continue|08 end end i32.const -1 - local.set $0 + local.set $1 end - local.get $0 + local.get $1 i32.const 3 i32.ne if @@ -18863,50 +18873,50 @@ unreachable end i32.const 2 - local.set $1 - i32.const -1 local.set $0 + i32.const -1 + local.set $1 block $~lib/typedarray/INDEX_OF<~lib/typedarray/Uint64Array,u64>|inlined.010 - 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.010 - local.get $4 + local.get $2 i32.load offset=4 - local.set $2 + local.set $3 loop $while-continue|011 - local.get $1 - local.get $3 + local.get $0 + local.get $4 i32.lt_s if - local.get $1 - local.tee $0 + local.get $0 + local.tee $1 i32.const 3 i32.shl - local.get $2 + local.get $3 i32.add i64.load i64.const 3 i64.eq br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Uint64Array,u64>|inlined.010 - local.get $0 + local.get $1 i32.const 1 i32.add - local.set $1 + local.set $0 br $while-continue|011 end end i32.const -1 - local.set $0 + local.set $1 end - local.get $0 + local.get $1 i32.const 3 i32.ne if @@ -18918,50 +18928,50 @@ unreachable end i32.const 3 - local.set $1 - i32.const -1 local.set $0 + i32.const -1 + local.set $1 block $~lib/typedarray/INDEX_OF<~lib/typedarray/Uint64Array,u64>|inlined.013 - local.get $4 + local.get $2 i32.load offset=8 i32.const 3 i32.shr_u - local.tee $3 + local.tee $4 i32.const 3 i32.le_u i32.const 1 - local.get $3 + local.get $4 select br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Uint64Array,u64>|inlined.013 - local.get $4 + local.get $2 i32.load offset=4 - local.set $2 + local.set $3 loop $while-continue|014 - local.get $1 - local.get $3 + local.get $0 + local.get $4 i32.lt_s if - local.get $1 - local.tee $0 + local.get $0 + local.tee $1 i32.const 3 i32.shl - local.get $2 + local.get $3 i32.add i64.load i64.const 3 i64.eq br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Uint64Array,u64>|inlined.013 - local.get $0 + local.get $1 i32.const 1 i32.add - local.set $1 + local.set $0 br $while-continue|014 end end i32.const -1 - local.set $0 + local.set $1 end - local.get $0 + local.get $1 i32.const 3 i32.ne if @@ -18973,50 +18983,50 @@ unreachable end i32.const 4 - local.set $1 - i32.const -1 local.set $0 + i32.const -1 + local.set $1 block $~lib/typedarray/INDEX_OF<~lib/typedarray/Uint64Array,u64>|inlined.016 - local.get $4 + local.get $2 i32.load offset=8 i32.const 3 i32.shr_u - local.tee $3 + local.tee $4 i32.const 4 i32.le_u i32.const 1 - local.get $3 + local.get $4 select br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Uint64Array,u64>|inlined.016 - local.get $4 + local.get $2 i32.load offset=4 - local.set $2 + local.set $3 loop $while-continue|017 - local.get $1 - local.get $3 + local.get $0 + local.get $4 i32.lt_s if - local.get $1 - local.tee $0 + local.get $0 + local.tee $1 i32.const 3 i32.shl - local.get $2 + local.get $3 i32.add i64.load i64.const 3 i64.eq br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Uint64Array,u64>|inlined.016 - local.get $0 + local.get $1 i32.const 1 i32.add - local.set $1 + local.set $0 br $while-continue|017 end end i32.const -1 - local.set $0 + local.set $1 end - local.get $0 + local.get $1 i32.const -1 i32.ne if @@ -19028,50 +19038,50 @@ unreachable end i32.const 10 - local.set $1 - i32.const -1 local.set $0 + i32.const -1 + local.set $1 block $~lib/typedarray/INDEX_OF<~lib/typedarray/Uint64Array,u64>|inlined.019 - local.get $4 + local.get $2 i32.load offset=8 i32.const 3 i32.shr_u - local.tee $3 + local.tee $4 i32.const 10 i32.le_u i32.const 1 - local.get $3 + local.get $4 select br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Uint64Array,u64>|inlined.019 - local.get $4 + local.get $2 i32.load offset=4 - local.set $2 + local.set $3 loop $while-continue|020 - local.get $1 - local.get $3 + local.get $0 + local.get $4 i32.lt_s if - local.get $1 - local.tee $0 + local.get $0 + local.tee $1 i32.const 3 i32.shl - local.get $2 + local.get $3 i32.add i64.load i64.const 1 i64.eq br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Uint64Array,u64>|inlined.019 - local.get $0 + local.get $1 i32.const 1 i32.add - local.set $1 + local.set $0 br $while-continue|020 end end i32.const -1 - local.set $0 + local.set $1 end - local.get $0 + local.get $1 i32.const -1 i32.ne if @@ -19085,18 +19095,18 @@ i32.const -1 local.set $0 block $~lib/typedarray/INDEX_OF<~lib/typedarray/Uint64Array,u64>|inlined.022 - local.get $4 + local.get $2 i32.load offset=8 i32.const 3 i32.shr_u - local.tee $2 + local.tee $3 i32.const -100 i32.le_s i32.const 1 - local.get $2 + local.get $3 select br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Uint64Array,u64>|inlined.022 - local.get $2 + local.get $3 i32.const 100 i32.sub local.tee $0 @@ -19106,12 +19116,12 @@ i32.gt_s select local.set $0 - local.get $4 + local.get $2 i32.load offset=4 local.set $1 loop $while-continue|023 local.get $0 - local.get $2 + local.get $3 i32.lt_s if local.get $0 @@ -19146,35 +19156,39 @@ end i32.const 1 global.set $~argumentsLength - local.get $4 + local.get $2 + local.tee $0 i32.load offset=8 i32.const 3 i32.shr_u - local.tee $2 - local.set $1 + local.set $3 i32.const -1 - local.set $0 + local.set $1 block $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Uint64Array,u64>|inlined.0 local.get $2 + i32.load offset=8 + i32.const 3 + i32.shr_u + local.tee $2 i32.eqz br_if $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Uint64Array,u64>|inlined.0 - local.get $1 local.get $2 + local.get $3 i32.add local.get $2 i32.const 1 i32.sub - local.get $1 - local.get $1 + local.get $3 local.get $2 - i32.ge_s + local.get $3 + i32.le_s select - local.get $1 + local.get $3 i32.const 0 i32.lt_s select local.set $1 - local.get $4 + local.get $0 i32.load offset=4 local.set $2 loop $while-continue|00 @@ -19183,7 +19197,6 @@ i32.ge_s if local.get $1 - local.tee $0 i32.const 3 i32.shl local.get $2 @@ -19191,7 +19204,7 @@ i64.load i64.eqz br_if $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Uint64Array,u64>|inlined.0 - local.get $0 + local.get $1 i32.const 1 i32.sub local.set $1 @@ -19199,9 +19212,9 @@ end end i32.const -1 - local.set $0 + local.set $1 end - local.get $0 + local.get $1 if i32.const 0 i32.const 1568 @@ -19212,35 +19225,35 @@ end i32.const 1 global.set $~argumentsLength - local.get $4 + local.get $0 i32.load offset=8 i32.const 3 i32.shr_u - local.tee $2 - local.set $1 + local.tee $3 + local.set $2 i32.const -1 - local.set $0 + local.set $1 block $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Uint64Array,u64>|inlined.05 - local.get $2 + local.get $3 i32.eqz br_if $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Uint64Array,u64>|inlined.05 - local.get $1 local.get $2 + local.get $3 i32.add - local.get $2 + local.get $3 i32.const 1 i32.sub - local.get $1 - local.get $1 local.get $2 + local.get $2 + local.get $3 i32.ge_s select - local.get $1 + local.get $2 i32.const 0 i32.lt_s select local.set $1 - local.get $4 + local.get $0 i32.load offset=4 local.set $2 loop $while-continue|06 @@ -19249,7 +19262,6 @@ i32.ge_s if local.get $1 - local.tee $0 i32.const 3 i32.shl local.get $2 @@ -19258,7 +19270,7 @@ i64.const 11 i64.eq br_if $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Uint64Array,u64>|inlined.05 - local.get $0 + local.get $1 i32.const 1 i32.sub local.set $1 @@ -19266,9 +19278,9 @@ end end i32.const -1 - local.set $0 + local.set $1 end - local.get $0 + local.get $1 i32.const -1 i32.ne if @@ -19281,35 +19293,35 @@ end i32.const 1 global.set $~argumentsLength - local.get $4 + local.get $0 i32.load offset=8 i32.const 3 i32.shr_u - local.tee $2 - local.set $1 + local.tee $3 + local.set $2 i32.const -1 - local.set $0 + local.set $1 block $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Uint64Array,u64>|inlined.011 - local.get $2 + local.get $3 i32.eqz br_if $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Uint64Array,u64>|inlined.011 - local.get $1 local.get $2 + local.get $3 i32.add - local.get $2 + local.get $3 i32.const 1 i32.sub - local.get $1 - local.get $1 local.get $2 + local.get $2 + local.get $3 i32.ge_s select - local.get $1 + local.get $2 i32.const 0 i32.lt_s select local.set $1 - local.get $4 + local.get $0 i32.load offset=4 local.set $2 loop $while-continue|012 @@ -19318,7 +19330,6 @@ i32.ge_s if local.get $1 - local.tee $0 i32.const 3 i32.shl local.get $2 @@ -19327,7 +19338,7 @@ i64.const -1 i64.eq br_if $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Uint64Array,u64>|inlined.011 - local.get $0 + local.get $1 i32.const 1 i32.sub local.set $1 @@ -19335,9 +19346,9 @@ end end i32.const -1 - local.set $0 + local.set $1 end - local.get $0 + local.get $1 i32.const -1 i32.ne if @@ -19350,35 +19361,35 @@ end i32.const 1 global.set $~argumentsLength - local.get $4 + local.get $0 i32.load offset=8 i32.const 3 i32.shr_u - local.tee $2 - local.set $1 + local.tee $3 + local.set $2 i32.const -1 - local.set $0 + local.set $1 block $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Uint64Array,u64>|inlined.017 - local.get $2 + local.get $3 i32.eqz br_if $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Uint64Array,u64>|inlined.017 - local.get $1 local.get $2 + local.get $3 i32.add - local.get $2 + local.get $3 i32.const 1 i32.sub - local.get $1 - local.get $1 local.get $2 + local.get $2 + local.get $3 i32.ge_s select - local.get $1 + local.get $2 i32.const 0 i32.lt_s select local.set $1 - local.get $4 + local.get $0 i32.load offset=4 local.set $2 loop $while-continue|018 @@ -19387,7 +19398,6 @@ i32.ge_s if local.get $1 - local.tee $0 i32.const 3 i32.shl local.get $2 @@ -19396,7 +19406,7 @@ i64.const 3 i64.eq br_if $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Uint64Array,u64>|inlined.017 - local.get $0 + local.get $1 i32.const 1 i32.sub local.set $1 @@ -19404,9 +19414,9 @@ end end i32.const -1 - local.set $0 + local.set $1 end - local.get $0 + local.get $1 i32.const 3 i32.ne if @@ -19418,53 +19428,54 @@ unreachable end i32.const -1 - local.set $0 + local.set $1 block $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Uint64Array,u64>|inlined.019 - local.get $4 + local.get $0 + local.tee $2 i32.load offset=8 i32.const 3 i32.shr_u - local.tee $1 + local.tee $0 i32.eqz br_if $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Uint64Array,u64>|inlined.019 - local.get $1 + local.get $0 i32.const 1 i32.sub i32.const 4 - local.get $1 + local.get $0 i32.const 4 i32.le_u select - local.set $1 - local.get $4 + local.set $0 + local.get $2 i32.load offset=4 - local.set $2 + local.set $3 loop $while-continue|024 - local.get $1 + local.get $0 i32.const 0 i32.ge_s if - local.get $1 - local.tee $0 + local.get $0 + local.tee $1 i32.const 3 i32.shl - local.get $2 + local.get $3 i32.add i64.load i64.const 3 i64.eq br_if $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Uint64Array,u64>|inlined.019 - local.get $0 + local.get $1 i32.const 1 i32.sub - local.set $1 + local.set $0 br $while-continue|024 end end i32.const -1 - local.set $0 + local.set $1 end - local.get $0 + local.get $1 i32.const 3 i32.ne if @@ -19476,53 +19487,53 @@ unreachable end i32.const -1 - local.set $0 + local.set $1 block $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Uint64Array,u64>|inlined.026 - local.get $4 + local.get $2 i32.load offset=8 i32.const 3 i32.shr_u - local.tee $1 + local.tee $0 i32.eqz br_if $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Uint64Array,u64>|inlined.026 - local.get $1 + local.get $0 i32.const 1 i32.sub i32.const 3 - local.get $1 + local.get $0 i32.const 3 i32.le_u select - local.set $1 - local.get $4 + local.set $0 + local.get $2 i32.load offset=4 - local.set $2 + local.set $3 loop $while-continue|027 - local.get $1 + local.get $0 i32.const 0 i32.ge_s if - local.get $1 - local.tee $0 + local.get $0 + local.tee $1 i32.const 3 i32.shl - local.get $2 + local.get $3 i32.add i64.load i64.const 3 i64.eq br_if $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Uint64Array,u64>|inlined.026 - local.get $0 + local.get $1 i32.const 1 i32.sub - local.set $1 + local.set $0 br $while-continue|027 end end i32.const -1 - local.set $0 + local.set $1 end - local.get $0 + local.get $1 i32.const 3 i32.ne if @@ -19534,53 +19545,53 @@ unreachable end i32.const -1 - local.set $0 + local.set $1 block $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Uint64Array,u64>|inlined.029 - local.get $4 + local.get $2 i32.load offset=8 i32.const 3 i32.shr_u - local.tee $1 + local.tee $0 i32.eqz br_if $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Uint64Array,u64>|inlined.029 - local.get $1 + local.get $0 i32.const 1 i32.sub i32.const 2 - local.get $1 + local.get $0 i32.const 2 i32.le_u select - local.set $1 - local.get $4 + local.set $0 + local.get $2 i32.load offset=4 - local.set $2 + local.set $3 loop $while-continue|030 - local.get $1 + local.get $0 i32.const 0 i32.ge_s if - local.get $1 - local.tee $0 + local.get $0 + local.tee $1 i32.const 3 i32.shl - local.get $2 + local.get $3 i32.add i64.load i64.const 3 i64.eq br_if $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Uint64Array,u64>|inlined.029 - local.get $0 + local.get $1 i32.const 1 i32.sub - local.set $1 + local.set $0 br $while-continue|030 end end i32.const -1 - local.set $0 + local.set $1 end - local.get $0 + local.get $1 i32.const -1 i32.ne if @@ -19592,53 +19603,53 @@ unreachable end i32.const -1 - local.set $0 + local.set $1 block $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Uint64Array,u64>|inlined.032 - local.get $4 + local.get $2 i32.load offset=8 i32.const 3 i32.shr_u - local.tee $1 + local.tee $0 i32.eqz br_if $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Uint64Array,u64>|inlined.032 - local.get $1 + local.get $0 i32.const 1 i32.sub i32.const 100 - local.get $1 + local.get $0 i32.const 100 i32.le_u select - local.set $1 - local.get $4 - i32.load offset=4 - local.set $2 + local.set $0 + local.get $2 + i32.load offset=4 + local.set $3 loop $while-continue|033 - local.get $1 + local.get $0 i32.const 0 i32.ge_s if - local.get $1 - local.tee $0 + local.get $0 + local.tee $1 i32.const 3 i32.shl - local.get $2 + local.get $3 i32.add i64.load i64.const 1 i64.eq br_if $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Uint64Array,u64>|inlined.032 - local.get $0 + local.get $1 i32.const 1 i32.sub - local.set $1 + local.set $0 br $while-continue|033 end end i32.const -1 - local.set $0 + local.set $1 end - local.get $0 + local.get $1 i32.const 1 i32.ne if @@ -19652,7 +19663,7 @@ i32.const -1 local.set $0 block $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Uint64Array,u64>|inlined.035 - local.get $4 + local.get $2 i32.load offset=8 i32.const 3 i32.shr_u @@ -19663,7 +19674,7 @@ i32.const 10 i32.sub local.set $0 - local.get $4 + local.get $2 i32.load offset=4 local.set $1 loop $while-continue|036 @@ -19704,7 +19715,7 @@ i32.const -1 local.set $0 block $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Uint64Array,u64>|inlined.038 - local.get $4 + local.get $2 i32.load offset=8 i32.const 3 i32.shr_u @@ -19715,7 +19726,7 @@ i32.const 11 i32.sub local.set $0 - local.get $4 + local.get $2 i32.load offset=4 local.set $1 loop $while-continue|039 @@ -19754,15 +19765,15 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $4 + local.get $2 i32.const 9 call $~lib/typedarray/Uint64Array#subarray local.tee $4 i32.store offset=8 i32.const 0 - local.set $1 - i32.const -1 local.set $0 + i32.const -1 + local.set $1 block $~lib/typedarray/INDEX_OF<~lib/typedarray/Uint64Array,u64>|inlined.041 local.get $4 i32.load offset=8 @@ -19775,12 +19786,12 @@ i32.load offset=4 local.set $2 loop $while-continue|042 - local.get $1 + local.get $0 local.get $3 i32.lt_s if - local.get $1 - local.tee $0 + local.get $0 + local.tee $1 i32.const 3 i32.shl local.get $2 @@ -19789,17 +19800,17 @@ i64.const 3 i64.eq br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Uint64Array,u64>|inlined.041 - local.get $0 + local.get $1 i32.const 1 i32.add - local.set $1 + local.set $0 br $while-continue|042 end end i32.const -1 - local.set $0 + local.set $1 end - local.get $0 + local.get $1 i32.const -1 i32.ne if @@ -19811,9 +19822,9 @@ unreachable end i32.const 0 - local.set $1 - i32.const -1 local.set $0 + i32.const -1 + local.set $1 block $~lib/typedarray/INDEX_OF<~lib/typedarray/Uint64Array,u64>|inlined.044 local.get $4 i32.load offset=8 @@ -19826,12 +19837,12 @@ i32.load offset=4 local.set $2 loop $while-continue|045 - local.get $1 + local.get $0 local.get $3 i32.lt_s if - local.get $1 - local.tee $0 + local.get $0 + local.tee $1 i32.const 3 i32.shl local.get $2 @@ -19840,17 +19851,17 @@ i64.const 4 i64.eq br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Uint64Array,u64>|inlined.044 - local.get $0 + local.get $1 i32.const 1 i32.add - local.set $1 + local.set $0 br $while-continue|045 end end i32.const -1 - local.set $0 + local.set $1 end - local.get $0 + local.get $1 if i32.const 0 i32.const 1568 @@ -19860,9 +19871,9 @@ unreachable end i32.const 0 - local.set $1 - i32.const -1 local.set $0 + i32.const -1 + local.set $1 block $~lib/typedarray/INDEX_OF<~lib/typedarray/Uint64Array,u64>|inlined.047 local.get $4 i32.load offset=8 @@ -19875,12 +19886,12 @@ i32.load offset=4 local.set $2 loop $while-continue|048 - local.get $1 + local.get $0 local.get $3 i32.lt_s if - local.get $1 - local.tee $0 + local.get $0 + local.tee $1 i32.const 3 i32.shl local.get $2 @@ -19889,17 +19900,17 @@ i64.const 5 i64.eq br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Uint64Array,u64>|inlined.047 - local.get $0 + local.get $1 i32.const 1 i32.add - local.set $1 + local.set $0 br $while-continue|048 end end i32.const -1 - local.set $0 + local.set $1 end - local.get $0 + local.get $1 i32.const 1 i32.ne if @@ -19911,9 +19922,9 @@ unreachable end i32.const 0 - local.set $1 - i32.const -1 local.set $0 + i32.const -1 + local.set $1 block $~lib/typedarray/INDEX_OF<~lib/typedarray/Uint64Array,u64>|inlined.050 local.get $4 i32.load offset=8 @@ -19926,12 +19937,12 @@ i32.load offset=4 local.set $2 loop $while-continue|051 - local.get $1 + local.get $0 local.get $3 i32.lt_s if - local.get $1 - local.tee $0 + local.get $0 + local.tee $1 i32.const 3 i32.shl local.get $2 @@ -19940,17 +19951,17 @@ i64.const 9 i64.eq br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Uint64Array,u64>|inlined.050 - local.get $0 + local.get $1 i32.const 1 i32.add - local.set $1 + local.set $0 br $while-continue|051 end end i32.const -1 - local.set $0 + local.set $1 end - local.get $0 + local.get $1 i32.const -1 i32.ne if @@ -19962,9 +19973,9 @@ unreachable end i32.const 0 - local.set $1 - i32.const -1 local.set $0 + i32.const -1 + local.set $1 block $~lib/typedarray/INDEX_OF<~lib/typedarray/Uint64Array,u64>|inlined.053 local.get $4 i32.load offset=8 @@ -19977,12 +19988,12 @@ i32.load offset=4 local.set $2 loop $while-continue|054 - local.get $1 + local.get $0 local.get $3 i32.lt_s if - local.get $1 - local.tee $0 + local.get $0 + local.tee $1 i32.const 3 i32.shl local.get $2 @@ -19991,17 +20002,17 @@ i64.const 10 i64.eq br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Uint64Array,u64>|inlined.053 - local.get $0 + local.get $1 i32.const 1 i32.add - local.set $1 + local.set $0 br $while-continue|054 end end i32.const -1 - local.set $0 + local.set $1 end - local.get $0 + local.get $1 i32.const -1 i32.ne if @@ -20013,9 +20024,9 @@ unreachable end i32.const 0 - local.set $1 - i32.const -1 local.set $0 + i32.const -1 + local.set $1 block $~lib/typedarray/INDEX_OF<~lib/typedarray/Uint64Array,u64>|inlined.056 local.get $4 i32.load offset=8 @@ -20028,12 +20039,12 @@ i32.load offset=4 local.set $2 loop $while-continue|057 - local.get $1 + local.get $0 local.get $3 i32.lt_s if - local.get $1 - local.tee $0 + local.get $0 + local.tee $1 i32.const 3 i32.shl local.get $2 @@ -20042,17 +20053,17 @@ i64.const 11 i64.eq br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Uint64Array,u64>|inlined.056 - local.get $0 + local.get $1 i32.const 1 i32.add - local.set $1 + local.set $0 br $while-continue|057 end end i32.const -1 - local.set $0 + local.set $1 end - local.get $0 + local.get $1 i32.const -1 i32.ne if @@ -20064,9 +20075,9 @@ unreachable end i32.const 1 - local.set $1 - i32.const -1 local.set $0 + i32.const -1 + local.set $1 block $~lib/typedarray/INDEX_OF<~lib/typedarray/Uint64Array,u64>|inlined.059 local.get $4 i32.load offset=8 @@ -20083,12 +20094,12 @@ i32.load offset=4 local.set $2 loop $while-continue|060 - local.get $1 + local.get $0 local.get $3 i32.lt_s if - local.get $1 - local.tee $0 + local.get $0 + local.tee $1 i32.const 3 i32.shl local.get $2 @@ -20097,17 +20108,17 @@ i64.const 5 i64.eq br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Uint64Array,u64>|inlined.059 - local.get $0 + local.get $1 i32.const 1 i32.add - local.set $1 + local.set $0 br $while-continue|060 end end i32.const -1 - local.set $0 + local.set $1 end - local.get $0 + local.get $1 i32.const 1 i32.ne if @@ -20200,82 +20211,82 @@ unreachable end 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 - local.get $0 + local.get $1 i32.const 7728 i32.store - local.get $0 + local.get $1 i32.const 7740 i32.load - local.tee $0 + local.tee $1 call $~lib/typedarray/Float32Array#constructor - local.tee $4 + local.tee $2 i32.store offset=4 loop $for-loop|0 local.get $0 local.get $1 - i32.gt_s + i32.lt_s if - local.get $4 - local.get $1 + local.get $2 + local.get $0 i32.const 7728 - local.get $1 + local.get $0 call $~lib/array/Array#__get f32.convert_i32_s call $~lib/typedarray/Float32Array#__set - local.get $1 + local.get $0 i32.const 1 i32.add - local.set $1 + local.set $0 br $for-loop|0 end end i32.const 0 - local.set $1 - i32.const -1 local.set $0 + i32.const -1 + local.set $1 block $~lib/typedarray/INDEX_OF<~lib/typedarray/Float32Array,f32>|inlined.0 - local.get $4 + local.get $2 i32.load offset=8 i32.const 2 i32.shr_u - local.tee $3 + local.tee $4 i32.eqz br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Float32Array,f32>|inlined.0 - local.get $4 + local.get $2 i32.load offset=4 - local.set $2 + local.set $3 loop $while-continue|0 - local.get $1 - local.get $3 + local.get $0 + local.get $4 i32.lt_s if - local.get $1 - local.tee $0 + local.get $0 + local.tee $1 i32.const 2 i32.shl - local.get $2 + local.get $3 i32.add f32.load f32.const 0 f32.eq br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Float32Array,f32>|inlined.0 - local.get $0 + local.get $1 i32.const 1 i32.add - local.set $1 + local.set $0 br $while-continue|0 end end i32.const -1 - local.set $0 + local.set $1 end - local.get $0 + local.get $1 if i32.const 0 i32.const 1568 @@ -20285,46 +20296,46 @@ unreachable end i32.const 0 - local.set $1 - i32.const -1 local.set $0 + i32.const -1 + local.set $1 block $~lib/typedarray/INDEX_OF<~lib/typedarray/Float32Array,f32>|inlined.01 - local.get $4 + local.get $2 i32.load offset=8 i32.const 2 i32.shr_u - local.tee $3 + local.tee $4 i32.eqz br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Float32Array,f32>|inlined.01 - local.get $4 + local.get $2 i32.load offset=4 - local.set $2 + local.set $3 loop $while-continue|02 - local.get $1 - local.get $3 + local.get $0 + local.get $4 i32.lt_s if - local.get $1 - local.tee $0 + local.get $0 + local.tee $1 i32.const 2 i32.shl - local.get $2 + local.get $3 i32.add f32.load f32.const 11 f32.eq br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Float32Array,f32>|inlined.01 - local.get $0 + local.get $1 i32.const 1 i32.add - local.set $1 + local.set $0 br $while-continue|02 end end i32.const -1 - local.set $0 + local.set $1 end - local.get $0 + local.get $1 i32.const -1 i32.ne if @@ -20336,46 +20347,46 @@ unreachable end i32.const 0 - local.set $1 - i32.const -1 local.set $0 + i32.const -1 + local.set $1 block $~lib/typedarray/INDEX_OF<~lib/typedarray/Float32Array,f32>|inlined.04 - local.get $4 + local.get $2 i32.load offset=8 i32.const 2 i32.shr_u - local.tee $3 + local.tee $4 i32.eqz br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Float32Array,f32>|inlined.04 - local.get $4 + local.get $2 i32.load offset=4 - local.set $2 + local.set $3 loop $while-continue|05 - local.get $1 - local.get $3 + local.get $0 + local.get $4 i32.lt_s if - local.get $1 - local.tee $0 + local.get $0 + local.tee $1 i32.const 2 i32.shl - local.get $2 + local.get $3 i32.add f32.load f32.const -1 f32.eq br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Float32Array,f32>|inlined.04 - local.get $0 + local.get $1 i32.const 1 i32.add - local.set $1 + local.set $0 br $while-continue|05 end end i32.const -1 - local.set $0 + local.set $1 end - local.get $0 + local.get $1 i32.const -1 i32.ne if @@ -20387,46 +20398,46 @@ unreachable end i32.const 0 - local.set $1 - i32.const -1 local.set $0 + i32.const -1 + local.set $1 block $~lib/typedarray/INDEX_OF<~lib/typedarray/Float32Array,f32>|inlined.07 - local.get $4 + local.get $2 i32.load offset=8 i32.const 2 i32.shr_u - local.tee $3 + local.tee $4 i32.eqz br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Float32Array,f32>|inlined.07 - local.get $4 + local.get $2 i32.load offset=4 - local.set $2 + local.set $3 loop $while-continue|08 - local.get $1 - local.get $3 + local.get $0 + local.get $4 i32.lt_s if - local.get $1 - local.tee $0 + local.get $0 + local.tee $1 i32.const 2 i32.shl - local.get $2 + local.get $3 i32.add f32.load f32.const 3 f32.eq br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Float32Array,f32>|inlined.07 - local.get $0 + local.get $1 i32.const 1 i32.add - local.set $1 + local.set $0 br $while-continue|08 end end i32.const -1 - local.set $0 + local.set $1 end - local.get $0 + local.get $1 i32.const 3 i32.ne if @@ -20438,50 +20449,50 @@ unreachable end i32.const 2 - local.set $1 - i32.const -1 local.set $0 + i32.const -1 + local.set $1 block $~lib/typedarray/INDEX_OF<~lib/typedarray/Float32Array,f32>|inlined.010 - 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.010 - local.get $4 + local.get $2 i32.load offset=4 - local.set $2 + local.set $3 loop $while-continue|011 - local.get $1 - local.get $3 + local.get $0 + local.get $4 i32.lt_s if - local.get $1 - local.tee $0 + local.get $0 + local.tee $1 i32.const 2 i32.shl - local.get $2 + local.get $3 i32.add f32.load f32.const 3 f32.eq br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Float32Array,f32>|inlined.010 - local.get $0 + local.get $1 i32.const 1 i32.add - local.set $1 + local.set $0 br $while-continue|011 end end i32.const -1 - local.set $0 + local.set $1 end - local.get $0 + local.get $1 i32.const 3 i32.ne if @@ -20493,50 +20504,50 @@ unreachable end i32.const 3 - local.set $1 - i32.const -1 local.set $0 + i32.const -1 + local.set $1 block $~lib/typedarray/INDEX_OF<~lib/typedarray/Float32Array,f32>|inlined.013 - local.get $4 + local.get $2 i32.load offset=8 i32.const 2 i32.shr_u - local.tee $3 + local.tee $4 i32.const 3 i32.le_u i32.const 1 - local.get $3 + local.get $4 select br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Float32Array,f32>|inlined.013 - local.get $4 + local.get $2 i32.load offset=4 - local.set $2 + local.set $3 loop $while-continue|014 - local.get $1 - local.get $3 + local.get $0 + local.get $4 i32.lt_s if - local.get $1 - local.tee $0 + local.get $0 + local.tee $1 i32.const 2 i32.shl - local.get $2 + local.get $3 i32.add f32.load f32.const 3 f32.eq br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Float32Array,f32>|inlined.013 - local.get $0 + local.get $1 i32.const 1 i32.add - local.set $1 + local.set $0 br $while-continue|014 end end i32.const -1 - local.set $0 + local.set $1 end - local.get $0 + local.get $1 i32.const 3 i32.ne if @@ -20548,50 +20559,50 @@ unreachable end i32.const 4 - local.set $1 - i32.const -1 local.set $0 + i32.const -1 + local.set $1 block $~lib/typedarray/INDEX_OF<~lib/typedarray/Float32Array,f32>|inlined.016 - local.get $4 + local.get $2 i32.load offset=8 i32.const 2 i32.shr_u - local.tee $3 + local.tee $4 i32.const 4 i32.le_u i32.const 1 - local.get $3 + local.get $4 select br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Float32Array,f32>|inlined.016 - local.get $4 + local.get $2 i32.load offset=4 - local.set $2 + local.set $3 loop $while-continue|017 - local.get $1 - local.get $3 + local.get $0 + local.get $4 i32.lt_s if - local.get $1 - local.tee $0 + local.get $0 + local.tee $1 i32.const 2 i32.shl - local.get $2 + local.get $3 i32.add f32.load f32.const 3 f32.eq br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Float32Array,f32>|inlined.016 - local.get $0 + local.get $1 i32.const 1 i32.add - local.set $1 + local.set $0 br $while-continue|017 end end i32.const -1 - local.set $0 + local.set $1 end - local.get $0 + local.get $1 i32.const -1 i32.ne if @@ -20603,50 +20614,50 @@ unreachable end i32.const 10 - local.set $1 - i32.const -1 local.set $0 + i32.const -1 + local.set $1 block $~lib/typedarray/INDEX_OF<~lib/typedarray/Float32Array,f32>|inlined.019 - local.get $4 + local.get $2 i32.load offset=8 i32.const 2 i32.shr_u - local.tee $3 + local.tee $4 i32.const 10 i32.le_u i32.const 1 - local.get $3 + local.get $4 select br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Float32Array,f32>|inlined.019 - local.get $4 + local.get $2 i32.load offset=4 - local.set $2 + local.set $3 loop $while-continue|020 - local.get $1 - local.get $3 + local.get $0 + local.get $4 i32.lt_s if - local.get $1 - local.tee $0 + local.get $0 + local.tee $1 i32.const 2 i32.shl - local.get $2 + local.get $3 i32.add f32.load f32.const 1 f32.eq br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Float32Array,f32>|inlined.019 - local.get $0 + local.get $1 i32.const 1 i32.add - local.set $1 + local.set $0 br $while-continue|020 end end i32.const -1 - local.set $0 + local.set $1 end - local.get $0 + local.get $1 i32.const -1 i32.ne if @@ -20660,18 +20671,18 @@ i32.const -1 local.set $0 block $~lib/typedarray/INDEX_OF<~lib/typedarray/Float32Array,f32>|inlined.022 - local.get $4 + local.get $2 i32.load offset=8 i32.const 2 i32.shr_u - local.tee $2 + local.tee $3 i32.const -100 i32.le_s i32.const 1 - local.get $2 + local.get $3 select br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Float32Array,f32>|inlined.022 - local.get $2 + local.get $3 i32.const 100 i32.sub local.tee $0 @@ -20681,12 +20692,12 @@ i32.gt_s select local.set $0 - local.get $4 + local.get $2 i32.load offset=4 local.set $1 loop $while-continue|023 local.get $0 - local.get $2 + local.get $3 i32.lt_s if local.get $0 @@ -20721,35 +20732,39 @@ end i32.const 1 global.set $~argumentsLength - local.get $4 + local.get $2 + local.tee $0 i32.load offset=8 i32.const 2 i32.shr_u - local.tee $2 - local.set $1 + local.set $3 i32.const -1 - local.set $0 + local.set $1 block $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Float32Array,f32>|inlined.0 local.get $2 + i32.load offset=8 + i32.const 2 + i32.shr_u + local.tee $2 i32.eqz br_if $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Float32Array,f32>|inlined.0 - local.get $1 local.get $2 + local.get $3 i32.add local.get $2 i32.const 1 i32.sub - local.get $1 - local.get $1 + local.get $3 local.get $2 - i32.ge_s + local.get $3 + i32.le_s select - local.get $1 + local.get $3 i32.const 0 i32.lt_s select local.set $1 - local.get $4 + local.get $0 i32.load offset=4 local.set $2 loop $while-continue|00 @@ -20758,7 +20773,6 @@ i32.ge_s if local.get $1 - local.tee $0 i32.const 2 i32.shl local.get $2 @@ -20767,7 +20781,7 @@ f32.const 0 f32.eq br_if $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Float32Array,f32>|inlined.0 - local.get $0 + local.get $1 i32.const 1 i32.sub local.set $1 @@ -20775,9 +20789,9 @@ end end i32.const -1 - local.set $0 + local.set $1 end - local.get $0 + local.get $1 if i32.const 0 i32.const 1568 @@ -20788,35 +20802,35 @@ end i32.const 1 global.set $~argumentsLength - local.get $4 + local.get $0 i32.load offset=8 i32.const 2 i32.shr_u - local.tee $2 - local.set $1 + local.tee $3 + local.set $2 i32.const -1 - local.set $0 + local.set $1 block $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Float32Array,f32>|inlined.05 - local.get $2 + local.get $3 i32.eqz br_if $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Float32Array,f32>|inlined.05 - local.get $1 local.get $2 + local.get $3 i32.add - local.get $2 + local.get $3 i32.const 1 i32.sub - local.get $1 - local.get $1 local.get $2 + local.get $2 + local.get $3 i32.ge_s select - local.get $1 + local.get $2 i32.const 0 i32.lt_s select local.set $1 - local.get $4 + local.get $0 i32.load offset=4 local.set $2 loop $while-continue|06 @@ -20825,7 +20839,6 @@ i32.ge_s if local.get $1 - local.tee $0 i32.const 2 i32.shl local.get $2 @@ -20834,7 +20847,7 @@ f32.const 11 f32.eq br_if $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Float32Array,f32>|inlined.05 - local.get $0 + local.get $1 i32.const 1 i32.sub local.set $1 @@ -20842,9 +20855,9 @@ end end i32.const -1 - local.set $0 + local.set $1 end - local.get $0 + local.get $1 i32.const -1 i32.ne if @@ -20857,35 +20870,35 @@ end i32.const 1 global.set $~argumentsLength - local.get $4 + local.get $0 i32.load offset=8 i32.const 2 i32.shr_u - local.tee $2 - local.set $1 + local.tee $3 + local.set $2 i32.const -1 - local.set $0 + local.set $1 block $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Float32Array,f32>|inlined.011 - local.get $2 + local.get $3 i32.eqz br_if $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Float32Array,f32>|inlined.011 - local.get $1 local.get $2 + local.get $3 i32.add - local.get $2 + local.get $3 i32.const 1 i32.sub - local.get $1 - local.get $1 local.get $2 + local.get $2 + local.get $3 i32.ge_s select - local.get $1 + local.get $2 i32.const 0 i32.lt_s select local.set $1 - local.get $4 + local.get $0 i32.load offset=4 local.set $2 loop $while-continue|012 @@ -20894,7 +20907,6 @@ i32.ge_s if local.get $1 - local.tee $0 i32.const 2 i32.shl local.get $2 @@ -20903,7 +20915,7 @@ f32.const -1 f32.eq br_if $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Float32Array,f32>|inlined.011 - local.get $0 + local.get $1 i32.const 1 i32.sub local.set $1 @@ -20911,9 +20923,9 @@ end end i32.const -1 - local.set $0 + local.set $1 end - local.get $0 + local.get $1 i32.const -1 i32.ne if @@ -20926,35 +20938,35 @@ end i32.const 1 global.set $~argumentsLength - local.get $4 + local.get $0 i32.load offset=8 i32.const 2 i32.shr_u - local.tee $2 - local.set $1 + local.tee $3 + local.set $2 i32.const -1 - local.set $0 + local.set $1 block $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Float32Array,f32>|inlined.017 - local.get $2 + local.get $3 i32.eqz br_if $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Float32Array,f32>|inlined.017 - local.get $1 local.get $2 + local.get $3 i32.add - local.get $2 + local.get $3 i32.const 1 i32.sub - local.get $1 - local.get $1 local.get $2 + local.get $2 + local.get $3 i32.ge_s select - local.get $1 + local.get $2 i32.const 0 i32.lt_s select local.set $1 - local.get $4 + local.get $0 i32.load offset=4 local.set $2 loop $while-continue|018 @@ -20963,7 +20975,6 @@ i32.ge_s if local.get $1 - local.tee $0 i32.const 2 i32.shl local.get $2 @@ -20972,7 +20983,7 @@ f32.const 3 f32.eq br_if $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Float32Array,f32>|inlined.017 - local.get $0 + local.get $1 i32.const 1 i32.sub local.set $1 @@ -20980,9 +20991,9 @@ end end i32.const -1 - local.set $0 + local.set $1 end - local.get $0 + local.get $1 i32.const 3 i32.ne if @@ -20994,53 +21005,54 @@ unreachable end i32.const -1 - local.set $0 + local.set $1 block $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Float32Array,f32>|inlined.019 - local.get $4 + local.get $0 + local.tee $2 i32.load offset=8 i32.const 2 i32.shr_u - local.tee $1 + local.tee $0 i32.eqz br_if $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Float32Array,f32>|inlined.019 - local.get $1 + local.get $0 i32.const 1 i32.sub i32.const 4 - local.get $1 + local.get $0 i32.const 4 i32.le_u select - local.set $1 - local.get $4 + local.set $0 + local.get $2 i32.load offset=4 - local.set $2 + local.set $3 loop $while-continue|024 - local.get $1 + local.get $0 i32.const 0 i32.ge_s if - local.get $1 - local.tee $0 + local.get $0 + local.tee $1 i32.const 2 i32.shl - local.get $2 + local.get $3 i32.add f32.load f32.const 3 f32.eq br_if $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Float32Array,f32>|inlined.019 - local.get $0 + local.get $1 i32.const 1 i32.sub - local.set $1 + local.set $0 br $while-continue|024 end end i32.const -1 - local.set $0 + local.set $1 end - local.get $0 + local.get $1 i32.const 3 i32.ne if @@ -21052,53 +21064,53 @@ unreachable end i32.const -1 - local.set $0 + local.set $1 block $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Float32Array,f32>|inlined.026 - local.get $4 + local.get $2 i32.load offset=8 i32.const 2 i32.shr_u - local.tee $1 + local.tee $0 i32.eqz br_if $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Float32Array,f32>|inlined.026 - local.get $1 + local.get $0 i32.const 1 i32.sub i32.const 3 - local.get $1 + local.get $0 i32.const 3 i32.le_u select - local.set $1 - local.get $4 + local.set $0 + local.get $2 i32.load offset=4 - local.set $2 + local.set $3 loop $while-continue|027 - local.get $1 + local.get $0 i32.const 0 i32.ge_s if - local.get $1 - local.tee $0 + local.get $0 + local.tee $1 i32.const 2 i32.shl - local.get $2 + local.get $3 i32.add f32.load f32.const 3 f32.eq br_if $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Float32Array,f32>|inlined.026 - local.get $0 + local.get $1 i32.const 1 i32.sub - local.set $1 + local.set $0 br $while-continue|027 end end i32.const -1 - local.set $0 + local.set $1 end - local.get $0 + local.get $1 i32.const 3 i32.ne if @@ -21110,53 +21122,53 @@ unreachable end i32.const -1 - local.set $0 + local.set $1 block $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Float32Array,f32>|inlined.029 - local.get $4 + local.get $2 i32.load offset=8 i32.const 2 i32.shr_u - local.tee $1 + local.tee $0 i32.eqz br_if $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Float32Array,f32>|inlined.029 - local.get $1 + local.get $0 i32.const 1 i32.sub i32.const 2 - local.get $1 + local.get $0 i32.const 2 i32.le_u select - local.set $1 - local.get $4 + local.set $0 + local.get $2 i32.load offset=4 - local.set $2 + local.set $3 loop $while-continue|030 - local.get $1 + local.get $0 i32.const 0 i32.ge_s if - local.get $1 - local.tee $0 + local.get $0 + local.tee $1 i32.const 2 i32.shl - local.get $2 + local.get $3 i32.add f32.load f32.const 3 f32.eq br_if $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Float32Array,f32>|inlined.029 - local.get $0 + local.get $1 i32.const 1 i32.sub - local.set $1 + local.set $0 br $while-continue|030 end end i32.const -1 - local.set $0 + local.set $1 end - local.get $0 + local.get $1 i32.const -1 i32.ne if @@ -21168,53 +21180,53 @@ unreachable end i32.const -1 - local.set $0 + local.set $1 block $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Float32Array,f32>|inlined.032 - local.get $4 + local.get $2 i32.load offset=8 i32.const 2 i32.shr_u - local.tee $1 + local.tee $0 i32.eqz br_if $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Float32Array,f32>|inlined.032 - local.get $1 + local.get $0 i32.const 1 i32.sub i32.const 100 - local.get $1 + local.get $0 i32.const 100 i32.le_u select - local.set $1 - local.get $4 + local.set $0 + local.get $2 i32.load offset=4 - local.set $2 + local.set $3 loop $while-continue|033 - local.get $1 + local.get $0 i32.const 0 i32.ge_s if - local.get $1 - local.tee $0 + local.get $0 + local.tee $1 i32.const 2 i32.shl - local.get $2 + local.get $3 i32.add f32.load f32.const 1 f32.eq br_if $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Float32Array,f32>|inlined.032 - local.get $0 + local.get $1 i32.const 1 i32.sub - local.set $1 + local.set $0 br $while-continue|033 end end i32.const -1 - local.set $0 + local.set $1 end - local.get $0 + local.get $1 i32.const 1 i32.ne if @@ -21228,7 +21240,7 @@ i32.const -1 local.set $0 block $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Float32Array,f32>|inlined.035 - local.get $4 + local.get $2 i32.load offset=8 i32.const 2 i32.shr_u @@ -21239,7 +21251,7 @@ i32.const 10 i32.sub local.set $0 - local.get $4 + local.get $2 i32.load offset=4 local.set $1 loop $while-continue|036 @@ -21280,7 +21292,7 @@ i32.const -1 local.set $0 block $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Float32Array,f32>|inlined.038 - local.get $4 + local.get $2 i32.load offset=8 i32.const 2 i32.shr_u @@ -21291,7 +21303,7 @@ i32.const 11 i32.sub local.set $0 - local.get $4 + local.get $2 i32.load offset=4 local.set $1 loop $while-continue|039 @@ -21330,15 +21342,15 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $4 + local.get $2 i32.const 9 call $~lib/typedarray/Float32Array#subarray local.tee $4 i32.store offset=8 i32.const 0 - local.set $1 - i32.const -1 local.set $0 + i32.const -1 + local.set $1 block $~lib/typedarray/INDEX_OF<~lib/typedarray/Float32Array,f32>|inlined.041 local.get $4 i32.load offset=8 @@ -21351,12 +21363,12 @@ i32.load offset=4 local.set $2 loop $while-continue|042 - local.get $1 + local.get $0 local.get $3 i32.lt_s if - local.get $1 - local.tee $0 + local.get $0 + local.tee $1 i32.const 2 i32.shl local.get $2 @@ -21365,17 +21377,17 @@ f32.const 3 f32.eq br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Float32Array,f32>|inlined.041 - local.get $0 + local.get $1 i32.const 1 i32.add - local.set $1 + local.set $0 br $while-continue|042 end end i32.const -1 - local.set $0 + local.set $1 end - local.get $0 + local.get $1 i32.const -1 i32.ne if @@ -21387,9 +21399,9 @@ unreachable end i32.const 0 - local.set $1 - i32.const -1 local.set $0 + i32.const -1 + local.set $1 block $~lib/typedarray/INDEX_OF<~lib/typedarray/Float32Array,f32>|inlined.044 local.get $4 i32.load offset=8 @@ -21402,12 +21414,12 @@ i32.load offset=4 local.set $2 loop $while-continue|045 - local.get $1 + local.get $0 local.get $3 i32.lt_s if - local.get $1 - local.tee $0 + local.get $0 + local.tee $1 i32.const 2 i32.shl local.get $2 @@ -21416,17 +21428,17 @@ f32.const 4 f32.eq br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Float32Array,f32>|inlined.044 - local.get $0 + local.get $1 i32.const 1 i32.add - local.set $1 + local.set $0 br $while-continue|045 end end i32.const -1 - local.set $0 + local.set $1 end - local.get $0 + local.get $1 if i32.const 0 i32.const 1568 @@ -21436,9 +21448,9 @@ unreachable end i32.const 0 - local.set $1 - i32.const -1 local.set $0 + i32.const -1 + local.set $1 block $~lib/typedarray/INDEX_OF<~lib/typedarray/Float32Array,f32>|inlined.047 local.get $4 i32.load offset=8 @@ -21451,12 +21463,12 @@ i32.load offset=4 local.set $2 loop $while-continue|048 - local.get $1 + local.get $0 local.get $3 i32.lt_s if - local.get $1 - local.tee $0 + local.get $0 + local.tee $1 i32.const 2 i32.shl local.get $2 @@ -21465,17 +21477,17 @@ f32.const 5 f32.eq br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Float32Array,f32>|inlined.047 - local.get $0 + local.get $1 i32.const 1 i32.add - local.set $1 + local.set $0 br $while-continue|048 end end i32.const -1 - local.set $0 + local.set $1 end - local.get $0 + local.get $1 i32.const 1 i32.ne if @@ -21487,9 +21499,9 @@ unreachable end i32.const 0 - local.set $1 - i32.const -1 local.set $0 + i32.const -1 + local.set $1 block $~lib/typedarray/INDEX_OF<~lib/typedarray/Float32Array,f32>|inlined.050 local.get $4 i32.load offset=8 @@ -21502,12 +21514,12 @@ i32.load offset=4 local.set $2 loop $while-continue|051 - local.get $1 + local.get $0 local.get $3 i32.lt_s if - local.get $1 - local.tee $0 + local.get $0 + local.tee $1 i32.const 2 i32.shl local.get $2 @@ -21516,17 +21528,17 @@ f32.const 9 f32.eq br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Float32Array,f32>|inlined.050 - local.get $0 + local.get $1 i32.const 1 i32.add - local.set $1 + local.set $0 br $while-continue|051 end end i32.const -1 - local.set $0 + local.set $1 end - local.get $0 + local.get $1 i32.const -1 i32.ne if @@ -21538,9 +21550,9 @@ unreachable end i32.const 0 - local.set $1 - i32.const -1 local.set $0 + i32.const -1 + local.set $1 block $~lib/typedarray/INDEX_OF<~lib/typedarray/Float32Array,f32>|inlined.053 local.get $4 i32.load offset=8 @@ -21553,12 +21565,12 @@ i32.load offset=4 local.set $2 loop $while-continue|054 - local.get $1 + local.get $0 local.get $3 i32.lt_s if - local.get $1 - local.tee $0 + local.get $0 + local.tee $1 i32.const 2 i32.shl local.get $2 @@ -21567,17 +21579,17 @@ f32.const 10 f32.eq br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Float32Array,f32>|inlined.053 - local.get $0 + local.get $1 i32.const 1 i32.add - local.set $1 + local.set $0 br $while-continue|054 end end i32.const -1 - local.set $0 + local.set $1 end - local.get $0 + local.get $1 i32.const -1 i32.ne if @@ -21589,9 +21601,9 @@ unreachable end i32.const 0 - local.set $1 - i32.const -1 local.set $0 + i32.const -1 + local.set $1 block $~lib/typedarray/INDEX_OF<~lib/typedarray/Float32Array,f32>|inlined.056 local.get $4 i32.load offset=8 @@ -21604,12 +21616,12 @@ i32.load offset=4 local.set $2 loop $while-continue|057 - local.get $1 + local.get $0 local.get $3 i32.lt_s if - local.get $1 - local.tee $0 + local.get $0 + local.tee $1 i32.const 2 i32.shl local.get $2 @@ -21618,17 +21630,17 @@ f32.const 11 f32.eq br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Float32Array,f32>|inlined.056 - local.get $0 + local.get $1 i32.const 1 i32.add - local.set $1 + local.set $0 br $while-continue|057 end end i32.const -1 - local.set $0 + local.set $1 end - local.get $0 + local.get $1 i32.const -1 i32.ne if @@ -21640,9 +21652,9 @@ unreachable end i32.const 1 - local.set $1 - i32.const -1 local.set $0 + i32.const -1 + local.set $1 block $~lib/typedarray/INDEX_OF<~lib/typedarray/Float32Array,f32>|inlined.059 local.get $4 i32.load offset=8 @@ -21659,12 +21671,12 @@ i32.load offset=4 local.set $2 loop $while-continue|060 - local.get $1 + local.get $0 local.get $3 i32.lt_s if - local.get $1 - local.tee $0 + local.get $0 + local.tee $1 i32.const 2 i32.shl local.get $2 @@ -21673,17 +21685,17 @@ f32.const 5 f32.eq br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Float32Array,f32>|inlined.059 - local.get $0 + local.get $1 i32.const 1 i32.add - local.set $1 + local.set $0 br $while-continue|060 end end i32.const -1 - local.set $0 + local.set $1 end - local.get $0 + local.get $1 i32.const 1 i32.ne if @@ -21776,82 +21788,82 @@ unreachable end 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 - local.get $0 + local.get $1 i32.const 7728 i32.store - local.get $0 + local.get $1 i32.const 7740 i32.load - local.tee $0 + local.tee $1 call $~lib/typedarray/Float64Array#constructor - local.tee $4 + local.tee $2 i32.store offset=4 loop $for-loop|0 local.get $0 local.get $1 - i32.gt_s + i32.lt_s if - local.get $4 - local.get $1 + local.get $2 + local.get $0 i32.const 7728 - local.get $1 + local.get $0 call $~lib/array/Array#__get f64.convert_i32_s call $~lib/typedarray/Float64Array#__set - local.get $1 + local.get $0 i32.const 1 i32.add - local.set $1 + local.set $0 br $for-loop|0 end end i32.const 0 - local.set $1 - i32.const -1 local.set $0 + i32.const -1 + local.set $1 block $~lib/typedarray/INDEX_OF<~lib/typedarray/Float64Array,f64>|inlined.0 - local.get $4 + local.get $2 i32.load offset=8 i32.const 3 i32.shr_u - local.tee $3 + local.tee $4 i32.eqz br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Float64Array,f64>|inlined.0 - local.get $4 + local.get $2 i32.load offset=4 - local.set $2 + local.set $3 loop $while-continue|0 - local.get $1 - local.get $3 + local.get $0 + local.get $4 i32.lt_s if - local.get $1 - local.tee $0 + local.get $0 + local.tee $1 i32.const 3 i32.shl - local.get $2 + local.get $3 i32.add f64.load f64.const 0 f64.eq br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Float64Array,f64>|inlined.0 - local.get $0 + local.get $1 i32.const 1 i32.add - local.set $1 + local.set $0 br $while-continue|0 end end i32.const -1 - local.set $0 + local.set $1 end - local.get $0 + local.get $1 if i32.const 0 i32.const 1568 @@ -21861,46 +21873,46 @@ unreachable end i32.const 0 - local.set $1 - i32.const -1 local.set $0 + i32.const -1 + local.set $1 block $~lib/typedarray/INDEX_OF<~lib/typedarray/Float64Array,f64>|inlined.01 - local.get $4 + local.get $2 i32.load offset=8 i32.const 3 i32.shr_u - local.tee $3 + local.tee $4 i32.eqz br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Float64Array,f64>|inlined.01 - local.get $4 + local.get $2 i32.load offset=4 - local.set $2 + local.set $3 loop $while-continue|02 - local.get $1 - local.get $3 + local.get $0 + local.get $4 i32.lt_s if - local.get $1 - local.tee $0 + local.get $0 + local.tee $1 i32.const 3 i32.shl - local.get $2 + local.get $3 i32.add f64.load f64.const 11 f64.eq br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Float64Array,f64>|inlined.01 - local.get $0 + local.get $1 i32.const 1 i32.add - local.set $1 + local.set $0 br $while-continue|02 end end i32.const -1 - local.set $0 + local.set $1 end - local.get $0 + local.get $1 i32.const -1 i32.ne if @@ -21912,46 +21924,46 @@ unreachable end i32.const 0 - local.set $1 - i32.const -1 local.set $0 + i32.const -1 + local.set $1 block $~lib/typedarray/INDEX_OF<~lib/typedarray/Float64Array,f64>|inlined.04 - local.get $4 + local.get $2 i32.load offset=8 i32.const 3 i32.shr_u - local.tee $3 + local.tee $4 i32.eqz br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Float64Array,f64>|inlined.04 - local.get $4 + local.get $2 i32.load offset=4 - local.set $2 + local.set $3 loop $while-continue|05 - local.get $1 - local.get $3 + local.get $0 + local.get $4 i32.lt_s if - local.get $1 - local.tee $0 + local.get $0 + local.tee $1 i32.const 3 i32.shl - local.get $2 + local.get $3 i32.add f64.load f64.const -1 f64.eq br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Float64Array,f64>|inlined.04 - local.get $0 + local.get $1 i32.const 1 i32.add - local.set $1 + local.set $0 br $while-continue|05 end end i32.const -1 - local.set $0 + local.set $1 end - local.get $0 + local.get $1 i32.const -1 i32.ne if @@ -21963,46 +21975,46 @@ unreachable end i32.const 0 - local.set $1 - i32.const -1 local.set $0 + i32.const -1 + local.set $1 block $~lib/typedarray/INDEX_OF<~lib/typedarray/Float64Array,f64>|inlined.07 - local.get $4 + local.get $2 i32.load offset=8 i32.const 3 i32.shr_u - local.tee $3 + local.tee $4 i32.eqz br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Float64Array,f64>|inlined.07 - local.get $4 + local.get $2 i32.load offset=4 - local.set $2 + local.set $3 loop $while-continue|08 - local.get $1 - local.get $3 + local.get $0 + local.get $4 i32.lt_s if - local.get $1 - local.tee $0 + local.get $0 + local.tee $1 i32.const 3 i32.shl - local.get $2 + local.get $3 i32.add f64.load f64.const 3 f64.eq br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Float64Array,f64>|inlined.07 - local.get $0 + local.get $1 i32.const 1 i32.add - local.set $1 + local.set $0 br $while-continue|08 end end i32.const -1 - local.set $0 + local.set $1 end - local.get $0 + local.get $1 i32.const 3 i32.ne if @@ -22014,50 +22026,50 @@ unreachable end i32.const 2 - local.set $1 - i32.const -1 local.set $0 + i32.const -1 + local.set $1 block $~lib/typedarray/INDEX_OF<~lib/typedarray/Float64Array,f64>|inlined.010 - 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.010 - local.get $4 + local.get $2 i32.load offset=4 - local.set $2 + local.set $3 loop $while-continue|011 - local.get $1 - local.get $3 + local.get $0 + local.get $4 i32.lt_s if - local.get $1 - local.tee $0 + local.get $0 + local.tee $1 i32.const 3 i32.shl - local.get $2 + local.get $3 i32.add f64.load f64.const 3 f64.eq br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Float64Array,f64>|inlined.010 - local.get $0 + local.get $1 i32.const 1 i32.add - local.set $1 + local.set $0 br $while-continue|011 end end i32.const -1 - local.set $0 + local.set $1 end - local.get $0 + local.get $1 i32.const 3 i32.ne if @@ -22069,50 +22081,50 @@ unreachable end i32.const 3 - local.set $1 - i32.const -1 local.set $0 + i32.const -1 + local.set $1 block $~lib/typedarray/INDEX_OF<~lib/typedarray/Float64Array,f64>|inlined.013 - local.get $4 + local.get $2 i32.load offset=8 i32.const 3 i32.shr_u - local.tee $3 + local.tee $4 i32.const 3 i32.le_u i32.const 1 - local.get $3 + local.get $4 select br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Float64Array,f64>|inlined.013 - local.get $4 + local.get $2 i32.load offset=4 - local.set $2 + local.set $3 loop $while-continue|014 - local.get $1 - local.get $3 + local.get $0 + local.get $4 i32.lt_s if - local.get $1 - local.tee $0 + local.get $0 + local.tee $1 i32.const 3 i32.shl - local.get $2 + local.get $3 i32.add f64.load f64.const 3 f64.eq br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Float64Array,f64>|inlined.013 - local.get $0 + local.get $1 i32.const 1 i32.add - local.set $1 + local.set $0 br $while-continue|014 end end i32.const -1 - local.set $0 + local.set $1 end - local.get $0 + local.get $1 i32.const 3 i32.ne if @@ -22124,50 +22136,50 @@ unreachable end i32.const 4 - local.set $1 - i32.const -1 local.set $0 + i32.const -1 + local.set $1 block $~lib/typedarray/INDEX_OF<~lib/typedarray/Float64Array,f64>|inlined.016 - local.get $4 + local.get $2 i32.load offset=8 i32.const 3 i32.shr_u - local.tee $3 + local.tee $4 i32.const 4 i32.le_u i32.const 1 - local.get $3 + local.get $4 select br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Float64Array,f64>|inlined.016 - local.get $4 + local.get $2 i32.load offset=4 - local.set $2 + local.set $3 loop $while-continue|017 - local.get $1 - local.get $3 + local.get $0 + local.get $4 i32.lt_s if - local.get $1 - local.tee $0 + local.get $0 + local.tee $1 i32.const 3 i32.shl - local.get $2 + local.get $3 i32.add f64.load f64.const 3 f64.eq br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Float64Array,f64>|inlined.016 - local.get $0 + local.get $1 i32.const 1 i32.add - local.set $1 + local.set $0 br $while-continue|017 end end i32.const -1 - local.set $0 + local.set $1 end - local.get $0 + local.get $1 i32.const -1 i32.ne if @@ -22179,50 +22191,50 @@ unreachable end i32.const 10 - local.set $1 - i32.const -1 local.set $0 + i32.const -1 + local.set $1 block $~lib/typedarray/INDEX_OF<~lib/typedarray/Float64Array,f64>|inlined.019 - local.get $4 + local.get $2 i32.load offset=8 i32.const 3 i32.shr_u - local.tee $3 + local.tee $4 i32.const 10 i32.le_u i32.const 1 - local.get $3 + local.get $4 select br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Float64Array,f64>|inlined.019 - local.get $4 + local.get $2 i32.load offset=4 - local.set $2 + local.set $3 loop $while-continue|020 - local.get $1 - local.get $3 + local.get $0 + local.get $4 i32.lt_s if - local.get $1 - local.tee $0 + local.get $0 + local.tee $1 i32.const 3 i32.shl - local.get $2 + local.get $3 i32.add f64.load f64.const 1 f64.eq br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Float64Array,f64>|inlined.019 - local.get $0 + local.get $1 i32.const 1 i32.add - local.set $1 + local.set $0 br $while-continue|020 end end i32.const -1 - local.set $0 + local.set $1 end - local.get $0 + local.get $1 i32.const -1 i32.ne if @@ -22236,18 +22248,18 @@ i32.const -1 local.set $0 block $~lib/typedarray/INDEX_OF<~lib/typedarray/Float64Array,f64>|inlined.022 - local.get $4 + local.get $2 i32.load offset=8 i32.const 3 i32.shr_u - local.tee $2 + local.tee $3 i32.const -100 i32.le_s i32.const 1 - local.get $2 + local.get $3 select br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Float64Array,f64>|inlined.022 - local.get $2 + local.get $3 i32.const 100 i32.sub local.tee $0 @@ -22257,12 +22269,12 @@ i32.gt_s select local.set $0 - local.get $4 + local.get $2 i32.load offset=4 local.set $1 loop $while-continue|023 local.get $0 - local.get $2 + local.get $3 i32.lt_s if local.get $0 @@ -22297,35 +22309,39 @@ end i32.const 1 global.set $~argumentsLength - local.get $4 + local.get $2 + local.tee $0 i32.load offset=8 i32.const 3 i32.shr_u - local.tee $2 - local.set $1 + local.set $3 i32.const -1 - local.set $0 + local.set $1 block $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Float64Array,f64>|inlined.0 local.get $2 + i32.load offset=8 + i32.const 3 + i32.shr_u + local.tee $2 i32.eqz br_if $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Float64Array,f64>|inlined.0 - local.get $1 local.get $2 + local.get $3 i32.add local.get $2 i32.const 1 i32.sub - local.get $1 - local.get $1 + local.get $3 local.get $2 - i32.ge_s + local.get $3 + i32.le_s select - local.get $1 + local.get $3 i32.const 0 i32.lt_s select local.set $1 - local.get $4 + local.get $0 i32.load offset=4 local.set $2 loop $while-continue|00 @@ -22334,7 +22350,6 @@ i32.ge_s if local.get $1 - local.tee $0 i32.const 3 i32.shl local.get $2 @@ -22343,7 +22358,7 @@ f64.const 0 f64.eq br_if $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Float64Array,f64>|inlined.0 - local.get $0 + local.get $1 i32.const 1 i32.sub local.set $1 @@ -22351,9 +22366,9 @@ end end i32.const -1 - local.set $0 + local.set $1 end - local.get $0 + local.get $1 if i32.const 0 i32.const 1568 @@ -22364,35 +22379,35 @@ end i32.const 1 global.set $~argumentsLength - local.get $4 + local.get $0 i32.load offset=8 i32.const 3 i32.shr_u - local.tee $2 - local.set $1 + local.tee $3 + local.set $2 i32.const -1 - local.set $0 + local.set $1 block $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Float64Array,f64>|inlined.05 - local.get $2 + local.get $3 i32.eqz br_if $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Float64Array,f64>|inlined.05 - local.get $1 local.get $2 + local.get $3 i32.add - local.get $2 + local.get $3 i32.const 1 i32.sub - local.get $1 - local.get $1 local.get $2 + local.get $2 + local.get $3 i32.ge_s select - local.get $1 + local.get $2 i32.const 0 i32.lt_s select local.set $1 - local.get $4 + local.get $0 i32.load offset=4 local.set $2 loop $while-continue|06 @@ -22401,7 +22416,6 @@ i32.ge_s if local.get $1 - local.tee $0 i32.const 3 i32.shl local.get $2 @@ -22410,7 +22424,7 @@ f64.const 11 f64.eq br_if $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Float64Array,f64>|inlined.05 - local.get $0 + local.get $1 i32.const 1 i32.sub local.set $1 @@ -22418,9 +22432,9 @@ end end i32.const -1 - local.set $0 + local.set $1 end - local.get $0 + local.get $1 i32.const -1 i32.ne if @@ -22433,35 +22447,35 @@ end i32.const 1 global.set $~argumentsLength - local.get $4 + local.get $0 i32.load offset=8 i32.const 3 i32.shr_u - local.tee $2 - local.set $1 + local.tee $3 + local.set $2 i32.const -1 - local.set $0 + local.set $1 block $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Float64Array,f64>|inlined.011 - local.get $2 + local.get $3 i32.eqz br_if $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Float64Array,f64>|inlined.011 - local.get $1 local.get $2 + local.get $3 i32.add - local.get $2 + local.get $3 i32.const 1 i32.sub - local.get $1 - local.get $1 local.get $2 + local.get $2 + local.get $3 i32.ge_s select - local.get $1 + local.get $2 i32.const 0 i32.lt_s select local.set $1 - local.get $4 + local.get $0 i32.load offset=4 local.set $2 loop $while-continue|012 @@ -22470,7 +22484,6 @@ i32.ge_s if local.get $1 - local.tee $0 i32.const 3 i32.shl local.get $2 @@ -22479,7 +22492,7 @@ f64.const -1 f64.eq br_if $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Float64Array,f64>|inlined.011 - local.get $0 + local.get $1 i32.const 1 i32.sub local.set $1 @@ -22487,9 +22500,9 @@ end end i32.const -1 - local.set $0 + local.set $1 end - local.get $0 + local.get $1 i32.const -1 i32.ne if @@ -22502,35 +22515,35 @@ end i32.const 1 global.set $~argumentsLength - local.get $4 + local.get $0 i32.load offset=8 i32.const 3 i32.shr_u - local.tee $2 - local.set $1 + local.tee $3 + local.set $2 i32.const -1 - local.set $0 + local.set $1 block $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Float64Array,f64>|inlined.017 - local.get $2 + local.get $3 i32.eqz br_if $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Float64Array,f64>|inlined.017 - local.get $1 local.get $2 + local.get $3 i32.add - local.get $2 + local.get $3 i32.const 1 i32.sub - local.get $1 - local.get $1 local.get $2 + local.get $2 + local.get $3 i32.ge_s select - local.get $1 + local.get $2 i32.const 0 i32.lt_s select local.set $1 - local.get $4 + local.get $0 i32.load offset=4 local.set $2 loop $while-continue|018 @@ -22539,7 +22552,6 @@ i32.ge_s if local.get $1 - local.tee $0 i32.const 3 i32.shl local.get $2 @@ -22548,7 +22560,7 @@ f64.const 3 f64.eq br_if $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Float64Array,f64>|inlined.017 - local.get $0 + local.get $1 i32.const 1 i32.sub local.set $1 @@ -22556,9 +22568,9 @@ end end i32.const -1 - local.set $0 + local.set $1 end - local.get $0 + local.get $1 i32.const 3 i32.ne if @@ -22570,53 +22582,54 @@ unreachable end i32.const -1 - local.set $0 + local.set $1 block $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Float64Array,f64>|inlined.019 - local.get $4 + local.get $0 + local.tee $2 i32.load offset=8 i32.const 3 i32.shr_u - local.tee $1 + local.tee $0 i32.eqz br_if $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Float64Array,f64>|inlined.019 - local.get $1 + local.get $0 i32.const 1 i32.sub i32.const 4 - local.get $1 + local.get $0 i32.const 4 i32.le_u select - local.set $1 - local.get $4 + local.set $0 + local.get $2 i32.load offset=4 - local.set $2 + local.set $3 loop $while-continue|024 - local.get $1 + local.get $0 i32.const 0 i32.ge_s if - local.get $1 - local.tee $0 + local.get $0 + local.tee $1 i32.const 3 i32.shl - local.get $2 + local.get $3 i32.add f64.load f64.const 3 f64.eq br_if $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Float64Array,f64>|inlined.019 - local.get $0 + local.get $1 i32.const 1 i32.sub - local.set $1 + local.set $0 br $while-continue|024 end end i32.const -1 - local.set $0 + local.set $1 end - local.get $0 + local.get $1 i32.const 3 i32.ne if @@ -22628,53 +22641,53 @@ unreachable end i32.const -1 - local.set $0 + local.set $1 block $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Float64Array,f64>|inlined.026 - local.get $4 + local.get $2 i32.load offset=8 i32.const 3 i32.shr_u - local.tee $1 + local.tee $0 i32.eqz br_if $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Float64Array,f64>|inlined.026 - local.get $1 + local.get $0 i32.const 1 i32.sub i32.const 3 - local.get $1 + local.get $0 i32.const 3 i32.le_u select - local.set $1 - local.get $4 + local.set $0 + local.get $2 i32.load offset=4 - local.set $2 + local.set $3 loop $while-continue|027 - local.get $1 + local.get $0 i32.const 0 i32.ge_s if - local.get $1 - local.tee $0 + local.get $0 + local.tee $1 i32.const 3 i32.shl - local.get $2 + local.get $3 i32.add f64.load f64.const 3 f64.eq br_if $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Float64Array,f64>|inlined.026 - local.get $0 + local.get $1 i32.const 1 i32.sub - local.set $1 + local.set $0 br $while-continue|027 end end i32.const -1 - local.set $0 + local.set $1 end - local.get $0 + local.get $1 i32.const 3 i32.ne if @@ -22686,53 +22699,53 @@ unreachable end i32.const -1 - local.set $0 + local.set $1 block $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Float64Array,f64>|inlined.029 - local.get $4 + local.get $2 i32.load offset=8 i32.const 3 i32.shr_u - local.tee $1 + local.tee $0 i32.eqz br_if $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Float64Array,f64>|inlined.029 - local.get $1 + local.get $0 i32.const 1 i32.sub i32.const 2 - local.get $1 + local.get $0 i32.const 2 i32.le_u select - local.set $1 - local.get $4 + local.set $0 + local.get $2 i32.load offset=4 - local.set $2 + local.set $3 loop $while-continue|030 - local.get $1 + local.get $0 i32.const 0 i32.ge_s if - local.get $1 - local.tee $0 + local.get $0 + local.tee $1 i32.const 3 i32.shl - local.get $2 + local.get $3 i32.add f64.load f64.const 3 f64.eq br_if $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Float64Array,f64>|inlined.029 - local.get $0 + local.get $1 i32.const 1 i32.sub - local.set $1 + local.set $0 br $while-continue|030 end end i32.const -1 - local.set $0 + local.set $1 end - local.get $0 + local.get $1 i32.const -1 i32.ne if @@ -22744,53 +22757,53 @@ unreachable end i32.const -1 - local.set $0 + local.set $1 block $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Float64Array,f64>|inlined.032 - local.get $4 + local.get $2 i32.load offset=8 i32.const 3 i32.shr_u - local.tee $1 + local.tee $0 i32.eqz br_if $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Float64Array,f64>|inlined.032 - local.get $1 + local.get $0 i32.const 1 i32.sub i32.const 100 - local.get $1 + local.get $0 i32.const 100 i32.le_u select - local.set $1 - local.get $4 - i32.load offset=4 - local.set $2 + local.set $0 + local.get $2 + i32.load offset=4 + local.set $3 loop $while-continue|033 - local.get $1 + local.get $0 i32.const 0 i32.ge_s if - local.get $1 - local.tee $0 + local.get $0 + local.tee $1 i32.const 3 i32.shl - local.get $2 + local.get $3 i32.add f64.load f64.const 1 f64.eq br_if $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Float64Array,f64>|inlined.032 - local.get $0 + local.get $1 i32.const 1 i32.sub - local.set $1 + local.set $0 br $while-continue|033 end end i32.const -1 - local.set $0 + local.set $1 end - local.get $0 + local.get $1 i32.const 1 i32.ne if @@ -22804,7 +22817,7 @@ i32.const -1 local.set $0 block $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Float64Array,f64>|inlined.035 - local.get $4 + local.get $2 i32.load offset=8 i32.const 3 i32.shr_u @@ -22815,7 +22828,7 @@ i32.const 10 i32.sub local.set $0 - local.get $4 + local.get $2 i32.load offset=4 local.set $1 loop $while-continue|036 @@ -22856,7 +22869,7 @@ i32.const -1 local.set $0 block $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Float64Array,f64>|inlined.038 - local.get $4 + local.get $2 i32.load offset=8 i32.const 3 i32.shr_u @@ -22867,7 +22880,7 @@ i32.const 11 i32.sub local.set $0 - local.get $4 + local.get $2 i32.load offset=4 local.set $1 loop $while-continue|039 @@ -22906,16 +22919,16 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $4 + local.get $2 i32.const 4 i32.const 9 call $~lib/typedarray/Float64Array#subarray local.tee $4 i32.store offset=8 i32.const 0 - local.set $1 - i32.const -1 local.set $0 + i32.const -1 + local.set $1 block $~lib/typedarray/INDEX_OF<~lib/typedarray/Float64Array,f64>|inlined.041 local.get $4 i32.load offset=8 @@ -22928,12 +22941,12 @@ i32.load offset=4 local.set $2 loop $while-continue|042 - local.get $1 + local.get $0 local.get $3 i32.lt_s if - local.get $1 - local.tee $0 + local.get $0 + local.tee $1 i32.const 3 i32.shl local.get $2 @@ -22942,17 +22955,17 @@ f64.const 3 f64.eq br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Float64Array,f64>|inlined.041 - local.get $0 + local.get $1 i32.const 1 i32.add - local.set $1 + local.set $0 br $while-continue|042 end end i32.const -1 - local.set $0 + local.set $1 end - local.get $0 + local.get $1 i32.const -1 i32.ne if @@ -22964,9 +22977,9 @@ unreachable end i32.const 0 - local.set $1 - i32.const -1 local.set $0 + i32.const -1 + local.set $1 block $~lib/typedarray/INDEX_OF<~lib/typedarray/Float64Array,f64>|inlined.044 local.get $4 i32.load offset=8 @@ -22979,12 +22992,12 @@ i32.load offset=4 local.set $2 loop $while-continue|045 - local.get $1 + local.get $0 local.get $3 i32.lt_s if - local.get $1 - local.tee $0 + local.get $0 + local.tee $1 i32.const 3 i32.shl local.get $2 @@ -22993,17 +23006,17 @@ f64.const 4 f64.eq br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Float64Array,f64>|inlined.044 - local.get $0 + local.get $1 i32.const 1 i32.add - local.set $1 + local.set $0 br $while-continue|045 end end i32.const -1 - local.set $0 + local.set $1 end - local.get $0 + local.get $1 if i32.const 0 i32.const 1568 @@ -23013,9 +23026,9 @@ unreachable end i32.const 0 - local.set $1 - i32.const -1 local.set $0 + i32.const -1 + local.set $1 block $~lib/typedarray/INDEX_OF<~lib/typedarray/Float64Array,f64>|inlined.047 local.get $4 i32.load offset=8 @@ -23028,12 +23041,12 @@ i32.load offset=4 local.set $2 loop $while-continue|048 - local.get $1 + local.get $0 local.get $3 i32.lt_s if - local.get $1 - local.tee $0 + local.get $0 + local.tee $1 i32.const 3 i32.shl local.get $2 @@ -23042,17 +23055,17 @@ f64.const 5 f64.eq br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Float64Array,f64>|inlined.047 - local.get $0 + local.get $1 i32.const 1 i32.add - local.set $1 + local.set $0 br $while-continue|048 end end i32.const -1 - local.set $0 + local.set $1 end - local.get $0 + local.get $1 i32.const 1 i32.ne if @@ -23064,9 +23077,9 @@ unreachable end i32.const 0 - local.set $1 - i32.const -1 local.set $0 + i32.const -1 + local.set $1 block $~lib/typedarray/INDEX_OF<~lib/typedarray/Float64Array,f64>|inlined.050 local.get $4 i32.load offset=8 @@ -23079,12 +23092,12 @@ i32.load offset=4 local.set $2 loop $while-continue|051 - local.get $1 + local.get $0 local.get $3 i32.lt_s if - local.get $1 - local.tee $0 + local.get $0 + local.tee $1 i32.const 3 i32.shl local.get $2 @@ -23093,17 +23106,17 @@ f64.const 9 f64.eq br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Float64Array,f64>|inlined.050 - local.get $0 + local.get $1 i32.const 1 i32.add - local.set $1 + local.set $0 br $while-continue|051 end end i32.const -1 - local.set $0 + local.set $1 end - local.get $0 + local.get $1 i32.const -1 i32.ne if @@ -23115,9 +23128,9 @@ unreachable end i32.const 0 - local.set $1 - i32.const -1 local.set $0 + i32.const -1 + local.set $1 block $~lib/typedarray/INDEX_OF<~lib/typedarray/Float64Array,f64>|inlined.053 local.get $4 i32.load offset=8 @@ -23130,12 +23143,12 @@ i32.load offset=4 local.set $2 loop $while-continue|054 - local.get $1 + local.get $0 local.get $3 i32.lt_s if - local.get $1 - local.tee $0 + local.get $0 + local.tee $1 i32.const 3 i32.shl local.get $2 @@ -23144,17 +23157,17 @@ f64.const 10 f64.eq br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Float64Array,f64>|inlined.053 - local.get $0 + local.get $1 i32.const 1 i32.add - local.set $1 + local.set $0 br $while-continue|054 end end i32.const -1 - local.set $0 + local.set $1 end - local.get $0 + local.get $1 i32.const -1 i32.ne if @@ -23166,9 +23179,9 @@ unreachable end i32.const 0 - local.set $1 - i32.const -1 local.set $0 + i32.const -1 + local.set $1 block $~lib/typedarray/INDEX_OF<~lib/typedarray/Float64Array,f64>|inlined.056 local.get $4 i32.load offset=8 @@ -23181,12 +23194,12 @@ i32.load offset=4 local.set $2 loop $while-continue|057 - local.get $1 + local.get $0 local.get $3 i32.lt_s if - local.get $1 - local.tee $0 + local.get $0 + local.tee $1 i32.const 3 i32.shl local.get $2 @@ -23195,17 +23208,17 @@ f64.const 11 f64.eq br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Float64Array,f64>|inlined.056 - local.get $0 + local.get $1 i32.const 1 i32.add - local.set $1 + local.set $0 br $while-continue|057 end end i32.const -1 - local.set $0 + local.set $1 end - local.get $0 + local.get $1 i32.const -1 i32.ne if @@ -23217,9 +23230,9 @@ unreachable end i32.const 1 - local.set $1 - i32.const -1 local.set $0 + i32.const -1 + local.set $1 block $~lib/typedarray/INDEX_OF<~lib/typedarray/Float64Array,f64>|inlined.059 local.get $4 i32.load offset=8 @@ -23236,12 +23249,12 @@ i32.load offset=4 local.set $2 loop $while-continue|060 - local.get $1 + local.get $0 local.get $3 i32.lt_s if - local.get $1 - local.tee $0 + local.get $0 + local.tee $1 i32.const 3 i32.shl local.get $2 @@ -23250,17 +23263,17 @@ f64.const 5 f64.eq br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Float64Array,f64>|inlined.059 - local.get $0 + local.get $1 i32.const 1 i32.add - local.set $1 + local.set $0 br $while-continue|060 end end i32.const -1 - local.set $0 + local.set $1 end - local.get $0 + local.get $1 i32.const 1 i32.ne if @@ -23536,7 +23549,7 @@ (local $6 i32) local.get $0 i32.load offset=4 - local.set $5 + local.set $3 local.get $0 i32.load offset=8 local.set $0 @@ -23562,7 +23575,7 @@ local.get $0 i32.const 1 i32.sub - local.tee $6 + local.tee $2 i32.const 0 i32.lt_s if @@ -23574,10 +23587,10 @@ local.set $0 br $__inlined_func$~lib/util/string/joinIntegerArray end - local.get $6 + local.get $2 i32.eqz if - local.get $5 + local.get $3 i32.load8_s call $~lib/util/number/itoa32 local.set $0 @@ -23588,7 +23601,7 @@ br $__inlined_func$~lib/util/string/joinIntegerArray end global.get $~lib/memory/__stack_pointer - local.get $6 + local.get $2 i32.const 9580 i32.load i32.const 1 @@ -23599,73 +23612,75 @@ i32.mul i32.const 11 i32.add - local.tee $2 + local.tee $6 i32.const 1 i32.shl i32.const 1 call $~lib/rt/itcms/__new - local.tee $0 + local.tee $1 i32.store + i32.const 0 + local.set $0 loop $for-loop|0 - local.get $3 - local.get $6 - i32.lt_s + local.get $2 + local.get $5 + i32.gt_s if - local.get $1 + local.get $0 i32.const 1 i32.shl - local.get $0 + 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 $1 + local.get $0 i32.const 1 i32.shl - local.get $0 + 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 $3 + local.get $5 i32.const 1 i32.add - local.set $3 + local.set $5 br $for-loop|0 end end - local.get $2 - local.get $1 + local.get $6 + local.get $0 i32.const 1 i32.shl - local.get $0 + local.get $1 i32.add - local.get $5 - local.get $6 + 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 global.get $~lib/memory/__stack_pointer @@ -23678,6 +23693,8 @@ i32.const 4 i32.add global.set $~lib/memory/__stack_pointer + local.get $1 + local.set $0 end local.get $0 ) @@ -23879,7 +23896,7 @@ (local $6 i32) local.get $0 i32.load offset=4 - local.set $5 + local.set $3 local.get $0 i32.load offset=8 local.set $0 @@ -23905,7 +23922,7 @@ local.get $0 i32.const 1 i32.sub - local.tee $6 + local.tee $2 i32.const 0 i32.lt_s if @@ -23917,10 +23934,10 @@ local.set $0 br $__inlined_func$~lib/util/string/joinIntegerArray end - local.get $6 + local.get $2 i32.eqz if - local.get $5 + local.get $3 i32.load8_u call $~lib/util/number/utoa32 local.set $0 @@ -23931,7 +23948,7 @@ br $__inlined_func$~lib/util/string/joinIntegerArray end global.get $~lib/memory/__stack_pointer - local.get $6 + local.get $2 i32.const 9580 i32.load i32.const 1 @@ -23942,73 +23959,75 @@ i32.mul i32.const 10 i32.add - local.tee $2 + local.tee $6 i32.const 1 i32.shl i32.const 1 call $~lib/rt/itcms/__new - local.tee $0 + local.tee $1 i32.store + i32.const 0 + local.set $0 loop $for-loop|0 - local.get $3 - local.get $6 - i32.lt_s + local.get $2 + local.get $5 + i32.gt_s if - local.get $1 + local.get $0 i32.const 1 i32.shl - local.get $0 + 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 $1 + local.get $0 i32.const 1 i32.shl - local.get $0 + 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 $3 + local.get $5 i32.const 1 i32.add - local.set $3 + local.set $5 br $for-loop|0 end end - local.get $2 - local.get $1 + local.get $6 + local.get $0 i32.const 1 i32.shl - local.get $0 + local.get $1 i32.add - local.get $5 - local.get $6 + 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 global.get $~lib/memory/__stack_pointer @@ -24021,6 +24040,8 @@ i32.const 4 i32.add global.set $~lib/memory/__stack_pointer + local.get $1 + local.set $0 end local.get $0 ) @@ -24125,7 +24146,7 @@ (local $6 i32) local.get $0 i32.load offset=4 - local.set $5 + local.set $3 local.get $0 i32.load offset=8 i32.const 1 @@ -24153,7 +24174,7 @@ local.get $0 i32.const 1 i32.sub - local.tee $6 + local.tee $2 i32.const 0 i32.lt_s if @@ -24165,10 +24186,10 @@ local.set $0 br $__inlined_func$~lib/util/string/joinIntegerArray end - local.get $6 + local.get $2 i32.eqz if - local.get $5 + local.get $3 i32.load16_s call $~lib/util/number/itoa32 local.set $0 @@ -24179,7 +24200,7 @@ br $__inlined_func$~lib/util/string/joinIntegerArray end global.get $~lib/memory/__stack_pointer - local.get $6 + local.get $2 i32.const 9580 i32.load i32.const 1 @@ -24190,77 +24211,79 @@ i32.mul i32.const 11 i32.add - local.tee $2 + local.tee $6 i32.const 1 i32.shl i32.const 1 call $~lib/rt/itcms/__new - local.tee $0 + local.tee $1 i32.store + i32.const 0 + local.set $0 loop $for-loop|0 - local.get $3 - local.get $6 - i32.lt_s + local.get $2 + local.get $5 + i32.gt_s if - local.get $1 + local.get $0 i32.const 1 i32.shl - local.get $0 + local.get $1 i32.add - local.get $3 + local.get $5 i32.const 1 i32.shl - local.get $5 + 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 $1 + local.get $0 i32.const 1 i32.shl - local.get $0 + 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 $3 + local.get $5 i32.const 1 i32.add - local.set $3 + local.set $5 br $for-loop|0 end end - local.get $2 - local.get $1 + local.get $6 + local.get $0 i32.const 1 i32.shl - local.get $0 + local.get $1 i32.add - local.get $6 + local.get $2 i32.const 1 i32.shl - local.get $5 + 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 global.get $~lib/memory/__stack_pointer @@ -24273,6 +24296,8 @@ i32.const 4 i32.add global.set $~lib/memory/__stack_pointer + local.get $1 + local.set $0 end local.get $0 ) @@ -24357,7 +24382,7 @@ (local $6 i32) local.get $0 i32.load offset=4 - local.set $5 + local.set $3 local.get $0 i32.load offset=8 i32.const 1 @@ -24385,7 +24410,7 @@ local.get $0 i32.const 1 i32.sub - local.tee $6 + local.tee $2 i32.const 0 i32.lt_s if @@ -24397,10 +24422,10 @@ local.set $0 br $__inlined_func$~lib/util/string/joinIntegerArray end - local.get $6 + local.get $2 i32.eqz if - local.get $5 + local.get $3 i32.load16_u call $~lib/util/number/utoa32 local.set $0 @@ -24411,7 +24436,7 @@ br $__inlined_func$~lib/util/string/joinIntegerArray end global.get $~lib/memory/__stack_pointer - local.get $6 + local.get $2 i32.const 9580 i32.load i32.const 1 @@ -24422,77 +24447,79 @@ i32.mul i32.const 10 i32.add - local.tee $2 + local.tee $6 i32.const 1 i32.shl i32.const 1 call $~lib/rt/itcms/__new - local.tee $0 + local.tee $1 i32.store + i32.const 0 + local.set $0 loop $for-loop|0 - local.get $3 - local.get $6 - i32.lt_s + local.get $2 + local.get $5 + i32.gt_s if - local.get $1 + local.get $0 i32.const 1 i32.shl - local.get $0 + local.get $1 i32.add - local.get $3 + local.get $5 i32.const 1 i32.shl - local.get $5 + 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 $1 + local.get $0 i32.const 1 i32.shl - local.get $0 + 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 $3 + local.get $5 i32.const 1 i32.add - local.set $3 + local.set $5 br $for-loop|0 end end - local.get $2 - local.get $1 + local.get $6 + local.get $0 i32.const 1 i32.shl - local.get $0 + local.get $1 i32.add - local.get $6 + local.get $2 i32.const 1 i32.shl - local.get $5 + 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 global.get $~lib/memory/__stack_pointer @@ -24505,6 +24532,8 @@ i32.const 4 i32.add global.set $~lib/memory/__stack_pointer + local.get $1 + local.set $0 end local.get $0 ) @@ -24604,7 +24633,7 @@ (local $6 i32) local.get $0 i32.load offset=4 - local.set $5 + local.set $3 local.get $0 i32.load offset=8 i32.const 2 @@ -24632,7 +24661,7 @@ local.get $0 i32.const 1 i32.sub - local.tee $6 + local.tee $2 i32.const 0 i32.lt_s if @@ -24644,10 +24673,10 @@ local.set $0 br $__inlined_func$~lib/util/string/joinIntegerArray end - local.get $6 + local.get $2 i32.eqz if - local.get $5 + local.get $3 i32.load call $~lib/util/number/itoa32 local.set $0 @@ -24658,7 +24687,7 @@ br $__inlined_func$~lib/util/string/joinIntegerArray end global.get $~lib/memory/__stack_pointer - local.get $6 + local.get $2 i32.const 9580 i32.load i32.const 1 @@ -24669,77 +24698,79 @@ i32.mul i32.const 11 i32.add - local.tee $2 + local.tee $6 i32.const 1 i32.shl i32.const 1 call $~lib/rt/itcms/__new - local.tee $0 + local.tee $1 i32.store + i32.const 0 + local.set $0 loop $for-loop|0 - local.get $3 - local.get $6 - i32.lt_s + local.get $2 + local.get $5 + i32.gt_s if - local.get $1 + local.get $0 i32.const 1 i32.shl - local.get $0 + local.get $1 i32.add - local.get $3 + local.get $5 i32.const 2 i32.shl - local.get $5 + 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 $1 + local.get $0 i32.const 1 i32.shl - local.get $0 + 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 $3 + local.get $5 i32.const 1 i32.add - local.set $3 + local.set $5 br $for-loop|0 end end - local.get $2 - local.get $1 + local.get $6 + local.get $0 i32.const 1 i32.shl - local.get $0 + local.get $1 i32.add - local.get $6 + local.get $2 i32.const 2 i32.shl - local.get $5 + 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 global.get $~lib/memory/__stack_pointer @@ -24752,6 +24783,8 @@ i32.const 4 i32.add global.set $~lib/memory/__stack_pointer + local.get $1 + local.set $0 end local.get $0 ) @@ -24829,7 +24862,7 @@ (local $6 i32) local.get $0 i32.load offset=4 - local.set $5 + local.set $3 local.get $0 i32.load offset=8 i32.const 2 @@ -24857,7 +24890,7 @@ local.get $0 i32.const 1 i32.sub - local.tee $6 + local.tee $2 i32.const 0 i32.lt_s if @@ -24869,10 +24902,10 @@ local.set $0 br $__inlined_func$~lib/util/string/joinIntegerArray end - local.get $6 + local.get $2 i32.eqz if - local.get $5 + local.get $3 i32.load call $~lib/util/number/utoa32 local.set $0 @@ -24883,7 +24916,7 @@ br $__inlined_func$~lib/util/string/joinIntegerArray end global.get $~lib/memory/__stack_pointer - local.get $6 + local.get $2 i32.const 9580 i32.load i32.const 1 @@ -24894,77 +24927,79 @@ i32.mul i32.const 10 i32.add - local.tee $2 + local.tee $6 i32.const 1 i32.shl i32.const 1 call $~lib/rt/itcms/__new - local.tee $0 + local.tee $1 i32.store + i32.const 0 + local.set $0 loop $for-loop|0 - local.get $3 - local.get $6 - i32.lt_s + local.get $2 + local.get $5 + i32.gt_s if - local.get $1 + local.get $0 i32.const 1 i32.shl - local.get $0 + local.get $1 i32.add - local.get $3 + local.get $5 i32.const 2 i32.shl - local.get $5 + 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 $1 + local.get $0 i32.const 1 i32.shl - local.get $0 + 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 $3 + local.get $5 i32.const 1 i32.add - local.set $3 + local.set $5 br $for-loop|0 end end - local.get $2 - local.get $1 + local.get $6 + local.get $0 i32.const 1 i32.shl - local.get $0 + local.get $1 i32.add - local.get $6 + local.get $2 i32.const 2 i32.shl - local.get $5 + 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 global.get $~lib/memory/__stack_pointer @@ -24977,6 +25012,8 @@ i32.const 4 i32.add global.set $~lib/memory/__stack_pointer + local.get $1 + local.set $0 end local.get $0 ) @@ -25229,19 +25266,19 @@ (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 $0 + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.sub + global.set $~lib/memory/__stack_pointer block $folding-inner0 - 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 $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 @@ -25312,47 +25349,46 @@ local.get $2 i32.wrap_i64 local.tee $3 - local.tee $0 i32.const 100000 i32.lt_u if (result i32) - local.get $0 + local.get $3 i32.const 100 i32.lt_u if (result i32) - local.get $0 + local.get $3 i32.const 10 i32.ge_u i32.const 1 i32.add else - local.get $0 + local.get $3 i32.const 10000 i32.ge_u i32.const 3 i32.add - local.get $0 + local.get $3 i32.const 1000 i32.ge_u i32.add end else - local.get $0 + local.get $3 i32.const 10000000 i32.lt_u if (result i32) - local.get $0 + local.get $3 i32.const 1000000 i32.ge_u i32.const 6 i32.add else - local.get $0 + local.get $3 i32.const 1000000000 i32.ge_u i32.const 8 i32.add - local.get $0 + local.get $3 i32.const 100000000 i32.ge_u i32.add @@ -25473,17 +25509,19 @@ i32.shl i32.const 1 call $~lib/rt/itcms/__new - local.tee $0 + local.tee $1 i32.store + i32.const 0 + local.set $0 loop $for-loop|0 local.get $3 local.get $6 i32.lt_s if - local.get $1 + local.get $0 i32.const 1 i32.shl - local.get $0 + local.get $1 i32.add local.get $3 i32.const 3 @@ -25492,25 +25530,25 @@ i32.add i64.load call $~lib/util/number/itoa_buffered - local.get $1 + local.get $0 i32.add - local.set $1 + local.set $0 local.get $7 if - local.get $1 + local.get $0 i32.const 1 i32.shl - local.get $0 + local.get $1 i32.add i32.const 9584 local.get $7 i32.const 1 i32.shl call $~lib/memory/memory.copy - local.get $1 + local.get $0 local.get $7 i32.add - local.set $1 + local.set $0 end local.get $3 i32.const 1 @@ -25520,10 +25558,10 @@ end end local.get $4 - local.get $1 + local.get $0 i32.const 1 i32.shl - local.get $0 + local.get $1 i32.add local.get $6 i32.const 3 @@ -25532,13 +25570,13 @@ i32.add i64.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 global.get $~lib/memory/__stack_pointer @@ -25551,6 +25589,8 @@ i32.const 4 i32.add global.set $~lib/memory/__stack_pointer + local.get $1 + local.set $0 end local.get $0 return @@ -25583,7 +25623,6 @@ if local.get $1 i32.wrap_i64 - local.tee $3 local.tee $2 i32.const 100000 i32.lt_u @@ -25630,10 +25669,10 @@ i32.add end end - local.set $2 + local.set $3 local.get $0 - local.get $3 local.get $2 + local.get $3 call $~lib/util/number/utoa32_dec_lut else local.get $0 @@ -25688,32 +25727,32 @@ i32.add end end - local.tee $2 + local.tee $3 call $~lib/util/number/utoa64_dec_lut end - local.get $2 + local.get $3 ) (func $~lib/typedarray/Uint64Array#join (param $0 i32) (result i32) (local $1 i32) - (local $2 i32) + (local $2 i64) (local $3 i32) (local $4 i32) (local $5 i32) (local $6 i32) - (local $7 i64) + (local $7 i32) + local.get $0 + i32.load offset=4 + local.set $7 + 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 block $folding-inner0 - local.get $0 - i32.load offset=4 - local.set $2 - local.get $0 - i32.load offset=8 - i32.const 3 - i32.shr_u - local.set $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 @@ -25725,7 +25764,7 @@ local.get $0 i32.const 1 i32.sub - local.tee $3 + local.tee $6 i32.const 0 i32.lt_s if @@ -25737,13 +25776,13 @@ local.set $0 br $__inlined_func$~lib/util/string/joinIntegerArray end - local.get $3 + local.get $6 i32.eqz if block $__inlined_func$~lib/util/number/utoa64 (result i32) - local.get $2 + local.get $7 i64.load - local.set $7 + local.set $2 global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub @@ -25755,7 +25794,7 @@ global.get $~lib/memory/__stack_pointer i32.const 0 i32.store - local.get $7 + local.get $2 i64.eqz if global.get $~lib/memory/__stack_pointer @@ -25765,140 +25804,139 @@ i32.const 8000 br $__inlined_func$~lib/util/number/utoa64 end - local.get $7 + local.get $2 i64.const 4294967295 i64.le_u if global.get $~lib/memory/__stack_pointer - local.get $7 + local.get $2 i32.wrap_i64 - local.tee $2 - local.tee $0 + local.tee $1 i32.const 100000 i32.lt_u if (result i32) - local.get $0 + local.get $1 i32.const 100 i32.lt_u if (result i32) - local.get $0 + local.get $1 i32.const 10 i32.ge_u i32.const 1 i32.add else - local.get $0 + local.get $1 i32.const 10000 i32.ge_u i32.const 3 i32.add - local.get $0 + local.get $1 i32.const 1000 i32.ge_u i32.add end else - local.get $0 + local.get $1 i32.const 10000000 i32.lt_u if (result i32) - local.get $0 + local.get $1 i32.const 1000000 i32.ge_u i32.const 6 i32.add else - local.get $0 + local.get $1 i32.const 1000000000 i32.ge_u i32.const 8 i32.add - local.get $0 + local.get $1 i32.const 100000000 i32.ge_u i32.add end end - local.tee $0 + local.tee $3 i32.const 1 i32.shl i32.const 1 call $~lib/rt/itcms/__new - local.tee $1 + local.tee $0 i32.store - local.get $1 - local.get $2 local.get $0 + local.get $1 + local.get $3 call $~lib/util/number/utoa32_dec_lut else global.get $~lib/memory/__stack_pointer - local.get $7 + local.get $2 i64.const 1000000000000000 i64.lt_u if (result i32) - local.get $7 + local.get $2 i64.const 1000000000000 i64.lt_u if (result i32) - local.get $7 + local.get $2 i64.const 100000000000 i64.ge_u i32.const 10 i32.add - local.get $7 + local.get $2 i64.const 10000000000 i64.ge_u i32.add else - local.get $7 + local.get $2 i64.const 100000000000000 i64.ge_u i32.const 13 i32.add - local.get $7 + local.get $2 i64.const 10000000000000 i64.ge_u i32.add end else - local.get $7 + local.get $2 i64.const 100000000000000000 i64.lt_u if (result i32) - local.get $7 + local.get $2 i64.const 10000000000000000 i64.ge_u i32.const 16 i32.add else - local.get $7 + local.get $2 i64.const -8446744073709551616 i64.ge_u i32.const 18 i32.add - local.get $7 + local.get $2 i64.const 1000000000000000000 i64.ge_u i32.add end end - local.tee $0 + local.tee $1 i32.const 1 i32.shl i32.const 1 call $~lib/rt/itcms/__new - local.tee $1 + local.tee $0 i32.store - local.get $1 - local.get $7 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 - local.get $1 + local.get $0 end local.set $0 global.get $~lib/memory/__stack_pointer @@ -25908,88 +25946,90 @@ br $__inlined_func$~lib/util/string/joinIntegerArray end global.get $~lib/memory/__stack_pointer - local.get $3 + local.get $6 i32.const 9580 i32.load i32.const 1 i32.shr_u - local.tee $6 + local.tee $3 i32.const 20 i32.add i32.mul i32.const 20 i32.add - local.tee $4 + local.tee $5 i32.const 1 i32.shl i32.const 1 call $~lib/rt/itcms/__new - local.tee $0 + local.tee $1 i32.store + i32.const 0 + local.set $0 loop $for-loop|0 - local.get $3 - local.get $5 - i32.gt_s + local.get $4 + local.get $6 + i32.lt_s if - local.get $1 + local.get $0 i32.const 1 i32.shl - local.get $0 + local.get $1 i32.add - local.get $5 + local.get $4 i32.const 3 i32.shl - local.get $2 + local.get $7 i32.add i64.load call $~lib/util/number/itoa_buffered - local.get $1 + local.get $0 i32.add - local.set $1 - local.get $6 + local.set $0 + local.get $3 if - local.get $1 + local.get $0 i32.const 1 i32.shl - local.get $0 + local.get $1 i32.add i32.const 9584 - local.get $6 + local.get $3 i32.const 1 i32.shl call $~lib/memory/memory.copy - local.get $1 - local.get $6 + local.get $0 + local.get $3 i32.add - local.set $1 + local.set $0 end - local.get $5 + local.get $4 i32.const 1 i32.add - local.set $5 + local.set $4 br $for-loop|0 end end - local.get $4 - local.get $1 + local.get $5 + local.get $0 i32.const 1 i32.shl - local.get $0 + local.get $1 i32.add - local.get $3 + local.get $6 i32.const 3 i32.shl - local.get $2 + local.get $7 i32.add i64.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 global.get $~lib/memory/__stack_pointer @@ -26002,6 +26042,8 @@ i32.const 4 i32.add global.set $~lib/memory/__stack_pointer + local.get $1 + local.set $0 end local.get $0 return @@ -26661,8 +26703,6 @@ select i32.store16 offset=4 local.get $1 - i32.const 2 - i32.add else local.get $0 i32.const 4 @@ -26762,9 +26802,9 @@ local.get $0 local.get $1 i32.add - i32.const 2 - i32.add end + i32.const 2 + i32.add end end end @@ -27130,7 +27170,7 @@ (local $6 i32) local.get $0 i32.load offset=4 - local.set $5 + local.set $3 local.get $0 i32.load offset=8 i32.const 2 @@ -27158,7 +27198,7 @@ local.get $0 i32.const 1 i32.sub - local.tee $6 + local.tee $2 i32.const 0 i32.lt_s if @@ -27170,10 +27210,10 @@ local.set $0 br $__inlined_func$~lib/util/string/joinFloatArray end - local.get $6 + local.get $2 i32.eqz if - local.get $5 + local.get $3 f32.load f64.promote_f32 call $~lib/util/number/dtoa @@ -27185,7 +27225,7 @@ br $__inlined_func$~lib/util/string/joinFloatArray end global.get $~lib/memory/__stack_pointer - local.get $6 + local.get $2 i32.const 9580 i32.load i32.const 1 @@ -27196,79 +27236,81 @@ i32.mul i32.const 28 i32.add - local.tee $2 + local.tee $6 i32.const 1 i32.shl i32.const 1 call $~lib/rt/itcms/__new - local.tee $0 + local.tee $1 i32.store + i32.const 0 + local.set $0 loop $for-loop|0 - local.get $3 - local.get $6 - i32.lt_s + local.get $2 + local.get $5 + i32.gt_s if - local.get $1 + local.get $0 i32.const 1 i32.shl - local.get $0 + local.get $1 i32.add - local.get $3 + local.get $5 i32.const 2 i32.shl - local.get $5 + local.get $3 i32.add f32.load f64.promote_f32 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 $1 + local.get $0 i32.const 1 i32.shl - local.get $0 + 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 $3 + local.get $5 i32.const 1 i32.add - local.set $3 + local.set $5 br $for-loop|0 end end - local.get $2 - local.get $1 + local.get $6 + local.get $0 i32.const 1 i32.shl - local.get $0 + local.get $1 i32.add - local.get $6 + local.get $2 i32.const 2 i32.shl - local.get $5 + local.get $3 i32.add f32.load f64.promote_f32 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 global.get $~lib/memory/__stack_pointer @@ -27281,6 +27323,8 @@ i32.const 4 i32.add global.set $~lib/memory/__stack_pointer + local.get $1 + local.set $0 end local.get $0 ) @@ -27293,7 +27337,7 @@ (local $6 i32) local.get $0 i32.load offset=4 - local.set $5 + local.set $3 local.get $0 i32.load offset=8 i32.const 3 @@ -27321,7 +27365,7 @@ local.get $0 i32.const 1 i32.sub - local.tee $6 + local.tee $2 i32.const 0 i32.lt_s if @@ -27333,10 +27377,10 @@ local.set $0 br $__inlined_func$~lib/util/string/joinFloatArray end - local.get $6 + local.get $2 i32.eqz if - local.get $5 + local.get $3 f64.load call $~lib/util/number/dtoa local.set $0 @@ -27347,7 +27391,7 @@ br $__inlined_func$~lib/util/string/joinFloatArray end global.get $~lib/memory/__stack_pointer - local.get $6 + local.get $2 i32.const 9580 i32.load i32.const 1 @@ -27358,77 +27402,79 @@ i32.mul i32.const 28 i32.add - local.tee $2 + local.tee $6 i32.const 1 i32.shl i32.const 1 call $~lib/rt/itcms/__new - local.tee $0 + local.tee $1 i32.store + i32.const 0 + local.set $0 loop $for-loop|0 - local.get $3 - local.get $6 - i32.lt_s + local.get $2 + local.get $5 + i32.gt_s if - local.get $1 + local.get $0 i32.const 1 i32.shl - local.get $0 + local.get $1 i32.add - local.get $3 + local.get $5 i32.const 3 i32.shl - local.get $5 + 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 $1 + local.get $0 i32.const 1 i32.shl - local.get $0 + 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 $3 + local.get $5 i32.const 1 i32.add - local.set $3 + local.set $5 br $for-loop|0 end end - local.get $2 - local.get $1 + local.get $6 + local.get $0 i32.const 1 i32.shl - local.get $0 + local.get $1 i32.add - local.get $6 + local.get $2 i32.const 3 i32.shl - local.get $5 + 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 global.get $~lib/memory/__stack_pointer @@ -27441,6 +27487,8 @@ i32.const 4 i32.add global.set $~lib/memory/__stack_pointer + local.get $1 + local.set $0 end local.get $0 ) @@ -36061,42 +36109,32 @@ i32.sub ) (func $~lib/rt/__visit_members (param $0 i32) - block $folding-inner2 - block $folding-inner1 - block $folding-inner0 - block $invalid - block $~lib/arraybuffer/ArrayBufferView - block $~lib/string/String - block $~lib/arraybuffer/ArrayBuffer - local.get $0 - i32.const 8 - i32.sub - i32.load - br_table $~lib/arraybuffer/ArrayBuffer $~lib/string/String $~lib/arraybuffer/ArrayBufferView $folding-inner0 $folding-inner0 $folding-inner0 $folding-inner0 $folding-inner0 $folding-inner0 $folding-inner0 $folding-inner0 $folding-inner0 $folding-inner0 $folding-inner0 $folding-inner1 $folding-inner2 $folding-inner2 $folding-inner1 $folding-inner1 $folding-inner1 $folding-inner1 $folding-inner1 $folding-inner1 $folding-inner1 $folding-inner1 $folding-inner1 $folding-inner1 $folding-inner1 $folding-inner1 $folding-inner1 $folding-inner1 $folding-inner1 $folding-inner1 $folding-inner1 $folding-inner1 $folding-inner1 $folding-inner1 $folding-inner1 $folding-inner1 $folding-inner1 $folding-inner1 $folding-inner1 $folding-inner1 $folding-inner1 $folding-inner1 $folding-inner1 $folding-inner1 $folding-inner1 $folding-inner1 $folding-inner1 $folding-inner1 $folding-inner1 $folding-inner1 $folding-inner1 $folding-inner1 $folding-inner1 $folding-inner1 $folding-inner1 $folding-inner1 $folding-inner1 $folding-inner1 $folding-inner2 $folding-inner2 $folding-inner2 $folding-inner2 $folding-inner2 $folding-inner2 $folding-inner2 $folding-inner2 $folding-inner1 $folding-inner1 $folding-inner1 $folding-inner1 $folding-inner1 $folding-inner1 $folding-inner1 $folding-inner1 $folding-inner1 $invalid - end - return + block $folding-inner3 + block $folding-inner2 + block $invalid + block $~lib/arraybuffer/ArrayBufferView + block $~lib/string/String + block $~lib/arraybuffer/ArrayBuffer + local.get $0 + i32.const 8 + i32.sub + i32.load + br_table $~lib/arraybuffer/ArrayBuffer $~lib/string/String $~lib/arraybuffer/ArrayBufferView $folding-inner3 $folding-inner3 $folding-inner3 $folding-inner3 $folding-inner3 $folding-inner3 $folding-inner3 $folding-inner3 $folding-inner3 $folding-inner3 $folding-inner3 $folding-inner2 $folding-inner3 $folding-inner3 $folding-inner2 $folding-inner2 $folding-inner2 $folding-inner2 $folding-inner2 $folding-inner2 $folding-inner2 $folding-inner2 $folding-inner2 $folding-inner2 $folding-inner2 $folding-inner2 $folding-inner2 $folding-inner2 $folding-inner2 $folding-inner2 $folding-inner2 $folding-inner2 $folding-inner2 $folding-inner2 $folding-inner2 $folding-inner2 $folding-inner2 $folding-inner2 $folding-inner2 $folding-inner2 $folding-inner2 $folding-inner2 $folding-inner2 $folding-inner2 $folding-inner2 $folding-inner2 $folding-inner2 $folding-inner2 $folding-inner2 $folding-inner2 $folding-inner2 $folding-inner2 $folding-inner2 $folding-inner2 $folding-inner2 $folding-inner2 $folding-inner2 $folding-inner2 $folding-inner3 $folding-inner3 $folding-inner3 $folding-inner3 $folding-inner3 $folding-inner3 $folding-inner3 $folding-inner3 $folding-inner2 $folding-inner2 $folding-inner2 $folding-inner2 $folding-inner2 $folding-inner2 $folding-inner2 $folding-inner2 $folding-inner2 $invalid end return end - local.get $0 - i32.load - local.tee $0 - if - local.get $0 - call $byn-split-outlined-A$~lib/rt/itcms/__visit - end return end - unreachable - end - local.get $0 - i32.load - local.tee $0 - if local.get $0 - call $byn-split-outlined-A$~lib/rt/itcms/__visit + i32.load + local.tee $0 + if + local.get $0 + call $byn-split-outlined-A$~lib/rt/itcms/__visit + end + return end - return + unreachable end local.get $0 i32.load offset=4 @@ -36147,25 +36185,25 @@ local.get $2 i32.const 6 call $~lib/typedarray/Int8Array#constructor - local.tee $5 + local.tee $7 i32.store - local.get $5 + local.get $7 i32.const 0 i32.const 1 call $~lib/typedarray/Int8Array#__set - local.get $5 + local.get $7 i32.const 1 i32.const 2 call $~lib/typedarray/Int8Array#__set - local.get $5 + local.get $7 i32.const 2 i32.const 3 call $~lib/typedarray/Int8Array#__set - local.get $5 + local.get $7 i32.const 3 i32.const 4 call $~lib/typedarray/Int8Array#__set - local.get $5 + local.get $7 i32.const 5 i32.const 5 call $~lib/typedarray/Int8Array#__set @@ -36185,7 +36223,7 @@ local.tee $3 i64.const 0 i64.store - local.get $5 + local.get $7 i32.load offset=8 local.set $2 local.get $3 @@ -36200,16 +36238,16 @@ call $~lib/rt/itcms/__new local.tee $6 i32.store offset=4 - local.get $5 + local.get $7 i32.load offset=4 - local.set $7 + local.set $5 loop $for-loop|0 local.get $1 local.get $2 i32.lt_s if local.get $1 - local.get $7 + local.get $5 i32.add i32.load8_s local.set $3 @@ -36217,7 +36255,7 @@ global.set $~argumentsLength local.get $3 local.get $1 - local.get $5 + local.get $7 i32.const 3952 i32.load call_indirect $0 (type $i32_i32_i32_=>_i32) @@ -36369,25 +36407,25 @@ local.get $2 i32.const 6 call $~lib/typedarray/Uint8Array#constructor - local.tee $5 + local.tee $7 i32.store - local.get $5 + local.get $7 i32.const 0 i32.const 1 call $~lib/typedarray/Uint8Array#__set - local.get $5 + local.get $7 i32.const 1 i32.const 2 call $~lib/typedarray/Uint8Array#__set - local.get $5 + local.get $7 i32.const 2 i32.const 3 call $~lib/typedarray/Uint8Array#__set - local.get $5 + local.get $7 i32.const 3 i32.const 4 call $~lib/typedarray/Uint8Array#__set - local.get $5 + local.get $7 i32.const 5 i32.const 5 call $~lib/typedarray/Uint8Array#__set @@ -36407,7 +36445,7 @@ local.tee $3 i64.const 0 i64.store - local.get $5 + local.get $7 i32.load offset=8 local.set $2 local.get $3 @@ -36422,16 +36460,16 @@ call $~lib/rt/itcms/__new local.tee $6 i32.store offset=4 - local.get $5 + local.get $7 i32.load offset=4 - local.set $7 + local.set $5 loop $for-loop|0 local.get $1 local.get $2 i32.lt_s if local.get $1 - local.get $7 + local.get $5 i32.add i32.load8_u local.set $3 @@ -36439,7 +36477,7 @@ global.set $~argumentsLength local.get $3 local.get $1 - local.get $5 + local.get $7 i32.const 3984 i32.load call_indirect $0 (type $i32_i32_i32_=>_i32) @@ -36591,25 +36629,25 @@ local.get $2 i32.const 6 call $~lib/typedarray/Uint8ClampedArray#constructor - local.tee $5 + local.tee $7 i32.store - local.get $5 + local.get $7 i32.const 0 i32.const 1 call $~lib/typedarray/Uint8ClampedArray#__set - local.get $5 + local.get $7 i32.const 1 i32.const 2 call $~lib/typedarray/Uint8ClampedArray#__set - local.get $5 + local.get $7 i32.const 2 i32.const 3 call $~lib/typedarray/Uint8ClampedArray#__set - local.get $5 + local.get $7 i32.const 3 i32.const 4 call $~lib/typedarray/Uint8ClampedArray#__set - local.get $5 + local.get $7 i32.const 5 i32.const 5 call $~lib/typedarray/Uint8ClampedArray#__set @@ -36629,7 +36667,7 @@ local.tee $3 i64.const 0 i64.store - local.get $5 + local.get $7 i32.load offset=8 local.set $2 local.get $3 @@ -36644,16 +36682,16 @@ call $~lib/rt/itcms/__new local.tee $6 i32.store offset=4 - local.get $5 + local.get $7 i32.load offset=4 - local.set $7 + local.set $5 loop $for-loop|0 local.get $1 local.get $2 i32.lt_s if local.get $1 - local.get $7 + local.get $5 i32.add i32.load8_u local.set $3 @@ -36661,7 +36699,7 @@ global.set $~argumentsLength local.get $3 local.get $1 - local.get $5 + local.get $7 i32.const 4016 i32.load call_indirect $0 (type $i32_i32_i32_=>_i32) @@ -36813,25 +36851,25 @@ local.get $2 i32.const 6 call $~lib/typedarray/Int16Array#constructor - local.tee $5 + local.tee $7 i32.store - local.get $5 + local.get $7 i32.const 0 i32.const 1 call $~lib/typedarray/Int16Array#__set - local.get $5 + local.get $7 i32.const 1 i32.const 2 call $~lib/typedarray/Int16Array#__set - local.get $5 + local.get $7 i32.const 2 i32.const 3 call $~lib/typedarray/Int16Array#__set - local.get $5 + local.get $7 i32.const 3 i32.const 4 call $~lib/typedarray/Int16Array#__set - local.get $5 + local.get $7 i32.const 5 i32.const 5 call $~lib/typedarray/Int16Array#__set @@ -36851,7 +36889,7 @@ local.tee $3 i64.const 0 i64.store - local.get $5 + local.get $7 i32.load offset=8 i32.const 1 i32.shr_u @@ -36868,11 +36906,11 @@ i32.shl i32.const 0 call $~lib/rt/itcms/__new - local.tee $6 + local.tee $3 i32.store offset=4 - local.get $5 + local.get $7 i32.load offset=4 - local.set $7 + local.set $6 loop $for-loop|0 local.get $1 local.get $2 @@ -36881,15 +36919,15 @@ local.get $1 i32.const 1 i32.shl - local.get $7 + local.get $6 i32.add i32.load16_s - local.set $3 + local.set $4 i32.const 3 global.set $~argumentsLength - local.get $3 + local.get $4 local.get $1 - local.get $5 + local.get $7 i32.const 4048 i32.load call_indirect $0 (type $i32_i32_i32_=>_i32) @@ -36897,9 +36935,9 @@ local.get $0 i32.const 1 i32.shl - local.get $6 - i32.add local.get $3 + i32.add + local.get $4 i32.store16 local.get $0 i32.const 1 @@ -36914,7 +36952,7 @@ end end local.get $8 - local.get $6 + local.get $3 local.get $0 i32.const 1 i32.shl @@ -37048,25 +37086,25 @@ local.get $2 i32.const 6 call $~lib/typedarray/Uint16Array#constructor - local.tee $5 + local.tee $7 i32.store - local.get $5 + local.get $7 i32.const 0 i32.const 1 call $~lib/typedarray/Uint16Array#__set - local.get $5 + local.get $7 i32.const 1 i32.const 2 call $~lib/typedarray/Uint16Array#__set - local.get $5 + local.get $7 i32.const 2 i32.const 3 call $~lib/typedarray/Uint16Array#__set - local.get $5 + local.get $7 i32.const 3 i32.const 4 call $~lib/typedarray/Uint16Array#__set - local.get $5 + local.get $7 i32.const 5 i32.const 5 call $~lib/typedarray/Uint16Array#__set @@ -37086,7 +37124,7 @@ local.tee $3 i64.const 0 i64.store - local.get $5 + local.get $7 i32.load offset=8 i32.const 1 i32.shr_u @@ -37103,11 +37141,11 @@ i32.shl i32.const 0 call $~lib/rt/itcms/__new - local.tee $6 + local.tee $3 i32.store offset=4 - local.get $5 + local.get $7 i32.load offset=4 - local.set $7 + local.set $6 loop $for-loop|0 local.get $1 local.get $2 @@ -37116,15 +37154,15 @@ local.get $1 i32.const 1 i32.shl - local.get $7 + local.get $6 i32.add i32.load16_u - local.set $3 + local.set $4 i32.const 3 global.set $~argumentsLength - local.get $3 + local.get $4 local.get $1 - local.get $5 + local.get $7 i32.const 4080 i32.load call_indirect $0 (type $i32_i32_i32_=>_i32) @@ -37132,9 +37170,9 @@ local.get $0 i32.const 1 i32.shl - local.get $6 - i32.add local.get $3 + i32.add + local.get $4 i32.store16 local.get $0 i32.const 1 @@ -37149,7 +37187,7 @@ end end local.get $8 - local.get $6 + local.get $3 local.get $0 i32.const 1 i32.shl @@ -37283,25 +37321,25 @@ local.get $2 i32.const 6 call $~lib/typedarray/Int32Array#constructor - local.tee $5 + local.tee $7 i32.store - local.get $5 + local.get $7 i32.const 0 i32.const 1 call $~lib/typedarray/Int32Array#__set - local.get $5 + local.get $7 i32.const 1 i32.const 2 call $~lib/typedarray/Int32Array#__set - local.get $5 + local.get $7 i32.const 2 i32.const 3 call $~lib/typedarray/Int32Array#__set - local.get $5 + local.get $7 i32.const 3 i32.const 4 call $~lib/typedarray/Int32Array#__set - local.get $5 + local.get $7 i32.const 5 i32.const 5 call $~lib/typedarray/Int32Array#__set @@ -37321,7 +37359,7 @@ local.tee $3 i64.const 0 i64.store - local.get $5 + local.get $7 i32.load offset=8 i32.const 2 i32.shr_u @@ -37338,11 +37376,11 @@ i32.shl i32.const 0 call $~lib/rt/itcms/__new - local.tee $6 + local.tee $3 i32.store offset=4 - local.get $5 + local.get $7 i32.load offset=4 - local.set $7 + local.set $6 loop $for-loop|0 local.get $1 local.get $2 @@ -37351,15 +37389,15 @@ local.get $1 i32.const 2 i32.shl - local.get $7 + local.get $6 i32.add i32.load - local.set $3 + local.set $4 i32.const 3 global.set $~argumentsLength - local.get $3 + local.get $4 local.get $1 - local.get $5 + local.get $7 i32.const 4112 i32.load call_indirect $0 (type $i32_i32_i32_=>_i32) @@ -37367,9 +37405,9 @@ local.get $0 i32.const 2 i32.shl - local.get $6 - i32.add local.get $3 + i32.add + local.get $4 i32.store local.get $0 i32.const 1 @@ -37384,7 +37422,7 @@ end end local.get $8 - local.get $6 + local.get $3 local.get $0 i32.const 2 i32.shl @@ -37518,25 +37556,25 @@ local.get $2 i32.const 6 call $~lib/typedarray/Uint32Array#constructor - local.tee $5 + local.tee $7 i32.store - local.get $5 + local.get $7 i32.const 0 i32.const 1 call $~lib/typedarray/Uint32Array#__set - local.get $5 + local.get $7 i32.const 1 i32.const 2 call $~lib/typedarray/Uint32Array#__set - local.get $5 + local.get $7 i32.const 2 i32.const 3 call $~lib/typedarray/Uint32Array#__set - local.get $5 + local.get $7 i32.const 3 i32.const 4 call $~lib/typedarray/Uint32Array#__set - local.get $5 + local.get $7 i32.const 5 i32.const 5 call $~lib/typedarray/Uint32Array#__set @@ -37556,7 +37594,7 @@ local.tee $3 i64.const 0 i64.store - local.get $5 + local.get $7 i32.load offset=8 i32.const 2 i32.shr_u @@ -37573,11 +37611,11 @@ i32.shl i32.const 0 call $~lib/rt/itcms/__new - local.tee $6 + local.tee $3 i32.store offset=4 - local.get $5 + local.get $7 i32.load offset=4 - local.set $7 + local.set $6 loop $for-loop|0 local.get $1 local.get $2 @@ -37586,15 +37624,15 @@ local.get $1 i32.const 2 i32.shl - local.get $7 + local.get $6 i32.add i32.load - local.set $3 + local.set $4 i32.const 3 global.set $~argumentsLength - local.get $3 + local.get $4 local.get $1 - local.get $5 + local.get $7 i32.const 4144 i32.load call_indirect $0 (type $i32_i32_i32_=>_i32) @@ -37602,9 +37640,9 @@ local.get $0 i32.const 2 i32.shl - local.get $6 - i32.add local.get $3 + i32.add + local.get $4 i32.store local.get $0 i32.const 1 @@ -37619,7 +37657,7 @@ end end local.get $8 - local.get $6 + local.get $3 local.get $0 i32.const 2 i32.shl @@ -37728,8 +37766,8 @@ (local $0 i32) (local $1 i32) (local $2 i32) - (local $3 i64) - (local $4 i32) + (local $3 i32) + (local $4 i64) (local $5 i32) (local $6 i32) (local $7 i32) @@ -37753,25 +37791,25 @@ local.get $2 i32.const 6 call $~lib/typedarray/Int64Array#constructor - local.tee $5 + local.tee $7 i32.store - local.get $5 + local.get $7 i32.const 0 i64.const 1 call $~lib/typedarray/Int64Array#__set - local.get $5 + local.get $7 i32.const 1 i64.const 2 call $~lib/typedarray/Int64Array#__set - local.get $5 + local.get $7 i32.const 2 i64.const 3 call $~lib/typedarray/Int64Array#__set - local.get $5 + local.get $7 i32.const 3 i64.const 4 call $~lib/typedarray/Int64Array#__set - local.get $5 + local.get $7 i32.const 5 i64.const 5 call $~lib/typedarray/Int64Array#__set @@ -37788,15 +37826,15 @@ i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer - local.tee $6 + local.tee $3 i64.const 0 i64.store - local.get $5 + local.get $7 i32.load offset=8 i32.const 3 i32.shr_u local.set $2 - local.get $6 + local.get $3 i32.const 12 i32.const 10 call $~lib/rt/itcms/__new @@ -37808,11 +37846,11 @@ i32.shl i32.const 0 call $~lib/rt/itcms/__new - local.tee $6 + local.tee $3 i32.store offset=4 - local.get $5 + local.get $7 i32.load offset=4 - local.set $7 + local.set $6 loop $for-loop|0 local.get $1 local.get $2 @@ -37821,15 +37859,15 @@ local.get $1 i32.const 3 i32.shl - local.get $7 + local.get $6 i32.add i64.load - local.set $3 + local.set $4 i32.const 3 global.set $~argumentsLength - local.get $3 + local.get $4 local.get $1 - local.get $5 + local.get $7 i32.const 4176 i32.load call_indirect $0 (type $i64_i32_i32_=>_i32) @@ -37837,9 +37875,9 @@ local.get $0 i32.const 3 i32.shl - local.get $6 - i32.add local.get $3 + i32.add + local.get $4 i64.store local.get $0 i32.const 1 @@ -37854,7 +37892,7 @@ end end local.get $8 - local.get $6 + local.get $3 local.get $0 i32.const 3 i32.shl @@ -37963,8 +38001,8 @@ (local $0 i32) (local $1 i32) (local $2 i32) - (local $3 i64) - (local $4 i32) + (local $3 i32) + (local $4 i64) (local $5 i32) (local $6 i32) (local $7 i32) @@ -37988,25 +38026,25 @@ local.get $2 i32.const 6 call $~lib/typedarray/Uint64Array#constructor - local.tee $5 + local.tee $7 i32.store - local.get $5 + local.get $7 i32.const 0 i64.const 1 call $~lib/typedarray/Uint64Array#__set - local.get $5 + local.get $7 i32.const 1 i64.const 2 call $~lib/typedarray/Uint64Array#__set - local.get $5 + local.get $7 i32.const 2 i64.const 3 call $~lib/typedarray/Uint64Array#__set - local.get $5 + local.get $7 i32.const 3 i64.const 4 call $~lib/typedarray/Uint64Array#__set - local.get $5 + local.get $7 i32.const 5 i64.const 5 call $~lib/typedarray/Uint64Array#__set @@ -38023,15 +38061,15 @@ i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer - local.tee $6 + local.tee $3 i64.const 0 i64.store - local.get $5 + local.get $7 i32.load offset=8 i32.const 3 i32.shr_u local.set $2 - local.get $6 + local.get $3 i32.const 12 i32.const 11 call $~lib/rt/itcms/__new @@ -38043,11 +38081,11 @@ i32.shl i32.const 0 call $~lib/rt/itcms/__new - local.tee $6 + local.tee $3 i32.store offset=4 - local.get $5 + local.get $7 i32.load offset=4 - local.set $7 + local.set $6 loop $for-loop|0 local.get $1 local.get $2 @@ -38056,15 +38094,15 @@ local.get $1 i32.const 3 i32.shl - local.get $7 + local.get $6 i32.add i64.load - local.set $3 + local.set $4 i32.const 3 global.set $~argumentsLength - local.get $3 + local.get $4 local.get $1 - local.get $5 + local.get $7 i32.const 4208 i32.load call_indirect $0 (type $i64_i32_i32_=>_i32) @@ -38072,9 +38110,9 @@ local.get $0 i32.const 3 i32.shl - local.get $6 - i32.add local.get $3 + i32.add + local.get $4 i64.store local.get $0 i32.const 1 @@ -38089,7 +38127,7 @@ end end local.get $8 - local.get $6 + local.get $3 local.get $0 i32.const 3 i32.shl @@ -38198,8 +38236,8 @@ (local $0 i32) (local $1 i32) (local $2 i32) - (local $3 f32) - (local $4 i32) + (local $3 i32) + (local $4 f32) (local $5 i32) (local $6 i32) (local $7 i32) @@ -38223,25 +38261,25 @@ local.get $2 i32.const 6 call $~lib/typedarray/Float32Array#constructor - local.tee $5 + local.tee $7 i32.store - local.get $5 + local.get $7 i32.const 0 f32.const 1 call $~lib/typedarray/Float32Array#__set - local.get $5 + local.get $7 i32.const 1 f32.const 2 call $~lib/typedarray/Float32Array#__set - local.get $5 + local.get $7 i32.const 2 f32.const 3 call $~lib/typedarray/Float32Array#__set - local.get $5 + local.get $7 i32.const 3 f32.const 4 call $~lib/typedarray/Float32Array#__set - local.get $5 + local.get $7 i32.const 5 f32.const 5 call $~lib/typedarray/Float32Array#__set @@ -38258,15 +38296,15 @@ i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer - local.tee $6 + local.tee $3 i64.const 0 i64.store - local.get $5 + local.get $7 i32.load offset=8 i32.const 2 i32.shr_u local.set $2 - local.get $6 + local.get $3 i32.const 12 i32.const 12 call $~lib/rt/itcms/__new @@ -38278,11 +38316,11 @@ i32.shl i32.const 0 call $~lib/rt/itcms/__new - local.tee $6 + local.tee $3 i32.store offset=4 - local.get $5 + local.get $7 i32.load offset=4 - local.set $7 + local.set $6 loop $for-loop|0 local.get $1 local.get $2 @@ -38291,15 +38329,15 @@ local.get $1 i32.const 2 i32.shl - local.get $7 + local.get $6 i32.add f32.load - local.set $3 + local.set $4 i32.const 3 global.set $~argumentsLength - local.get $3 + local.get $4 local.get $1 - local.get $5 + local.get $7 i32.const 4240 i32.load call_indirect $0 (type $f32_i32_i32_=>_i32) @@ -38307,9 +38345,9 @@ local.get $0 i32.const 2 i32.shl - local.get $6 - i32.add local.get $3 + i32.add + local.get $4 f32.store local.get $0 i32.const 1 @@ -38324,7 +38362,7 @@ end end local.get $8 - local.get $6 + local.get $3 local.get $0 i32.const 2 i32.shl @@ -38433,8 +38471,8 @@ (local $0 i32) (local $1 i32) (local $2 i32) - (local $3 f64) - (local $4 i32) + (local $3 i32) + (local $4 f64) (local $5 i32) (local $6 i32) (local $7 i32) @@ -38458,25 +38496,25 @@ local.get $2 i32.const 6 call $~lib/typedarray/Float64Array#constructor - local.tee $5 + local.tee $7 i32.store - local.get $5 + local.get $7 i32.const 0 f64.const 1 call $~lib/typedarray/Float64Array#__set - local.get $5 + local.get $7 i32.const 1 f64.const 2 call $~lib/typedarray/Float64Array#__set - local.get $5 + local.get $7 i32.const 2 f64.const 3 call $~lib/typedarray/Float64Array#__set - local.get $5 + local.get $7 i32.const 3 f64.const 4 call $~lib/typedarray/Float64Array#__set - local.get $5 + local.get $7 i32.const 5 f64.const 5 call $~lib/typedarray/Float64Array#__set @@ -38493,15 +38531,15 @@ i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer - local.tee $6 + local.tee $3 i64.const 0 i64.store - local.get $5 + local.get $7 i32.load offset=8 i32.const 3 i32.shr_u local.set $2 - local.get $6 + local.get $3 i32.const 12 i32.const 13 call $~lib/rt/itcms/__new @@ -38513,11 +38551,11 @@ i32.shl i32.const 0 call $~lib/rt/itcms/__new - local.tee $6 + local.tee $3 i32.store offset=4 - local.get $5 + local.get $7 i32.load offset=4 - local.set $7 + local.set $6 loop $for-loop|0 local.get $1 local.get $2 @@ -38526,15 +38564,15 @@ local.get $1 i32.const 3 i32.shl - local.get $7 + local.get $6 i32.add f64.load - local.set $3 + local.set $4 i32.const 3 global.set $~argumentsLength - local.get $3 + local.get $4 local.get $1 - local.get $5 + local.get $7 i32.const 4272 i32.load call_indirect $0 (type $f64_i32_i32_=>_i32) @@ -38542,9 +38580,9 @@ local.get $0 i32.const 3 i32.shl - local.get $6 - i32.add local.get $3 + i32.add + local.get $4 f64.store local.get $0 i32.const 1 @@ -38559,7 +38597,7 @@ end end local.get $8 - local.get $6 + local.get $3 local.get $0 i32.const 3 i32.shl @@ -38688,14 +38726,14 @@ local.get $3 i32.const 7152 i32.store + local.get $0 + i32.const 255 + i32.and i32.const 7152 local.get $1 call $~lib/array/Array#__get i32.const 255 i32.and - local.get $0 - i32.const 255 - i32.and i32.ne if i32.const 0 @@ -38760,14 +38798,14 @@ local.get $3 i32.const 7152 i32.store + local.get $0 + i32.const 65535 + i32.and i32.const 7152 local.get $1 call $~lib/array/Array#__get i32.const 65535 i32.and - local.get $0 - i32.const 65535 - i32.and i32.ne if i32.const 0 @@ -39085,15 +39123,14 @@ ) (func $std/typedarray/testArrayReverse<~lib/typedarray/Int64Array,i64> (local $0 i32) - (local $1 i32) - (local $2 i64) + (local $1 i64) + (local $2 i32) (local $3 i32) (local $4 i32) (local $5 i32) (local $6 i32) (local $7 i32) (local $8 i32) - (local $9 i32) global.get $~lib/memory/__stack_pointer i32.const 20 i32.sub @@ -39110,43 +39147,43 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $3 + local.tee $2 i64.const 0 i64.store - local.get $3 + local.get $2 i64.const 0 i64.store offset=8 - local.get $3 + local.get $2 i32.const 0 i32.store offset=16 - local.get $3 + local.get $2 i32.const 7616 i32.store - local.get $3 + local.get $2 i32.const 7628 i32.load - local.tee $4 + local.tee $2 call $~lib/typedarray/Int64Array#constructor - local.tee $5 + local.tee $3 i32.store offset=4 global.get $~lib/memory/__stack_pointer - local.get $4 + local.get $2 call $~lib/typedarray/Int64Array#constructor - local.tee $6 + local.tee $4 i32.store offset=8 loop $for-loop|0 local.get $0 - local.get $4 + local.get $2 i32.lt_s if - local.get $5 + local.get $3 local.get $0 i32.const 7616 local.get $0 call $~lib/array/Array#__get i64.extend_i32_s call $~lib/typedarray/Int64Array#__set - local.get $6 + local.get $4 local.get $0 i32.const 7616 local.get $0 @@ -39162,51 +39199,51 @@ end i32.const 0 local.set $0 - local.get $5 + local.get $3 i32.load offset=4 - local.set $7 - local.get $5 + local.set $5 + local.get $3 i32.load offset=8 i32.const 3 i32.shr_u - local.tee $8 + local.tee $6 i32.const 1 i32.gt_u if - local.get $8 + local.get $6 i32.const 1 i32.shr_u - local.set $3 - local.get $8 + local.set $7 + local.get $6 i32.const 1 i32.sub - local.set $8 + local.set $6 loop $while-continue|0 local.get $0 - local.get $3 + local.get $7 i32.lt_u if local.get $0 i32.const 3 i32.shl - local.get $7 + local.get $5 i32.add - local.tee $9 + local.tee $8 i64.load - local.set $2 - local.get $9 + local.set $1 local.get $8 + local.get $6 local.get $0 i32.sub i32.const 3 i32.shl - local.get $7 + local.get $5 i32.add - local.tee $9 + local.tee $8 i64.load i64.store - local.get $9 - local.get $2 + local.get $8 + local.get $1 i64.store local.get $0 i32.const 1 @@ -39220,14 +39257,14 @@ local.set $0 loop $for-loop|1 local.get $0 - local.get $4 + local.get $2 i32.lt_s if - local.get $5 + local.get $3 local.get $0 call $~lib/typedarray/Int64Array#__get i32.const 7616 - local.get $4 + local.get $2 i32.const 1 i32.sub local.get $0 @@ -39251,13 +39288,15 @@ end end global.get $~lib/memory/__stack_pointer - local.get $6 + local.get $4 i32.const 8 call $~lib/typedarray/Int64Array#subarray local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 i32.store offset=12 + i32.const 0 + local.set $0 local.get $3 i32.load offset=4 local.set $4 @@ -39278,21 +39317,21 @@ i32.sub local.set $5 loop $while-continue|01 - local.get $1 + local.get $0 local.get $6 i32.lt_u if - local.get $1 + local.get $0 i32.const 3 i32.shl local.get $4 i32.add local.tee $7 i64.load - local.set $2 + local.set $1 local.get $7 local.get $5 - local.get $1 + local.get $0 i32.sub i32.const 3 i32.shl @@ -39302,12 +39341,12 @@ i64.load i64.store local.get $7 - local.get $2 - i64.store local.get $1 + i64.store + local.get $0 i32.const 1 i32.add - local.set $1 + local.set $0 br $while-continue|01 end end @@ -39373,15 +39412,14 @@ ) (func $std/typedarray/testArrayReverse<~lib/typedarray/Uint64Array,u64> (local $0 i32) - (local $1 i32) - (local $2 i64) + (local $1 i64) + (local $2 i32) (local $3 i32) (local $4 i32) (local $5 i32) (local $6 i32) (local $7 i32) (local $8 i32) - (local $9 i32) global.get $~lib/memory/__stack_pointer i32.const 20 i32.sub @@ -39398,43 +39436,43 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $3 + local.tee $2 i64.const 0 i64.store - local.get $3 + local.get $2 i64.const 0 i64.store offset=8 - local.get $3 + local.get $2 i32.const 0 i32.store offset=16 - local.get $3 + local.get $2 i32.const 7616 i32.store - local.get $3 + local.get $2 i32.const 7628 i32.load - local.tee $4 + local.tee $2 call $~lib/typedarray/Uint64Array#constructor - local.tee $5 + local.tee $3 i32.store offset=4 global.get $~lib/memory/__stack_pointer - local.get $4 + local.get $2 call $~lib/typedarray/Uint64Array#constructor - local.tee $6 + local.tee $4 i32.store offset=8 loop $for-loop|0 local.get $0 - local.get $4 + local.get $2 i32.lt_s if - local.get $5 + local.get $3 local.get $0 i32.const 7616 local.get $0 call $~lib/array/Array#__get i64.extend_i32_s call $~lib/typedarray/Uint64Array#__set - local.get $6 + local.get $4 local.get $0 i32.const 7616 local.get $0 @@ -39450,51 +39488,51 @@ end i32.const 0 local.set $0 - local.get $5 + local.get $3 i32.load offset=4 - local.set $7 - local.get $5 + local.set $5 + local.get $3 i32.load offset=8 i32.const 3 i32.shr_u - local.tee $8 + local.tee $6 i32.const 1 i32.gt_u if - local.get $8 + local.get $6 i32.const 1 i32.shr_u - local.set $3 - local.get $8 + local.set $7 + local.get $6 i32.const 1 i32.sub - local.set $8 + local.set $6 loop $while-continue|0 local.get $0 - local.get $3 + local.get $7 i32.lt_u if local.get $0 i32.const 3 i32.shl - local.get $7 + local.get $5 i32.add - local.tee $9 + local.tee $8 i64.load - local.set $2 - local.get $9 + local.set $1 local.get $8 + local.get $6 local.get $0 i32.sub i32.const 3 i32.shl - local.get $7 + local.get $5 i32.add - local.tee $9 + local.tee $8 i64.load i64.store - local.get $9 - local.get $2 + local.get $8 + local.get $1 i64.store local.get $0 i32.const 1 @@ -39508,14 +39546,14 @@ local.set $0 loop $for-loop|1 local.get $0 - local.get $4 + local.get $2 i32.lt_s if - local.get $5 + local.get $3 local.get $0 call $~lib/typedarray/Uint64Array#__get i32.const 7616 - local.get $4 + local.get $2 i32.const 1 i32.sub local.get $0 @@ -39539,13 +39577,15 @@ end end global.get $~lib/memory/__stack_pointer - local.get $6 + local.get $4 i32.const 8 call $~lib/typedarray/Uint64Array#subarray local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 i32.store offset=12 + i32.const 0 + local.set $0 local.get $3 i32.load offset=4 local.set $4 @@ -39566,21 +39606,21 @@ i32.sub local.set $5 loop $while-continue|01 - local.get $1 + local.get $0 local.get $6 i32.lt_u if - local.get $1 + local.get $0 i32.const 3 i32.shl local.get $4 i32.add local.tee $7 i64.load - local.set $2 + local.set $1 local.get $7 local.get $5 - local.get $1 + local.get $0 i32.sub i32.const 3 i32.shl @@ -39590,12 +39630,12 @@ i64.load i64.store local.get $7 - local.get $2 - i64.store local.get $1 + i64.store + local.get $0 i32.const 1 i32.add - local.set $1 + local.set $0 br $while-continue|01 end end @@ -39661,15 +39701,14 @@ ) (func $std/typedarray/testArrayReverse<~lib/typedarray/Float32Array,f32> (local $0 i32) - (local $1 i32) - (local $2 f32) + (local $1 f32) + (local $2 i32) (local $3 i32) (local $4 i32) (local $5 i32) (local $6 i32) (local $7 i32) (local $8 i32) - (local $9 i32) global.get $~lib/memory/__stack_pointer i32.const 20 i32.sub @@ -39686,43 +39725,43 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $3 + local.tee $2 i64.const 0 i64.store - local.get $3 + local.get $2 i64.const 0 i64.store offset=8 - local.get $3 + local.get $2 i32.const 0 i32.store offset=16 - local.get $3 + local.get $2 i32.const 7616 i32.store - local.get $3 + local.get $2 i32.const 7628 i32.load - local.tee $4 + local.tee $2 call $~lib/typedarray/Float32Array#constructor - local.tee $5 + local.tee $3 i32.store offset=4 global.get $~lib/memory/__stack_pointer - local.get $4 + local.get $2 call $~lib/typedarray/Float32Array#constructor - local.tee $6 + local.tee $4 i32.store offset=8 loop $for-loop|0 local.get $0 - local.get $4 + local.get $2 i32.lt_s if - local.get $5 + local.get $3 local.get $0 i32.const 7616 local.get $0 call $~lib/array/Array#__get f32.convert_i32_s call $~lib/typedarray/Float32Array#__set - local.get $6 + local.get $4 local.get $0 i32.const 7616 local.get $0 @@ -39738,51 +39777,51 @@ end i32.const 0 local.set $0 - local.get $5 + local.get $3 i32.load offset=4 - local.set $7 - local.get $5 + local.set $5 + local.get $3 i32.load offset=8 i32.const 2 i32.shr_u - local.tee $8 + local.tee $6 i32.const 1 i32.gt_u if - local.get $8 + local.get $6 i32.const 1 i32.shr_u - local.set $3 - local.get $8 + local.set $7 + local.get $6 i32.const 1 i32.sub - local.set $8 + local.set $6 loop $while-continue|0 local.get $0 - local.get $3 + local.get $7 i32.lt_u if local.get $0 i32.const 2 i32.shl - local.get $7 + local.get $5 i32.add - local.tee $9 + local.tee $8 f32.load - local.set $2 - local.get $9 + local.set $1 local.get $8 + local.get $6 local.get $0 i32.sub i32.const 2 i32.shl - local.get $7 + local.get $5 i32.add - local.tee $9 + local.tee $8 f32.load f32.store - local.get $9 - local.get $2 + local.get $8 + local.get $1 f32.store local.get $0 i32.const 1 @@ -39796,14 +39835,14 @@ local.set $0 loop $for-loop|1 local.get $0 - local.get $4 + local.get $2 i32.lt_s if - local.get $5 + local.get $3 local.get $0 call $~lib/typedarray/Float32Array#__get i32.const 7616 - local.get $4 + local.get $2 i32.const 1 i32.sub local.get $0 @@ -39827,13 +39866,15 @@ end end global.get $~lib/memory/__stack_pointer - local.get $6 + local.get $4 i32.const 8 call $~lib/typedarray/Float32Array#subarray local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 i32.store offset=12 + i32.const 0 + local.set $0 local.get $3 i32.load offset=4 local.set $4 @@ -39854,21 +39895,21 @@ i32.sub local.set $5 loop $while-continue|01 - local.get $1 + local.get $0 local.get $6 i32.lt_u if - local.get $1 + local.get $0 i32.const 2 i32.shl local.get $4 i32.add local.tee $7 f32.load - local.set $2 + local.set $1 local.get $7 local.get $5 - local.get $1 + local.get $0 i32.sub i32.const 2 i32.shl @@ -39878,12 +39919,12 @@ f32.load f32.store local.get $7 - local.get $2 - f32.store local.get $1 + f32.store + local.get $0 i32.const 1 i32.add - local.set $1 + local.set $0 br $while-continue|01 end end @@ -39949,15 +39990,14 @@ ) (func $std/typedarray/testArrayReverse<~lib/typedarray/Float64Array,f64> (local $0 i32) - (local $1 i32) - (local $2 f64) + (local $1 f64) + (local $2 i32) (local $3 i32) (local $4 i32) (local $5 i32) (local $6 i32) (local $7 i32) (local $8 i32) - (local $9 i32) global.get $~lib/memory/__stack_pointer i32.const 20 i32.sub @@ -39974,43 +40014,43 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $3 + local.tee $2 i64.const 0 i64.store - local.get $3 + local.get $2 i64.const 0 i64.store offset=8 - local.get $3 + local.get $2 i32.const 0 i32.store offset=16 - local.get $3 + local.get $2 i32.const 7616 i32.store - local.get $3 + local.get $2 i32.const 7628 i32.load - local.tee $4 + local.tee $2 call $~lib/typedarray/Float64Array#constructor - local.tee $5 + local.tee $3 i32.store offset=4 global.get $~lib/memory/__stack_pointer - local.get $4 + local.get $2 call $~lib/typedarray/Float64Array#constructor - local.tee $6 + local.tee $4 i32.store offset=8 loop $for-loop|0 local.get $0 - local.get $4 + local.get $2 i32.lt_s if - local.get $5 + local.get $3 local.get $0 i32.const 7616 local.get $0 call $~lib/array/Array#__get f64.convert_i32_s call $~lib/typedarray/Float64Array#__set - local.get $6 + local.get $4 local.get $0 i32.const 7616 local.get $0 @@ -40026,51 +40066,51 @@ end i32.const 0 local.set $0 - local.get $5 + local.get $3 i32.load offset=4 - local.set $7 - local.get $5 + local.set $5 + local.get $3 i32.load offset=8 i32.const 3 i32.shr_u - local.tee $8 + local.tee $6 i32.const 1 i32.gt_u if - local.get $8 + local.get $6 i32.const 1 i32.shr_u - local.set $3 - local.get $8 + local.set $7 + local.get $6 i32.const 1 i32.sub - local.set $8 + local.set $6 loop $while-continue|0 local.get $0 - local.get $3 + local.get $7 i32.lt_u if local.get $0 i32.const 3 i32.shl - local.get $7 + local.get $5 i32.add - local.tee $9 + local.tee $8 f64.load - local.set $2 - local.get $9 + local.set $1 local.get $8 + local.get $6 local.get $0 i32.sub i32.const 3 i32.shl - local.get $7 + local.get $5 i32.add - local.tee $9 + local.tee $8 f64.load f64.store - local.get $9 - local.get $2 + local.get $8 + local.get $1 f64.store local.get $0 i32.const 1 @@ -40084,14 +40124,14 @@ local.set $0 loop $for-loop|1 local.get $0 - local.get $4 + local.get $2 i32.lt_s if - local.get $5 + local.get $3 local.get $0 call $~lib/typedarray/Float64Array#__get i32.const 7616 - local.get $4 + local.get $2 i32.const 1 i32.sub local.get $0 @@ -40115,7 +40155,7 @@ end end global.get $~lib/memory/__stack_pointer - local.get $6 + local.get $4 i32.const 4 i32.const 8 call $~lib/typedarray/Float64Array#subarray @@ -40123,6 +40163,8 @@ global.get $~lib/memory/__stack_pointer local.get $3 i32.store offset=12 + i32.const 0 + local.set $0 local.get $3 i32.load offset=4 local.set $4 @@ -40143,21 +40185,21 @@ i32.sub local.set $5 loop $while-continue|01 - local.get $1 + local.get $0 local.get $6 i32.lt_u if - local.get $1 + local.get $0 i32.const 3 i32.shl local.get $4 i32.add local.tee $7 f64.load - local.set $2 + local.set $1 local.get $7 local.get $5 - local.get $1 + local.get $0 i32.sub i32.const 3 i32.shl @@ -40167,12 +40209,12 @@ f64.load f64.store local.get $7 - local.get $2 - f64.store local.get $1 + f64.store + local.get $0 i32.const 1 i32.add - local.set $1 + local.set $0 br $while-continue|01 end end @@ -40359,15 +40401,14 @@ (func $std/typedarray/testTypedArraySet<~lib/typedarray/Int8Array> (local $0 i32) (local $1 i32) - (local $2 i32) - (local $3 i32) - (local $4 f32) - (local $5 f64) + (local $2 f32) + (local $3 f64) + (local $4 i32) + (local $5 i32) (local $6 i32) (local $7 i32) (local $8 i32) (local $9 i32) - (local $10 i32) global.get $~lib/memory/__stack_pointer i32.const 20 i32.sub @@ -40413,68 +40454,68 @@ global.get $~lib/memory/__stack_pointer i32.const 4 call $~lib/typedarray/Uint8Array#constructor - local.tee $1 + local.tee $7 i32.store offset=4 - local.get $1 + local.get $7 i32.const 0 i32.const 100 call $~lib/typedarray/Uint8Array#__set - local.get $1 + local.get $7 i32.const 1 i32.const 101 call $~lib/typedarray/Uint8Array#__set - local.get $1 + local.get $7 i32.const 2 i32.const 102 call $~lib/typedarray/Uint8Array#__set - local.get $1 + local.get $7 i32.const 3 i32.const 103 call $~lib/typedarray/Uint8Array#__set global.get $~lib/memory/__stack_pointer i32.const 3 call $~lib/typedarray/Int16Array#constructor - local.tee $2 + local.tee $1 i32.store offset=8 - local.get $2 + local.get $1 i32.const 0 i32.const 1000 call $~lib/typedarray/Int16Array#__set - local.get $2 + local.get $1 i32.const 1 i32.const 1001 call $~lib/typedarray/Int16Array#__set - local.get $2 + local.get $1 i32.const 2 i32.const 1002 call $~lib/typedarray/Int16Array#__set global.get $~lib/memory/__stack_pointer i32.const 10 call $~lib/typedarray/Int8Array#constructor - local.tee $8 + local.tee $4 i32.store offset=12 global.get $~lib/memory/__stack_pointer i32.const 11008 i32.store offset=16 - local.get $8 + local.get $4 call $~lib/typedarray/Int8Array#set<~lib/array/Array> i32.const 10 i32.const 0 i32.const 15 i32.const 11312 call $~lib/rt/__newArray - local.set $7 + local.set $5 global.get $~lib/memory/__stack_pointer - local.get $7 + local.get $5 i32.store offset=16 - local.get $8 - local.get $7 + local.get $4 + local.get $5 call $std/typedarray/valuesEqual<~lib/typedarray/Int8Array> global.get $~lib/memory/__stack_pointer i32.const 11088 i32.store offset=16 block $folding-inner1 - local.get $8 + local.get $4 i32.load offset=8 i32.const 11100 i32.load @@ -40482,38 +40523,38 @@ i32.add i32.lt_s br_if $folding-inner1 - local.get $8 + local.get $4 i32.load offset=4 i32.const 3 i32.add - local.set $7 + local.set $8 i32.const 11092 i32.load - local.set $9 + local.set $5 i32.const 11100 i32.load - local.set $10 + local.set $9 loop $for-loop|0 local.get $0 - local.get $10 + local.get $9 i32.lt_s if local.get $0 - local.get $7 + local.get $8 i32.add local.get $0 i32.const 2 i32.shl - local.get $9 + local.get $5 i32.add f32.load - local.tee $4 - local.get $4 + local.tee $2 + local.get $2 f32.sub f32.const 0 f32.eq if (result i32) - local.get $4 + local.get $2 i32.trunc_f32_s else i32.const 0 @@ -40535,10 +40576,10 @@ global.get $~lib/memory/__stack_pointer local.get $0 i32.store offset=16 - local.get $8 + local.get $4 local.get $0 call $std/typedarray/valuesEqual<~lib/typedarray/Int8Array> - local.get $8 + local.get $4 local.get $6 call $~lib/typedarray/Int8Array#set<~lib/typedarray/Int64Array> i32.const 10 @@ -40550,13 +40591,13 @@ global.get $~lib/memory/__stack_pointer local.get $0 i32.store offset=16 - local.get $8 + local.get $4 local.get $0 call $std/typedarray/valuesEqual<~lib/typedarray/Int8Array> global.get $~lib/memory/__stack_pointer i32.const 11184 i32.store offset=16 - local.get $8 + local.get $4 i32.load offset=8 i32.const 11196 i32.load @@ -40564,47 +40605,49 @@ i32.add i32.lt_s br_if $folding-inner1 - local.get $8 + local.get $4 i32.load offset=4 i32.const 2 i32.add - local.set $0 + local.set $5 i32.const 11188 i32.load local.set $6 i32.const 11196 i32.load - local.set $7 + local.set $8 + i32.const 0 + local.set $0 loop $for-loop|05 - local.get $3 - local.get $7 + local.get $0 + local.get $8 i32.lt_s if local.get $0 - local.get $3 + local.get $5 i32.add - local.get $3 + local.get $0 i32.const 3 i32.shl local.get $6 i32.add f64.load - local.tee $5 - local.get $5 + local.tee $3 + local.get $3 f64.sub f64.const 0 f64.eq if (result i32) - local.get $5 + local.get $3 i32.trunc_f64_s else i32.const 0 end i32.store8 - local.get $3 + local.get $0 i32.const 1 i32.add - local.set $3 + local.set $0 br $for-loop|05 end end @@ -40617,19 +40660,19 @@ global.get $~lib/memory/__stack_pointer local.get $0 i32.store offset=16 - local.get $8 + local.get $4 local.get $0 call $std/typedarray/valuesEqual<~lib/typedarray/Int8Array> - local.get $8 - local.get $1 + local.get $4 + local.get $7 call $~lib/typedarray/Int8Array#set<~lib/typedarray/Uint8Array> - local.get $8 - local.get $2 + local.get $4 + local.get $1 call $~lib/typedarray/Int8Array#set<~lib/typedarray/Int16Array> global.get $~lib/memory/__stack_pointer i32.const 11264 i32.store offset=16 - local.get $8 + local.get $4 call $~lib/typedarray/Int8Array#set<~lib/array/Array> i32.const 10 i32.const 0 @@ -40640,7 +40683,7 @@ global.get $~lib/memory/__stack_pointer local.get $0 i32.store offset=16 - local.get $8 + local.get $4 local.get $0 call $std/typedarray/valuesEqual<~lib/typedarray/Int8Array> global.get $~lib/memory/__stack_pointer @@ -40748,15 +40791,14 @@ (func $std/typedarray/testTypedArraySet<~lib/typedarray/Uint8Array> (local $0 i32) (local $1 i32) - (local $2 i32) - (local $3 i32) - (local $4 f32) - (local $5 f64) + (local $2 f32) + (local $3 f64) + (local $4 i32) + (local $5 i32) (local $6 i32) (local $7 i32) (local $8 i32) (local $9 i32) - (local $10 i32) global.get $~lib/memory/__stack_pointer i32.const 20 i32.sub @@ -40802,68 +40844,68 @@ global.get $~lib/memory/__stack_pointer i32.const 4 call $~lib/typedarray/Uint8Array#constructor - local.tee $1 + local.tee $7 i32.store offset=4 - local.get $1 + local.get $7 i32.const 0 i32.const 100 call $~lib/typedarray/Uint8Array#__set - local.get $1 + local.get $7 i32.const 1 i32.const 101 call $~lib/typedarray/Uint8Array#__set - local.get $1 + local.get $7 i32.const 2 i32.const 102 call $~lib/typedarray/Uint8Array#__set - local.get $1 + local.get $7 i32.const 3 i32.const 103 call $~lib/typedarray/Uint8Array#__set global.get $~lib/memory/__stack_pointer i32.const 3 call $~lib/typedarray/Int16Array#constructor - local.tee $2 + local.tee $1 i32.store offset=8 - local.get $2 + local.get $1 i32.const 0 i32.const 1000 call $~lib/typedarray/Int16Array#__set - local.get $2 + local.get $1 i32.const 1 i32.const 1001 call $~lib/typedarray/Int16Array#__set - local.get $2 + local.get $1 i32.const 2 i32.const 1002 call $~lib/typedarray/Int16Array#__set global.get $~lib/memory/__stack_pointer i32.const 10 call $~lib/typedarray/Uint8Array#constructor - local.tee $8 + local.tee $4 i32.store offset=12 global.get $~lib/memory/__stack_pointer i32.const 11008 i32.store offset=16 - local.get $8 + local.get $4 call $~lib/typedarray/Int8Array#set<~lib/array/Array> i32.const 10 i32.const 0 i32.const 63 i32.const 11520 call $~lib/rt/__newArray - local.set $7 + local.set $5 global.get $~lib/memory/__stack_pointer - local.get $7 + local.get $5 i32.store offset=16 - local.get $8 - local.get $7 + local.get $4 + local.get $5 call $std/typedarray/valuesEqual<~lib/typedarray/Uint8Array> global.get $~lib/memory/__stack_pointer i32.const 11088 i32.store offset=16 block $folding-inner1 - local.get $8 + local.get $4 i32.load offset=8 i32.const 11100 i32.load @@ -40871,38 +40913,38 @@ i32.add i32.lt_s br_if $folding-inner1 - local.get $8 + local.get $4 i32.load offset=4 i32.const 3 i32.add - local.set $7 + local.set $8 i32.const 11092 i32.load - local.set $9 + local.set $5 i32.const 11100 i32.load - local.set $10 + local.set $9 loop $for-loop|0 local.get $0 - local.get $10 + local.get $9 i32.lt_s if local.get $0 - local.get $7 + local.get $8 i32.add local.get $0 i32.const 2 i32.shl - local.get $9 + local.get $5 i32.add f32.load - local.tee $4 - local.get $4 + local.tee $2 + local.get $2 f32.sub f32.const 0 f32.eq if (result i32) - local.get $4 + local.get $2 i32.trunc_f32_u else i32.const 0 @@ -40924,10 +40966,10 @@ global.get $~lib/memory/__stack_pointer local.get $0 i32.store offset=16 - local.get $8 + local.get $4 local.get $0 call $std/typedarray/valuesEqual<~lib/typedarray/Uint8Array> - local.get $8 + local.get $4 local.get $6 call $~lib/typedarray/Int8Array#set<~lib/typedarray/Int64Array> i32.const 10 @@ -40939,13 +40981,13 @@ global.get $~lib/memory/__stack_pointer local.get $0 i32.store offset=16 - local.get $8 + local.get $4 local.get $0 call $std/typedarray/valuesEqual<~lib/typedarray/Uint8Array> global.get $~lib/memory/__stack_pointer i32.const 11184 i32.store offset=16 - local.get $8 + local.get $4 i32.load offset=8 i32.const 11196 i32.load @@ -40953,47 +40995,49 @@ i32.add i32.lt_s br_if $folding-inner1 - local.get $8 + local.get $4 i32.load offset=4 i32.const 2 i32.add - local.set $0 + local.set $5 i32.const 11188 i32.load local.set $6 i32.const 11196 i32.load - local.set $7 + local.set $8 + i32.const 0 + local.set $0 loop $for-loop|05 - local.get $3 - local.get $7 + local.get $0 + local.get $8 i32.lt_s if local.get $0 - local.get $3 + local.get $5 i32.add - local.get $3 + local.get $0 i32.const 3 i32.shl local.get $6 i32.add f64.load - local.tee $5 - local.get $5 + local.tee $3 + local.get $3 f64.sub f64.const 0 f64.eq if (result i32) - local.get $5 + local.get $3 i32.trunc_f64_u else i32.const 0 end i32.store8 - local.get $3 + local.get $0 i32.const 1 i32.add - local.set $3 + local.set $0 br $for-loop|05 end end @@ -41006,19 +41050,19 @@ global.get $~lib/memory/__stack_pointer local.get $0 i32.store offset=16 - local.get $8 + local.get $4 local.get $0 call $std/typedarray/valuesEqual<~lib/typedarray/Uint8Array> - local.get $8 - local.get $1 + local.get $4 + local.get $7 call $~lib/typedarray/Int8Array#set<~lib/typedarray/Uint8Array> - local.get $8 - local.get $2 + local.get $4 + local.get $1 call $~lib/typedarray/Int8Array#set<~lib/typedarray/Int16Array> global.get $~lib/memory/__stack_pointer i32.const 11264 i32.store offset=16 - local.get $8 + local.get $4 call $~lib/typedarray/Int8Array#set<~lib/array/Array> i32.const 10 i32.const 0 @@ -41029,7 +41073,7 @@ global.get $~lib/memory/__stack_pointer local.get $0 i32.store offset=16 - local.get $8 + local.get $4 local.get $0 call $std/typedarray/valuesEqual<~lib/typedarray/Uint8Array> global.get $~lib/memory/__stack_pointer @@ -41136,19 +41180,16 @@ ) (func $std/typedarray/testTypedArraySet<~lib/typedarray/Uint8ClampedArray> (local $0 i32) - (local $1 i32) - (local $2 i32) + (local $1 f32) + (local $2 f64) (local $3 i32) - (local $4 f32) - (local $5 f64) + (local $4 i32) + (local $5 i32) (local $6 i32) (local $7 i32) (local $8 i32) (local $9 i32) (local $10 i32) - (local $11 i32) - (local $12 i32) - (local $13 i32) global.get $~lib/memory/__stack_pointer i32.const 20 i32.sub @@ -41165,116 +41206,116 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $6 + local.tee $3 i64.const 0 i64.store - local.get $6 + local.get $3 i64.const 0 i64.store offset=8 - local.get $6 + local.get $3 i32.const 0 i32.store offset=16 - local.get $6 + local.get $3 i32.const 3 call $~lib/typedarray/Int64Array#constructor - local.tee $6 + local.tee $4 i32.store - local.get $6 + local.get $4 i32.const 0 i64.const 7 call $~lib/typedarray/Int64Array#__set - local.get $6 + local.get $4 i32.const 1 i64.const 8 call $~lib/typedarray/Int64Array#__set - local.get $6 + local.get $4 i32.const 2 i64.const 9 call $~lib/typedarray/Int64Array#__set global.get $~lib/memory/__stack_pointer i32.const 4 call $~lib/typedarray/Uint8Array#constructor - local.tee $7 + local.tee $5 i32.store offset=4 - local.get $7 + local.get $5 i32.const 0 i32.const 100 call $~lib/typedarray/Uint8Array#__set - local.get $7 + local.get $5 i32.const 1 i32.const 101 call $~lib/typedarray/Uint8Array#__set - local.get $7 + local.get $5 i32.const 2 i32.const 102 call $~lib/typedarray/Uint8Array#__set - local.get $7 + local.get $5 i32.const 3 i32.const 103 call $~lib/typedarray/Uint8Array#__set global.get $~lib/memory/__stack_pointer i32.const 3 call $~lib/typedarray/Int16Array#constructor - local.tee $8 + local.tee $6 i32.store offset=8 - local.get $8 + local.get $6 i32.const 0 i32.const 1000 call $~lib/typedarray/Int16Array#__set - local.get $8 + local.get $6 i32.const 1 i32.const 1001 call $~lib/typedarray/Int16Array#__set - local.get $8 + local.get $6 i32.const 2 i32.const 1002 call $~lib/typedarray/Int16Array#__set global.get $~lib/memory/__stack_pointer i32.const 10 call $~lib/typedarray/Uint8ClampedArray#constructor - local.tee $11 + local.tee $7 i32.store offset=12 global.get $~lib/memory/__stack_pointer i32.const 11008 i32.store offset=16 - block $folding-inner0 + block $folding-inner1 + local.get $7 + i32.load offset=8 i32.const 11020 i32.load - local.get $11 - i32.load offset=8 - i32.gt_s - br_if $folding-inner0 - local.get $11 + i32.lt_s + br_if $folding-inner1 + local.get $7 i32.load offset=4 - local.set $12 + local.set $8 i32.const 11012 i32.load - local.set $13 + local.set $9 i32.const 11020 i32.load - local.set $9 + local.set $10 loop $for-loop|0 local.get $0 - local.get $9 + local.get $10 i32.lt_s if local.get $0 - local.get $12 + local.get $8 i32.add i32.const 255 local.get $0 i32.const 2 i32.shl - local.get $13 + local.get $9 i32.add i32.load - local.tee $10 + local.tee $3 i32.sub i32.const 31 i32.shr_s - local.get $10 + local.get $3 i32.or - local.get $10 + local.get $3 i32.const 31 i32.shr_s i32.const -1 @@ -41297,54 +41338,56 @@ global.get $~lib/memory/__stack_pointer local.get $0 i32.store offset=16 - local.get $11 + local.get $7 local.get $0 call $std/typedarray/valuesEqual<~lib/typedarray/Uint8ClampedArray> global.get $~lib/memory/__stack_pointer i32.const 11088 i32.store offset=16 - local.get $11 + local.get $7 i32.load offset=8 i32.const 11100 i32.load i32.const 3 i32.add i32.lt_s - br_if $folding-inner0 - local.get $11 + br_if $folding-inner1 + local.get $7 i32.load offset=4 i32.const 3 i32.add - local.set $0 + local.set $3 i32.const 11092 i32.load - local.set $9 + local.set $8 i32.const 11100 i32.load - local.set $10 + local.set $9 + i32.const 0 + local.set $0 loop $for-loop|05 - local.get $1 - local.get $10 + local.get $0 + local.get $9 i32.lt_s if local.get $0 - local.get $1 + local.get $3 i32.add - local.get $1 + local.get $0 i32.const 2 i32.shl - local.get $9 + local.get $8 i32.add f32.load - local.tee $4 - local.get $4 + local.tee $1 + local.get $1 f32.sub f32.const 0 f32.eq if (result i32) f32.const 0 f32.const 255 - local.get $4 + local.get $1 f32.min f32.max i32.trunc_f32_u @@ -41352,10 +41395,10 @@ i32.const 0 end i32.store8 - local.get $1 + local.get $0 i32.const 1 i32.add - local.set $1 + local.set $0 br $for-loop|05 end end @@ -41368,11 +41411,11 @@ global.get $~lib/memory/__stack_pointer local.get $0 i32.store offset=16 - local.get $11 + local.get $7 local.get $0 call $std/typedarray/valuesEqual<~lib/typedarray/Uint8ClampedArray> - local.get $11 - local.get $6 + local.get $7 + local.get $4 i32.const 6 call $~lib/typedarray/Uint8ClampedArray#set<~lib/typedarray/Int64Array> i32.const 10 @@ -41384,54 +41427,56 @@ global.get $~lib/memory/__stack_pointer local.get $0 i32.store offset=16 - local.get $11 + local.get $7 local.get $0 call $std/typedarray/valuesEqual<~lib/typedarray/Uint8ClampedArray> global.get $~lib/memory/__stack_pointer i32.const 11184 i32.store offset=16 - local.get $11 + local.get $7 i32.load offset=8 i32.const 11196 i32.load i32.const 2 i32.add i32.lt_s - br_if $folding-inner0 - local.get $11 + br_if $folding-inner1 + local.get $7 i32.load offset=4 i32.const 2 i32.add - local.set $0 + local.set $3 i32.const 11188 i32.load - local.set $1 + local.set $4 i32.const 11196 i32.load - local.set $6 + local.set $8 + i32.const 0 + local.set $0 loop $for-loop|011 - local.get $2 - local.get $6 + local.get $0 + local.get $8 i32.lt_s if local.get $0 - local.get $2 + local.get $3 i32.add - local.get $2 + local.get $0 i32.const 3 i32.shl - local.get $1 + local.get $4 i32.add f64.load - local.tee $5 - local.get $5 + local.tee $2 + local.get $2 f64.sub f64.const 0 f64.eq if (result i32) f64.const 0 f64.const 255 - local.get $5 + local.get $2 f64.min f64.max i32.trunc_f64_u @@ -41439,10 +41484,10 @@ i32.const 0 end i32.store8 - local.get $2 + local.get $0 i32.const 1 i32.add - local.set $2 + local.set $0 br $for-loop|011 end end @@ -41455,49 +41500,51 @@ global.get $~lib/memory/__stack_pointer local.get $0 i32.store offset=16 - local.get $11 + local.get $7 local.get $0 call $std/typedarray/valuesEqual<~lib/typedarray/Uint8ClampedArray> - local.get $11 local.get $7 + local.get $5 call $~lib/typedarray/Int8Array#set<~lib/typedarray/Uint8Array> - local.get $11 - local.get $8 + local.get $7 + local.get $6 i32.const 4 call $~lib/typedarray/Uint8ClampedArray#set<~lib/typedarray/Int16Array> global.get $~lib/memory/__stack_pointer i32.const 11264 i32.store offset=16 - local.get $11 + local.get $7 i32.load offset=8 i32.const 11276 i32.load i32.const 7 i32.add i32.lt_s - br_if $folding-inner0 - local.get $11 + br_if $folding-inner1 + local.get $7 i32.load offset=4 i32.const 7 i32.add - local.set $0 + local.set $3 i32.const 11268 i32.load - local.set $1 + local.set $4 i32.const 11276 i32.load - local.set $2 + local.set $5 + i32.const 0 + local.set $0 loop $for-loop|017 - local.get $2 - local.get $3 - i32.gt_s + local.get $0 + local.get $5 + i32.lt_s if local.get $0 local.get $3 i32.add i32.const 255 - local.get $1 - local.get $3 + local.get $0 + local.get $4 i32.add i32.load8_s local.tee $6 @@ -41513,10 +41560,10 @@ i32.xor i32.and i32.store8 - local.get $3 + local.get $0 i32.const 1 i32.add - local.set $3 + local.set $0 br $for-loop|017 end end @@ -41529,7 +41576,7 @@ global.get $~lib/memory/__stack_pointer local.get $0 i32.store offset=16 - local.get $11 + local.get $7 local.get $0 call $std/typedarray/valuesEqual<~lib/typedarray/Uint8ClampedArray> global.get $~lib/memory/__stack_pointer @@ -41642,15 +41689,14 @@ (func $std/typedarray/testTypedArraySet<~lib/typedarray/Int16Array> (local $0 i32) (local $1 i32) - (local $2 i32) - (local $3 i32) - (local $4 f32) - (local $5 f64) + (local $2 f32) + (local $3 f64) + (local $4 i32) + (local $5 i32) (local $6 i32) (local $7 i32) (local $8 i32) (local $9 i32) - (local $10 i32) global.get $~lib/memory/__stack_pointer i32.const 20 i32.sub @@ -41696,62 +41742,62 @@ global.get $~lib/memory/__stack_pointer i32.const 4 call $~lib/typedarray/Uint8Array#constructor - local.tee $1 + local.tee $7 i32.store offset=4 - local.get $1 + local.get $7 i32.const 0 i32.const 100 call $~lib/typedarray/Uint8Array#__set - local.get $1 + local.get $7 i32.const 1 i32.const 101 call $~lib/typedarray/Uint8Array#__set - local.get $1 + local.get $7 i32.const 2 i32.const 102 call $~lib/typedarray/Uint8Array#__set - local.get $1 + local.get $7 i32.const 3 i32.const 103 call $~lib/typedarray/Uint8Array#__set global.get $~lib/memory/__stack_pointer i32.const 3 call $~lib/typedarray/Int16Array#constructor - local.tee $2 + local.tee $1 i32.store offset=8 - local.get $2 + local.get $1 i32.const 0 i32.const 1000 call $~lib/typedarray/Int16Array#__set - local.get $2 + local.get $1 i32.const 1 i32.const 1001 call $~lib/typedarray/Int16Array#__set - local.get $2 + local.get $1 i32.const 2 i32.const 1002 call $~lib/typedarray/Int16Array#__set global.get $~lib/memory/__stack_pointer i32.const 10 call $~lib/typedarray/Int16Array#constructor - local.tee $8 + local.tee $4 i32.store offset=12 global.get $~lib/memory/__stack_pointer i32.const 11008 i32.store offset=16 - local.get $8 + local.get $4 call $~lib/typedarray/Int16Array#set<~lib/array/Array> i32.const 10 i32.const 1 i32.const 64 i32.const 11952 call $~lib/rt/__newArray - local.set $7 + local.set $5 global.get $~lib/memory/__stack_pointer - local.get $7 + local.get $5 i32.store offset=16 - local.get $8 - local.get $7 + local.get $4 + local.get $5 call $std/typedarray/valuesEqual<~lib/typedarray/Int16Array> global.get $~lib/memory/__stack_pointer i32.const 11088 @@ -41761,46 +41807,46 @@ i32.load i32.const 3 i32.add - local.get $8 + local.get $4 i32.load offset=8 i32.const 1 i32.shr_u i32.gt_s br_if $folding-inner1 - local.get $8 + local.get $4 i32.load offset=4 i32.const 6 i32.add - local.set $7 + local.set $8 i32.const 11092 i32.load - local.set $9 + local.set $5 i32.const 11100 i32.load - local.set $10 + local.set $9 loop $for-loop|0 local.get $0 - local.get $10 + local.get $9 i32.lt_s if local.get $0 i32.const 1 i32.shl - local.get $7 + local.get $8 i32.add local.get $0 i32.const 2 i32.shl - local.get $9 + local.get $5 i32.add f32.load - local.tee $4 - local.get $4 + local.tee $2 + local.get $2 f32.sub f32.const 0 f32.eq if (result i32) - local.get $4 + local.get $2 i32.trunc_f32_s else i32.const 0 @@ -41822,10 +41868,10 @@ global.get $~lib/memory/__stack_pointer local.get $0 i32.store offset=16 - local.get $8 + local.get $4 local.get $0 call $std/typedarray/valuesEqual<~lib/typedarray/Int16Array> - local.get $8 + local.get $4 local.get $6 call $~lib/typedarray/Int16Array#set<~lib/typedarray/Int64Array> i32.const 10 @@ -41837,7 +41883,7 @@ global.get $~lib/memory/__stack_pointer local.get $0 i32.store offset=16 - local.get $8 + local.get $4 local.get $0 call $std/typedarray/valuesEqual<~lib/typedarray/Int16Array> global.get $~lib/memory/__stack_pointer @@ -41847,55 +41893,57 @@ i32.load i32.const 2 i32.add - local.get $8 + local.get $4 i32.load offset=8 i32.const 1 i32.shr_u i32.gt_s br_if $folding-inner1 - local.get $8 + local.get $4 i32.load offset=4 i32.const 4 i32.add - local.set $0 + local.set $5 i32.const 11188 i32.load local.set $6 i32.const 11196 i32.load - local.set $7 + local.set $8 + i32.const 0 + local.set $0 loop $for-loop|05 - local.get $3 - local.get $7 + local.get $0 + local.get $8 i32.lt_s if - local.get $3 + local.get $0 i32.const 1 i32.shl - local.get $0 + local.get $5 i32.add - local.get $3 + local.get $0 i32.const 3 i32.shl local.get $6 i32.add f64.load - local.tee $5 - local.get $5 + local.tee $3 + local.get $3 f64.sub f64.const 0 f64.eq if (result i32) - local.get $5 + local.get $3 i32.trunc_f64_s else i32.const 0 end i32.store16 - local.get $3 + local.get $0 i32.const 1 i32.add - local.set $3 + local.set $0 br $for-loop|05 end end @@ -41908,19 +41956,19 @@ global.get $~lib/memory/__stack_pointer local.get $0 i32.store offset=16 - local.get $8 + local.get $4 local.get $0 call $std/typedarray/valuesEqual<~lib/typedarray/Int16Array> - local.get $8 - local.get $1 + local.get $4 + local.get $7 call $~lib/typedarray/Int16Array#set<~lib/typedarray/Uint8Array> - local.get $8 - local.get $2 + local.get $4 + local.get $1 call $~lib/typedarray/Int16Array#set<~lib/typedarray/Int16Array> global.get $~lib/memory/__stack_pointer i32.const 11264 i32.store offset=16 - local.get $8 + local.get $4 call $~lib/typedarray/Int16Array#set<~lib/array/Array> i32.const 10 i32.const 1 @@ -41931,7 +41979,7 @@ global.get $~lib/memory/__stack_pointer local.get $0 i32.store offset=16 - local.get $8 + local.get $4 local.get $0 call $std/typedarray/valuesEqual<~lib/typedarray/Int16Array> global.get $~lib/memory/__stack_pointer @@ -42044,15 +42092,14 @@ (func $std/typedarray/testTypedArraySet<~lib/typedarray/Uint16Array> (local $0 i32) (local $1 i32) - (local $2 i32) - (local $3 i32) - (local $4 f32) - (local $5 f64) + (local $2 f32) + (local $3 f64) + (local $4 i32) + (local $5 i32) (local $6 i32) (local $7 i32) (local $8 i32) (local $9 i32) - (local $10 i32) global.get $~lib/memory/__stack_pointer i32.const 20 i32.sub @@ -42098,62 +42145,62 @@ global.get $~lib/memory/__stack_pointer i32.const 4 call $~lib/typedarray/Uint8Array#constructor - local.tee $1 + local.tee $7 i32.store offset=4 - local.get $1 + local.get $7 i32.const 0 i32.const 100 call $~lib/typedarray/Uint8Array#__set - local.get $1 + local.get $7 i32.const 1 i32.const 101 call $~lib/typedarray/Uint8Array#__set - local.get $1 + local.get $7 i32.const 2 i32.const 102 call $~lib/typedarray/Uint8Array#__set - local.get $1 + local.get $7 i32.const 3 i32.const 103 call $~lib/typedarray/Uint8Array#__set global.get $~lib/memory/__stack_pointer i32.const 3 call $~lib/typedarray/Int16Array#constructor - local.tee $2 + local.tee $1 i32.store offset=8 - local.get $2 + local.get $1 i32.const 0 i32.const 1000 call $~lib/typedarray/Int16Array#__set - local.get $2 + local.get $1 i32.const 1 i32.const 1001 call $~lib/typedarray/Int16Array#__set - local.get $2 + local.get $1 i32.const 2 i32.const 1002 call $~lib/typedarray/Int16Array#__set global.get $~lib/memory/__stack_pointer i32.const 10 call $~lib/typedarray/Uint16Array#constructor - local.tee $8 + local.tee $4 i32.store offset=12 global.get $~lib/memory/__stack_pointer i32.const 11008 i32.store offset=16 - local.get $8 + local.get $4 call $~lib/typedarray/Int16Array#set<~lib/array/Array> i32.const 10 i32.const 1 i32.const 65 i32.const 12240 call $~lib/rt/__newArray - local.set $7 + local.set $5 global.get $~lib/memory/__stack_pointer - local.get $7 + local.get $5 i32.store offset=16 - local.get $8 - local.get $7 + local.get $4 + local.get $5 call $std/typedarray/valuesEqual<~lib/typedarray/Uint16Array> global.get $~lib/memory/__stack_pointer i32.const 11088 @@ -42163,46 +42210,46 @@ i32.load i32.const 3 i32.add - local.get $8 + local.get $4 i32.load offset=8 i32.const 1 i32.shr_u i32.gt_s br_if $folding-inner1 - local.get $8 + local.get $4 i32.load offset=4 i32.const 6 i32.add - local.set $7 + local.set $8 i32.const 11092 i32.load - local.set $9 + local.set $5 i32.const 11100 i32.load - local.set $10 + local.set $9 loop $for-loop|0 local.get $0 - local.get $10 + local.get $9 i32.lt_s if local.get $0 i32.const 1 i32.shl - local.get $7 + local.get $8 i32.add local.get $0 i32.const 2 i32.shl - local.get $9 + local.get $5 i32.add f32.load - local.tee $4 - local.get $4 + local.tee $2 + local.get $2 f32.sub f32.const 0 f32.eq if (result i32) - local.get $4 + local.get $2 i32.trunc_f32_u else i32.const 0 @@ -42224,10 +42271,10 @@ global.get $~lib/memory/__stack_pointer local.get $0 i32.store offset=16 - local.get $8 + local.get $4 local.get $0 call $std/typedarray/valuesEqual<~lib/typedarray/Uint16Array> - local.get $8 + local.get $4 local.get $6 call $~lib/typedarray/Int16Array#set<~lib/typedarray/Int64Array> i32.const 10 @@ -42239,7 +42286,7 @@ global.get $~lib/memory/__stack_pointer local.get $0 i32.store offset=16 - local.get $8 + local.get $4 local.get $0 call $std/typedarray/valuesEqual<~lib/typedarray/Uint16Array> global.get $~lib/memory/__stack_pointer @@ -42249,55 +42296,57 @@ i32.load i32.const 2 i32.add - local.get $8 + local.get $4 i32.load offset=8 i32.const 1 i32.shr_u i32.gt_s br_if $folding-inner1 - local.get $8 + local.get $4 i32.load offset=4 i32.const 4 i32.add - local.set $0 + local.set $5 i32.const 11188 i32.load local.set $6 i32.const 11196 i32.load - local.set $7 + local.set $8 + i32.const 0 + local.set $0 loop $for-loop|05 - local.get $3 - local.get $7 + local.get $0 + local.get $8 i32.lt_s if - local.get $3 + local.get $0 i32.const 1 i32.shl - local.get $0 + local.get $5 i32.add - local.get $3 + local.get $0 i32.const 3 i32.shl local.get $6 i32.add f64.load - local.tee $5 - local.get $5 + local.tee $3 + local.get $3 f64.sub f64.const 0 f64.eq if (result i32) - local.get $5 + local.get $3 i32.trunc_f64_u else i32.const 0 end i32.store16 - local.get $3 + local.get $0 i32.const 1 i32.add - local.set $3 + local.set $0 br $for-loop|05 end end @@ -42310,19 +42359,19 @@ global.get $~lib/memory/__stack_pointer local.get $0 i32.store offset=16 - local.get $8 + local.get $4 local.get $0 call $std/typedarray/valuesEqual<~lib/typedarray/Uint16Array> - local.get $8 - local.get $1 + local.get $4 + local.get $7 call $~lib/typedarray/Int16Array#set<~lib/typedarray/Uint8Array> - local.get $8 - local.get $2 + local.get $4 + local.get $1 call $~lib/typedarray/Int16Array#set<~lib/typedarray/Int16Array> global.get $~lib/memory/__stack_pointer i32.const 11264 i32.store offset=16 - local.get $8 + local.get $4 call $~lib/typedarray/Int16Array#set<~lib/array/Array> i32.const 10 i32.const 1 @@ -42333,7 +42382,7 @@ global.get $~lib/memory/__stack_pointer local.get $0 i32.store offset=16 - local.get $8 + local.get $4 local.get $0 call $std/typedarray/valuesEqual<~lib/typedarray/Uint16Array> global.get $~lib/memory/__stack_pointer @@ -42446,16 +42495,15 @@ (func $std/typedarray/testTypedArraySet<~lib/typedarray/Int32Array> (local $0 i32) (local $1 i32) - (local $2 i32) - (local $3 f32) - (local $4 f64) + (local $2 f32) + (local $3 f64) + (local $4 i32) (local $5 i32) (local $6 i32) (local $7 i32) (local $8 i32) (local $9 i32) (local $10 i32) - (local $11 i32) global.get $~lib/memory/__stack_pointer i32.const 20 i32.sub @@ -42484,17 +42532,17 @@ local.get $1 i32.const 3 call $~lib/typedarray/Int64Array#constructor - local.tee $6 + local.tee $7 i32.store - local.get $6 + local.get $7 i32.const 0 i64.const 7 call $~lib/typedarray/Int64Array#__set - local.get $6 + local.get $7 i32.const 1 i64.const 8 call $~lib/typedarray/Int64Array#__set - local.get $6 + local.get $7 i32.const 2 i64.const 9 call $~lib/typedarray/Int64Array#__set @@ -42539,12 +42587,12 @@ global.get $~lib/memory/__stack_pointer i32.const 10 call $~lib/typedarray/Int32Array#constructor - local.tee $9 + local.tee $4 i32.store offset=12 global.get $~lib/memory/__stack_pointer i32.const 11008 i32.store offset=16 - local.get $9 + local.get $4 i32.const 11008 i32.const 0 call $~lib/typedarray/Int32Array#set<~lib/array/Array> @@ -42557,7 +42605,7 @@ global.get $~lib/memory/__stack_pointer local.get $5 i32.store offset=16 - local.get $9 + local.get $4 local.get $5 call $std/typedarray/valuesEqual<~lib/typedarray/Int32Array> global.get $~lib/memory/__stack_pointer @@ -42568,46 +42616,46 @@ i32.load i32.const 3 i32.add - local.get $9 + local.get $4 i32.load offset=8 i32.const 2 i32.shr_u i32.gt_s br_if $folding-inner1 - local.get $9 + local.get $4 i32.load offset=4 i32.const 12 i32.add - local.set $7 + local.set $5 i32.const 11092 i32.load - local.set $10 + local.set $9 i32.const 11100 i32.load - local.set $11 + local.set $10 loop $for-loop|0 local.get $0 - local.get $11 + local.get $10 i32.lt_s if - local.get $10 local.get $0 i32.const 2 i32.shl - local.tee $5 + local.tee $6 + local.get $9 i32.add f32.load - local.set $3 + local.set $2 local.get $5 - local.get $7 + local.get $6 i32.add - local.get $3 - local.get $3 + local.get $2 + local.get $2 f32.sub f32.const 0 f32.eq if (result i32) - local.get $3 + local.get $2 i32.trunc_f32_s else i32.const 0 @@ -42629,11 +42677,11 @@ global.get $~lib/memory/__stack_pointer local.get $0 i32.store offset=16 - local.get $9 + local.get $4 local.get $0 call $std/typedarray/valuesEqual<~lib/typedarray/Int32Array> - local.get $9 - local.get $6 + local.get $4 + local.get $7 call $~lib/typedarray/Int32Array#set<~lib/typedarray/Int64Array> i32.const 10 i32.const 2 @@ -42644,7 +42692,7 @@ global.get $~lib/memory/__stack_pointer local.get $0 i32.store offset=16 - local.get $9 + local.get $4 local.get $0 call $std/typedarray/valuesEqual<~lib/typedarray/Int32Array> global.get $~lib/memory/__stack_pointer @@ -42654,55 +42702,57 @@ i32.load i32.const 2 i32.add - local.get $9 + local.get $4 i32.load offset=8 i32.const 2 i32.shr_u i32.gt_s br_if $folding-inner1 - local.get $9 + local.get $4 i32.load offset=4 i32.const 8 i32.add - local.set $0 + 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 + i32.const 0 + local.set $0 loop $for-loop|05 - local.get $2 - local.get $6 + local.get $0 + local.get $7 i32.lt_s if - local.get $2 + local.get $0 i32.const 2 i32.shl - local.get $0 + local.get $5 i32.add - local.get $2 + local.get $0 i32.const 3 i32.shl - local.get $5 + local.get $6 i32.add f64.load - local.tee $4 - local.get $4 + local.tee $3 + local.get $3 f64.sub f64.const 0 f64.eq if (result i32) - local.get $4 + local.get $3 i32.trunc_f64_s else i32.const 0 end i32.store - local.get $2 + local.get $0 i32.const 1 i32.add - local.set $2 + local.set $0 br $for-loop|05 end end @@ -42715,19 +42765,19 @@ global.get $~lib/memory/__stack_pointer local.get $0 i32.store offset=16 - local.get $9 + local.get $4 local.get $0 call $std/typedarray/valuesEqual<~lib/typedarray/Int32Array> - local.get $9 + local.get $4 local.get $8 call $~lib/typedarray/Int32Array#set<~lib/typedarray/Uint8Array> - local.get $9 + local.get $4 local.get $1 call $~lib/typedarray/Int32Array#set<~lib/typedarray/Int16Array> global.get $~lib/memory/__stack_pointer i32.const 11264 i32.store offset=16 - local.get $9 + local.get $4 call $~lib/typedarray/Int32Array#set<~lib/array/Array> i32.const 10 i32.const 2 @@ -42738,7 +42788,7 @@ global.get $~lib/memory/__stack_pointer local.get $0 i32.store offset=16 - local.get $9 + local.get $4 local.get $0 call $std/typedarray/valuesEqual<~lib/typedarray/Int32Array> global.get $~lib/memory/__stack_pointer @@ -42851,16 +42901,15 @@ (func $std/typedarray/testTypedArraySet<~lib/typedarray/Uint32Array> (local $0 i32) (local $1 i32) - (local $2 i32) - (local $3 f32) - (local $4 f64) + (local $2 f32) + (local $3 f64) + (local $4 i32) (local $5 i32) (local $6 i32) (local $7 i32) (local $8 i32) (local $9 i32) (local $10 i32) - (local $11 i32) global.get $~lib/memory/__stack_pointer i32.const 20 i32.sub @@ -42889,17 +42938,17 @@ local.get $1 i32.const 3 call $~lib/typedarray/Int64Array#constructor - local.tee $6 + local.tee $7 i32.store - local.get $6 + local.get $7 i32.const 0 i64.const 7 call $~lib/typedarray/Int64Array#__set - local.get $6 + local.get $7 i32.const 1 i64.const 8 call $~lib/typedarray/Int64Array#__set - local.get $6 + local.get $7 i32.const 2 i64.const 9 call $~lib/typedarray/Int64Array#__set @@ -42944,12 +42993,12 @@ global.get $~lib/memory/__stack_pointer i32.const 10 call $~lib/typedarray/Uint32Array#constructor - local.tee $9 + local.tee $4 i32.store offset=12 global.get $~lib/memory/__stack_pointer i32.const 11008 i32.store offset=16 - local.get $9 + local.get $4 i32.const 11008 i32.const 0 call $~lib/typedarray/Int32Array#set<~lib/array/Array> @@ -42962,7 +43011,7 @@ global.get $~lib/memory/__stack_pointer local.get $5 i32.store offset=16 - local.get $9 + local.get $4 local.get $5 call $std/typedarray/valuesEqual<~lib/typedarray/Uint32Array> global.get $~lib/memory/__stack_pointer @@ -42973,46 +43022,46 @@ i32.load i32.const 3 i32.add - local.get $9 + local.get $4 i32.load offset=8 i32.const 2 i32.shr_u i32.gt_s br_if $folding-inner1 - local.get $9 + local.get $4 i32.load offset=4 i32.const 12 i32.add - local.set $7 + local.set $5 i32.const 11092 i32.load - local.set $10 + local.set $9 i32.const 11100 i32.load - local.set $11 + local.set $10 loop $for-loop|0 local.get $0 - local.get $11 + local.get $10 i32.lt_s if - local.get $10 local.get $0 i32.const 2 i32.shl - local.tee $5 + local.tee $6 + local.get $9 i32.add f32.load - local.set $3 + local.set $2 local.get $5 - local.get $7 + local.get $6 i32.add - local.get $3 - local.get $3 + local.get $2 + local.get $2 f32.sub f32.const 0 f32.eq if (result i32) - local.get $3 + local.get $2 i32.trunc_f32_u else i32.const 0 @@ -43034,11 +43083,11 @@ global.get $~lib/memory/__stack_pointer local.get $0 i32.store offset=16 - local.get $9 + local.get $4 local.get $0 call $std/typedarray/valuesEqual<~lib/typedarray/Uint32Array> - local.get $9 - local.get $6 + local.get $4 + local.get $7 call $~lib/typedarray/Int32Array#set<~lib/typedarray/Int64Array> i32.const 10 i32.const 2 @@ -43049,7 +43098,7 @@ global.get $~lib/memory/__stack_pointer local.get $0 i32.store offset=16 - local.get $9 + local.get $4 local.get $0 call $std/typedarray/valuesEqual<~lib/typedarray/Uint32Array> global.get $~lib/memory/__stack_pointer @@ -43059,55 +43108,57 @@ i32.load i32.const 2 i32.add - local.get $9 + local.get $4 i32.load offset=8 i32.const 2 i32.shr_u i32.gt_s br_if $folding-inner1 - local.get $9 + local.get $4 i32.load offset=4 i32.const 8 i32.add - local.set $0 + 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 + i32.const 0 + local.set $0 loop $for-loop|05 - local.get $2 - local.get $6 + local.get $0 + local.get $7 i32.lt_s if - local.get $2 + local.get $0 i32.const 2 i32.shl - local.get $0 + local.get $5 i32.add - local.get $2 + local.get $0 i32.const 3 i32.shl - local.get $5 + local.get $6 i32.add f64.load - local.tee $4 - local.get $4 + local.tee $3 + local.get $3 f64.sub f64.const 0 f64.eq if (result i32) - local.get $4 + local.get $3 i32.trunc_f64_u else i32.const 0 end i32.store - local.get $2 + local.get $0 i32.const 1 i32.add - local.set $2 + local.set $0 br $for-loop|05 end end @@ -43120,19 +43171,19 @@ global.get $~lib/memory/__stack_pointer local.get $0 i32.store offset=16 - local.get $9 + local.get $4 local.get $0 call $std/typedarray/valuesEqual<~lib/typedarray/Uint32Array> - local.get $9 + local.get $4 local.get $8 call $~lib/typedarray/Int32Array#set<~lib/typedarray/Uint8Array> - local.get $9 + local.get $4 local.get $1 call $~lib/typedarray/Int32Array#set<~lib/typedarray/Int16Array> global.get $~lib/memory/__stack_pointer i32.const 11264 i32.store offset=16 - local.get $9 + local.get $4 call $~lib/typedarray/Int32Array#set<~lib/array/Array> i32.const 10 i32.const 2 @@ -43143,7 +43194,7 @@ global.get $~lib/memory/__stack_pointer local.get $0 i32.store offset=16 - local.get $9 + local.get $4 local.get $0 call $std/typedarray/valuesEqual<~lib/typedarray/Uint32Array> global.get $~lib/memory/__stack_pointer @@ -43257,15 +43308,14 @@ (func $std/typedarray/testTypedArraySet<~lib/typedarray/Int64Array> (local $0 i32) (local $1 i32) - (local $2 i32) - (local $3 i32) - (local $4 f64) - (local $5 f32) + (local $2 f64) + (local $3 f32) + (local $4 i32) + (local $5 i32) (local $6 i32) (local $7 i32) (local $8 i32) (local $9 i32) - (local $10 i32) global.get $~lib/memory/__stack_pointer i32.const 20 i32.sub @@ -43294,79 +43344,79 @@ local.get $1 i32.const 3 call $~lib/typedarray/Int64Array#constructor - local.tee $7 + local.tee $5 i32.store - local.get $7 + local.get $5 i32.const 0 i64.const 7 call $~lib/typedarray/Int64Array#__set - local.get $7 + local.get $5 i32.const 1 i64.const 8 call $~lib/typedarray/Int64Array#__set - local.get $7 + local.get $5 i32.const 2 i64.const 9 call $~lib/typedarray/Int64Array#__set global.get $~lib/memory/__stack_pointer i32.const 4 call $~lib/typedarray/Uint8Array#constructor - local.tee $1 + local.tee $6 i32.store offset=4 - local.get $1 + local.get $6 i32.const 0 i32.const 100 call $~lib/typedarray/Uint8Array#__set - local.get $1 + local.get $6 i32.const 1 i32.const 101 call $~lib/typedarray/Uint8Array#__set - local.get $1 + local.get $6 i32.const 2 i32.const 102 call $~lib/typedarray/Uint8Array#__set - local.get $1 + local.get $6 i32.const 3 i32.const 103 call $~lib/typedarray/Uint8Array#__set global.get $~lib/memory/__stack_pointer i32.const 3 call $~lib/typedarray/Int16Array#constructor - local.tee $2 + local.tee $1 i32.store offset=8 - local.get $2 + local.get $1 i32.const 0 i32.const 1000 call $~lib/typedarray/Int16Array#__set - local.get $2 + local.get $1 i32.const 1 i32.const 1001 call $~lib/typedarray/Int16Array#__set - local.get $2 + local.get $1 i32.const 2 i32.const 1002 call $~lib/typedarray/Int16Array#__set global.get $~lib/memory/__stack_pointer i32.const 10 call $~lib/typedarray/Int64Array#constructor - local.tee $8 + local.tee $4 i32.store offset=12 global.get $~lib/memory/__stack_pointer i32.const 11008 i32.store offset=16 - local.get $8 + local.get $4 call $~lib/typedarray/Int64Array#set<~lib/array/Array> i32.const 10 i32.const 3 i32.const 67 i32.const 13264 call $~lib/rt/__newArray - local.set $6 + local.set $7 global.get $~lib/memory/__stack_pointer - local.get $6 + local.get $7 i32.store offset=16 - local.get $8 - local.get $6 + local.get $4 + local.get $7 call $std/typedarray/valuesEqual<~lib/typedarray/Int64Array> global.get $~lib/memory/__stack_pointer i32.const 11088 @@ -43376,46 +43426,46 @@ i32.load i32.const 3 i32.add - local.get $8 + local.get $4 i32.load offset=8 i32.const 3 i32.shr_u i32.gt_s br_if $folding-inner1 - local.get $8 + local.get $4 i32.load offset=4 i32.const 24 i32.add - local.set $9 + local.set $7 i32.const 11092 i32.load - local.set $10 + local.set $8 i32.const 11100 i32.load - local.set $6 + local.set $9 loop $for-loop|0 local.get $0 - local.get $6 + local.get $9 i32.lt_s if local.get $0 i32.const 3 i32.shl - local.get $9 + local.get $7 i32.add local.get $0 i32.const 2 i32.shl - local.get $10 + local.get $8 i32.add f32.load - local.tee $5 - local.get $5 + local.tee $3 + local.get $3 f32.sub f32.const 0 f32.eq if (result i64) - local.get $5 + local.get $3 i64.trunc_f32_s else i64.const 0 @@ -43437,11 +43487,11 @@ global.get $~lib/memory/__stack_pointer local.get $0 i32.store offset=16 - local.get $8 + local.get $4 local.get $0 call $std/typedarray/valuesEqual<~lib/typedarray/Int64Array> - local.get $8 - local.get $7 + local.get $4 + local.get $5 call $~lib/typedarray/Int64Array#set<~lib/typedarray/Int64Array> i32.const 10 i32.const 3 @@ -43452,7 +43502,7 @@ global.get $~lib/memory/__stack_pointer local.get $0 i32.store offset=16 - local.get $8 + local.get $4 local.get $0 call $std/typedarray/valuesEqual<~lib/typedarray/Int64Array> global.get $~lib/memory/__stack_pointer @@ -43462,55 +43512,57 @@ i32.load i32.const 2 i32.add - local.get $8 + local.get $4 i32.load offset=8 i32.const 3 i32.shr_u i32.gt_s br_if $folding-inner1 - local.get $8 + local.get $4 i32.load offset=4 i32.const 16 i32.add - local.set $0 + local.set $5 i32.const 11188 i32.load - local.set $6 + local.set $7 i32.const 11196 i32.load - local.set $7 + local.set $8 + i32.const 0 + local.set $0 loop $for-loop|05 - local.get $3 - local.get $7 + local.get $0 + local.get $8 i32.lt_s if - local.get $6 - local.get $3 + local.get $0 i32.const 3 i32.shl local.tee $9 + local.get $7 i32.add f64.load - local.set $4 - local.get $0 + local.set $2 + local.get $5 local.get $9 i32.add - local.get $4 - local.get $4 + local.get $2 + local.get $2 f64.sub f64.const 0 f64.eq if (result i64) - local.get $4 + local.get $2 i64.trunc_f64_s else i64.const 0 end i64.store - local.get $3 + local.get $0 i32.const 1 i32.add - local.set $3 + local.set $0 br $for-loop|05 end end @@ -43523,19 +43575,19 @@ global.get $~lib/memory/__stack_pointer local.get $0 i32.store offset=16 - local.get $8 + local.get $4 local.get $0 call $std/typedarray/valuesEqual<~lib/typedarray/Int64Array> - local.get $8 - local.get $1 + local.get $4 + local.get $6 call $~lib/typedarray/Int64Array#set<~lib/typedarray/Uint8Array> - local.get $8 - local.get $2 + local.get $4 + local.get $1 call $~lib/typedarray/Int64Array#set<~lib/typedarray/Int16Array> global.get $~lib/memory/__stack_pointer i32.const 11264 i32.store offset=16 - local.get $8 + local.get $4 call $~lib/typedarray/Int64Array#set<~lib/array/Array> i32.const 10 i32.const 3 @@ -43546,7 +43598,7 @@ global.get $~lib/memory/__stack_pointer local.get $0 i32.store offset=16 - local.get $8 + local.get $4 local.get $0 call $std/typedarray/valuesEqual<~lib/typedarray/Int64Array> global.get $~lib/memory/__stack_pointer @@ -43660,15 +43712,14 @@ (func $std/typedarray/testTypedArraySet<~lib/typedarray/Uint64Array> (local $0 i32) (local $1 i32) - (local $2 i32) - (local $3 i32) - (local $4 f64) - (local $5 f32) + (local $2 f64) + (local $3 f32) + (local $4 i32) + (local $5 i32) (local $6 i32) (local $7 i32) (local $8 i32) (local $9 i32) - (local $10 i32) global.get $~lib/memory/__stack_pointer i32.const 20 i32.sub @@ -43697,79 +43748,79 @@ local.get $1 i32.const 3 call $~lib/typedarray/Int64Array#constructor - local.tee $7 + local.tee $5 i32.store - local.get $7 + local.get $5 i32.const 0 i64.const 7 call $~lib/typedarray/Int64Array#__set - local.get $7 + local.get $5 i32.const 1 i64.const 8 call $~lib/typedarray/Int64Array#__set - local.get $7 + local.get $5 i32.const 2 i64.const 9 call $~lib/typedarray/Int64Array#__set global.get $~lib/memory/__stack_pointer i32.const 4 call $~lib/typedarray/Uint8Array#constructor - local.tee $1 + local.tee $6 i32.store offset=4 - local.get $1 + local.get $6 i32.const 0 i32.const 100 call $~lib/typedarray/Uint8Array#__set - local.get $1 + local.get $6 i32.const 1 i32.const 101 call $~lib/typedarray/Uint8Array#__set - local.get $1 + local.get $6 i32.const 2 i32.const 102 call $~lib/typedarray/Uint8Array#__set - local.get $1 + local.get $6 i32.const 3 i32.const 103 call $~lib/typedarray/Uint8Array#__set global.get $~lib/memory/__stack_pointer i32.const 3 call $~lib/typedarray/Int16Array#constructor - local.tee $2 + local.tee $1 i32.store offset=8 - local.get $2 + local.get $1 i32.const 0 i32.const 1000 call $~lib/typedarray/Int16Array#__set - local.get $2 + local.get $1 i32.const 1 i32.const 1001 call $~lib/typedarray/Int16Array#__set - local.get $2 + local.get $1 i32.const 2 i32.const 1002 call $~lib/typedarray/Int16Array#__set global.get $~lib/memory/__stack_pointer i32.const 10 call $~lib/typedarray/Uint64Array#constructor - local.tee $8 + local.tee $4 i32.store offset=12 global.get $~lib/memory/__stack_pointer i32.const 11008 i32.store offset=16 - local.get $8 + local.get $4 call $~lib/typedarray/Int64Array#set<~lib/array/Array> i32.const 10 i32.const 3 i32.const 68 i32.const 13872 call $~lib/rt/__newArray - local.set $6 + local.set $7 global.get $~lib/memory/__stack_pointer - local.get $6 + local.get $7 i32.store offset=16 - local.get $8 - local.get $6 + local.get $4 + local.get $7 call $std/typedarray/valuesEqual<~lib/typedarray/Uint64Array> global.get $~lib/memory/__stack_pointer i32.const 11088 @@ -43779,46 +43830,46 @@ i32.load i32.const 3 i32.add - local.get $8 + local.get $4 i32.load offset=8 i32.const 3 i32.shr_u i32.gt_s br_if $folding-inner1 - local.get $8 + local.get $4 i32.load offset=4 i32.const 24 i32.add - local.set $9 + local.set $7 i32.const 11092 i32.load - local.set $10 + local.set $8 i32.const 11100 i32.load - local.set $6 + local.set $9 loop $for-loop|0 local.get $0 - local.get $6 + local.get $9 i32.lt_s if local.get $0 i32.const 3 i32.shl - local.get $9 + local.get $7 i32.add local.get $0 i32.const 2 i32.shl - local.get $10 + local.get $8 i32.add f32.load - local.tee $5 - local.get $5 + local.tee $3 + local.get $3 f32.sub f32.const 0 f32.eq if (result i64) - local.get $5 + local.get $3 i64.trunc_f32_u else i64.const 0 @@ -43840,11 +43891,11 @@ global.get $~lib/memory/__stack_pointer local.get $0 i32.store offset=16 - local.get $8 + local.get $4 local.get $0 call $std/typedarray/valuesEqual<~lib/typedarray/Uint64Array> - local.get $8 - local.get $7 + local.get $4 + local.get $5 call $~lib/typedarray/Int64Array#set<~lib/typedarray/Int64Array> i32.const 10 i32.const 3 @@ -43855,7 +43906,7 @@ global.get $~lib/memory/__stack_pointer local.get $0 i32.store offset=16 - local.get $8 + local.get $4 local.get $0 call $std/typedarray/valuesEqual<~lib/typedarray/Uint64Array> global.get $~lib/memory/__stack_pointer @@ -43865,55 +43916,57 @@ i32.load i32.const 2 i32.add - local.get $8 + local.get $4 i32.load offset=8 i32.const 3 i32.shr_u i32.gt_s br_if $folding-inner1 - local.get $8 + local.get $4 i32.load offset=4 i32.const 16 i32.add - local.set $0 + local.set $5 i32.const 11188 i32.load - local.set $6 + local.set $7 i32.const 11196 i32.load - local.set $7 + local.set $8 + i32.const 0 + local.set $0 loop $for-loop|05 - local.get $3 - local.get $7 + local.get $0 + local.get $8 i32.lt_s if - local.get $6 - local.get $3 + local.get $0 i32.const 3 i32.shl local.tee $9 + local.get $7 i32.add f64.load - local.set $4 - local.get $0 + local.set $2 + local.get $5 local.get $9 i32.add - local.get $4 - local.get $4 + local.get $2 + local.get $2 f64.sub f64.const 0 f64.eq if (result i64) - local.get $4 + local.get $2 i64.trunc_f64_u else i64.const 0 end i64.store - local.get $3 + local.get $0 i32.const 1 i32.add - local.set $3 + local.set $0 br $for-loop|05 end end @@ -43926,19 +43979,19 @@ global.get $~lib/memory/__stack_pointer local.get $0 i32.store offset=16 - local.get $8 + local.get $4 local.get $0 call $std/typedarray/valuesEqual<~lib/typedarray/Uint64Array> - local.get $8 - local.get $1 + local.get $4 + local.get $6 call $~lib/typedarray/Int64Array#set<~lib/typedarray/Uint8Array> - local.get $8 - local.get $2 + local.get $4 + local.get $1 call $~lib/typedarray/Int64Array#set<~lib/typedarray/Int16Array> global.get $~lib/memory/__stack_pointer i32.const 11264 i32.store offset=16 - local.get $8 + local.get $4 call $~lib/typedarray/Int64Array#set<~lib/array/Array> i32.const 10 i32.const 3 @@ -43949,7 +44002,7 @@ global.get $~lib/memory/__stack_pointer local.get $0 i32.store offset=16 - local.get $8 + local.get $4 local.get $0 call $std/typedarray/valuesEqual<~lib/typedarray/Uint64Array> global.get $~lib/memory/__stack_pointer @@ -44072,8 +44125,6 @@ (local $8 i32) (local $9 i32) (local $10 i32) - (local $11 i32) - (local $12 i32) global.get $~lib/memory/__stack_pointer i32.const 20 i32.sub @@ -44090,117 +44141,117 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $5 + local.tee $3 i64.const 0 i64.store - local.get $5 + local.get $3 i64.const 0 i64.store offset=8 - local.get $5 + local.get $3 i32.const 0 i32.store offset=16 - local.get $5 + local.get $3 i32.const 3 call $~lib/typedarray/Int64Array#constructor - local.tee $6 + local.tee $3 i32.store - local.get $6 + local.get $3 i32.const 0 i64.const 7 call $~lib/typedarray/Int64Array#__set - local.get $6 + local.get $3 i32.const 1 i64.const 8 call $~lib/typedarray/Int64Array#__set - local.get $6 + local.get $3 i32.const 2 i64.const 9 call $~lib/typedarray/Int64Array#__set global.get $~lib/memory/__stack_pointer i32.const 4 call $~lib/typedarray/Uint8Array#constructor - local.tee $7 + local.tee $4 i32.store offset=4 - local.get $7 + local.get $4 i32.const 0 i32.const 100 call $~lib/typedarray/Uint8Array#__set - local.get $7 + local.get $4 i32.const 1 i32.const 101 call $~lib/typedarray/Uint8Array#__set - local.get $7 + local.get $4 i32.const 2 i32.const 102 call $~lib/typedarray/Uint8Array#__set - local.get $7 + local.get $4 i32.const 3 i32.const 103 call $~lib/typedarray/Uint8Array#__set global.get $~lib/memory/__stack_pointer i32.const 3 call $~lib/typedarray/Int16Array#constructor - local.tee $8 + local.tee $5 i32.store offset=8 - local.get $8 + local.get $5 i32.const 0 i32.const 1000 call $~lib/typedarray/Int16Array#__set - local.get $8 + local.get $5 i32.const 1 i32.const 1001 call $~lib/typedarray/Int16Array#__set - local.get $8 + local.get $5 i32.const 2 i32.const 1002 call $~lib/typedarray/Int16Array#__set global.get $~lib/memory/__stack_pointer i32.const 10 call $~lib/typedarray/Float32Array#constructor - local.tee $10 + local.tee $8 i32.store offset=12 global.get $~lib/memory/__stack_pointer i32.const 11008 i32.store offset=16 - block $folding-inner0 + block $folding-inner1 i32.const 11020 i32.load - local.get $10 + local.get $8 i32.load offset=8 i32.const 2 i32.shr_u i32.gt_s - br_if $folding-inner0 - local.get $10 + br_if $folding-inner1 + local.get $8 i32.load offset=4 - local.set $9 + local.set $6 i32.const 11012 i32.load - local.set $11 + local.set $9 i32.const 11020 i32.load - local.set $12 + local.set $10 loop $for-loop|0 - local.get $0 - local.get $12 + local.get $2 + local.get $10 i32.lt_s if - local.get $9 - local.get $0 + local.get $2 i32.const 2 i32.shl - local.tee $5 + local.tee $7 + local.get $6 i32.add - local.get $5 - local.get $11 + local.get $7 + local.get $9 i32.add i32.load f32.convert_i32_s f32.store - local.get $0 + local.get $2 i32.const 1 i32.add - local.set $0 + local.set $2 br $for-loop|0 end end @@ -44209,17 +44260,17 @@ i32.const 61 i32.const 14480 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 $8 + local.get $2 call $std/typedarray/valuesEqual<~lib/typedarray/Float32Array> global.get $~lib/memory/__stack_pointer i32.const 11088 i32.store offset=16 - local.get $10 + local.get $8 i32.const 11088 i32.const 3 call $~lib/typedarray/Int32Array#set<~lib/array/Array> @@ -44228,60 +44279,60 @@ i32.const 61 i32.const 14592 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 $8 + local.get $2 call $std/typedarray/valuesEqual<~lib/typedarray/Float32Array> - local.get $6 + local.get $3 i32.load offset=8 i32.const 3 i32.shr_u i32.const 6 i32.add - local.get $10 + local.get $8 i32.load offset=8 i32.const 2 i32.shr_u i32.gt_s - br_if $folding-inner0 - local.get $10 + br_if $folding-inner1 + local.get $8 i32.load offset=4 i32.const 24 i32.add - local.set $0 - local.get $6 + local.set $2 + local.get $3 i32.load offset=4 - local.set $5 - local.get $6 + local.set $6 + local.get $3 i32.load offset=8 i32.const 3 i32.shr_u - local.set $6 + local.set $3 loop $for-loop|02 - local.get $1 - local.get $6 + local.get $0 + local.get $3 i32.lt_s if - local.get $1 + local.get $0 i32.const 2 i32.shl - local.get $0 + local.get $2 i32.add - local.get $1 + local.get $0 i32.const 3 i32.shl - local.get $5 + 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|02 end end @@ -44294,32 +44345,32 @@ global.get $~lib/memory/__stack_pointer local.get $0 i32.store offset=16 - local.get $10 + local.get $8 local.get $0 call $std/typedarray/valuesEqual<~lib/typedarray/Float32Array> - local.get $7 + local.get $4 i32.load offset=8 - local.get $10 + local.get $8 i32.load offset=8 i32.const 2 i32.shr_u i32.gt_s - br_if $folding-inner0 - local.get $10 + br_if $folding-inner1 + local.get $8 i32.load offset=4 local.set $0 - local.get $7 + local.get $4 i32.load offset=4 - local.set $1 - local.get $7 + local.set $2 + local.get $4 i32.load offset=8 - local.set $5 + local.set $3 loop $for-loop|06 - local.get $2 - local.get $5 + local.get $1 + local.get $3 i32.lt_s if - local.get $2 + local.get $1 i32.const 2 i32.shl local.get $0 @@ -44330,60 +44381,62 @@ i32.load8_u f32.convert_i32_u f32.store - local.get $2 + local.get $1 i32.const 1 i32.add - local.set $2 + local.set $1 br $for-loop|06 end end - local.get $8 + local.get $5 i32.load offset=8 i32.const 1 i32.shr_u i32.const 4 i32.add - local.get $10 + local.get $8 i32.load offset=8 i32.const 2 i32.shr_u i32.gt_s - br_if $folding-inner0 - local.get $10 + br_if $folding-inner1 + local.get $8 i32.load offset=4 i32.const 16 i32.add local.set $0 - local.get $8 + local.get $5 i32.load offset=4 - local.set $1 - local.get $8 + local.set $2 + local.get $5 i32.load offset=8 i32.const 1 i32.shr_u - local.set $2 + local.set $3 + i32.const 0 + local.set $1 loop $for-loop|010 - local.get $2 + local.get $1 local.get $3 - i32.gt_s + i32.lt_s if - local.get $3 + local.get $1 i32.const 2 i32.shl local.get $0 i32.add - local.get $3 + local.get $1 i32.const 1 i32.shl - local.get $1 + local.get $2 i32.add i32.load16_s f32.convert_i32_s f32.store - local.get $3 + local.get $1 i32.const 1 i32.add - local.set $3 + local.set $1 br $for-loop|010 end end @@ -44394,43 +44447,45 @@ i32.load i32.const 7 i32.add - local.get $10 + local.get $8 i32.load offset=8 i32.const 2 i32.shr_u i32.gt_s - br_if $folding-inner0 - local.get $10 + br_if $folding-inner1 + local.get $8 i32.load offset=4 i32.const 28 i32.add local.set $0 i32.const 11268 i32.load - local.set $1 + local.set $2 i32.const 11276 i32.load - local.set $2 + local.set $3 + i32.const 0 + local.set $1 loop $for-loop|016 - local.get $2 - local.get $4 - i32.gt_s + local.get $1 + local.get $3 + i32.lt_s if - local.get $4 + local.get $1 i32.const 2 i32.shl local.get $0 i32.add local.get $1 - local.get $4 + local.get $2 i32.add i32.load8_s f32.convert_i32_s f32.store - local.get $4 + local.get $1 i32.const 1 i32.add - local.set $4 + local.set $1 br $for-loop|016 end end @@ -44443,7 +44498,7 @@ global.get $~lib/memory/__stack_pointer local.get $0 i32.store offset=16 - local.get $10 + local.get $8 local.get $0 call $std/typedarray/valuesEqual<~lib/typedarray/Float32Array> global.get $~lib/memory/__stack_pointer @@ -44562,10 +44617,6 @@ (local $6 i32) (local $7 i32) (local $8 i32) - (local $9 i32) - (local $10 i32) - (local $11 i32) - (local $12 i32) global.get $~lib/memory/__stack_pointer i32.const 20 i32.sub @@ -44582,118 +44633,118 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $6 + local.tee $2 i64.const 0 i64.store - local.get $6 + local.get $2 i64.const 0 i64.store offset=8 - local.get $6 + local.get $2 i32.const 0 i32.store offset=16 - local.get $6 + local.get $2 i32.const 3 call $~lib/typedarray/Int64Array#constructor - local.tee $9 + local.tee $2 i32.store - local.get $9 + local.get $2 i32.const 0 i64.const 7 call $~lib/typedarray/Int64Array#__set - local.get $9 + local.get $2 i32.const 1 i64.const 8 call $~lib/typedarray/Int64Array#__set - local.get $9 + local.get $2 i32.const 2 i64.const 9 call $~lib/typedarray/Int64Array#__set global.get $~lib/memory/__stack_pointer i32.const 4 call $~lib/typedarray/Uint8Array#constructor - local.tee $6 + local.tee $3 i32.store offset=4 - local.get $6 + local.get $3 i32.const 0 i32.const 100 call $~lib/typedarray/Uint8Array#__set - local.get $6 + local.get $3 i32.const 1 i32.const 101 call $~lib/typedarray/Uint8Array#__set - local.get $6 + local.get $3 i32.const 2 i32.const 102 call $~lib/typedarray/Uint8Array#__set - local.get $6 + local.get $3 i32.const 3 i32.const 103 call $~lib/typedarray/Uint8Array#__set global.get $~lib/memory/__stack_pointer i32.const 3 call $~lib/typedarray/Int16Array#constructor - local.tee $7 + local.tee $4 i32.store offset=8 - local.get $7 + local.get $4 i32.const 0 i32.const 1000 call $~lib/typedarray/Int16Array#__set - local.get $7 + local.get $4 i32.const 1 i32.const 1001 call $~lib/typedarray/Int16Array#__set - local.get $7 + local.get $4 i32.const 2 i32.const 1002 call $~lib/typedarray/Int16Array#__set global.get $~lib/memory/__stack_pointer i32.const 10 call $~lib/typedarray/Float64Array#constructor - local.tee $10 + local.tee $5 i32.store offset=12 global.get $~lib/memory/__stack_pointer i32.const 11008 i32.store offset=16 - block $folding-inner0 + block $folding-inner1 i32.const 11020 i32.load - local.get $10 + local.get $5 i32.load offset=8 i32.const 3 i32.shr_u i32.gt_s - br_if $folding-inner0 - local.get $10 + br_if $folding-inner1 + local.get $5 i32.load offset=4 - local.set $11 + local.set $6 i32.const 11012 i32.load - local.set $12 + local.set $7 i32.const 11020 i32.load local.set $8 loop $for-loop|0 - local.get $0 + local.get $1 local.get $8 i32.lt_s if - local.get $0 + local.get $1 i32.const 3 i32.shl - local.get $11 + local.get $6 i32.add - local.get $0 + local.get $1 i32.const 2 i32.shl - local.get $12 + local.get $7 i32.add i32.load f64.convert_i32_s f64.store - local.get $0 + local.get $1 i32.const 1 i32.add - local.set $0 + local.set $1 br $for-loop|0 end end @@ -44702,12 +44753,12 @@ i32.const 62 i32.const 14784 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 $10 - local.get $0 + local.get $5 + local.get $1 call $std/typedarray/valuesEqual<~lib/typedarray/Float64Array> global.get $~lib/memory/__stack_pointer i32.const 11088 @@ -44716,37 +44767,39 @@ i32.load i32.const 3 i32.add - local.get $10 + local.get $5 i32.load offset=8 i32.const 3 i32.shr_u i32.gt_s - br_if $folding-inner0 - local.get $10 + br_if $folding-inner1 + local.get $5 i32.load offset=4 i32.const 24 i32.add - local.set $0 + local.set $6 i32.const 11092 i32.load - local.set $8 + local.set $7 i32.const 11100 i32.load - local.set $11 + local.set $8 + i32.const 0 + local.set $1 loop $for-loop|05 local.get $1 - local.get $11 + local.get $8 i32.lt_s if local.get $1 i32.const 3 i32.shl - local.get $0 + local.get $6 i32.add local.get $1 i32.const 2 i32.shl - local.get $8 + local.get $7 i32.add f32.load f64.promote_f32 @@ -44763,59 +44816,61 @@ i32.const 62 i32.const 14944 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 $10 - local.get $0 + local.get $5 + local.get $1 call $std/typedarray/valuesEqual<~lib/typedarray/Float64Array> - local.get $9 + local.get $2 i32.load offset=8 i32.const 3 i32.shr_u i32.const 6 i32.add - local.get $10 + local.get $5 i32.load offset=8 i32.const 3 i32.shr_u i32.gt_s - br_if $folding-inner0 - local.get $10 + br_if $folding-inner1 + local.get $5 i32.load offset=4 i32.const 48 i32.add - local.set $0 - local.get $9 + local.set $6 + local.get $2 i32.load offset=4 - local.set $1 - local.get $9 + local.set $7 + local.get $2 i32.load offset=8 i32.const 3 i32.shr_u - local.set $8 + local.set $2 + i32.const 0 + local.set $1 loop $for-loop|09 - local.get $5 - local.get $8 + local.get $1 + local.get $2 i32.lt_s if - local.get $0 - local.get $5 + local.get $1 i32.const 3 i32.shl - local.tee $9 + local.tee $8 + local.get $6 i32.add - local.get $1 - local.get $9 + local.get $7 + local.get $8 i32.add i64.load f64.convert_i64_s f64.store - local.get $5 + local.get $1 i32.const 1 i32.add - local.set $5 + local.set $1 br $for-loop|09 end end @@ -44824,100 +44879,102 @@ i32.const 62 i32.const 15056 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 $10 - local.get $0 + local.get $5 + local.get $1 call $std/typedarray/valuesEqual<~lib/typedarray/Float64Array> - local.get $6 + local.get $3 i32.load offset=8 - local.get $10 + local.get $5 i32.load offset=8 i32.const 3 i32.shr_u i32.gt_s - br_if $folding-inner0 - local.get $10 - i32.load offset=4 - local.set $0 - local.get $6 + br_if $folding-inner1 + local.get $5 i32.load offset=4 local.set $1 - local.get $6 + local.get $3 + i32.load offset=4 + local.set $2 + local.get $3 i32.load offset=8 - local.set $5 + local.set $3 loop $for-loop|013 - local.get $2 - local.get $5 + local.get $0 + local.get $3 i32.lt_s if - local.get $2 + local.get $0 i32.const 3 i32.shl - local.get $0 - i32.add local.get $1 + i32.add + local.get $0 local.get $2 i32.add i32.load8_u f64.convert_i32_u f64.store - local.get $2 + local.get $0 i32.const 1 i32.add - local.set $2 + local.set $0 br $for-loop|013 end end - local.get $7 + local.get $4 i32.load offset=8 i32.const 1 i32.shr_u i32.const 4 i32.add - local.get $10 + local.get $5 i32.load offset=8 i32.const 3 i32.shr_u i32.gt_s - br_if $folding-inner0 - local.get $10 + br_if $folding-inner1 + local.get $5 i32.load offset=4 i32.const 32 i32.add - local.set $0 - local.get $7 - i32.load offset=4 local.set $1 - local.get $7 + local.get $4 + i32.load offset=4 + local.set $2 + local.get $4 i32.load offset=8 i32.const 1 i32.shr_u - local.set $2 + local.set $3 + i32.const 0 + local.set $0 loop $for-loop|017 - local.get $2 + local.get $0 local.get $3 - i32.gt_s + i32.lt_s if - local.get $3 + local.get $0 i32.const 3 i32.shl - local.get $0 + local.get $1 i32.add - local.get $3 + local.get $0 i32.const 1 i32.shl - local.get $1 + local.get $2 i32.add i32.load16_s f64.convert_i32_s f64.store - local.get $3 + local.get $0 i32.const 1 i32.add - local.set $3 + local.set $0 br $for-loop|017 end end @@ -44928,43 +44985,45 @@ i32.load i32.const 7 i32.add - local.get $10 + local.get $5 i32.load offset=8 i32.const 3 i32.shr_u i32.gt_s - br_if $folding-inner0 - local.get $10 + br_if $folding-inner1 + local.get $5 i32.load offset=4 i32.const 56 i32.add - local.set $0 + local.set $1 i32.const 11268 i32.load - local.set $1 + local.set $2 i32.const 11276 i32.load - local.set $2 + local.set $3 + i32.const 0 + local.set $0 loop $for-loop|023 - local.get $2 - local.get $4 - i32.gt_s + local.get $0 + local.get $3 + i32.lt_s if - local.get $4 + local.get $0 i32.const 3 i32.shl - local.get $0 - i32.add local.get $1 - local.get $4 + i32.add + local.get $0 + local.get $2 i32.add i32.load8_s f64.convert_i32_s f64.store - local.get $4 + local.get $0 i32.const 1 i32.add - local.set $4 + local.set $0 br $for-loop|023 end end @@ -44977,7 +45036,7 @@ global.get $~lib/memory/__stack_pointer local.get $0 i32.store offset=16 - local.get $10 + local.get $5 local.get $0 call $std/typedarray/valuesEqual<~lib/typedarray/Float64Array> global.get $~lib/memory/__stack_pointer @@ -45004,68 +45063,13 @@ (local $7 f64) (local $8 i32) (local $9 i32) - (local $10 i32) - (local $11 i64) + (local $10 i64) + (local $11 i32) (local $12 i32) (local $13 i32) - (local $14 i32) - (local $15 i64) - (local $16 i32) - (local $17 f32) - (local $18 f64) - (local $19 i32) - (local $20 i32) - (local $21 i32) - (local $22 i32) - (local $23 i32) - (local $24 i32) - (local $25 i32) - (local $26 i32) - (local $27 i32) - (local $28 i32) - (local $29 i32) - (local $30 i32) - (local $31 i32) - (local $32 i32) - (local $33 i32) - (local $34 i32) - (local $35 i32) - (local $36 i32) - (local $37 i32) - (local $38 i32) - (local $39 i32) - (local $40 i32) - (local $41 i32) - (local $42 i32) - (local $43 i32) - (local $44 i32) - (local $45 i32) - (local $46 i32) - (local $47 i32) - (local $48 i32) - (local $49 i32) - (local $50 i32) - (local $51 i32) - (local $52 i32) - (local $53 i32) - (local $54 i32) - (local $55 i32) - (local $56 i32) - (local $57 i32) - (local $58 i32) - (local $59 i32) - (local $60 i64) - (local $61 i32) - (local $62 i32) - (local $63 i32) - (local $64 i64) - (local $65 i64) - (local $66 f32) - (local $67 f64) - (local $68 i32) - (local $69 i32) - (local $70 i32) - (local $71 i32) + (local $14 i64) + (local $15 f32) + (local $16 f64) global.get $~lib/memory/__stack_pointer i32.const 32 i32.sub @@ -45089,13 +45093,13 @@ block $folding-inner25 block $folding-inner24 block $folding-inner23 - block $folding-inner22 - block $folding-inner21 - block $folding-inner19 + block $folding-inner21 + block $folding-inner18 + block $folding-inner17 block $folding-inner16 - block $folding-inner20 - block $folding-inner18 - block $folding-inner17 + block $folding-inner22 + block $folding-inner20 + block $folding-inner19 block $folding-inner15 block $folding-inner14 block $folding-inner13 @@ -45109,7 +45113,7 @@ global.get $~lib/memory/__stack_pointer i32.const 16628 i32.lt_s - br_if $folding-inner22 + br_if $folding-inner21 global.get $~lib/memory/__stack_pointer local.tee $0 i64.const 0 @@ -45503,29 +45507,29 @@ global.get $~lib/memory/__stack_pointer i32.const 5 call $~lib/typedarray/Int8Array#constructor - local.tee $3 + local.tee $2 i32.store - local.get $3 + local.get $2 i32.const 0 i32.const 1 call $~lib/typedarray/Int8Array#__set - local.get $3 + local.get $2 i32.const 1 i32.const 2 call $~lib/typedarray/Int8Array#__set - local.get $3 + local.get $2 i32.const 2 i32.const 3 call $~lib/typedarray/Int8Array#__set - local.get $3 + local.get $2 i32.const 3 i32.const 4 call $~lib/typedarray/Int8Array#__set - local.get $3 + local.get $2 i32.const 4 i32.const 5 call $~lib/typedarray/Int8Array#__set - local.get $3 + local.get $2 i32.const 1 i32.const 1 i32.const 3 @@ -45539,7 +45543,7 @@ global.get $~lib/memory/__stack_pointer local.get $0 i32.store offset=4 - local.get $3 + local.get $2 local.get $0 call $std/typedarray/isInt8ArrayEqual i32.eqz @@ -45551,7 +45555,7 @@ call $~lib/builtins/abort unreachable end - local.get $3 + local.get $2 i32.const 0 i32.const 0 i32.const 2147483647 @@ -45565,7 +45569,7 @@ global.get $~lib/memory/__stack_pointer local.get $0 i32.store offset=4 - local.get $3 + local.get $2 local.get $0 call $std/typedarray/isInt8ArrayEqual i32.eqz @@ -45577,7 +45581,7 @@ call $~lib/builtins/abort unreachable end - local.get $3 + local.get $2 i32.const 1 i32.const 0 i32.const -3 @@ -45591,7 +45595,7 @@ global.get $~lib/memory/__stack_pointer local.get $0 i32.store offset=4 - local.get $3 + local.get $2 local.get $0 call $std/typedarray/isInt8ArrayEqual i32.eqz @@ -45603,7 +45607,7 @@ call $~lib/builtins/abort unreachable end - local.get $3 + local.get $2 i32.const 2 i32.const -2 i32.const 2147483647 @@ -45617,7 +45621,7 @@ global.get $~lib/memory/__stack_pointer local.get $0 i32.store offset=4 - local.get $3 + local.get $2 local.get $0 call $std/typedarray/isInt8ArrayEqual i32.eqz @@ -45629,7 +45633,7 @@ call $~lib/builtins/abort unreachable end - local.get $3 + local.get $2 i32.const 0 i32.const 1 i32.const 0 @@ -45643,7 +45647,7 @@ global.get $~lib/memory/__stack_pointer local.get $0 i32.store offset=4 - local.get $3 + local.get $2 local.get $0 call $std/typedarray/isInt8ArrayEqual i32.eqz @@ -45656,18 +45660,18 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $3 + local.get $2 i32.const 1 i32.const 4 call $~lib/typedarray/Int8Array#subarray - local.tee $2 + local.tee $1 i32.store offset=8 - local.get $2 + local.get $1 i32.const 0 i32.const 0 i32.const 2147483647 call $~lib/typedarray/Int8Array#fill - local.get $2 + local.get $1 i32.load offset=8 i32.const 3 i32.ne @@ -45679,9 +45683,9 @@ call $~lib/builtins/abort unreachable end - local.get $2 + local.get $1 i32.load offset=4 - local.get $2 + local.get $1 i32.load i32.sub i32.const 1 @@ -45694,7 +45698,7 @@ call $~lib/builtins/abort unreachable end - local.get $2 + local.get $1 i32.load offset=8 i32.const 3 i32.ne @@ -45715,7 +45719,7 @@ global.get $~lib/memory/__stack_pointer local.get $0 i32.store offset=4 - local.get $2 + local.get $1 local.get $0 call $std/typedarray/isInt8ArrayEqual i32.eqz @@ -45736,7 +45740,7 @@ global.get $~lib/memory/__stack_pointer local.get $0 i32.store offset=4 - local.get $3 + local.get $2 local.get $0 call $std/typedarray/isInt8ArrayEqual i32.eqz @@ -45751,58 +45755,58 @@ global.get $~lib/memory/__stack_pointer i32.const 5 call $~lib/typedarray/Int32Array#constructor - local.tee $6 + local.tee $4 i32.store offset=8 - local.get $6 + local.get $4 i32.const 0 i32.const 1 call $~lib/typedarray/Int32Array#__set - local.get $6 + local.get $4 i32.const 1 i32.const 2 call $~lib/typedarray/Int32Array#__set - local.get $6 + local.get $4 i32.const 2 i32.const 3 call $~lib/typedarray/Int32Array#__set - local.get $6 + local.get $4 i32.const 3 i32.const 4 call $~lib/typedarray/Int32Array#__set - local.get $6 + local.get $4 i32.const 4 i32.const 5 call $~lib/typedarray/Int32Array#__set - local.get $6 + local.get $4 i32.load offset=4 - local.set $3 + local.set $2 i32.const 1 - local.get $6 + local.get $4 i32.load offset=8 i32.const 2 i32.shr_u - local.tee $2 - local.get $2 + local.tee $1 + local.get $1 i32.const 1 - i32.gt_u + i32.gt_s select local.set $0 i32.const 3 - local.get $2 - local.get $2 + local.get $1 + local.get $1 i32.const 3 - i32.gt_u + i32.gt_s select - local.set $2 + local.set $1 loop $for-loop|0 local.get $0 - local.get $2 + local.get $1 i32.lt_s if local.get $0 i32.const 2 i32.shl - local.get $3 + local.get $2 i32.add i32.const 1 i32.store @@ -45822,7 +45826,7 @@ global.get $~lib/memory/__stack_pointer local.get $0 i32.store offset=4 - local.get $6 + local.get $4 local.get $0 call $std/typedarray/isInt32ArrayEqual i32.eqz @@ -45834,25 +45838,29 @@ call $~lib/builtins/abort unreachable end - local.get $6 + local.get $4 i32.load offset=4 - local.set $3 - local.get $6 + local.set $2 + i32.const 0 + local.get $4 i32.load offset=8 i32.const 2 i32.shr_u - local.set $2 + local.tee $1 + local.get $1 i32.const 0 + i32.gt_s + select local.set $0 loop $for-loop|01 local.get $0 - local.get $2 + local.get $1 i32.lt_s if local.get $0 i32.const 2 i32.shl - local.get $3 + local.get $2 i32.add i32.const 0 i32.store @@ -45872,7 +45880,7 @@ global.get $~lib/memory/__stack_pointer local.get $0 i32.store offset=4 - local.get $6 + local.get $4 local.get $0 call $std/typedarray/isInt32ArrayEqual i32.eqz @@ -45884,33 +45892,39 @@ call $~lib/builtins/abort unreachable end - local.get $6 + local.get $4 i32.load offset=4 - local.set $3 + local.set $2 i32.const 0 - local.set $0 - local.get $6 + 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 + local.get $1 i32.const 3 i32.sub - local.tee $2 + local.tee $1 i32.const 0 - local.get $2 + local.get $1 i32.const 0 i32.gt_s select - local.set $2 + local.set $1 loop $for-loop|03 local.get $0 - local.get $2 + local.get $1 i32.lt_s if local.get $0 i32.const 2 i32.shl - local.get $3 + local.get $2 i32.add i32.const 1 i32.store @@ -45930,7 +45944,7 @@ global.get $~lib/memory/__stack_pointer local.get $0 i32.store offset=4 - local.get $6 + local.get $4 local.get $0 call $std/typedarray/isInt32ArrayEqual i32.eqz @@ -45942,14 +45956,14 @@ call $~lib/builtins/abort unreachable end - local.get $6 + local.get $4 i32.load offset=4 - local.set $3 - local.get $6 + local.set $2 + local.get $4 i32.load offset=8 i32.const 2 i32.shr_u - local.tee $2 + local.tee $1 i32.const 2 i32.sub local.tee $0 @@ -45961,13 +45975,13 @@ local.set $0 loop $for-loop|05 local.get $0 - local.get $2 + local.get $1 i32.lt_s if local.get $0 i32.const 2 i32.shl - local.get $3 + local.get $2 i32.add i32.const 2 i32.store @@ -45987,7 +46001,7 @@ global.get $~lib/memory/__stack_pointer local.get $0 i32.store offset=4 - local.get $6 + local.get $4 local.get $0 call $std/typedarray/isInt32ArrayEqual i32.eqz @@ -45999,23 +46013,30 @@ call $~lib/builtins/abort unreachable end - local.get $6 + local.get $4 i32.load offset=4 local.set $2 i32.const 1 - local.get $6 + local.get $4 i32.load offset=8 i32.const 2 i32.shr_u - local.tee $0 - local.get $0 + local.tee $1 + local.get $1 i32.const 1 - i32.gt_u + i32.gt_s select local.set $0 + i32.const 0 + local.get $1 + local.get $1 + i32.const 0 + i32.gt_s + select + local.set $1 loop $for-loop|07 local.get $0 - i32.const 0 + local.get $1 i32.lt_s if local.get $0 @@ -46041,7 +46062,7 @@ global.get $~lib/memory/__stack_pointer local.get $0 i32.store offset=4 - local.get $6 + local.get $4 local.get $0 call $std/typedarray/isInt32ArrayEqual i32.eqz @@ -46054,31 +46075,35 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $6 + local.get $4 i32.const 1 i32.const 4 call $~lib/typedarray/Int32Array#subarray - local.tee $4 + local.tee $3 i32.store offset=12 - local.get $4 + local.get $3 i32.load offset=4 - local.set $3 - local.get $4 + local.set $2 + i32.const 0 + local.get $3 i32.load offset=8 i32.const 2 i32.shr_u - local.set $2 + local.tee $1 + local.get $1 i32.const 0 + i32.gt_s + select local.set $0 loop $for-loop|09 local.get $0 - local.get $2 + local.get $1 i32.lt_s if local.get $0 i32.const 2 i32.shl - local.get $3 + local.get $2 i32.add i32.const 0 i32.store @@ -46089,7 +46114,7 @@ br $for-loop|09 end end - local.get $4 + local.get $3 i32.load offset=8 i32.const 2 i32.shr_u @@ -46103,9 +46128,9 @@ call $~lib/builtins/abort unreachable end - local.get $4 + local.get $3 i32.load offset=4 - local.get $4 + local.get $3 i32.load i32.sub i32.const 4 @@ -46118,7 +46143,7 @@ call $~lib/builtins/abort unreachable end - local.get $4 + local.get $3 i32.load offset=8 i32.const 12 i32.ne @@ -46139,7 +46164,7 @@ global.get $~lib/memory/__stack_pointer local.get $0 i32.store offset=4 - local.get $4 + local.get $3 local.get $0 call $std/typedarray/isInt32ArrayEqual i32.eqz @@ -46160,7 +46185,7 @@ global.get $~lib/memory/__stack_pointer local.get $0 i32.store offset=4 - local.get $6 + local.get $4 local.get $0 call $std/typedarray/isInt32ArrayEqual i32.eqz @@ -46408,16 +46433,16 @@ i32.const 0 i32.const 2147483647 call $~lib/typedarray/Int32Array#slice - local.tee $3 + local.tee $2 i32.store local.get $0 i32.const 0 i32.const 3 i32.const 2147483647 call $~lib/typedarray/Int32Array#copyWithin - local.set $2 + local.set $1 global.get $~lib/memory/__stack_pointer - local.get $2 + local.get $1 i32.store offset=20 i32.const 5 i32.const 2 @@ -46428,7 +46453,7 @@ global.get $~lib/memory/__stack_pointer local.get $0 i32.store offset=4 - local.get $2 + local.get $1 local.get $0 call $std/typedarray/isInt32ArrayEqual i32.eqz @@ -46441,7 +46466,7 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $3 + local.get $2 i32.const 0 i32.const 2147483647 call $~lib/typedarray/Int32Array#slice @@ -46452,9 +46477,9 @@ i32.const 3 i32.const 2147483647 call $~lib/typedarray/Int32Array#copyWithin - local.set $2 + local.set $1 global.get $~lib/memory/__stack_pointer - local.get $2 + local.get $1 i32.store offset=20 i32.const 5 i32.const 2 @@ -46465,7 +46490,7 @@ global.get $~lib/memory/__stack_pointer local.get $0 i32.store offset=4 - local.get $2 + local.get $1 local.get $0 call $std/typedarray/isInt32ArrayEqual i32.eqz @@ -46478,7 +46503,7 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $3 + local.get $2 i32.const 0 i32.const 2147483647 call $~lib/typedarray/Int32Array#slice @@ -46489,9 +46514,9 @@ i32.const 2 i32.const 2147483647 call $~lib/typedarray/Int32Array#copyWithin - local.set $2 + local.set $1 global.get $~lib/memory/__stack_pointer - local.get $2 + local.get $1 i32.store offset=20 i32.const 5 i32.const 2 @@ -46502,7 +46527,7 @@ global.get $~lib/memory/__stack_pointer local.get $0 i32.store offset=4 - local.get $2 + local.get $1 local.get $0 call $std/typedarray/isInt32ArrayEqual i32.eqz @@ -46515,7 +46540,7 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $3 + local.get $2 i32.const 0 i32.const 2147483647 call $~lib/typedarray/Int32Array#slice @@ -46526,9 +46551,9 @@ i32.const 2 i32.const 2147483647 call $~lib/typedarray/Int32Array#copyWithin - local.set $2 + local.set $1 global.get $~lib/memory/__stack_pointer - local.get $2 + local.get $1 i32.store offset=20 i32.const 5 i32.const 2 @@ -46539,7 +46564,7 @@ global.get $~lib/memory/__stack_pointer local.get $0 i32.store offset=4 - local.get $2 + local.get $1 local.get $0 call $std/typedarray/isInt32ArrayEqual i32.eqz @@ -46552,7 +46577,7 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $3 + local.get $2 i32.const 0 i32.const 2147483647 call $~lib/typedarray/Int32Array#slice @@ -46563,9 +46588,9 @@ i32.const 3 i32.const 4 call $~lib/typedarray/Int32Array#copyWithin - local.set $2 + local.set $1 global.get $~lib/memory/__stack_pointer - local.get $2 + local.get $1 i32.store offset=20 i32.const 5 i32.const 2 @@ -46576,7 +46601,7 @@ global.get $~lib/memory/__stack_pointer local.get $0 i32.store offset=4 - local.get $2 + local.get $1 local.get $0 call $std/typedarray/isInt32ArrayEqual i32.eqz @@ -46589,7 +46614,7 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $3 + local.get $2 i32.const 0 i32.const 2147483647 call $~lib/typedarray/Int32Array#slice @@ -46600,9 +46625,9 @@ i32.const 3 i32.const 4 call $~lib/typedarray/Int32Array#copyWithin - local.set $2 + local.set $1 global.get $~lib/memory/__stack_pointer - local.get $2 + local.get $1 i32.store offset=20 i32.const 5 i32.const 2 @@ -46613,7 +46638,7 @@ global.get $~lib/memory/__stack_pointer local.get $0 i32.store offset=4 - local.get $2 + local.get $1 local.get $0 call $std/typedarray/isInt32ArrayEqual i32.eqz @@ -46626,7 +46651,7 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $3 + local.get $2 i32.const 0 i32.const 2147483647 call $~lib/typedarray/Int32Array#slice @@ -46637,9 +46662,9 @@ i32.const 2 i32.const 4 call $~lib/typedarray/Int32Array#copyWithin - local.set $2 + local.set $1 global.get $~lib/memory/__stack_pointer - local.get $2 + local.get $1 i32.store offset=20 i32.const 5 i32.const 2 @@ -46650,7 +46675,7 @@ global.get $~lib/memory/__stack_pointer local.get $0 i32.store offset=4 - local.get $2 + local.get $1 local.get $0 call $std/typedarray/isInt32ArrayEqual i32.eqz @@ -46663,7 +46688,7 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $3 + local.get $2 i32.const 0 i32.const 2147483647 call $~lib/typedarray/Int32Array#slice @@ -46674,9 +46699,9 @@ i32.const -2 i32.const 2147483647 call $~lib/typedarray/Int32Array#copyWithin - local.set $2 + local.set $1 global.get $~lib/memory/__stack_pointer - local.get $2 + local.get $1 i32.store offset=20 i32.const 5 i32.const 2 @@ -46687,7 +46712,7 @@ global.get $~lib/memory/__stack_pointer local.get $0 i32.store offset=4 - local.get $2 + local.get $1 local.get $0 call $std/typedarray/isInt32ArrayEqual i32.eqz @@ -46700,7 +46725,7 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $3 + local.get $2 i32.const 0 i32.const 2147483647 call $~lib/typedarray/Int32Array#slice @@ -46711,9 +46736,9 @@ i32.const -2 i32.const -1 call $~lib/typedarray/Int32Array#copyWithin - local.set $2 + local.set $1 global.get $~lib/memory/__stack_pointer - local.get $2 + local.get $1 i32.store offset=20 i32.const 5 i32.const 2 @@ -46724,7 +46749,7 @@ global.get $~lib/memory/__stack_pointer local.get $0 i32.store offset=4 - local.get $2 + local.get $1 local.get $0 call $std/typedarray/isInt32ArrayEqual i32.eqz @@ -46737,7 +46762,7 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $3 + local.get $2 i32.const 0 i32.const 2147483647 call $~lib/typedarray/Int32Array#slice @@ -46748,9 +46773,9 @@ i32.const -3 i32.const -2 call $~lib/typedarray/Int32Array#copyWithin - local.set $2 + local.set $1 global.get $~lib/memory/__stack_pointer - local.get $2 + local.get $1 i32.store offset=20 i32.const 5 i32.const 2 @@ -46761,7 +46786,7 @@ global.get $~lib/memory/__stack_pointer local.get $0 i32.store offset=4 - local.get $2 + local.get $1 local.get $0 call $std/typedarray/isInt32ArrayEqual i32.eqz @@ -46774,7 +46799,7 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $3 + local.get $2 i32.const 0 i32.const 2147483647 call $~lib/typedarray/Int32Array#slice @@ -46785,9 +46810,9 @@ i32.const -3 i32.const -1 call $~lib/typedarray/Int32Array#copyWithin - local.set $2 + local.set $1 global.get $~lib/memory/__stack_pointer - local.get $2 + local.get $1 i32.store offset=20 i32.const 5 i32.const 2 @@ -46798,7 +46823,7 @@ global.get $~lib/memory/__stack_pointer local.get $0 i32.store offset=4 - local.get $2 + local.get $1 local.get $0 call $std/typedarray/isInt32ArrayEqual i32.eqz @@ -46811,7 +46836,7 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $3 + local.get $2 i32.const 0 i32.const 2147483647 call $~lib/typedarray/Int32Array#slice @@ -46822,9 +46847,9 @@ i32.const -3 i32.const 2147483647 call $~lib/typedarray/Int32Array#copyWithin - local.set $2 + local.set $1 global.get $~lib/memory/__stack_pointer - local.get $2 + local.get $1 i32.store offset=20 i32.const 5 i32.const 2 @@ -46835,7 +46860,7 @@ global.get $~lib/memory/__stack_pointer local.get $0 i32.store offset=4 - local.get $2 + local.get $1 local.get $0 call $std/typedarray/isInt32ArrayEqual i32.eqz @@ -46850,36 +46875,36 @@ global.get $~lib/memory/__stack_pointer i32.const 5 call $~lib/typedarray/Int32Array#constructor - local.tee $3 + local.tee $2 i32.store - local.get $3 + local.get $2 i32.const 0 i32.const 1 call $~lib/typedarray/Int32Array#__set - local.get $3 + local.get $2 i32.const 1 i32.const 2 call $~lib/typedarray/Int32Array#__set - local.get $3 + local.get $2 i32.const 2 i32.const 3 call $~lib/typedarray/Int32Array#__set - local.get $3 + local.get $2 i32.const 3 i32.const 4 call $~lib/typedarray/Int32Array#__set - local.get $3 + local.get $2 i32.const 4 i32.const 5 call $~lib/typedarray/Int32Array#__set global.get $~lib/memory/__stack_pointer - local.get $3 + local.get $2 i32.const 1 i32.const 4 call $~lib/typedarray/Int32Array#subarray - local.tee $2 + local.tee $1 i32.store offset=16 - local.get $2 + local.get $1 i32.load offset=8 i32.const 2 i32.shr_u @@ -46893,9 +46918,9 @@ call $~lib/builtins/abort unreachable end - local.get $2 + local.get $1 i32.load offset=4 - local.get $2 + local.get $1 i32.load i32.sub i32.const 4 @@ -46908,7 +46933,7 @@ call $~lib/builtins/abort unreachable end - local.get $2 + local.get $1 i32.load offset=8 i32.const 12 i32.ne @@ -46921,7 +46946,7 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $3 + local.get $2 i32.const 1 i32.const 3 call $~lib/typedarray/Int32Array#slice @@ -46993,7 +47018,7 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $2 + local.get $1 i32.const 1 i32.const 2 call $~lib/typedarray/Int32Array#slice @@ -47052,14 +47077,14 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $3 + local.get $2 i32.const 0 i32.const 2147483647 call $~lib/typedarray/Int32Array#slice local.tee $0 i32.store offset=24 local.get $0 - local.get $3 + local.get $2 i32.eq if i32.const 0 @@ -47073,7 +47098,7 @@ i32.load offset=8 i32.const 2 i32.shr_u - local.get $3 + local.get $2 i32.load offset=8 i32.const 2 i32.shr_u @@ -47091,9 +47116,9 @@ local.get $0 i32.load i32.sub - local.get $3 + local.get $2 i32.load offset=4 - local.get $3 + local.get $2 i32.load i32.sub i32.ne @@ -47107,7 +47132,7 @@ end local.get $0 i32.load offset=8 - local.get $3 + local.get $2 i32.load offset=8 i32.ne if @@ -47125,7 +47150,7 @@ global.get $~lib/memory/__stack_pointer i32.const 16628 i32.lt_s - br_if $folding-inner22 + br_if $folding-inner21 global.get $~lib/memory/__stack_pointer local.tee $0 i64.const 0 @@ -47133,57 +47158,57 @@ local.get $0 i32.const 3 call $~lib/typedarray/Int8Array#constructor - local.tee $4 + local.tee $3 i32.store - local.get $4 + local.get $3 i32.const 0 i32.const 1 call $~lib/typedarray/Int8Array#__set - local.get $4 + local.get $3 i32.const 1 i32.const 2 call $~lib/typedarray/Int8Array#__set - local.get $4 + local.get $3 i32.const 2 i32.const 3 call $~lib/typedarray/Int8Array#__set global.get $~lib/memory/__stack_pointer i32.const 2896 i32.store offset=4 - local.get $4 + local.get $3 i32.load offset=4 - local.set $3 - local.get $4 - i32.load offset=8 local.set $2 + local.get $3 + i32.load offset=8 + local.set $1 loop $for-loop|010 - local.get $2 - local.get $10 + local.get $1 + local.get $6 i32.gt_s if - local.get $3 - local.get $10 + local.get $2 + local.get $6 i32.add i32.load8_s local.set $0 i32.const 4 global.set $~argumentsLength - local.get $53 + local.get $8 local.get $0 - local.get $10 - local.get $4 + local.get $6 + local.get $3 i32.const 2896 i32.load call_indirect $0 (type $i32_i32_i32_i32_=>_i32) - local.set $53 - local.get $10 + local.set $8 + local.get $6 i32.const 1 i32.add - local.set $10 + local.set $6 br $for-loop|010 end end - local.get $53 + local.get $8 i32.const 255 i32.and i32.const 6 @@ -47200,7 +47225,7 @@ global.get $~lib/memory/__stack_pointer i32.const 16628 i32.lt_s - br_if $folding-inner22 + br_if $folding-inner21 global.get $~lib/memory/__stack_pointer local.tee $0 i64.const 0 @@ -47208,57 +47233,61 @@ local.get $0 i32.const 3 call $~lib/typedarray/Uint8Array#constructor - local.tee $4 + local.tee $3 i32.store - local.get $4 + local.get $3 i32.const 0 i32.const 1 call $~lib/typedarray/Uint8Array#__set - local.get $4 + local.get $3 i32.const 1 i32.const 2 call $~lib/typedarray/Uint8Array#__set - local.get $4 + local.get $3 i32.const 2 i32.const 3 call $~lib/typedarray/Uint8Array#__set global.get $~lib/memory/__stack_pointer i32.const 2928 i32.store offset=4 - local.get $4 + i32.const 0 + local.set $8 + local.get $3 i32.load offset=4 - local.set $3 - local.get $4 - i32.load offset=8 local.set $2 + i32.const 0 + local.set $6 + local.get $3 + i32.load offset=8 + local.set $1 loop $for-loop|0511 - local.get $2 - local.get $8 + local.get $1 + local.get $6 i32.gt_s if - local.get $3 - local.get $8 + local.get $2 + local.get $6 i32.add i32.load8_u local.set $0 i32.const 4 global.set $~argumentsLength - local.get $54 - local.get $0 local.get $8 - local.get $4 + local.get $0 + local.get $6 + local.get $3 i32.const 2928 i32.load call_indirect $0 (type $i32_i32_i32_i32_=>_i32) - local.set $54 - local.get $8 + local.set $8 + local.get $6 i32.const 1 i32.add - local.set $8 + local.set $6 br $for-loop|0511 end end - local.get $54 + local.get $8 i32.const 255 i32.and i32.const 6 @@ -47275,7 +47304,7 @@ global.get $~lib/memory/__stack_pointer i32.const 16628 i32.lt_s - br_if $folding-inner22 + br_if $folding-inner21 global.get $~lib/memory/__stack_pointer local.tee $0 i64.const 0 @@ -47283,57 +47312,61 @@ local.get $0 i32.const 3 call $~lib/typedarray/Uint8ClampedArray#constructor - local.tee $4 + local.tee $3 i32.store - local.get $4 + local.get $3 i32.const 0 i32.const 1 call $~lib/typedarray/Uint8ClampedArray#__set - local.get $4 + local.get $3 i32.const 1 i32.const 2 call $~lib/typedarray/Uint8ClampedArray#__set - local.get $4 + local.get $3 i32.const 2 i32.const 3 call $~lib/typedarray/Uint8ClampedArray#__set global.get $~lib/memory/__stack_pointer i32.const 2960 i32.store offset=4 - local.get $4 + i32.const 0 + local.set $8 + local.get $3 i32.load offset=4 - local.set $3 - local.get $4 - i32.load offset=8 local.set $2 + i32.const 0 + local.set $6 + local.get $3 + i32.load offset=8 + local.set $1 loop $for-loop|013 - local.get $2 - local.get $9 + local.get $1 + local.get $6 i32.gt_s if - local.get $3 - local.get $9 + local.get $2 + local.get $6 i32.add i32.load8_u local.set $0 i32.const 4 global.set $~argumentsLength - local.get $55 + local.get $8 local.get $0 - local.get $9 - local.get $4 + local.get $6 + local.get $3 i32.const 2960 i32.load call_indirect $0 (type $i32_i32_i32_i32_=>_i32) - local.set $55 - local.get $9 + local.set $8 + local.get $6 i32.const 1 i32.add - local.set $9 + local.set $6 br $for-loop|013 end end - local.get $55 + local.get $8 i32.const 255 i32.and i32.const 6 @@ -47350,7 +47383,7 @@ global.get $~lib/memory/__stack_pointer i32.const 16628 i32.lt_s - br_if $folding-inner22 + br_if $folding-inner21 global.get $~lib/memory/__stack_pointer local.tee $0 i64.const 0 @@ -47358,61 +47391,65 @@ local.get $0 i32.const 3 call $~lib/typedarray/Int16Array#constructor - local.tee $4 + local.tee $3 i32.store - local.get $4 + local.get $3 i32.const 0 i32.const 1 call $~lib/typedarray/Int16Array#__set - local.get $4 + local.get $3 i32.const 1 i32.const 2 call $~lib/typedarray/Int16Array#__set - local.get $4 + local.get $3 i32.const 2 i32.const 3 call $~lib/typedarray/Int16Array#__set global.get $~lib/memory/__stack_pointer i32.const 2992 i32.store offset=4 - local.get $4 + i32.const 0 + local.set $8 + local.get $3 i32.load offset=4 - local.set $3 - local.get $4 + local.set $2 + i32.const 0 + local.set $6 + local.get $3 i32.load offset=8 i32.const 1 i32.shr_u - local.set $2 + local.set $1 loop $for-loop|017 - local.get $2 - local.get $12 + local.get $1 + local.get $6 i32.gt_s if - local.get $12 + local.get $6 i32.const 1 i32.shl - local.get $3 + local.get $2 i32.add i32.load16_s local.set $0 i32.const 4 global.set $~argumentsLength - local.get $56 + local.get $8 local.get $0 - local.get $12 - local.get $4 + local.get $6 + local.get $3 i32.const 2992 i32.load call_indirect $0 (type $i32_i32_i32_i32_=>_i32) - local.set $56 - local.get $12 + local.set $8 + local.get $6 i32.const 1 i32.add - local.set $12 + local.set $6 br $for-loop|017 end end - local.get $56 + local.get $8 i32.const 65535 i32.and i32.const 6 @@ -47429,7 +47466,7 @@ global.get $~lib/memory/__stack_pointer i32.const 16628 i32.lt_s - br_if $folding-inner22 + br_if $folding-inner21 global.get $~lib/memory/__stack_pointer local.tee $0 i64.const 0 @@ -47437,61 +47474,65 @@ local.get $0 i32.const 3 call $~lib/typedarray/Uint16Array#constructor - local.tee $4 + local.tee $3 i32.store - local.get $4 + local.get $3 i32.const 0 i32.const 1 call $~lib/typedarray/Uint16Array#__set - local.get $4 + local.get $3 i32.const 1 i32.const 2 call $~lib/typedarray/Uint16Array#__set - local.get $4 + local.get $3 i32.const 2 i32.const 3 call $~lib/typedarray/Uint16Array#__set global.get $~lib/memory/__stack_pointer i32.const 3024 i32.store offset=4 - local.get $4 + i32.const 0 + local.set $8 + local.get $3 i32.load offset=4 - local.set $3 - local.get $4 + local.set $2 + i32.const 0 + local.set $6 + local.get $3 i32.load offset=8 i32.const 1 i32.shr_u - local.set $2 + local.set $1 loop $for-loop|022 - local.get $2 - local.get $19 + local.get $1 + local.get $6 i32.gt_s if - local.get $19 + local.get $6 i32.const 1 i32.shl - local.get $3 + local.get $2 i32.add i32.load16_u local.set $0 i32.const 4 global.set $~argumentsLength - local.get $57 + local.get $8 local.get $0 - local.get $19 - local.get $4 + local.get $6 + local.get $3 i32.const 3024 i32.load call_indirect $0 (type $i32_i32_i32_i32_=>_i32) - local.set $57 - local.get $19 + local.set $8 + local.get $6 i32.const 1 i32.add - local.set $19 + local.set $6 br $for-loop|022 end end - local.get $57 + local.get $8 i32.const 65535 i32.and i32.const 6 @@ -47508,7 +47549,7 @@ global.get $~lib/memory/__stack_pointer i32.const 16628 i32.lt_s - br_if $folding-inner22 + br_if $folding-inner21 global.get $~lib/memory/__stack_pointer local.tee $0 i64.const 0 @@ -47516,61 +47557,65 @@ local.get $0 i32.const 3 call $~lib/typedarray/Int32Array#constructor - local.tee $4 + local.tee $3 i32.store - local.get $4 + local.get $3 i32.const 0 i32.const 1 call $~lib/typedarray/Int32Array#__set - local.get $4 + local.get $3 i32.const 1 i32.const 2 call $~lib/typedarray/Int32Array#__set - local.get $4 + local.get $3 i32.const 2 i32.const 3 call $~lib/typedarray/Int32Array#__set global.get $~lib/memory/__stack_pointer i32.const 3056 i32.store offset=4 - local.get $4 + i32.const 0 + local.set $8 + local.get $3 i32.load offset=4 - local.set $3 - local.get $4 + local.set $2 + i32.const 0 + local.set $6 + local.get $3 i32.load offset=8 i32.const 2 i32.shr_u - local.set $2 + local.set $1 loop $for-loop|027 - local.get $2 - local.get $20 + local.get $1 + local.get $6 i32.gt_s if - local.get $20 + local.get $6 i32.const 2 i32.shl - local.get $3 + local.get $2 i32.add i32.load local.set $0 i32.const 4 global.set $~argumentsLength - local.get $58 + local.get $8 local.get $0 - local.get $20 - local.get $4 + local.get $6 + local.get $3 i32.const 3056 i32.load call_indirect $0 (type $i32_i32_i32_i32_=>_i32) - local.set $58 - local.get $20 + local.set $8 + local.get $6 i32.const 1 i32.add - local.set $20 + local.set $6 br $for-loop|027 end end - local.get $58 + local.get $8 i32.const 6 i32.ne br_if $folding-inner1 @@ -47585,7 +47630,7 @@ global.get $~lib/memory/__stack_pointer i32.const 16628 i32.lt_s - br_if $folding-inner22 + br_if $folding-inner21 global.get $~lib/memory/__stack_pointer local.tee $0 i64.const 0 @@ -47593,61 +47638,65 @@ local.get $0 i32.const 3 call $~lib/typedarray/Uint32Array#constructor - local.tee $4 + local.tee $3 i32.store - local.get $4 + local.get $3 i32.const 0 i32.const 1 call $~lib/typedarray/Uint32Array#__set - local.get $4 + local.get $3 i32.const 1 i32.const 2 call $~lib/typedarray/Uint32Array#__set - local.get $4 + local.get $3 i32.const 2 i32.const 3 call $~lib/typedarray/Uint32Array#__set global.get $~lib/memory/__stack_pointer i32.const 3088 i32.store offset=4 - local.get $4 + i32.const 0 + local.set $8 + local.get $3 i32.load offset=4 - local.set $3 - local.get $4 + local.set $2 + i32.const 0 + local.set $6 + local.get $3 i32.load offset=8 i32.const 2 i32.shr_u - local.set $2 + local.set $1 loop $for-loop|032 - local.get $2 - local.get $32 + local.get $1 + local.get $6 i32.gt_s if - local.get $32 + local.get $6 i32.const 2 i32.shl - local.get $3 + local.get $2 i32.add i32.load local.set $0 i32.const 4 global.set $~argumentsLength - local.get $59 + local.get $8 local.get $0 - local.get $32 - local.get $4 + local.get $6 + local.get $3 i32.const 3088 i32.load call_indirect $0 (type $i32_i32_i32_i32_=>_i32) - local.set $59 - local.get $32 + local.set $8 + local.get $6 i32.const 1 i32.add - local.set $32 + local.set $6 br $for-loop|032 end end - local.get $59 + local.get $8 i32.const 6 i32.ne br_if $folding-inner1 @@ -47662,7 +47711,7 @@ global.get $~lib/memory/__stack_pointer i32.const 16628 i32.lt_s - br_if $folding-inner22 + br_if $folding-inner21 global.get $~lib/memory/__stack_pointer local.tee $0 i64.const 0 @@ -47670,61 +47719,63 @@ local.get $0 i32.const 3 call $~lib/typedarray/Int64Array#constructor - local.tee $3 + local.tee $2 i32.store - local.get $3 + local.get $2 i32.const 0 i64.const 1 call $~lib/typedarray/Int64Array#__set - local.get $3 + local.get $2 i32.const 1 i64.const 2 call $~lib/typedarray/Int64Array#__set - local.get $3 + local.get $2 i32.const 2 i64.const 3 call $~lib/typedarray/Int64Array#__set global.get $~lib/memory/__stack_pointer i32.const 3120 i32.store offset=4 - local.get $3 + local.get $2 i32.load offset=4 - local.set $2 - local.get $3 + local.set $1 + i32.const 0 + local.set $6 + local.get $2 i32.load offset=8 i32.const 3 i32.shr_u local.set $0 loop $for-loop|037 local.get $0 - local.get $33 + local.get $6 i32.gt_s if - local.get $33 + local.get $6 i32.const 3 i32.shl - local.get $2 + local.get $1 i32.add i64.load - local.set $11 + local.set $10 i32.const 4 global.set $~argumentsLength - local.get $15 - local.get $11 - local.get $33 - local.get $3 + local.get $14 + local.get $10 + local.get $6 + local.get $2 i32.const 3120 i32.load call_indirect $0 (type $i64_i64_i32_i32_=>_i64) - local.set $15 - local.get $33 + local.set $14 + local.get $6 i32.const 1 i32.add - local.set $33 + local.set $6 br $for-loop|037 end end - local.get $15 + local.get $14 i64.const 6 i64.ne br_if $folding-inner1 @@ -47739,7 +47790,7 @@ global.get $~lib/memory/__stack_pointer i32.const 16628 i32.lt_s - br_if $folding-inner22 + br_if $folding-inner21 global.get $~lib/memory/__stack_pointer local.tee $0 i64.const 0 @@ -47747,61 +47798,65 @@ local.get $0 i32.const 3 call $~lib/typedarray/Uint64Array#constructor - local.tee $3 + local.tee $2 i32.store - local.get $3 + local.get $2 i32.const 0 i64.const 1 call $~lib/typedarray/Uint64Array#__set - local.get $3 + local.get $2 i32.const 1 i64.const 2 call $~lib/typedarray/Uint64Array#__set - local.get $3 + local.get $2 i32.const 2 i64.const 3 call $~lib/typedarray/Uint64Array#__set global.get $~lib/memory/__stack_pointer i32.const 3152 i32.store offset=4 - local.get $3 + i64.const 0 + local.set $14 + local.get $2 i32.load offset=4 - local.set $2 - local.get $3 + local.set $1 + i32.const 0 + local.set $6 + local.get $2 i32.load offset=8 i32.const 3 i32.shr_u local.set $0 loop $for-loop|042 local.get $0 - local.get $34 + local.get $6 i32.gt_s if - local.get $34 + local.get $6 i32.const 3 i32.shl - local.get $2 + local.get $1 i32.add i64.load - local.set $11 + local.set $10 i32.const 4 global.set $~argumentsLength - local.get $60 - local.get $11 - local.get $34 - local.get $3 + local.get $14 + local.get $10 + local.get $6 + local.get $2 i32.const 3152 i32.load call_indirect $0 (type $i64_i64_i32_i32_=>_i64) - local.set $60 - local.get $34 + local.set $14 + local.get $6 i32.const 1 i32.add - local.set $34 + local.set $6 br $for-loop|042 end end - local.get $60 + local.get $14 i64.const 6 i64.ne br_if $folding-inner1 @@ -47816,7 +47871,7 @@ global.get $~lib/memory/__stack_pointer i32.const 16628 i32.lt_s - br_if $folding-inner22 + br_if $folding-inner21 global.get $~lib/memory/__stack_pointer local.tee $0 i64.const 0 @@ -47824,61 +47879,63 @@ local.get $0 i32.const 3 call $~lib/typedarray/Float32Array#constructor - local.tee $3 + local.tee $2 i32.store - local.get $3 + local.get $2 i32.const 0 f32.const 1 call $~lib/typedarray/Float32Array#__set - local.get $3 + local.get $2 i32.const 1 f32.const 2 call $~lib/typedarray/Float32Array#__set - local.get $3 + local.get $2 i32.const 2 f32.const 3 call $~lib/typedarray/Float32Array#__set global.get $~lib/memory/__stack_pointer i32.const 3184 i32.store offset=4 - local.get $3 + local.get $2 i32.load offset=4 - local.set $2 - local.get $3 - i32.load offset=8 - i32.const 2 + local.set $1 + i32.const 0 + local.set $6 + local.get $2 + i32.load offset=8 + i32.const 2 i32.shr_u local.set $0 loop $for-loop|047 local.get $0 - local.get $35 + local.get $6 i32.gt_s if - local.get $35 + local.get $6 i32.const 2 i32.shl - local.get $2 + local.get $1 i32.add f32.load local.set $5 i32.const 4 global.set $~argumentsLength - local.get $17 + local.get $15 local.get $5 - local.get $35 - local.get $3 + local.get $6 + local.get $2 i32.const 3184 i32.load call_indirect $0 (type $f32_f32_i32_i32_=>_f32) - local.set $17 - local.get $35 + local.set $15 + local.get $6 i32.const 1 i32.add - local.set $35 + local.set $6 br $for-loop|047 end end - local.get $17 + local.get $15 f32.const 6 f32.ne br_if $folding-inner1 @@ -47893,7 +47950,7 @@ global.get $~lib/memory/__stack_pointer i32.const 16628 i32.lt_s - br_if $folding-inner22 + br_if $folding-inner21 global.get $~lib/memory/__stack_pointer local.tee $0 i64.const 0 @@ -47901,61 +47958,63 @@ local.get $0 i32.const 3 call $~lib/typedarray/Float64Array#constructor - local.tee $3 + local.tee $2 i32.store - local.get $3 + local.get $2 i32.const 0 f64.const 1 call $~lib/typedarray/Float64Array#__set - local.get $3 + local.get $2 i32.const 1 f64.const 2 call $~lib/typedarray/Float64Array#__set - local.get $3 + local.get $2 i32.const 2 f64.const 3 call $~lib/typedarray/Float64Array#__set global.get $~lib/memory/__stack_pointer i32.const 3216 i32.store offset=4 - local.get $3 + local.get $2 i32.load offset=4 - local.set $2 - local.get $3 + local.set $1 + i32.const 0 + local.set $6 + local.get $2 i32.load offset=8 i32.const 3 i32.shr_u local.set $0 loop $for-loop|052 local.get $0 - local.get $36 + local.get $6 i32.gt_s if - local.get $36 + local.get $6 i32.const 3 i32.shl - local.get $2 + local.get $1 i32.add f64.load local.set $7 i32.const 4 global.set $~argumentsLength - local.get $18 + local.get $16 local.get $7 - local.get $36 - local.get $3 + local.get $6 + local.get $2 i32.const 3216 i32.load call_indirect $0 (type $f64_f64_i32_i32_=>_f64) - local.set $18 - local.get $36 + local.set $16 + local.get $6 i32.const 1 i32.add - local.set $36 + local.set $6 br $for-loop|052 end end - local.get $18 + local.get $16 f64.const 6 f64.ne br_if $folding-inner1 @@ -47970,7 +48029,7 @@ global.get $~lib/memory/__stack_pointer i32.const 16628 i32.lt_s - br_if $folding-inner22 + br_if $folding-inner21 global.get $~lib/memory/__stack_pointer local.tee $0 i32.const 0 @@ -48021,7 +48080,7 @@ global.get $~lib/memory/__stack_pointer i32.const 16628 i32.lt_s - br_if $folding-inner22 + br_if $folding-inner21 global.get $~lib/memory/__stack_pointer local.tee $0 i32.const 0 @@ -48072,7 +48131,7 @@ global.get $~lib/memory/__stack_pointer i32.const 16628 i32.lt_s - br_if $folding-inner22 + br_if $folding-inner21 global.get $~lib/memory/__stack_pointer local.tee $0 i32.const 0 @@ -48123,7 +48182,7 @@ global.get $~lib/memory/__stack_pointer i32.const 16628 i32.lt_s - br_if $folding-inner22 + br_if $folding-inner21 global.get $~lib/memory/__stack_pointer local.tee $0 i32.const 0 @@ -48174,7 +48233,7 @@ global.get $~lib/memory/__stack_pointer i32.const 16628 i32.lt_s - br_if $folding-inner22 + br_if $folding-inner21 global.get $~lib/memory/__stack_pointer local.tee $0 i32.const 0 @@ -48225,7 +48284,7 @@ global.get $~lib/memory/__stack_pointer i32.const 16628 i32.lt_s - br_if $folding-inner22 + br_if $folding-inner21 global.get $~lib/memory/__stack_pointer local.tee $0 i32.const 0 @@ -48276,7 +48335,7 @@ global.get $~lib/memory/__stack_pointer i32.const 16628 i32.lt_s - br_if $folding-inner22 + br_if $folding-inner21 global.get $~lib/memory/__stack_pointer local.tee $0 i32.const 0 @@ -48327,7 +48386,7 @@ global.get $~lib/memory/__stack_pointer i32.const 16628 i32.lt_s - br_if $folding-inner22 + br_if $folding-inner21 global.get $~lib/memory/__stack_pointer local.tee $0 i32.const 0 @@ -48378,7 +48437,7 @@ global.get $~lib/memory/__stack_pointer i32.const 16628 i32.lt_s - br_if $folding-inner22 + br_if $folding-inner21 global.get $~lib/memory/__stack_pointer local.tee $0 i32.const 0 @@ -48429,7 +48488,7 @@ global.get $~lib/memory/__stack_pointer i32.const 16628 i32.lt_s - br_if $folding-inner22 + br_if $folding-inner21 global.get $~lib/memory/__stack_pointer local.tee $0 i32.const 0 @@ -48480,7 +48539,7 @@ global.get $~lib/memory/__stack_pointer i32.const 16628 i32.lt_s - br_if $folding-inner22 + br_if $folding-inner21 global.get $~lib/memory/__stack_pointer local.tee $0 i32.const 0 @@ -48531,7 +48590,7 @@ global.get $~lib/memory/__stack_pointer i32.const 16628 i32.lt_s - br_if $folding-inner22 + br_if $folding-inner21 global.get $~lib/memory/__stack_pointer local.tee $0 i64.const 0 @@ -48539,59 +48598,61 @@ local.get $0 i32.const 3 call $~lib/typedarray/Int8Array#constructor - local.tee $4 + local.tee $2 i32.store - local.get $4 + local.get $2 i32.const 0 i32.const 1 call $~lib/typedarray/Int8Array#__set - local.get $4 + local.get $2 i32.const 1 i32.const 2 call $~lib/typedarray/Int8Array#__set - local.get $4 + local.get $2 i32.const 2 i32.const 3 call $~lib/typedarray/Int8Array#__set global.get $~lib/memory/__stack_pointer i32.const 3248 i32.store offset=4 - local.get $4 + i32.const 0 + local.set $6 + local.get $2 i32.load offset=4 - local.set $3 - local.get $4 + local.set $1 + local.get $2 i32.load offset=8 i32.const 1 i32.sub - local.set $0 + local.set $12 loop $for-loop|059 - local.get $0 + local.get $12 i32.const 0 i32.ge_s if - local.get $0 - local.get $3 + local.get $1 + local.get $12 i32.add i32.load8_s - local.set $2 + local.set $0 i32.const 4 global.set $~argumentsLength - local.get $61 - local.get $2 + local.get $6 local.get $0 - local.get $4 + local.get $12 + local.get $2 i32.const 3248 i32.load call_indirect $0 (type $i32_i32_i32_i32_=>_i32) - local.set $61 - local.get $0 + local.set $6 + local.get $12 i32.const 1 i32.sub - local.set $0 + local.set $12 br $for-loop|059 end end - local.get $61 + local.get $6 i32.const 255 i32.and i32.const 6 @@ -48608,7 +48669,7 @@ global.get $~lib/memory/__stack_pointer i32.const 16628 i32.lt_s - br_if $folding-inner22 + br_if $folding-inner21 global.get $~lib/memory/__stack_pointer local.tee $0 i64.const 0 @@ -48616,59 +48677,61 @@ local.get $0 i32.const 3 call $~lib/typedarray/Uint8Array#constructor - local.tee $4 + local.tee $2 i32.store - local.get $4 + local.get $2 i32.const 0 i32.const 1 call $~lib/typedarray/Uint8Array#__set - local.get $4 + local.get $2 i32.const 1 i32.const 2 call $~lib/typedarray/Uint8Array#__set - local.get $4 + local.get $2 i32.const 2 i32.const 3 call $~lib/typedarray/Uint8Array#__set global.get $~lib/memory/__stack_pointer i32.const 3280 i32.store offset=4 - local.get $4 + i32.const 0 + local.set $6 + local.get $2 i32.load offset=4 - local.set $3 - local.get $4 + local.set $1 + local.get $2 i32.load offset=8 i32.const 1 i32.sub - local.set $0 + local.set $12 loop $for-loop|064 - local.get $0 + local.get $12 i32.const 0 i32.ge_s if - local.get $0 - local.get $3 + local.get $1 + local.get $12 i32.add i32.load8_u - local.set $2 + local.set $0 i32.const 4 global.set $~argumentsLength - local.get $62 - local.get $2 + local.get $6 local.get $0 - local.get $4 + local.get $12 + local.get $2 i32.const 3280 i32.load call_indirect $0 (type $i32_i32_i32_i32_=>_i32) - local.set $62 - local.get $0 + local.set $6 + local.get $12 i32.const 1 i32.sub - local.set $0 + local.set $12 br $for-loop|064 end end - local.get $62 + local.get $6 i32.const 255 i32.and i32.const 6 @@ -48685,7 +48748,7 @@ global.get $~lib/memory/__stack_pointer i32.const 16628 i32.lt_s - br_if $folding-inner22 + br_if $folding-inner21 global.get $~lib/memory/__stack_pointer local.tee $0 i64.const 0 @@ -48693,59 +48756,61 @@ local.get $0 i32.const 3 call $~lib/typedarray/Uint8ClampedArray#constructor - local.tee $4 + local.tee $2 i32.store - local.get $4 + local.get $2 i32.const 0 i32.const 1 call $~lib/typedarray/Uint8ClampedArray#__set - local.get $4 + local.get $2 i32.const 1 i32.const 2 call $~lib/typedarray/Uint8ClampedArray#__set - local.get $4 + local.get $2 i32.const 2 i32.const 3 call $~lib/typedarray/Uint8ClampedArray#__set global.get $~lib/memory/__stack_pointer i32.const 3312 i32.store offset=4 - local.get $4 + i32.const 0 + local.set $6 + local.get $2 i32.load offset=4 - local.set $3 - local.get $4 + local.set $1 + local.get $2 i32.load offset=8 i32.const 1 i32.sub - local.set $0 + local.set $12 loop $for-loop|071 - local.get $0 + local.get $12 i32.const 0 i32.ge_s if - local.get $0 - local.get $3 + local.get $1 + local.get $12 i32.add i32.load8_u - local.set $2 + local.set $0 i32.const 4 global.set $~argumentsLength - local.get $63 - local.get $2 + local.get $6 local.get $0 - local.get $4 + local.get $12 + local.get $2 i32.const 3312 i32.load call_indirect $0 (type $i32_i32_i32_i32_=>_i32) - local.set $63 - local.get $0 + local.set $6 + local.get $12 i32.const 1 i32.sub - local.set $0 + local.set $12 br $for-loop|071 end end - local.get $63 + local.get $6 i32.const 255 i32.and i32.const 6 @@ -48762,7 +48827,7 @@ global.get $~lib/memory/__stack_pointer i32.const 16628 i32.lt_s - br_if $folding-inner22 + br_if $folding-inner21 global.get $~lib/memory/__stack_pointer local.tee $0 i64.const 0 @@ -48770,63 +48835,65 @@ local.get $0 i32.const 3 call $~lib/typedarray/Int16Array#constructor - local.tee $4 + local.tee $2 i32.store - local.get $4 + local.get $2 i32.const 0 i32.const 1 call $~lib/typedarray/Int16Array#__set - local.get $4 + local.get $2 i32.const 1 i32.const 2 call $~lib/typedarray/Int16Array#__set - local.get $4 + local.get $2 i32.const 2 i32.const 3 call $~lib/typedarray/Int16Array#__set global.get $~lib/memory/__stack_pointer i32.const 3344 i32.store offset=4 - local.get $4 + i32.const 0 + local.set $6 + local.get $2 i32.load offset=4 - local.set $3 - local.get $4 + local.set $1 + local.get $2 i32.load offset=8 i32.const 1 i32.shr_u i32.const 1 i32.sub - local.set $0 + local.set $12 loop $for-loop|076 - local.get $0 + local.get $12 i32.const 0 i32.ge_s if - local.get $0 + local.get $12 i32.const 1 i32.shl - local.get $3 + local.get $1 i32.add i32.load16_s - local.set $2 + local.set $0 i32.const 4 global.set $~argumentsLength - local.get $68 - local.get $2 + local.get $6 local.get $0 - local.get $4 + local.get $12 + local.get $2 i32.const 3344 i32.load call_indirect $0 (type $i32_i32_i32_i32_=>_i32) - local.set $68 - local.get $0 + local.set $6 + local.get $12 i32.const 1 i32.sub - local.set $0 + local.set $12 br $for-loop|076 end end - local.get $68 + local.get $6 i32.const 65535 i32.and i32.const 6 @@ -48843,7 +48910,7 @@ global.get $~lib/memory/__stack_pointer i32.const 16628 i32.lt_s - br_if $folding-inner22 + br_if $folding-inner21 global.get $~lib/memory/__stack_pointer local.tee $0 i64.const 0 @@ -48851,63 +48918,65 @@ local.get $0 i32.const 3 call $~lib/typedarray/Uint16Array#constructor - local.tee $4 + local.tee $2 i32.store - local.get $4 + local.get $2 i32.const 0 i32.const 1 call $~lib/typedarray/Uint16Array#__set - local.get $4 + local.get $2 i32.const 1 i32.const 2 call $~lib/typedarray/Uint16Array#__set - local.get $4 + local.get $2 i32.const 2 i32.const 3 call $~lib/typedarray/Uint16Array#__set global.get $~lib/memory/__stack_pointer i32.const 3376 i32.store offset=4 - local.get $4 + i32.const 0 + local.set $6 + local.get $2 i32.load offset=4 - local.set $3 - local.get $4 + local.set $1 + local.get $2 i32.load offset=8 i32.const 1 i32.shr_u i32.const 1 i32.sub - local.set $0 + local.set $12 loop $for-loop|081 - local.get $0 + local.get $12 i32.const 0 i32.ge_s if - local.get $0 + local.get $12 i32.const 1 i32.shl - local.get $3 + local.get $1 i32.add i32.load16_u - local.set $2 + local.set $0 i32.const 4 global.set $~argumentsLength - local.get $69 - local.get $2 + local.get $6 local.get $0 - local.get $4 + local.get $12 + local.get $2 i32.const 3376 i32.load call_indirect $0 (type $i32_i32_i32_i32_=>_i32) - local.set $69 - local.get $0 + local.set $6 + local.get $12 i32.const 1 i32.sub - local.set $0 + local.set $12 br $for-loop|081 end end - local.get $69 + local.get $6 i32.const 65535 i32.and i32.const 6 @@ -48924,7 +48993,7 @@ global.get $~lib/memory/__stack_pointer i32.const 16628 i32.lt_s - br_if $folding-inner22 + br_if $folding-inner21 global.get $~lib/memory/__stack_pointer local.tee $0 i64.const 0 @@ -48932,63 +49001,65 @@ local.get $0 i32.const 3 call $~lib/typedarray/Int32Array#constructor - local.tee $4 + local.tee $2 i32.store - local.get $4 + local.get $2 i32.const 0 i32.const 1 call $~lib/typedarray/Int32Array#__set - local.get $4 + local.get $2 i32.const 1 i32.const 2 call $~lib/typedarray/Int32Array#__set - local.get $4 + local.get $2 i32.const 2 i32.const 3 call $~lib/typedarray/Int32Array#__set global.get $~lib/memory/__stack_pointer i32.const 3408 i32.store offset=4 - local.get $4 + i32.const 0 + local.set $6 + local.get $2 i32.load offset=4 - local.set $3 - local.get $4 + local.set $1 + local.get $2 i32.load offset=8 i32.const 2 i32.shr_u i32.const 1 i32.sub - local.set $0 + local.set $12 loop $for-loop|086 - local.get $0 + local.get $12 i32.const 0 i32.ge_s if - local.get $0 + local.get $12 i32.const 2 i32.shl - local.get $3 + local.get $1 i32.add i32.load - local.set $2 + local.set $0 i32.const 4 global.set $~argumentsLength - local.get $70 - local.get $2 + local.get $6 local.get $0 - local.get $4 + local.get $12 + local.get $2 i32.const 3408 i32.load call_indirect $0 (type $i32_i32_i32_i32_=>_i32) - local.set $70 - local.get $0 + local.set $6 + local.get $12 i32.const 1 i32.sub - local.set $0 + local.set $12 br $for-loop|086 end end - local.get $70 + local.get $6 i32.const 6 i32.ne br_if $folding-inner5 @@ -49003,7 +49074,7 @@ global.get $~lib/memory/__stack_pointer i32.const 16628 i32.lt_s - br_if $folding-inner22 + br_if $folding-inner21 global.get $~lib/memory/__stack_pointer local.tee $0 i64.const 0 @@ -49011,63 +49082,65 @@ local.get $0 i32.const 3 call $~lib/typedarray/Uint32Array#constructor - local.tee $4 + local.tee $2 i32.store - local.get $4 + local.get $2 i32.const 0 i32.const 1 call $~lib/typedarray/Uint32Array#__set - local.get $4 + local.get $2 i32.const 1 i32.const 2 call $~lib/typedarray/Uint32Array#__set - local.get $4 + local.get $2 i32.const 2 i32.const 3 call $~lib/typedarray/Uint32Array#__set global.get $~lib/memory/__stack_pointer i32.const 3440 i32.store offset=4 - local.get $4 + i32.const 0 + local.set $6 + local.get $2 i32.load offset=4 - local.set $3 - local.get $4 + local.set $1 + local.get $2 i32.load offset=8 i32.const 2 i32.shr_u i32.const 1 i32.sub - local.set $0 + local.set $12 loop $for-loop|091 - local.get $0 + local.get $12 i32.const 0 i32.ge_s if - local.get $0 + local.get $12 i32.const 2 i32.shl - local.get $3 + local.get $1 i32.add i32.load - local.set $2 + local.set $0 i32.const 4 global.set $~argumentsLength - local.get $71 - local.get $2 + local.get $6 local.get $0 - local.get $4 + local.get $12 + local.get $2 i32.const 3440 i32.load call_indirect $0 (type $i32_i32_i32_i32_=>_i32) - local.set $71 - local.get $0 + local.set $6 + local.get $12 i32.const 1 i32.sub - local.set $0 + local.set $12 br $for-loop|091 end end - local.get $71 + local.get $6 i32.const 6 i32.ne br_if $folding-inner5 @@ -49082,7 +49155,7 @@ global.get $~lib/memory/__stack_pointer i32.const 16628 i32.lt_s - br_if $folding-inner22 + br_if $folding-inner21 global.get $~lib/memory/__stack_pointer local.tee $0 i64.const 0 @@ -49090,63 +49163,65 @@ local.get $0 i32.const 3 call $~lib/typedarray/Int64Array#constructor - local.tee $3 + local.tee $1 i32.store - local.get $3 + local.get $1 i32.const 0 i64.const 1 call $~lib/typedarray/Int64Array#__set - local.get $3 + local.get $1 i32.const 1 i64.const 2 call $~lib/typedarray/Int64Array#__set - local.get $3 + local.get $1 i32.const 2 i64.const 3 call $~lib/typedarray/Int64Array#__set global.get $~lib/memory/__stack_pointer i32.const 3472 i32.store offset=4 - local.get $3 + i64.const 0 + local.set $14 + local.get $1 i32.load offset=4 - local.set $2 - local.get $3 + local.set $0 + local.get $1 i32.load offset=8 i32.const 3 i32.shr_u i32.const 1 i32.sub - local.set $0 + local.set $12 loop $for-loop|096 - local.get $0 + local.get $12 i32.const 0 i32.ge_s if - local.get $0 + local.get $12 i32.const 3 i32.shl - local.get $2 + local.get $0 i32.add i64.load - local.set $11 + local.set $10 i32.const 4 global.set $~argumentsLength - local.get $64 - local.get $11 - local.get $0 - local.get $3 + local.get $14 + local.get $10 + local.get $12 + local.get $1 i32.const 3472 i32.load call_indirect $0 (type $i64_i64_i32_i32_=>_i64) - local.set $64 - local.get $0 + local.set $14 + local.get $12 i32.const 1 i32.sub - local.set $0 + local.set $12 br $for-loop|096 end end - local.get $64 + local.get $14 i64.const 6 i64.ne br_if $folding-inner5 @@ -49161,7 +49236,7 @@ global.get $~lib/memory/__stack_pointer i32.const 16628 i32.lt_s - br_if $folding-inner22 + br_if $folding-inner21 global.get $~lib/memory/__stack_pointer local.tee $0 i64.const 0 @@ -49169,63 +49244,65 @@ local.get $0 i32.const 3 call $~lib/typedarray/Uint64Array#constructor - local.tee $3 + local.tee $1 i32.store - local.get $3 + local.get $1 i32.const 0 i64.const 1 call $~lib/typedarray/Uint64Array#__set - local.get $3 + local.get $1 i32.const 1 i64.const 2 call $~lib/typedarray/Uint64Array#__set - local.get $3 + local.get $1 i32.const 2 i64.const 3 call $~lib/typedarray/Uint64Array#__set global.get $~lib/memory/__stack_pointer i32.const 3504 i32.store offset=4 - local.get $3 + i64.const 0 + local.set $14 + local.get $1 i32.load offset=4 - local.set $2 - local.get $3 + local.set $0 + local.get $1 i32.load offset=8 i32.const 3 i32.shr_u i32.const 1 i32.sub - local.set $0 + local.set $12 loop $for-loop|0101 - local.get $0 + local.get $12 i32.const 0 i32.ge_s if - local.get $0 + local.get $12 i32.const 3 i32.shl - local.get $2 + local.get $0 i32.add i64.load - local.set $11 + local.set $10 i32.const 4 global.set $~argumentsLength - local.get $65 - local.get $11 - local.get $0 - local.get $3 + local.get $14 + local.get $10 + local.get $12 + local.get $1 i32.const 3504 i32.load call_indirect $0 (type $i64_i64_i32_i32_=>_i64) - local.set $65 - local.get $0 + local.set $14 + local.get $12 i32.const 1 i32.sub - local.set $0 + local.set $12 br $for-loop|0101 end end - local.get $65 + local.get $14 i64.const 6 i64.ne br_if $folding-inner5 @@ -49240,7 +49317,7 @@ global.get $~lib/memory/__stack_pointer i32.const 16628 i32.lt_s - br_if $folding-inner22 + br_if $folding-inner21 global.get $~lib/memory/__stack_pointer local.tee $0 i64.const 0 @@ -49248,63 +49325,65 @@ local.get $0 i32.const 3 call $~lib/typedarray/Float32Array#constructor - local.tee $3 + local.tee $1 i32.store - local.get $3 + local.get $1 i32.const 0 f32.const 1 call $~lib/typedarray/Float32Array#__set - local.get $3 + local.get $1 i32.const 1 f32.const 2 call $~lib/typedarray/Float32Array#__set - local.get $3 + local.get $1 i32.const 2 f32.const 3 call $~lib/typedarray/Float32Array#__set global.get $~lib/memory/__stack_pointer i32.const 3536 i32.store offset=4 - local.get $3 + f32.const 0 + local.set $15 + local.get $1 i32.load offset=4 - local.set $2 - local.get $3 + local.set $0 + local.get $1 i32.load offset=8 i32.const 2 i32.shr_u i32.const 1 i32.sub - local.set $0 + local.set $12 loop $for-loop|0106 - local.get $0 + local.get $12 i32.const 0 i32.ge_s if - local.get $0 + local.get $12 i32.const 2 i32.shl - local.get $2 + local.get $0 i32.add f32.load local.set $5 i32.const 4 global.set $~argumentsLength - local.get $66 + local.get $15 local.get $5 - local.get $0 - local.get $3 + local.get $12 + local.get $1 i32.const 3536 i32.load call_indirect $0 (type $f32_f32_i32_i32_=>_f32) - local.set $66 - local.get $0 + local.set $15 + local.get $12 i32.const 1 i32.sub - local.set $0 + local.set $12 br $for-loop|0106 end end - local.get $66 + local.get $15 f32.const 6 f32.ne br_if $folding-inner5 @@ -49319,7 +49398,7 @@ global.get $~lib/memory/__stack_pointer i32.const 16628 i32.lt_s - br_if $folding-inner22 + br_if $folding-inner21 global.get $~lib/memory/__stack_pointer local.tee $0 i64.const 0 @@ -49327,63 +49406,65 @@ local.get $0 i32.const 3 call $~lib/typedarray/Float64Array#constructor - local.tee $3 + local.tee $1 i32.store - local.get $3 + local.get $1 i32.const 0 f64.const 1 call $~lib/typedarray/Float64Array#__set - local.get $3 + local.get $1 i32.const 1 f64.const 2 call $~lib/typedarray/Float64Array#__set - local.get $3 + local.get $1 i32.const 2 f64.const 3 call $~lib/typedarray/Float64Array#__set global.get $~lib/memory/__stack_pointer i32.const 3568 i32.store offset=4 - local.get $3 + f64.const 0 + local.set $16 + local.get $1 i32.load offset=4 - local.set $2 - local.get $3 + local.set $0 + local.get $1 i32.load offset=8 i32.const 3 i32.shr_u i32.const 1 i32.sub - local.set $0 + local.set $12 loop $for-loop|0111 - local.get $0 + local.get $12 i32.const 0 i32.ge_s if - local.get $0 + local.get $12 i32.const 3 i32.shl - local.get $2 + local.get $0 i32.add f64.load local.set $7 i32.const 4 global.set $~argumentsLength - local.get $67 + local.get $16 local.get $7 - local.get $0 - local.get $3 + local.get $12 + local.get $1 i32.const 3568 i32.load call_indirect $0 (type $f64_f64_i32_i32_=>_f64) - local.set $67 - local.get $0 + local.set $16 + local.get $12 i32.const 1 i32.sub - local.set $0 + local.set $12 br $for-loop|0111 end end - local.get $67 + local.get $16 f64.const 6 f64.ne br_if $folding-inner5 @@ -49391,1608 +49472,1641 @@ i32.const 8 i32.add global.set $~lib/memory/__stack_pointer - i32.const 0 - local.set $10 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 16628 - i32.lt_s - br_if $folding-inner22 - 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 3 - call $~lib/typedarray/Int8Array#constructor - local.tee $9 - i32.store - local.get $9 - i32.const 0 - i32.const 1 - call $~lib/typedarray/Int8Array#__set - local.get $9 - i32.const 1 - i32.const 2 - call $~lib/typedarray/Int8Array#__set - local.get $9 - i32.const 2 - i32.const 3 - call $~lib/typedarray/Int8Array#__set - global.get $~lib/memory/__stack_pointer - global.get $~lib/memory/__stack_pointer - i32.const 3600 - i32.store offset=4 - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.sub - global.set $~lib/memory/__stack_pointer - global.get $~lib/memory/__stack_pointer - i32.const 16628 - i32.lt_s - br_if $folding-inner22 - global.get $~lib/memory/__stack_pointer - local.tee $0 - i64.const 0 - i64.store - local.get $9 - i32.load offset=8 - local.set $6 - local.get $9 - i32.load offset=4 - local.set $4 - local.get $0 - i32.const 12 - i32.const 3 - call $~lib/rt/itcms/__new - local.tee $3 - i32.store - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.const 0 - call $~lib/rt/itcms/__new - local.tee $2 - i32.store offset=4 - loop $for-loop|02 - local.get $6 - local.get $10 - i32.gt_s - if + block $__inlined_func$std/typedarray/testArrayMap<~lib/typedarray/Int8Array,i8> + global.get $~lib/memory/__stack_pointer + i32.const 16628 + i32.lt_s + br_if $folding-inner21 + 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 3 + call $~lib/typedarray/Int8Array#constructor + local.tee $8 + i32.store + local.get $8 + i32.const 0 + i32.const 1 + call $~lib/typedarray/Int8Array#__set + local.get $8 + i32.const 1 + i32.const 2 + call $~lib/typedarray/Int8Array#__set + local.get $8 + i32.const 2 + i32.const 3 + call $~lib/typedarray/Int8Array#__set + global.get $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 3600 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.sub + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 16628 + i32.lt_s + br_if $folding-inner21 + global.get $~lib/memory/__stack_pointer + local.tee $0 + i64.const 0 + i64.store + local.get $8 + i32.load offset=8 + local.set $4 + local.get $8 + i32.load offset=4 + local.set $3 + local.get $0 + i32.const 12 + i32.const 3 + call $~lib/rt/itcms/__new + local.tee $2 + i32.store + global.get $~lib/memory/__stack_pointer + local.get $4 + i32.const 0 + call $~lib/rt/itcms/__new + local.tee $1 + i32.store offset=4 + loop $for-loop|02 local.get $4 - local.get $10 - i32.add - i32.load8_s - local.set $0 - i32.const 3 - global.set $~argumentsLength + local.get $11 + i32.gt_s + if + local.get $3 + local.get $11 + i32.add + i32.load8_s + local.set $0 + i32.const 3 + global.set $~argumentsLength + local.get $1 + local.get $11 + i32.add + local.get $0 + local.get $11 + local.get $8 + i32.const 3600 + i32.load + call_indirect $0 (type $i32_i32_i32_=>_i32) + i32.store8 + local.get $11 + i32.const 1 + i32.add + local.set $11 + br $for-loop|02 + end + end + local.get $2 + local.get $1 + i32.store + local.get $1 + if local.get $2 - local.get $10 - i32.add - local.get $0 - local.get $10 - local.get $9 - i32.const 3600 - i32.load - call_indirect $0 (type $i32_i32_i32_=>_i32) - i32.store8 - local.get $10 - i32.const 1 - i32.add - local.set $10 - br $for-loop|02 + local.get $1 + call $byn-split-outlined-A$~lib/rt/itcms/__link end - end - local.get $3 - local.get $2 - i32.store - local.get $2 - if - local.get $3 local.get $2 - call $byn-split-outlined-A$~lib/rt/itcms/__link + local.get $1 + i32.store offset=4 + local.get $2 + 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 $2 + i32.store offset=8 + local.get $2 + i32.const 0 + call $~lib/typedarray/Int8Array#__get + i32.const 1 + i32.ne + br_if $folding-inner16 + local.get $2 + i32.const 1 + call $~lib/typedarray/Int8Array#__get + i32.const 4 + i32.ne + br_if $folding-inner17 + local.get $2 + i32.const 2 + call $~lib/typedarray/Int8Array#__get + i32.const 9 + i32.ne + br_if $folding-inner18 + global.get $~lib/memory/__stack_pointer + i32.const 12 + i32.add + global.set $~lib/memory/__stack_pointer + br $__inlined_func$std/typedarray/testArrayMap<~lib/typedarray/Int8Array,i8> end - local.get $3 - local.get $2 - i32.store offset=4 - local.get $3 - local.get $6 - i32.store offset=8 - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $3 - i32.store offset=8 - local.get $3 i32.const 0 - call $~lib/typedarray/Int8Array#__get - i32.const 1 - i32.ne - br_if $folding-inner16 - local.get $3 - i32.const 1 - call $~lib/typedarray/Int8Array#__get - i32.const 4 - i32.ne - br_if $folding-inner19 - local.get $3 - i32.const 2 - call $~lib/typedarray/Int8Array#__get - i32.const 9 - i32.ne - br_if $folding-inner21 + local.set $11 global.get $~lib/memory/__stack_pointer i32.const 12 - i32.add + i32.sub global.set $~lib/memory/__stack_pointer + block $__inlined_func$std/typedarray/testArrayMap<~lib/typedarray/Uint8Array,u8> + global.get $~lib/memory/__stack_pointer + i32.const 16628 + i32.lt_s + br_if $folding-inner21 + 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 3 + call $~lib/typedarray/Uint8Array#constructor + local.tee $8 + i32.store + local.get $8 + i32.const 0 + i32.const 1 + call $~lib/typedarray/Uint8Array#__set + local.get $8 + i32.const 1 + i32.const 2 + call $~lib/typedarray/Uint8Array#__set + local.get $8 + i32.const 2 + i32.const 3 + call $~lib/typedarray/Uint8Array#__set + global.get $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 3632 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.sub + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 16628 + i32.lt_s + br_if $folding-inner21 + global.get $~lib/memory/__stack_pointer + local.tee $0 + i64.const 0 + i64.store + local.get $8 + i32.load offset=8 + local.set $4 + local.get $8 + i32.load offset=4 + local.set $3 + local.get $0 + i32.const 12 + i32.const 4 + call $~lib/rt/itcms/__new + local.tee $2 + i32.store + global.get $~lib/memory/__stack_pointer + local.get $4 + i32.const 0 + call $~lib/rt/itcms/__new + local.tee $1 + i32.store offset=4 + loop $for-loop|04 + local.get $4 + local.get $11 + i32.gt_s + if + local.get $3 + local.get $11 + i32.add + i32.load8_u + local.set $0 + i32.const 3 + global.set $~argumentsLength + local.get $1 + local.get $11 + i32.add + local.get $0 + local.get $11 + local.get $8 + i32.const 3632 + i32.load + call_indirect $0 (type $i32_i32_i32_=>_i32) + i32.store8 + local.get $11 + i32.const 1 + i32.add + local.set $11 + br $for-loop|04 + end + end + local.get $2 + local.get $1 + i32.store + local.get $1 + if + local.get $2 + local.get $1 + call $byn-split-outlined-A$~lib/rt/itcms/__link + end + local.get $2 + local.get $1 + i32.store offset=4 + local.get $2 + 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 $2 + i32.store offset=8 + local.get $2 + i32.const 0 + call $~lib/typedarray/Uint8Array#__get + i32.const 1 + i32.ne + br_if $folding-inner16 + local.get $2 + i32.const 1 + call $~lib/typedarray/Uint8Array#__get + i32.const 4 + i32.ne + br_if $folding-inner17 + local.get $2 + i32.const 2 + call $~lib/typedarray/Uint8Array#__get + i32.const 9 + i32.ne + br_if $folding-inner18 + global.get $~lib/memory/__stack_pointer + i32.const 12 + i32.add + global.set $~lib/memory/__stack_pointer + br $__inlined_func$std/typedarray/testArrayMap<~lib/typedarray/Uint8Array,u8> + end i32.const 0 - local.set $10 + local.set $11 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 16628 - i32.lt_s - br_if $folding-inner22 - 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 3 - call $~lib/typedarray/Uint8Array#constructor - local.tee $9 - i32.store - local.get $9 + block $__inlined_func$std/typedarray/testArrayMap<~lib/typedarray/Uint8ClampedArray,u8> + global.get $~lib/memory/__stack_pointer + i32.const 16628 + i32.lt_s + br_if $folding-inner21 + 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 3 + call $~lib/typedarray/Uint8ClampedArray#constructor + local.tee $8 + i32.store + local.get $8 + i32.const 0 + i32.const 1 + call $~lib/typedarray/Uint8ClampedArray#__set + local.get $8 + i32.const 1 + i32.const 2 + call $~lib/typedarray/Uint8ClampedArray#__set + local.get $8 + i32.const 2 + i32.const 3 + call $~lib/typedarray/Uint8ClampedArray#__set + global.get $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 3664 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.sub + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 16628 + i32.lt_s + br_if $folding-inner21 + global.get $~lib/memory/__stack_pointer + local.tee $0 + i64.const 0 + i64.store + local.get $8 + i32.load offset=8 + local.set $4 + local.get $8 + i32.load offset=4 + local.set $3 + local.get $0 + i32.const 12 + i32.const 5 + call $~lib/rt/itcms/__new + local.tee $2 + i32.store + global.get $~lib/memory/__stack_pointer + local.get $4 + i32.const 0 + call $~lib/rt/itcms/__new + local.tee $1 + i32.store offset=4 + loop $for-loop|08 + local.get $4 + local.get $11 + i32.gt_s + if + local.get $3 + local.get $11 + i32.add + i32.load8_u + local.set $0 + i32.const 3 + global.set $~argumentsLength + local.get $1 + local.get $11 + i32.add + local.get $0 + local.get $11 + local.get $8 + i32.const 3664 + i32.load + call_indirect $0 (type $i32_i32_i32_=>_i32) + i32.store8 + local.get $11 + i32.const 1 + i32.add + local.set $11 + br $for-loop|08 + end + end + local.get $2 + local.get $1 + i32.store + local.get $1 + if + local.get $2 + local.get $1 + call $byn-split-outlined-A$~lib/rt/itcms/__link + end + local.get $2 + local.get $1 + i32.store offset=4 + local.get $2 + 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 $2 + i32.store offset=8 + local.get $2 + i32.const 0 + call $~lib/typedarray/Uint8ClampedArray#__get + i32.const 1 + i32.ne + br_if $folding-inner16 + local.get $2 + i32.const 1 + call $~lib/typedarray/Uint8ClampedArray#__get + i32.const 4 + i32.ne + br_if $folding-inner17 + local.get $2 + i32.const 2 + call $~lib/typedarray/Uint8ClampedArray#__get + i32.const 9 + i32.ne + br_if $folding-inner18 + global.get $~lib/memory/__stack_pointer + i32.const 12 + i32.add + global.set $~lib/memory/__stack_pointer + br $__inlined_func$std/typedarray/testArrayMap<~lib/typedarray/Uint8ClampedArray,u8> + end i32.const 0 - i32.const 1 - call $~lib/typedarray/Uint8Array#__set - local.get $9 - i32.const 1 - i32.const 2 - call $~lib/typedarray/Uint8Array#__set - local.get $9 - i32.const 2 - i32.const 3 - call $~lib/typedarray/Uint8Array#__set - global.get $~lib/memory/__stack_pointer + local.set $12 global.get $~lib/memory/__stack_pointer - i32.const 3632 - i32.store offset=4 - global.get $~lib/memory/__stack_pointer - i32.const 8 + i32.const 12 i32.sub global.set $~lib/memory/__stack_pointer - global.get $~lib/memory/__stack_pointer - i32.const 16628 - i32.lt_s - br_if $folding-inner22 - global.get $~lib/memory/__stack_pointer - local.tee $0 - i64.const 0 - i64.store - local.get $9 - i32.load offset=8 - local.set $6 - local.get $9 - i32.load offset=4 - local.set $4 - local.get $0 - i32.const 12 - i32.const 4 - call $~lib/rt/itcms/__new - local.tee $3 - i32.store - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.const 0 - call $~lib/rt/itcms/__new - local.tee $2 - i32.store offset=4 - loop $for-loop|04 - local.get $6 - local.get $10 - i32.gt_s + block $__inlined_func$std/typedarray/testArrayMap<~lib/typedarray/Int16Array,i16> + global.get $~lib/memory/__stack_pointer + i32.const 16628 + i32.lt_s + br_if $folding-inner21 + 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 3 + call $~lib/typedarray/Int16Array#constructor + local.tee $11 + i32.store + local.get $11 + i32.const 0 + i32.const 1 + call $~lib/typedarray/Int16Array#__set + local.get $11 + i32.const 1 + i32.const 2 + call $~lib/typedarray/Int16Array#__set + local.get $11 + i32.const 2 + i32.const 3 + call $~lib/typedarray/Int16Array#__set + global.get $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 3696 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.sub + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 16628 + i32.lt_s + br_if $folding-inner21 + global.get $~lib/memory/__stack_pointer + local.tee $0 + i64.const 0 + i64.store + local.get $11 + i32.load offset=8 + i32.const 1 + i32.shr_u + local.set $8 + local.get $11 + i32.load offset=4 + local.set $6 + local.get $0 + i32.const 12 + i32.const 6 + call $~lib/rt/itcms/__new + local.tee $4 + i32.store + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.const 1 + i32.shl + local.tee $3 + i32.const 0 + call $~lib/rt/itcms/__new + local.tee $2 + i32.store offset=4 + loop $for-loop|011 + local.get $8 + local.get $12 + i32.gt_s + if + local.get $12 + i32.const 1 + i32.shl + local.tee $1 + local.get $6 + i32.add + i32.load16_s + local.set $0 + i32.const 3 + global.set $~argumentsLength + local.get $1 + local.get $2 + i32.add + local.get $0 + local.get $12 + local.get $11 + i32.const 3696 + i32.load + call_indirect $0 (type $i32_i32_i32_=>_i32) + i32.store16 + local.get $12 + i32.const 1 + i32.add + local.set $12 + br $for-loop|011 + end + end + local.get $4 + local.get $2 + i32.store + local.get $2 if local.get $4 - local.get $10 - i32.add - i32.load8_u - local.set $0 - i32.const 3 - global.set $~argumentsLength local.get $2 - local.get $10 - i32.add - local.get $0 - local.get $10 - local.get $9 - i32.const 3632 - i32.load - call_indirect $0 (type $i32_i32_i32_=>_i32) - i32.store8 - local.get $10 - i32.const 1 - i32.add - local.set $10 - br $for-loop|04 + call $byn-split-outlined-A$~lib/rt/itcms/__link end - end - local.get $3 - local.get $2 - i32.store - local.get $2 - if - local.get $3 + local.get $4 local.get $2 - call $byn-split-outlined-A$~lib/rt/itcms/__link + i32.store offset=4 + local.get $4 + 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 $4 + i32.store offset=8 + local.get $4 + i32.const 0 + call $~lib/typedarray/Int16Array#__get + i32.const 1 + i32.ne + br_if $folding-inner16 + local.get $4 + i32.const 1 + call $~lib/typedarray/Int16Array#__get + i32.const 4 + i32.ne + br_if $folding-inner17 + local.get $4 + i32.const 2 + call $~lib/typedarray/Int16Array#__get + i32.const 9 + i32.ne + br_if $folding-inner18 + global.get $~lib/memory/__stack_pointer + i32.const 12 + i32.add + global.set $~lib/memory/__stack_pointer + br $__inlined_func$std/typedarray/testArrayMap<~lib/typedarray/Int16Array,i16> end - local.get $3 - local.get $2 - i32.store offset=4 - local.get $3 - local.get $6 - i32.store offset=8 - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $3 - i32.store offset=8 - local.get $3 i32.const 0 - call $~lib/typedarray/Uint8Array#__get - i32.const 1 - i32.ne - br_if $folding-inner16 - local.get $3 - i32.const 1 - call $~lib/typedarray/Uint8Array#__get - i32.const 4 - i32.ne - br_if $folding-inner19 - local.get $3 - i32.const 2 - call $~lib/typedarray/Uint8Array#__get - i32.const 9 - i32.ne - br_if $folding-inner21 + local.set $12 global.get $~lib/memory/__stack_pointer i32.const 12 - i32.add - global.set $~lib/memory/__stack_pointer - i32.const 0 - local.set $10 - 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 16628 - i32.lt_s - br_if $folding-inner22 - 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 3 - call $~lib/typedarray/Uint8ClampedArray#constructor - local.tee $9 - i32.store - local.get $9 - i32.const 0 - i32.const 1 - call $~lib/typedarray/Uint8ClampedArray#__set - local.get $9 - i32.const 1 - i32.const 2 - call $~lib/typedarray/Uint8ClampedArray#__set - local.get $9 - i32.const 2 - i32.const 3 - call $~lib/typedarray/Uint8ClampedArray#__set - global.get $~lib/memory/__stack_pointer - global.get $~lib/memory/__stack_pointer - i32.const 3664 - i32.store offset=4 - global.get $~lib/memory/__stack_pointer - i32.const 8 i32.sub global.set $~lib/memory/__stack_pointer - global.get $~lib/memory/__stack_pointer - i32.const 16628 - i32.lt_s - br_if $folding-inner22 - global.get $~lib/memory/__stack_pointer - local.tee $0 - i64.const 0 - i64.store - local.get $9 - i32.load offset=8 - local.set $6 - local.get $9 - i32.load offset=4 - local.set $4 - local.get $0 - i32.const 12 - i32.const 5 - call $~lib/rt/itcms/__new - local.tee $3 - i32.store - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.const 0 - call $~lib/rt/itcms/__new - local.tee $2 - i32.store offset=4 - loop $for-loop|08 - local.get $6 - local.get $10 - i32.gt_s - if - local.get $4 - local.get $10 - i32.add - i32.load8_u - local.set $0 - i32.const 3 - global.set $~argumentsLength - local.get $2 - local.get $10 - i32.add - local.get $0 - local.get $10 - local.get $9 - i32.const 3664 - i32.load - call_indirect $0 (type $i32_i32_i32_=>_i32) - i32.store8 - local.get $10 - i32.const 1 - i32.add - local.set $10 - br $for-loop|08 - end - end - local.get $3 - local.get $2 - i32.store - local.get $2 - if - local.get $3 - local.get $2 - call $byn-split-outlined-A$~lib/rt/itcms/__link - end - local.get $3 - local.get $2 - i32.store offset=4 - local.get $3 - local.get $6 - i32.store offset=8 - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $3 - i32.store offset=8 - local.get $3 - i32.const 0 - call $~lib/typedarray/Uint8ClampedArray#__get - i32.const 1 - i32.ne - br_if $folding-inner16 - local.get $3 - i32.const 1 - call $~lib/typedarray/Uint8ClampedArray#__get - i32.const 4 - i32.ne - br_if $folding-inner19 - local.get $3 - i32.const 2 - call $~lib/typedarray/Uint8ClampedArray#__get - i32.const 9 - i32.ne - br_if $folding-inner21 - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.add - global.set $~lib/memory/__stack_pointer - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.sub - global.set $~lib/memory/__stack_pointer - global.get $~lib/memory/__stack_pointer - i32.const 16628 - i32.lt_s - br_if $folding-inner22 - 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 3 - call $~lib/typedarray/Int16Array#constructor - local.tee $12 - i32.store - local.get $12 - i32.const 0 - i32.const 1 - call $~lib/typedarray/Int16Array#__set - local.get $12 - i32.const 1 - i32.const 2 - call $~lib/typedarray/Int16Array#__set - local.get $12 - i32.const 2 - i32.const 3 - call $~lib/typedarray/Int16Array#__set - global.get $~lib/memory/__stack_pointer - global.get $~lib/memory/__stack_pointer - i32.const 3696 - i32.store offset=4 - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.sub - global.set $~lib/memory/__stack_pointer - global.get $~lib/memory/__stack_pointer - i32.const 16628 - i32.lt_s - br_if $folding-inner22 - global.get $~lib/memory/__stack_pointer - local.tee $0 - i64.const 0 - i64.store - local.get $12 - i32.load offset=8 - i32.const 1 - i32.shr_u - local.set $9 - local.get $12 - i32.load offset=4 - local.set $8 - local.get $0 - i32.const 12 - i32.const 6 - call $~lib/rt/itcms/__new - local.tee $6 - i32.store - global.get $~lib/memory/__stack_pointer - local.get $9 - i32.const 1 - i32.shl - local.tee $4 - i32.const 0 - call $~lib/rt/itcms/__new - local.tee $3 - i32.store offset=4 - loop $for-loop|06 - local.get $9 - local.get $14 - i32.gt_s - if - local.get $8 - local.get $14 - i32.const 1 - i32.shl - local.tee $2 - i32.add - i32.load16_s - local.set $0 - i32.const 3 - global.set $~argumentsLength - local.get $2 - local.get $3 - i32.add - local.get $0 - local.get $14 - local.get $12 - i32.const 3696 - i32.load - call_indirect $0 (type $i32_i32_i32_=>_i32) - i32.store16 - local.get $14 - i32.const 1 - i32.add - local.set $14 - br $for-loop|06 - end - end - local.get $6 - local.get $3 - i32.store - local.get $3 - if - local.get $6 - local.get $3 - call $byn-split-outlined-A$~lib/rt/itcms/__link - end - local.get $6 - local.get $3 - i32.store offset=4 - local.get $6 - 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 $6 - i32.store offset=8 - local.get $6 - i32.const 0 - call $~lib/typedarray/Int16Array#__get - i32.const 1 - i32.ne - br_if $folding-inner16 - local.get $6 - i32.const 1 - call $~lib/typedarray/Int16Array#__get - i32.const 4 - i32.ne - br_if $folding-inner19 - local.get $6 - i32.const 2 - call $~lib/typedarray/Int16Array#__get - i32.const 9 - i32.ne - br_if $folding-inner21 - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.add - global.set $~lib/memory/__stack_pointer - i32.const 0 - local.set $14 - 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 16628 - i32.lt_s - br_if $folding-inner22 - 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 3 - call $~lib/typedarray/Uint16Array#constructor - local.tee $12 - i32.store - local.get $12 - i32.const 0 - i32.const 1 - call $~lib/typedarray/Uint16Array#__set - local.get $12 - i32.const 1 - i32.const 2 - call $~lib/typedarray/Uint16Array#__set - local.get $12 - i32.const 2 - i32.const 3 - call $~lib/typedarray/Uint16Array#__set - global.get $~lib/memory/__stack_pointer - global.get $~lib/memory/__stack_pointer - i32.const 3728 - i32.store offset=4 - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.sub - global.set $~lib/memory/__stack_pointer - global.get $~lib/memory/__stack_pointer - i32.const 16628 - i32.lt_s - br_if $folding-inner22 - global.get $~lib/memory/__stack_pointer - local.tee $0 - i64.const 0 - i64.store - local.get $12 - i32.load offset=8 - i32.const 1 - i32.shr_u - local.set $9 - local.get $12 - i32.load offset=4 - local.set $8 - local.get $0 - i32.const 12 - i32.const 7 - call $~lib/rt/itcms/__new - local.tee $6 - i32.store - global.get $~lib/memory/__stack_pointer - local.get $9 - i32.const 1 - i32.shl - local.tee $4 - i32.const 0 - call $~lib/rt/itcms/__new - local.tee $3 - i32.store offset=4 - loop $for-loop|011 - local.get $9 - local.get $14 - i32.gt_s - if - local.get $8 - local.get $14 - i32.const 1 - i32.shl - local.tee $2 - i32.add - i32.load16_u - local.set $0 - i32.const 3 - global.set $~argumentsLength - local.get $2 - local.get $3 - i32.add - local.get $0 - local.get $14 - local.get $12 - i32.const 3728 - i32.load - call_indirect $0 (type $i32_i32_i32_=>_i32) - i32.store16 - local.get $14 - i32.const 1 - i32.add - local.set $14 - br $for-loop|011 - end - end - local.get $6 - local.get $3 - i32.store - local.get $3 - if - local.get $6 - local.get $3 - call $byn-split-outlined-A$~lib/rt/itcms/__link - end - local.get $6 - local.get $3 - i32.store offset=4 - local.get $6 - 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 $6 - i32.store offset=8 - local.get $6 - i32.const 0 - call $~lib/typedarray/Uint16Array#__get - i32.const 1 - i32.ne - br_if $folding-inner16 - local.get $6 - i32.const 1 - call $~lib/typedarray/Uint16Array#__get - i32.const 4 - i32.ne - br_if $folding-inner19 - local.get $6 - i32.const 2 - call $~lib/typedarray/Uint16Array#__get - i32.const 9 - i32.ne - br_if $folding-inner21 - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.add - global.set $~lib/memory/__stack_pointer - i32.const 0 - local.set $14 - 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 16628 - i32.lt_s - br_if $folding-inner22 - 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 3 - call $~lib/typedarray/Int32Array#constructor - local.tee $12 - i32.store - local.get $12 - i32.const 0 - i32.const 1 - call $~lib/typedarray/Int32Array#__set - local.get $12 - i32.const 1 - i32.const 2 - call $~lib/typedarray/Int32Array#__set - local.get $12 - i32.const 2 - i32.const 3 - call $~lib/typedarray/Int32Array#__set - global.get $~lib/memory/__stack_pointer - global.get $~lib/memory/__stack_pointer - i32.const 3760 - i32.store offset=4 - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.sub - global.set $~lib/memory/__stack_pointer - global.get $~lib/memory/__stack_pointer - i32.const 16628 - i32.lt_s - br_if $folding-inner22 - global.get $~lib/memory/__stack_pointer - local.tee $0 - i64.const 0 - i64.store - local.get $12 - i32.load offset=8 - i32.const 2 - i32.shr_u - local.set $9 - local.get $12 - i32.load offset=4 - local.set $8 - local.get $0 - i32.const 12 - i32.const 8 - call $~lib/rt/itcms/__new - local.tee $6 - i32.store - global.get $~lib/memory/__stack_pointer - local.get $9 - i32.const 2 - i32.shl - local.tee $4 - i32.const 0 - call $~lib/rt/itcms/__new - local.tee $3 - i32.store offset=4 - loop $for-loop|014 - local.get $9 - local.get $14 - i32.gt_s - if + block $__inlined_func$std/typedarray/testArrayMap<~lib/typedarray/Uint16Array,u16> + global.get $~lib/memory/__stack_pointer + i32.const 16628 + i32.lt_s + br_if $folding-inner21 + 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 3 + call $~lib/typedarray/Uint16Array#constructor + local.tee $11 + i32.store + local.get $11 + i32.const 0 + i32.const 1 + call $~lib/typedarray/Uint16Array#__set + local.get $11 + i32.const 1 + i32.const 2 + call $~lib/typedarray/Uint16Array#__set + local.get $11 + i32.const 2 + i32.const 3 + call $~lib/typedarray/Uint16Array#__set + global.get $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 3728 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.sub + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 16628 + i32.lt_s + br_if $folding-inner21 + global.get $~lib/memory/__stack_pointer + local.tee $0 + i64.const 0 + i64.store + local.get $11 + i32.load offset=8 + i32.const 1 + i32.shr_u + local.set $8 + local.get $11 + i32.load offset=4 + local.set $6 + local.get $0 + i32.const 12 + i32.const 7 + call $~lib/rt/itcms/__new + local.tee $4 + i32.store + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.const 1 + i32.shl + local.tee $3 + i32.const 0 + call $~lib/rt/itcms/__new + local.tee $2 + i32.store offset=4 + loop $for-loop|014 local.get $8 - local.get $14 - i32.const 2 - i32.shl - local.tee $2 - i32.add - i32.load - local.set $0 - i32.const 3 - global.set $~argumentsLength - local.get $2 - local.get $3 - i32.add - local.get $0 - local.get $14 local.get $12 - i32.const 3760 - i32.load - call_indirect $0 (type $i32_i32_i32_=>_i32) - i32.store - local.get $14 - i32.const 1 - i32.add - local.set $14 - br $for-loop|014 + i32.gt_s + if + local.get $12 + i32.const 1 + i32.shl + local.tee $1 + local.get $6 + i32.add + i32.load16_u + local.set $0 + i32.const 3 + global.set $~argumentsLength + local.get $1 + local.get $2 + i32.add + local.get $0 + local.get $12 + local.get $11 + i32.const 3728 + i32.load + call_indirect $0 (type $i32_i32_i32_=>_i32) + i32.store16 + local.get $12 + i32.const 1 + i32.add + local.set $12 + br $for-loop|014 + end end - end - local.get $6 - local.get $3 - i32.store - local.get $3 - if - local.get $6 - local.get $3 - call $byn-split-outlined-A$~lib/rt/itcms/__link - end - local.get $6 - local.get $3 - i32.store offset=4 - local.get $6 - 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 $6 - i32.store offset=8 - local.get $6 - i32.const 0 - call $~lib/typedarray/Int32Array#__get - i32.const 1 - i32.ne - br_if $folding-inner16 - local.get $6 - i32.const 1 - call $~lib/typedarray/Int32Array#__get - i32.const 4 - i32.ne - br_if $folding-inner19 - local.get $6 - i32.const 2 - call $~lib/typedarray/Int32Array#__get - i32.const 9 - i32.ne - br_if $folding-inner21 - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.add - global.set $~lib/memory/__stack_pointer - i32.const 0 - local.set $14 - 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 16628 - i32.lt_s - br_if $folding-inner22 - 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 3 - call $~lib/typedarray/Uint32Array#constructor - local.tee $12 - i32.store - local.get $12 - i32.const 0 - i32.const 1 - call $~lib/typedarray/Uint32Array#__set - local.get $12 - i32.const 1 - i32.const 2 - call $~lib/typedarray/Uint32Array#__set - local.get $12 - i32.const 2 - i32.const 3 - call $~lib/typedarray/Uint32Array#__set - global.get $~lib/memory/__stack_pointer - global.get $~lib/memory/__stack_pointer - i32.const 3792 - i32.store offset=4 - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.sub - global.set $~lib/memory/__stack_pointer - global.get $~lib/memory/__stack_pointer - i32.const 16628 - i32.lt_s - br_if $folding-inner22 - global.get $~lib/memory/__stack_pointer - local.tee $0 - i64.const 0 - i64.store - local.get $12 - i32.load offset=8 - i32.const 2 - i32.shr_u - local.set $9 - local.get $12 - i32.load offset=4 - local.set $8 - local.get $0 - i32.const 12 - i32.const 9 - call $~lib/rt/itcms/__new - local.tee $6 - i32.store - global.get $~lib/memory/__stack_pointer - local.get $9 - i32.const 2 - i32.shl - local.tee $4 - i32.const 0 - call $~lib/rt/itcms/__new - local.tee $3 - i32.store offset=4 - loop $for-loop|016 - local.get $9 - local.get $14 - i32.gt_s + local.get $4 + local.get $2 + i32.store + local.get $2 if - local.get $8 - local.get $14 - i32.const 2 - i32.shl - local.tee $2 - i32.add - i32.load - local.set $0 - i32.const 3 - global.set $~argumentsLength + local.get $4 local.get $2 - local.get $3 - i32.add - local.get $0 - local.get $14 - local.get $12 - i32.const 3792 - i32.load - call_indirect $0 (type $i32_i32_i32_=>_i32) - i32.store - local.get $14 - i32.const 1 - i32.add - local.set $14 - br $for-loop|016 + call $byn-split-outlined-A$~lib/rt/itcms/__link end - end - local.get $6 - local.get $3 - i32.store - local.get $3 - if - local.get $6 + local.get $4 + local.get $2 + i32.store offset=4 + local.get $4 local.get $3 - call $byn-split-outlined-A$~lib/rt/itcms/__link - end - local.get $6 - local.get $3 - i32.store offset=4 - local.get $6 - 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 $6 - i32.store offset=8 - local.get $6 - i32.const 0 - call $~lib/typedarray/Uint32Array#__get - i32.const 1 - i32.ne - br_if $folding-inner16 - local.get $6 - i32.const 1 - call $~lib/typedarray/Uint32Array#__get - i32.const 4 - i32.ne - br_if $folding-inner19 - local.get $6 - i32.const 2 - call $~lib/typedarray/Uint32Array#__get - i32.const 9 - i32.ne - br_if $folding-inner21 - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.add - global.set $~lib/memory/__stack_pointer + i32.store offset=8 + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $4 + i32.store offset=8 + local.get $4 + i32.const 0 + call $~lib/typedarray/Uint16Array#__get + i32.const 1 + i32.ne + br_if $folding-inner16 + local.get $4 + i32.const 1 + call $~lib/typedarray/Uint16Array#__get + i32.const 4 + i32.ne + br_if $folding-inner17 + local.get $4 + i32.const 2 + call $~lib/typedarray/Uint16Array#__get + i32.const 9 + i32.ne + br_if $folding-inner18 + global.get $~lib/memory/__stack_pointer + i32.const 12 + i32.add + global.set $~lib/memory/__stack_pointer + br $__inlined_func$std/typedarray/testArrayMap<~lib/typedarray/Uint16Array,u16> + end i32.const 0 - local.set $14 + local.set $12 global.get $~lib/memory/__stack_pointer i32.const 12 i32.sub global.set $~lib/memory/__stack_pointer - global.get $~lib/memory/__stack_pointer - i32.const 16628 - i32.lt_s - br_if $folding-inner22 - 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 3 - call $~lib/typedarray/Int64Array#constructor - local.tee $10 - i32.store - local.get $10 - i32.const 0 - i64.const 1 - call $~lib/typedarray/Int64Array#__set - local.get $10 - i32.const 1 - i64.const 2 - call $~lib/typedarray/Int64Array#__set - local.get $10 - i32.const 2 - i64.const 3 - call $~lib/typedarray/Int64Array#__set - global.get $~lib/memory/__stack_pointer - global.get $~lib/memory/__stack_pointer - i32.const 3824 - i32.store offset=4 - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.sub - global.set $~lib/memory/__stack_pointer - global.get $~lib/memory/__stack_pointer - i32.const 16628 - i32.lt_s - br_if $folding-inner22 - global.get $~lib/memory/__stack_pointer - local.tee $0 - i64.const 0 - i64.store - local.get $10 - i32.load offset=8 - i32.const 3 - i32.shr_u - local.set $8 - local.get $10 - i32.load offset=4 - local.set $6 - local.get $0 - i32.const 12 - i32.const 10 - call $~lib/rt/itcms/__new - local.tee $4 - i32.store - global.get $~lib/memory/__stack_pointer - local.get $8 - i32.const 3 - i32.shl - local.tee $3 - i32.const 0 - call $~lib/rt/itcms/__new - local.tee $2 - i32.store offset=4 - loop $for-loop|018 + block $__inlined_func$std/typedarray/testArrayMap<~lib/typedarray/Int32Array,i32> + global.get $~lib/memory/__stack_pointer + i32.const 16628 + i32.lt_s + br_if $folding-inner21 + 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 3 + call $~lib/typedarray/Int32Array#constructor + local.tee $11 + i32.store + local.get $11 + i32.const 0 + i32.const 1 + call $~lib/typedarray/Int32Array#__set + local.get $11 + i32.const 1 + i32.const 2 + call $~lib/typedarray/Int32Array#__set + local.get $11 + i32.const 2 + i32.const 3 + call $~lib/typedarray/Int32Array#__set + global.get $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 3760 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.sub + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 16628 + i32.lt_s + br_if $folding-inner21 + global.get $~lib/memory/__stack_pointer + local.tee $0 + i64.const 0 + i64.store + local.get $11 + i32.load offset=8 + i32.const 2 + i32.shr_u + local.set $8 + local.get $11 + i32.load offset=4 + local.set $6 + local.get $0 + i32.const 12 + i32.const 8 + call $~lib/rt/itcms/__new + local.tee $4 + i32.store + global.get $~lib/memory/__stack_pointer local.get $8 - local.get $14 - i32.gt_s + i32.const 2 + i32.shl + local.tee $3 + i32.const 0 + call $~lib/rt/itcms/__new + local.tee $2 + i32.store offset=4 + loop $for-loop|018 + local.get $8 + local.get $12 + i32.gt_s + if + local.get $12 + i32.const 2 + i32.shl + local.tee $1 + local.get $6 + i32.add + i32.load + local.set $0 + i32.const 3 + global.set $~argumentsLength + local.get $1 + local.get $2 + i32.add + local.get $0 + local.get $12 + local.get $11 + i32.const 3760 + i32.load + call_indirect $0 (type $i32_i32_i32_=>_i32) + i32.store + local.get $12 + i32.const 1 + i32.add + local.set $12 + br $for-loop|018 + end + end + local.get $4 + local.get $2 + i32.store + local.get $2 if - local.get $6 - local.get $14 - i32.const 3 - i32.shl - local.tee $0 - i32.add - i64.load - local.set $11 - i32.const 3 - global.set $~argumentsLength - local.get $0 + local.get $4 local.get $2 - i32.add - local.get $11 - local.get $14 - local.get $10 - i32.const 3824 - i32.load - call_indirect $0 (type $i64_i32_i32_=>_i64) - i64.store - local.get $14 - i32.const 1 - i32.add - local.set $14 - br $for-loop|018 + call $byn-split-outlined-A$~lib/rt/itcms/__link end - end - local.get $4 - local.get $2 - i32.store - local.get $2 - if local.get $4 local.get $2 - call $byn-split-outlined-A$~lib/rt/itcms/__link + i32.store offset=4 + local.get $4 + 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 $4 + i32.store offset=8 + local.get $4 + i32.const 0 + call $~lib/typedarray/Int32Array#__get + i32.const 1 + i32.ne + br_if $folding-inner16 + local.get $4 + i32.const 1 + call $~lib/typedarray/Int32Array#__get + i32.const 4 + i32.ne + br_if $folding-inner17 + local.get $4 + i32.const 2 + call $~lib/typedarray/Int32Array#__get + i32.const 9 + i32.ne + br_if $folding-inner18 + global.get $~lib/memory/__stack_pointer + i32.const 12 + i32.add + global.set $~lib/memory/__stack_pointer + br $__inlined_func$std/typedarray/testArrayMap<~lib/typedarray/Int32Array,i32> end - local.get $4 - local.get $2 - i32.store offset=4 - local.get $4 - 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 $4 - i32.store offset=8 - local.get $4 - i32.const 0 - call $~lib/typedarray/Int64Array#__get - i64.const 1 - i64.ne - br_if $folding-inner16 - local.get $4 - i32.const 1 - call $~lib/typedarray/Int64Array#__get - i64.const 4 - i64.ne - br_if $folding-inner19 - local.get $4 - i32.const 2 - call $~lib/typedarray/Int64Array#__get - i64.const 9 - i64.ne - br_if $folding-inner21 - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.add - global.set $~lib/memory/__stack_pointer i32.const 0 - local.set $14 + local.set $12 global.get $~lib/memory/__stack_pointer i32.const 12 i32.sub global.set $~lib/memory/__stack_pointer - global.get $~lib/memory/__stack_pointer - i32.const 16628 - i32.lt_s - br_if $folding-inner22 - 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 3 - call $~lib/typedarray/Uint64Array#constructor - local.tee $10 - i32.store - local.get $10 - i32.const 0 - i64.const 1 - call $~lib/typedarray/Uint64Array#__set - local.get $10 - i32.const 1 - i64.const 2 - call $~lib/typedarray/Uint64Array#__set - local.get $10 - i32.const 2 - i64.const 3 - call $~lib/typedarray/Uint64Array#__set - global.get $~lib/memory/__stack_pointer - global.get $~lib/memory/__stack_pointer - i32.const 3856 - i32.store offset=4 - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.sub - global.set $~lib/memory/__stack_pointer - global.get $~lib/memory/__stack_pointer - i32.const 16628 - i32.lt_s - br_if $folding-inner22 - global.get $~lib/memory/__stack_pointer - local.tee $0 - i64.const 0 - i64.store - local.get $10 - i32.load offset=8 - i32.const 3 - i32.shr_u - local.set $8 - local.get $10 - i32.load offset=4 - local.set $6 - local.get $0 - i32.const 12 - i32.const 11 - call $~lib/rt/itcms/__new - local.tee $4 - i32.store - global.get $~lib/memory/__stack_pointer - local.get $8 - i32.const 3 - i32.shl - local.tee $3 - i32.const 0 - call $~lib/rt/itcms/__new - local.tee $2 - i32.store offset=4 - loop $for-loop|020 + block $__inlined_func$std/typedarray/testArrayMap<~lib/typedarray/Uint32Array,u32> + global.get $~lib/memory/__stack_pointer + i32.const 16628 + i32.lt_s + br_if $folding-inner21 + 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 3 + call $~lib/typedarray/Uint32Array#constructor + local.tee $11 + i32.store + local.get $11 + i32.const 0 + i32.const 1 + call $~lib/typedarray/Uint32Array#__set + local.get $11 + i32.const 1 + i32.const 2 + call $~lib/typedarray/Uint32Array#__set + local.get $11 + i32.const 2 + i32.const 3 + call $~lib/typedarray/Uint32Array#__set + global.get $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 3792 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.sub + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 16628 + i32.lt_s + br_if $folding-inner21 + global.get $~lib/memory/__stack_pointer + local.tee $0 + i64.const 0 + i64.store + local.get $11 + i32.load offset=8 + i32.const 2 + i32.shr_u + local.set $8 + local.get $11 + i32.load offset=4 + local.set $6 + local.get $0 + i32.const 12 + i32.const 9 + call $~lib/rt/itcms/__new + local.tee $4 + i32.store + global.get $~lib/memory/__stack_pointer local.get $8 - local.get $14 - i32.gt_s + i32.const 2 + i32.shl + local.tee $3 + i32.const 0 + call $~lib/rt/itcms/__new + local.tee $2 + i32.store offset=4 + loop $for-loop|021 + local.get $8 + local.get $12 + i32.gt_s + if + local.get $12 + i32.const 2 + i32.shl + local.tee $1 + local.get $6 + i32.add + i32.load + local.set $0 + i32.const 3 + global.set $~argumentsLength + local.get $1 + local.get $2 + i32.add + local.get $0 + local.get $12 + local.get $11 + i32.const 3792 + i32.load + call_indirect $0 (type $i32_i32_i32_=>_i32) + i32.store + local.get $12 + i32.const 1 + i32.add + local.set $12 + br $for-loop|021 + end + end + local.get $4 + local.get $2 + i32.store + local.get $2 if - local.get $6 - local.get $14 - i32.const 3 - i32.shl - local.tee $0 - i32.add - i64.load - local.set $11 - i32.const 3 - global.set $~argumentsLength - local.get $0 + local.get $4 local.get $2 - i32.add - local.get $11 - local.get $14 - local.get $10 - i32.const 3856 - i32.load - call_indirect $0 (type $i64_i32_i32_=>_i64) - i64.store - local.get $14 - i32.const 1 - i32.add - local.set $14 - br $for-loop|020 + call $byn-split-outlined-A$~lib/rt/itcms/__link end - end - local.get $4 - local.get $2 - i32.store - local.get $2 - if local.get $4 local.get $2 - call $byn-split-outlined-A$~lib/rt/itcms/__link + i32.store offset=4 + local.get $4 + 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 $4 + i32.store offset=8 + local.get $4 + i32.const 0 + call $~lib/typedarray/Uint32Array#__get + i32.const 1 + i32.ne + br_if $folding-inner16 + local.get $4 + i32.const 1 + call $~lib/typedarray/Uint32Array#__get + i32.const 4 + i32.ne + br_if $folding-inner17 + local.get $4 + i32.const 2 + call $~lib/typedarray/Uint32Array#__get + i32.const 9 + i32.ne + br_if $folding-inner18 + global.get $~lib/memory/__stack_pointer + i32.const 12 + i32.add + global.set $~lib/memory/__stack_pointer + br $__inlined_func$std/typedarray/testArrayMap<~lib/typedarray/Uint32Array,u32> end - local.get $4 - local.get $2 - i32.store offset=4 - local.get $4 - 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 $4 - i32.store offset=8 - local.get $4 - i32.const 0 - call $~lib/typedarray/Uint64Array#__get - i64.const 1 - i64.ne - br_if $folding-inner16 - local.get $4 - i32.const 1 - call $~lib/typedarray/Uint64Array#__get - i64.const 4 - i64.ne - br_if $folding-inner19 - local.get $4 - i32.const 2 - call $~lib/typedarray/Uint64Array#__get - i64.const 9 - i64.ne - br_if $folding-inner21 - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.add - global.set $~lib/memory/__stack_pointer i32.const 0 - local.set $14 + local.set $11 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 16628 - i32.lt_s - br_if $folding-inner22 - 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 3 - call $~lib/typedarray/Float32Array#constructor - local.tee $10 - i32.store - local.get $10 - i32.const 0 - f32.const 1 - call $~lib/typedarray/Float32Array#__set - local.get $10 - i32.const 1 - f32.const 2 - call $~lib/typedarray/Float32Array#__set - local.get $10 - i32.const 2 - f32.const 3 - call $~lib/typedarray/Float32Array#__set - global.get $~lib/memory/__stack_pointer - global.get $~lib/memory/__stack_pointer - i32.const 3888 - i32.store offset=4 - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.sub - global.set $~lib/memory/__stack_pointer - global.get $~lib/memory/__stack_pointer - i32.const 16628 - i32.lt_s - br_if $folding-inner22 - global.get $~lib/memory/__stack_pointer - local.tee $0 - i64.const 0 - i64.store - local.get $10 - i32.load offset=8 - i32.const 2 - i32.shr_u - local.set $8 - local.get $10 - i32.load offset=4 - local.set $6 - local.get $0 - i32.const 12 - i32.const 12 - call $~lib/rt/itcms/__new - local.tee $4 - i32.store - global.get $~lib/memory/__stack_pointer - local.get $8 - i32.const 2 - i32.shl - local.tee $3 - i32.const 0 - call $~lib/rt/itcms/__new - local.tee $2 - i32.store offset=4 - loop $for-loop|023 - local.get $8 - local.get $14 - i32.gt_s + block $__inlined_func$std/typedarray/testArrayMap<~lib/typedarray/Int64Array,i64> + global.get $~lib/memory/__stack_pointer + i32.const 16628 + i32.lt_s + br_if $folding-inner21 + 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 3 + call $~lib/typedarray/Int64Array#constructor + local.tee $9 + i32.store + local.get $9 + i32.const 0 + i64.const 1 + call $~lib/typedarray/Int64Array#__set + local.get $9 + i32.const 1 + i64.const 2 + call $~lib/typedarray/Int64Array#__set + local.get $9 + i32.const 2 + i64.const 3 + call $~lib/typedarray/Int64Array#__set + global.get $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 3824 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.sub + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 16628 + i32.lt_s + br_if $folding-inner21 + global.get $~lib/memory/__stack_pointer + local.tee $0 + i64.const 0 + i64.store + local.get $9 + i32.load offset=8 + i32.const 3 + i32.shr_u + local.set $6 + local.get $9 + i32.load offset=4 + local.set $4 + local.get $0 + i32.const 12 + i32.const 10 + call $~lib/rt/itcms/__new + local.tee $3 + i32.store + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.const 3 + i32.shl + local.tee $2 + i32.const 0 + call $~lib/rt/itcms/__new + local.tee $1 + i32.store offset=4 + loop $for-loop|024 + local.get $6 + local.get $11 + i32.gt_s + if + local.get $11 + i32.const 3 + i32.shl + local.tee $0 + local.get $4 + i32.add + i64.load + local.set $10 + i32.const 3 + global.set $~argumentsLength + local.get $0 + local.get $1 + i32.add + local.get $10 + local.get $11 + local.get $9 + i32.const 3824 + i32.load + call_indirect $0 (type $i64_i32_i32_=>_i64) + i64.store + local.get $11 + i32.const 1 + i32.add + local.set $11 + br $for-loop|024 + end + end + local.get $3 + local.get $1 + i32.store + local.get $1 if - local.get $6 - local.get $14 - i32.const 2 - i32.shl - local.tee $0 - i32.add - f32.load - local.set $5 - i32.const 3 - global.set $~argumentsLength - local.get $0 - local.get $2 - i32.add - local.get $5 - local.get $14 - local.get $10 - i32.const 3888 - i32.load - call_indirect $0 (type $f32_i32_i32_=>_f32) - f32.store - local.get $14 - i32.const 1 - i32.add - local.set $14 - br $for-loop|023 + local.get $3 + local.get $1 + call $byn-split-outlined-A$~lib/rt/itcms/__link end - end - local.get $4 - local.get $2 - i32.store - local.get $2 - if - local.get $4 + local.get $3 + local.get $1 + i32.store offset=4 + local.get $3 local.get $2 - call $byn-split-outlined-A$~lib/rt/itcms/__link + i32.store offset=8 + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $3 + i32.store offset=8 + local.get $3 + i32.const 0 + call $~lib/typedarray/Int64Array#__get + i64.const 1 + i64.ne + br_if $folding-inner16 + local.get $3 + i32.const 1 + call $~lib/typedarray/Int64Array#__get + i64.const 4 + i64.ne + br_if $folding-inner17 + local.get $3 + i32.const 2 + call $~lib/typedarray/Int64Array#__get + i64.const 9 + i64.ne + br_if $folding-inner18 + global.get $~lib/memory/__stack_pointer + i32.const 12 + i32.add + global.set $~lib/memory/__stack_pointer + br $__inlined_func$std/typedarray/testArrayMap<~lib/typedarray/Int64Array,i64> end - local.get $4 - local.get $2 - i32.store offset=4 - local.get $4 - 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 $4 - i32.store offset=8 - local.get $4 - i32.const 0 - call $~lib/typedarray/Float32Array#__get - f32.const 1 - f32.ne - br_if $folding-inner16 - local.get $4 - i32.const 1 - call $~lib/typedarray/Float32Array#__get - f32.const 4 - f32.ne - br_if $folding-inner19 - local.get $4 - i32.const 2 - call $~lib/typedarray/Float32Array#__get - f32.const 9 - f32.ne - br_if $folding-inner21 - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.add - global.set $~lib/memory/__stack_pointer i32.const 0 - local.set $14 + local.set $11 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 16628 - i32.lt_s - br_if $folding-inner22 - 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 3 - call $~lib/typedarray/Float64Array#constructor - local.tee $10 - i32.store - local.get $10 + block $__inlined_func$std/typedarray/testArrayMap<~lib/typedarray/Uint64Array,u64> + global.get $~lib/memory/__stack_pointer + i32.const 16628 + i32.lt_s + br_if $folding-inner21 + 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 3 + call $~lib/typedarray/Uint64Array#constructor + local.tee $9 + i32.store + local.get $9 + i32.const 0 + i64.const 1 + call $~lib/typedarray/Uint64Array#__set + local.get $9 + i32.const 1 + i64.const 2 + call $~lib/typedarray/Uint64Array#__set + local.get $9 + i32.const 2 + i64.const 3 + call $~lib/typedarray/Uint64Array#__set + global.get $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 3856 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.sub + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 16628 + i32.lt_s + br_if $folding-inner21 + global.get $~lib/memory/__stack_pointer + local.tee $0 + i64.const 0 + i64.store + local.get $9 + i32.load offset=8 + i32.const 3 + i32.shr_u + local.set $6 + local.get $9 + i32.load offset=4 + local.set $4 + local.get $0 + i32.const 12 + i32.const 11 + call $~lib/rt/itcms/__new + local.tee $3 + i32.store + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.const 3 + i32.shl + local.tee $2 + i32.const 0 + call $~lib/rt/itcms/__new + local.tee $1 + i32.store offset=4 + loop $for-loop|028 + local.get $6 + local.get $11 + i32.gt_s + if + local.get $11 + i32.const 3 + i32.shl + local.tee $0 + local.get $4 + i32.add + i64.load + local.set $10 + i32.const 3 + global.set $~argumentsLength + local.get $0 + local.get $1 + i32.add + local.get $10 + local.get $11 + local.get $9 + i32.const 3856 + i32.load + call_indirect $0 (type $i64_i32_i32_=>_i64) + i64.store + local.get $11 + i32.const 1 + i32.add + local.set $11 + br $for-loop|028 + end + end + local.get $3 + local.get $1 + i32.store + local.get $1 + if + local.get $3 + local.get $1 + call $byn-split-outlined-A$~lib/rt/itcms/__link + end + local.get $3 + local.get $1 + i32.store offset=4 + local.get $3 + local.get $2 + i32.store offset=8 + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $3 + i32.store offset=8 + local.get $3 + i32.const 0 + call $~lib/typedarray/Uint64Array#__get + i64.const 1 + i64.ne + br_if $folding-inner16 + local.get $3 + i32.const 1 + call $~lib/typedarray/Uint64Array#__get + i64.const 4 + i64.ne + br_if $folding-inner17 + local.get $3 + i32.const 2 + call $~lib/typedarray/Uint64Array#__get + i64.const 9 + i64.ne + br_if $folding-inner18 + global.get $~lib/memory/__stack_pointer + i32.const 12 + i32.add + global.set $~lib/memory/__stack_pointer + br $__inlined_func$std/typedarray/testArrayMap<~lib/typedarray/Uint64Array,u64> + end i32.const 0 - f64.const 1 - call $~lib/typedarray/Float64Array#__set - local.get $10 - i32.const 1 - f64.const 2 - call $~lib/typedarray/Float64Array#__set - local.get $10 - i32.const 2 - f64.const 3 - call $~lib/typedarray/Float64Array#__set + local.set $11 global.get $~lib/memory/__stack_pointer - global.get $~lib/memory/__stack_pointer - i32.const 3920 - i32.store offset=4 - global.get $~lib/memory/__stack_pointer - i32.const 8 + i32.const 12 i32.sub global.set $~lib/memory/__stack_pointer - global.get $~lib/memory/__stack_pointer - i32.const 16628 - i32.lt_s - br_if $folding-inner22 - global.get $~lib/memory/__stack_pointer - local.tee $0 - i64.const 0 - i64.store - local.get $10 - i32.load offset=8 - i32.const 3 - i32.shr_u - local.set $8 - local.get $10 - i32.load offset=4 - local.set $6 - local.get $0 - i32.const 12 - i32.const 13 - call $~lib/rt/itcms/__new - local.tee $4 - i32.store - global.get $~lib/memory/__stack_pointer - local.get $8 - i32.const 3 - i32.shl - local.tee $3 - i32.const 0 - call $~lib/rt/itcms/__new - local.tee $2 - i32.store offset=4 - loop $for-loop|025 - local.get $8 - local.get $14 - i32.gt_s - if + block $__inlined_func$std/typedarray/testArrayMap<~lib/typedarray/Float32Array,f32> + global.get $~lib/memory/__stack_pointer + i32.const 16628 + i32.lt_s + br_if $folding-inner21 + 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 3 + call $~lib/typedarray/Float32Array#constructor + local.tee $9 + i32.store + local.get $9 + i32.const 0 + f32.const 1 + call $~lib/typedarray/Float32Array#__set + local.get $9 + i32.const 1 + f32.const 2 + call $~lib/typedarray/Float32Array#__set + local.get $9 + i32.const 2 + f32.const 3 + call $~lib/typedarray/Float32Array#__set + global.get $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 3888 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.sub + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 16628 + i32.lt_s + br_if $folding-inner21 + global.get $~lib/memory/__stack_pointer + local.tee $0 + i64.const 0 + i64.store + local.get $9 + i32.load offset=8 + i32.const 2 + i32.shr_u + local.set $6 + local.get $9 + i32.load offset=4 + local.set $4 + local.get $0 + i32.const 12 + i32.const 12 + call $~lib/rt/itcms/__new + local.tee $3 + i32.store + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.const 2 + i32.shl + local.tee $2 + i32.const 0 + call $~lib/rt/itcms/__new + local.tee $1 + i32.store offset=4 + loop $for-loop|031 local.get $6 - local.get $14 - i32.const 3 - i32.shl - local.tee $0 - i32.add - f64.load - local.set $7 - i32.const 3 - global.set $~argumentsLength - local.get $0 - local.get $2 - i32.add - local.get $7 - local.get $14 - local.get $10 - i32.const 3920 - i32.load - call_indirect $0 (type $f64_i32_i32_=>_f64) - f64.store - local.get $14 - i32.const 1 - i32.add - local.set $14 - br $for-loop|025 + local.get $11 + i32.gt_s + if + local.get $11 + i32.const 2 + i32.shl + local.tee $0 + local.get $4 + i32.add + f32.load + local.set $5 + i32.const 3 + global.set $~argumentsLength + local.get $0 + local.get $1 + i32.add + local.get $5 + local.get $11 + local.get $9 + i32.const 3888 + i32.load + call_indirect $0 (type $f32_i32_i32_=>_f32) + f32.store + local.get $11 + i32.const 1 + i32.add + local.set $11 + br $for-loop|031 + end end - end - local.get $4 - local.get $2 - i32.store - local.get $2 - if - local.get $4 + local.get $3 + local.get $1 + i32.store + local.get $1 + if + local.get $3 + local.get $1 + call $byn-split-outlined-A$~lib/rt/itcms/__link + end + local.get $3 + local.get $1 + i32.store offset=4 + local.get $3 local.get $2 - call $byn-split-outlined-A$~lib/rt/itcms/__link + i32.store offset=8 + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $3 + i32.store offset=8 + local.get $3 + i32.const 0 + call $~lib/typedarray/Float32Array#__get + f32.const 1 + f32.ne + br_if $folding-inner16 + local.get $3 + i32.const 1 + call $~lib/typedarray/Float32Array#__get + f32.const 4 + f32.ne + br_if $folding-inner17 + local.get $3 + i32.const 2 + call $~lib/typedarray/Float32Array#__get + f32.const 9 + f32.ne + br_if $folding-inner18 + global.get $~lib/memory/__stack_pointer + i32.const 12 + i32.add + global.set $~lib/memory/__stack_pointer + br $__inlined_func$std/typedarray/testArrayMap<~lib/typedarray/Float32Array,f32> end - local.get $4 - local.get $2 - i32.store offset=4 - local.get $4 - 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 $4 - i32.store offset=8 - local.get $4 i32.const 0 - call $~lib/typedarray/Float64Array#__get - f64.const 1 - f64.ne - br_if $folding-inner16 - local.get $4 - i32.const 1 - call $~lib/typedarray/Float64Array#__get - f64.const 4 - f64.ne - br_if $folding-inner19 - local.get $4 - i32.const 2 - call $~lib/typedarray/Float64Array#__get - f64.const 9 - f64.ne - br_if $folding-inner21 + local.set $11 global.get $~lib/memory/__stack_pointer i32.const 12 - i32.add + i32.sub global.set $~lib/memory/__stack_pointer + block $__inlined_func$std/typedarray/testArrayMap<~lib/typedarray/Float64Array,f64> + global.get $~lib/memory/__stack_pointer + i32.const 16628 + i32.lt_s + br_if $folding-inner21 + 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 3 + call $~lib/typedarray/Float64Array#constructor + local.tee $9 + i32.store + local.get $9 + i32.const 0 + f64.const 1 + call $~lib/typedarray/Float64Array#__set + local.get $9 + i32.const 1 + f64.const 2 + call $~lib/typedarray/Float64Array#__set + local.get $9 + i32.const 2 + f64.const 3 + call $~lib/typedarray/Float64Array#__set + global.get $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 3920 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.sub + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 16628 + i32.lt_s + br_if $folding-inner21 + global.get $~lib/memory/__stack_pointer + local.tee $0 + i64.const 0 + i64.store + local.get $9 + i32.load offset=8 + i32.const 3 + i32.shr_u + local.set $6 + local.get $9 + i32.load offset=4 + local.set $4 + local.get $0 + i32.const 12 + i32.const 13 + call $~lib/rt/itcms/__new + local.tee $3 + i32.store + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.const 3 + i32.shl + local.tee $2 + i32.const 0 + call $~lib/rt/itcms/__new + local.tee $1 + i32.store offset=4 + loop $for-loop|034 + local.get $6 + local.get $11 + i32.gt_s + if + local.get $11 + i32.const 3 + i32.shl + local.tee $0 + local.get $4 + i32.add + f64.load + local.set $7 + i32.const 3 + global.set $~argumentsLength + local.get $0 + local.get $1 + i32.add + local.get $7 + local.get $11 + local.get $9 + i32.const 3920 + i32.load + call_indirect $0 (type $f64_i32_i32_=>_f64) + f64.store + local.get $11 + i32.const 1 + i32.add + local.set $11 + br $for-loop|034 + end + end + local.get $3 + local.get $1 + i32.store + local.get $1 + if + local.get $3 + local.get $1 + call $byn-split-outlined-A$~lib/rt/itcms/__link + end + local.get $3 + local.get $1 + i32.store offset=4 + local.get $3 + local.get $2 + i32.store offset=8 + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $3 + i32.store offset=8 + local.get $3 + i32.const 0 + call $~lib/typedarray/Float64Array#__get + f64.const 1 + f64.ne + br_if $folding-inner16 + local.get $3 + i32.const 1 + call $~lib/typedarray/Float64Array#__get + f64.const 4 + f64.ne + br_if $folding-inner17 + local.get $3 + i32.const 2 + call $~lib/typedarray/Float64Array#__get + f64.const 9 + f64.ne + br_if $folding-inner18 + global.get $~lib/memory/__stack_pointer + i32.const 12 + i32.add + global.set $~lib/memory/__stack_pointer + br $__inlined_func$std/typedarray/testArrayMap<~lib/typedarray/Float64Array,f64> + end call $std/typedarray/testArrayFilter<~lib/typedarray/Int8Array,i8> call $std/typedarray/testArrayFilter<~lib/typedarray/Uint8Array,u8> call $std/typedarray/testArrayFilter<~lib/typedarray/Uint8ClampedArray,u8> @@ -51005,7 +51119,7 @@ call $std/typedarray/testArrayFilter<~lib/typedarray/Float32Array,f32> call $std/typedarray/testArrayFilter<~lib/typedarray/Float64Array,f64> i32.const 0 - local.set $0 + local.set $6 global.get $~lib/memory/__stack_pointer i32.const 8 i32.sub @@ -51013,25 +51127,25 @@ global.get $~lib/memory/__stack_pointer i32.const 16628 i32.lt_s - br_if $folding-inner22 + br_if $folding-inner21 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 3 call $~lib/typedarray/Int8Array#constructor - local.tee $6 + local.tee $3 i32.store - local.get $6 + local.get $3 i32.const 0 i32.const 2 call $~lib/typedarray/Int8Array#__set - local.get $6 + local.get $3 i32.const 1 i32.const 4 call $~lib/typedarray/Int8Array#__set - local.get $6 + local.get $3 i32.const 2 i32.const 6 call $~lib/typedarray/Int8Array#__set @@ -51039,37 +51153,37 @@ global.get $~lib/memory/__stack_pointer i32.const 4304 i32.store offset=4 - local.get $6 + local.get $3 i32.load offset=4 - local.set $4 - local.get $6 + local.set $2 + local.get $3 i32.load offset=8 - local.set $3 + local.set $1 loop $for-loop|012 - local.get $0 - local.get $3 - i32.lt_s + local.get $1 + local.get $6 + i32.gt_s if - local.get $0 - local.get $4 + local.get $2 + local.get $6 i32.add i32.load8_s - local.set $2 + local.set $0 i32.const 3 global.set $~argumentsLength i32.const 1 - local.get $2 local.get $0 local.get $6 + local.get $3 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 $0 + local.get $6 i32.const 1 i32.add - local.set $0 + local.set $6 br $for-loop|012 end end @@ -51081,19 +51195,21 @@ global.get $~lib/memory/__stack_pointer i32.const 4336 i32.store offset=4 - local.get $6 + local.get $3 i32.load offset=4 - local.set $3 - local.get $6 - i32.load offset=8 local.set $2 - loop $for-loop|0410 - local.get $2 - local.get $13 + i32.const 0 + local.set $6 + local.get $3 + i32.load offset=8 + local.set $1 + loop $for-loop|0436 + local.get $1 + local.get $6 i32.gt_s if - local.get $3 - local.get $13 + local.get $2 + local.get $6 i32.add i32.load8_s local.set $0 @@ -51101,18 +51217,18 @@ global.set $~argumentsLength i32.const 1 local.get $0 - local.get $13 local.get $6 + local.get $3 i32.const 4336 i32.load call_indirect $0 (type $i32_i32_i32_=>_i32) br_if $~lib/typedarray/SOME<~lib/typedarray/Int8Array,i8>|inlined.01 drop - local.get $13 + local.get $6 i32.const 1 i32.add - local.set $13 - br $for-loop|0410 + local.set $6 + br $for-loop|0436 end end i32.const 0 @@ -51123,9 +51239,7 @@ i32.add global.set $~lib/memory/__stack_pointer i32.const 0 - local.set $0 - i32.const 0 - local.set $13 + local.set $6 global.get $~lib/memory/__stack_pointer i32.const 8 i32.sub @@ -51133,25 +51247,25 @@ global.get $~lib/memory/__stack_pointer i32.const 16628 i32.lt_s - br_if $folding-inner22 + br_if $folding-inner21 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 3 call $~lib/typedarray/Uint8Array#constructor - local.tee $6 + local.tee $3 i32.store - local.get $6 + local.get $3 i32.const 0 i32.const 2 call $~lib/typedarray/Uint8Array#__set - local.get $6 + local.get $3 i32.const 1 i32.const 4 call $~lib/typedarray/Uint8Array#__set - local.get $6 + local.get $3 i32.const 2 i32.const 6 call $~lib/typedarray/Uint8Array#__set @@ -51159,38 +51273,38 @@ global.get $~lib/memory/__stack_pointer i32.const 4368 i32.store offset=4 - local.get $6 + local.get $3 i32.load offset=4 - local.set $4 - local.get $6 + local.set $2 + local.get $3 i32.load offset=8 - local.set $3 - loop $for-loop|01426 - local.get $0 - local.get $3 - i32.lt_s + local.set $1 + loop $for-loop|01437 + local.get $1 + local.get $6 + i32.gt_s if - local.get $0 - local.get $4 + local.get $2 + local.get $6 i32.add i32.load8_u - local.set $2 + local.set $0 i32.const 3 global.set $~argumentsLength i32.const 1 - local.get $2 local.get $0 local.get $6 + local.get $3 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 $0 + local.get $6 i32.const 1 i32.add - local.set $0 - br $for-loop|01426 + local.set $6 + br $for-loop|01437 end end i32.const 0 @@ -51201,19 +51315,21 @@ global.get $~lib/memory/__stack_pointer i32.const 4400 i32.store offset=4 - local.get $6 + local.get $3 i32.load offset=4 - local.set $3 - local.get $6 - i32.load offset=8 local.set $2 + i32.const 0 + local.set $6 + local.get $3 + i32.load offset=8 + local.set $1 loop $for-loop|0415 - local.get $2 - local.get $13 + local.get $1 + local.get $6 i32.gt_s if - local.get $3 - local.get $13 + local.get $2 + local.get $6 i32.add i32.load8_u local.set $0 @@ -51221,17 +51337,17 @@ global.set $~argumentsLength i32.const 1 local.get $0 - local.get $13 local.get $6 + local.get $3 i32.const 4400 i32.load call_indirect $0 (type $i32_i32_i32_=>_i32) br_if $~lib/typedarray/SOME<~lib/typedarray/Uint8Array,u8>|inlined.01 drop - local.get $13 + local.get $6 i32.const 1 i32.add - local.set $13 + local.set $6 br $for-loop|0415 end end @@ -51243,9 +51359,7 @@ i32.add global.set $~lib/memory/__stack_pointer i32.const 0 - local.set $0 - i32.const 0 - local.set $13 + local.set $6 global.get $~lib/memory/__stack_pointer i32.const 8 i32.sub @@ -51253,25 +51367,25 @@ global.get $~lib/memory/__stack_pointer i32.const 16628 i32.lt_s - br_if $folding-inner22 + br_if $folding-inner21 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 3 call $~lib/typedarray/Uint8ClampedArray#constructor - local.tee $6 + local.tee $3 i32.store - local.get $6 + local.get $3 i32.const 0 i32.const 2 call $~lib/typedarray/Uint8ClampedArray#__set - local.get $6 + local.get $3 i32.const 1 i32.const 4 call $~lib/typedarray/Uint8ClampedArray#__set - local.get $6 + local.get $3 i32.const 2 i32.const 6 call $~lib/typedarray/Uint8ClampedArray#__set @@ -51279,38 +51393,38 @@ global.get $~lib/memory/__stack_pointer i32.const 4432 i32.store offset=4 - local.get $6 + local.get $3 i32.load offset=4 - local.set $4 - local.get $6 + local.set $2 + local.get $3 i32.load offset=8 - local.set $3 - loop $for-loop|01827 - local.get $0 - local.get $3 - i32.lt_s + local.set $1 + loop $for-loop|01838 + local.get $1 + local.get $6 + i32.gt_s if - local.get $0 - local.get $4 + local.get $2 + local.get $6 i32.add i32.load8_u - local.set $2 + local.set $0 i32.const 3 global.set $~argumentsLength i32.const 1 - local.get $2 local.get $0 local.get $6 + local.get $3 i32.const 4432 i32.load call_indirect $0 (type $i32_i32_i32_=>_i32) br_if $~lib/typedarray/SOME<~lib/typedarray/Uint8Array,u8>|inlined.016 drop - local.get $0 + local.get $6 i32.const 1 i32.add - local.set $0 - br $for-loop|01827 + local.set $6 + br $for-loop|01838 end end i32.const 0 @@ -51321,19 +51435,21 @@ global.get $~lib/memory/__stack_pointer i32.const 4464 i32.store offset=4 - local.get $6 + local.get $3 i32.load offset=4 - local.set $3 - local.get $6 - i32.load offset=8 local.set $2 + i32.const 0 + local.set $6 + local.get $3 + i32.load offset=8 + local.set $1 loop $for-loop|0420 - local.get $2 - local.get $13 + local.get $1 + local.get $6 i32.gt_s if - local.get $3 - local.get $13 + local.get $2 + local.get $6 i32.add i32.load8_u local.set $0 @@ -51341,17 +51457,17 @@ global.set $~argumentsLength i32.const 1 local.get $0 - local.get $13 local.get $6 + local.get $3 i32.const 4464 i32.load call_indirect $0 (type $i32_i32_i32_=>_i32) br_if $~lib/typedarray/SOME<~lib/typedarray/Uint8Array,u8>|inlined.0119 drop - local.get $13 + local.get $6 i32.const 1 i32.add - local.set $13 + local.set $6 br $for-loop|0420 end end @@ -51363,9 +51479,7 @@ i32.add global.set $~lib/memory/__stack_pointer i32.const 0 - local.set $0 - i32.const 0 - local.set $13 + local.set $6 global.get $~lib/memory/__stack_pointer i32.const 8 i32.sub @@ -51373,25 +51487,25 @@ global.get $~lib/memory/__stack_pointer i32.const 16628 i32.lt_s - br_if $folding-inner22 + br_if $folding-inner21 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 3 call $~lib/typedarray/Int16Array#constructor - local.tee $6 + local.tee $3 i32.store - local.get $6 + local.get $3 i32.const 0 i32.const 2 call $~lib/typedarray/Int16Array#__set - local.get $6 + local.get $3 i32.const 1 i32.const 4 call $~lib/typedarray/Int16Array#__set - local.get $6 + local.get $3 i32.const 2 i32.const 6 call $~lib/typedarray/Int16Array#__set @@ -51399,42 +51513,42 @@ global.get $~lib/memory/__stack_pointer i32.const 4496 i32.store offset=4 - local.get $6 + local.get $3 i32.load offset=4 - local.set $4 - local.get $6 + local.set $2 + local.get $3 i32.load offset=8 i32.const 1 i32.shr_u - local.set $3 - loop $for-loop|021 - local.get $0 - local.get $3 - i32.lt_s + local.set $1 + loop $for-loop|02139 + local.get $1 + local.get $6 + i32.gt_s if - local.get $0 + local.get $6 i32.const 1 i32.shl - local.get $4 + local.get $2 i32.add i32.load16_s - local.set $2 + local.set $0 i32.const 3 global.set $~argumentsLength i32.const 1 - local.get $2 local.get $0 local.get $6 + local.get $3 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 $0 + local.get $6 i32.const 1 i32.add - local.set $0 - br $for-loop|021 + local.set $6 + br $for-loop|02139 end end i32.const 0 @@ -51445,23 +51559,25 @@ global.get $~lib/memory/__stack_pointer i32.const 4528 i32.store offset=4 - local.get $6 + local.get $3 i32.load offset=4 - local.set $3 - local.get $6 + local.set $2 + i32.const 0 + local.set $6 + local.get $3 i32.load offset=8 i32.const 1 i32.shr_u - local.set $2 + local.set $1 loop $for-loop|0422 - local.get $2 - local.get $13 + local.get $1 + local.get $6 i32.gt_s if - local.get $13 + local.get $6 i32.const 1 i32.shl - local.get $3 + local.get $2 i32.add i32.load16_s local.set $0 @@ -51469,17 +51585,17 @@ global.set $~argumentsLength i32.const 1 local.get $0 - local.get $13 local.get $6 + local.get $3 i32.const 4528 i32.load call_indirect $0 (type $i32_i32_i32_=>_i32) br_if $~lib/typedarray/SOME<~lib/typedarray/Int16Array,i16>|inlined.01 drop - local.get $13 + local.get $6 i32.const 1 i32.add - local.set $13 + local.set $6 br $for-loop|0422 end end @@ -51491,9 +51607,7 @@ i32.add global.set $~lib/memory/__stack_pointer i32.const 0 - local.set $0 - i32.const 0 - local.set $13 + local.set $6 global.get $~lib/memory/__stack_pointer i32.const 8 i32.sub @@ -51501,25 +51615,25 @@ global.get $~lib/memory/__stack_pointer i32.const 16628 i32.lt_s - br_if $folding-inner22 + br_if $folding-inner21 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 3 call $~lib/typedarray/Uint16Array#constructor - local.tee $6 + local.tee $3 i32.store - local.get $6 + local.get $3 i32.const 0 i32.const 2 call $~lib/typedarray/Uint16Array#__set - local.get $6 + local.get $3 i32.const 1 i32.const 4 call $~lib/typedarray/Uint16Array#__set - local.get $6 + local.get $3 i32.const 2 i32.const 6 call $~lib/typedarray/Uint16Array#__set @@ -51527,42 +51641,42 @@ global.get $~lib/memory/__stack_pointer i32.const 4560 i32.store offset=4 - local.get $6 + local.get $3 i32.load offset=4 - local.set $4 - local.get $6 + local.set $2 + local.get $3 i32.load offset=8 i32.const 1 i32.shr_u - local.set $3 - loop $for-loop|02328 - local.get $0 - local.get $3 - i32.lt_s + local.set $1 + loop $for-loop|023 + local.get $1 + local.get $6 + i32.gt_s if - local.get $0 + local.get $6 i32.const 1 i32.shl - local.get $4 + local.get $2 i32.add i32.load16_u - local.set $2 + local.set $0 i32.const 3 global.set $~argumentsLength i32.const 1 - local.get $2 local.get $0 local.get $6 + local.get $3 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 $0 + local.get $6 i32.const 1 i32.add - local.set $0 - br $for-loop|02328 + local.set $6 + br $for-loop|023 end end i32.const 0 @@ -51573,23 +51687,25 @@ global.get $~lib/memory/__stack_pointer i32.const 4592 i32.store offset=4 - local.get $6 + local.get $3 i32.load offset=4 - local.set $3 - local.get $6 + local.set $2 + i32.const 0 + local.set $6 + local.get $3 i32.load offset=8 i32.const 1 i32.shr_u - local.set $2 + local.set $1 loop $for-loop|0424 - local.get $2 - local.get $13 + local.get $1 + local.get $6 i32.gt_s if - local.get $13 + local.get $6 i32.const 1 i32.shl - local.get $3 + local.get $2 i32.add i32.load16_u local.set $0 @@ -51597,17 +51713,17 @@ global.set $~argumentsLength i32.const 1 local.get $0 - local.get $13 local.get $6 + local.get $3 i32.const 4592 i32.load call_indirect $0 (type $i32_i32_i32_=>_i32) br_if $~lib/typedarray/SOME<~lib/typedarray/Uint16Array,u16>|inlined.01 drop - local.get $13 + local.get $6 i32.const 1 i32.add - local.set $13 + local.set $6 br $for-loop|0424 end end @@ -51619,9 +51735,7 @@ i32.add global.set $~lib/memory/__stack_pointer i32.const 0 - local.set $0 - i32.const 0 - local.set $13 + local.set $6 global.get $~lib/memory/__stack_pointer i32.const 8 i32.sub @@ -51629,25 +51743,25 @@ global.get $~lib/memory/__stack_pointer i32.const 16628 i32.lt_s - br_if $folding-inner22 + br_if $folding-inner21 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 3 call $~lib/typedarray/Int32Array#constructor - local.tee $6 + local.tee $3 i32.store - local.get $6 + local.get $3 i32.const 0 i32.const 2 call $~lib/typedarray/Int32Array#__set - local.get $6 + local.get $3 i32.const 1 i32.const 4 call $~lib/typedarray/Int32Array#__set - local.get $6 + local.get $3 i32.const 2 i32.const 6 call $~lib/typedarray/Int32Array#__set @@ -51655,42 +51769,42 @@ global.get $~lib/memory/__stack_pointer i32.const 4624 i32.store offset=4 - local.get $6 + local.get $3 i32.load offset=4 - local.set $4 - local.get $6 + local.set $2 + local.get $3 i32.load offset=8 i32.const 2 i32.shr_u - local.set $3 - loop $for-loop|02529 - local.get $0 - local.get $3 - i32.lt_s + local.set $1 + loop $for-loop|025 + local.get $1 + local.get $6 + i32.gt_s if - local.get $0 + local.get $6 i32.const 2 i32.shl - local.get $4 + local.get $2 i32.add i32.load - local.set $2 + local.set $0 i32.const 3 global.set $~argumentsLength i32.const 1 - local.get $2 local.get $0 local.get $6 + local.get $3 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 $0 + local.get $6 i32.const 1 i32.add - local.set $0 - br $for-loop|02529 + local.set $6 + br $for-loop|025 end end i32.const 0 @@ -51701,23 +51815,25 @@ global.get $~lib/memory/__stack_pointer i32.const 4656 i32.store offset=4 - local.get $6 + local.get $3 i32.load offset=4 - local.set $3 - local.get $6 + local.set $2 + i32.const 0 + local.set $6 + local.get $3 i32.load offset=8 i32.const 2 i32.shr_u - local.set $2 + local.set $1 loop $for-loop|0426 - local.get $2 - local.get $13 + local.get $1 + local.get $6 i32.gt_s if - local.get $13 + local.get $6 i32.const 2 i32.shl - local.get $3 + local.get $2 i32.add i32.load local.set $0 @@ -51725,17 +51841,17 @@ global.set $~argumentsLength i32.const 1 local.get $0 - local.get $13 local.get $6 + local.get $3 i32.const 4656 i32.load call_indirect $0 (type $i32_i32_i32_=>_i32) br_if $~lib/typedarray/SOME<~lib/typedarray/Int32Array,i32>|inlined.01 drop - local.get $13 + local.get $6 i32.const 1 i32.add - local.set $13 + local.set $6 br $for-loop|0426 end end @@ -51747,9 +51863,7 @@ i32.add global.set $~lib/memory/__stack_pointer i32.const 0 - local.set $0 - i32.const 0 - local.set $13 + local.set $6 global.get $~lib/memory/__stack_pointer i32.const 8 i32.sub @@ -51757,25 +51871,25 @@ global.get $~lib/memory/__stack_pointer i32.const 16628 i32.lt_s - br_if $folding-inner22 + br_if $folding-inner21 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 3 call $~lib/typedarray/Uint32Array#constructor - local.tee $6 + local.tee $3 i32.store - local.get $6 + local.get $3 i32.const 0 i32.const 2 call $~lib/typedarray/Uint32Array#__set - local.get $6 + local.get $3 i32.const 1 i32.const 4 call $~lib/typedarray/Uint32Array#__set - local.get $6 + local.get $3 i32.const 2 i32.const 6 call $~lib/typedarray/Uint32Array#__set @@ -51783,42 +51897,42 @@ global.get $~lib/memory/__stack_pointer i32.const 4688 i32.store offset=4 - local.get $6 + local.get $3 i32.load offset=4 - local.set $4 - local.get $6 + local.set $2 + local.get $3 i32.load offset=8 i32.const 2 i32.shr_u - local.set $3 - loop $for-loop|028 - local.get $0 - local.get $3 - i32.lt_s + local.set $1 + loop $for-loop|02840 + local.get $1 + local.get $6 + i32.gt_s if - local.get $0 + local.get $6 i32.const 2 i32.shl - local.get $4 + local.get $2 i32.add i32.load - local.set $2 + local.set $0 i32.const 3 global.set $~argumentsLength i32.const 1 - local.get $2 local.get $0 local.get $6 + local.get $3 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 $0 + local.get $6 i32.const 1 i32.add - local.set $0 - br $for-loop|028 + local.set $6 + br $for-loop|02840 end end i32.const 0 @@ -51829,23 +51943,25 @@ global.get $~lib/memory/__stack_pointer i32.const 4720 i32.store offset=4 - local.get $6 + local.get $3 i32.load offset=4 - local.set $3 - local.get $6 + local.set $2 + i32.const 0 + local.set $6 + local.get $3 i32.load offset=8 i32.const 2 i32.shr_u - local.set $2 + local.set $1 loop $for-loop|0429 - local.get $2 - local.get $13 + local.get $1 + local.get $6 i32.gt_s if - local.get $13 + local.get $6 i32.const 2 i32.shl - local.get $3 + local.get $2 i32.add i32.load local.set $0 @@ -51853,17 +51969,17 @@ global.set $~argumentsLength i32.const 1 local.get $0 - local.get $13 local.get $6 + local.get $3 i32.const 4720 i32.load call_indirect $0 (type $i32_i32_i32_=>_i32) br_if $~lib/typedarray/SOME<~lib/typedarray/Uint32Array,u32>|inlined.01 drop - local.get $13 + local.get $6 i32.const 1 i32.add - local.set $13 + local.set $6 br $for-loop|0429 end end @@ -51875,9 +51991,7 @@ i32.add global.set $~lib/memory/__stack_pointer i32.const 0 - local.set $0 - i32.const 0 - local.set $13 + local.set $8 global.get $~lib/memory/__stack_pointer i32.const 8 i32.sub @@ -51885,25 +51999,25 @@ global.get $~lib/memory/__stack_pointer i32.const 16628 i32.lt_s - br_if $folding-inner22 + br_if $folding-inner21 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 3 call $~lib/typedarray/Int64Array#constructor - local.tee $4 + local.tee $2 i32.store - local.get $4 + local.get $2 i32.const 0 i64.const 2 call $~lib/typedarray/Int64Array#__set - local.get $4 + local.get $2 i32.const 1 i64.const 4 call $~lib/typedarray/Int64Array#__set - local.get $4 + local.get $2 i32.const 2 i64.const 6 call $~lib/typedarray/Int64Array#__set @@ -51911,41 +52025,41 @@ global.get $~lib/memory/__stack_pointer i32.const 4752 i32.store offset=4 - local.get $4 + local.get $2 i32.load offset=4 - local.set $3 - local.get $4 + local.set $1 + local.get $2 i32.load offset=8 i32.const 3 i32.shr_u - local.set $2 + local.set $0 loop $for-loop|030 local.get $0 - local.get $2 - i32.lt_s + local.get $8 + i32.gt_s if - local.get $0 + local.get $8 i32.const 3 i32.shl - local.get $3 + local.get $1 i32.add i64.load - local.set $11 + local.set $10 i32.const 3 global.set $~argumentsLength i32.const 1 - local.get $11 - local.get $0 - local.get $4 + local.get $10 + local.get $8 + local.get $2 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 $0 + local.get $8 i32.const 1 i32.add - local.set $0 + local.set $8 br $for-loop|030 end end @@ -51957,41 +52071,43 @@ global.get $~lib/memory/__stack_pointer i32.const 4784 i32.store offset=4 - local.get $4 + local.get $2 i32.load offset=4 - local.set $2 - local.get $4 + local.set $1 + i32.const 0 + local.set $8 + local.get $2 i32.load offset=8 i32.const 3 i32.shr_u local.set $0 loop $for-loop|0431 local.get $0 - local.get $13 + local.get $8 i32.gt_s if - local.get $13 + local.get $8 i32.const 3 i32.shl - local.get $2 + local.get $1 i32.add i64.load - local.set $11 + local.set $10 i32.const 3 global.set $~argumentsLength i32.const 1 - local.get $11 - local.get $13 - local.get $4 + local.get $10 + local.get $8 + local.get $2 i32.const 4784 i32.load call_indirect $0 (type $i64_i32_i32_=>_i32) br_if $~lib/typedarray/SOME<~lib/typedarray/Int64Array,i64>|inlined.01 drop - local.get $13 + local.get $8 i32.const 1 i32.add - local.set $13 + local.set $8 br $for-loop|0431 end end @@ -52003,9 +52119,7 @@ i32.add global.set $~lib/memory/__stack_pointer i32.const 0 - local.set $0 - i32.const 0 - local.set $13 + local.set $8 global.get $~lib/memory/__stack_pointer i32.const 8 i32.sub @@ -52013,25 +52127,25 @@ global.get $~lib/memory/__stack_pointer i32.const 16628 i32.lt_s - br_if $folding-inner22 + br_if $folding-inner21 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 3 call $~lib/typedarray/Uint64Array#constructor - local.tee $4 + local.tee $2 i32.store - local.get $4 + local.get $2 i32.const 0 i64.const 2 call $~lib/typedarray/Uint64Array#__set - local.get $4 + local.get $2 i32.const 1 i64.const 4 call $~lib/typedarray/Uint64Array#__set - local.get $4 + local.get $2 i32.const 2 i64.const 6 call $~lib/typedarray/Uint64Array#__set @@ -52039,41 +52153,41 @@ global.get $~lib/memory/__stack_pointer i32.const 4816 i32.store offset=4 - local.get $4 + local.get $2 i32.load offset=4 - local.set $3 - local.get $4 + local.set $1 + local.get $2 i32.load offset=8 i32.const 3 i32.shr_u - local.set $2 + local.set $0 loop $for-loop|033 local.get $0 - local.get $2 - i32.lt_s + local.get $8 + i32.gt_s if - local.get $0 + local.get $8 i32.const 3 i32.shl - local.get $3 + local.get $1 i32.add i64.load - local.set $11 + local.set $10 i32.const 3 global.set $~argumentsLength i32.const 1 - local.get $11 - local.get $0 - local.get $4 + local.get $10 + local.get $8 + local.get $2 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 $0 + local.get $8 i32.const 1 i32.add - local.set $0 + local.set $8 br $for-loop|033 end end @@ -52085,41 +52199,43 @@ global.get $~lib/memory/__stack_pointer i32.const 4848 i32.store offset=4 - local.get $4 + local.get $2 i32.load offset=4 - local.set $2 - local.get $4 + local.set $1 + i32.const 0 + local.set $8 + local.get $2 i32.load offset=8 i32.const 3 i32.shr_u local.set $0 loop $for-loop|0434 local.get $0 - local.get $13 + local.get $8 i32.gt_s if - local.get $13 + local.get $8 i32.const 3 i32.shl - local.get $2 + local.get $1 i32.add i64.load - local.set $11 + local.set $10 i32.const 3 global.set $~argumentsLength i32.const 1 - local.get $11 - local.get $13 - local.get $4 + local.get $10 + local.get $8 + local.get $2 i32.const 4848 i32.load call_indirect $0 (type $i64_i32_i32_=>_i32) br_if $~lib/typedarray/SOME<~lib/typedarray/Uint64Array,u64>|inlined.01 drop - local.get $13 + local.get $8 i32.const 1 i32.add - local.set $13 + local.set $8 br $for-loop|0434 end end @@ -52131,9 +52247,7 @@ i32.add global.set $~lib/memory/__stack_pointer i32.const 0 - local.set $0 - i32.const 0 - local.set $13 + local.set $8 global.get $~lib/memory/__stack_pointer i32.const 8 i32.sub @@ -52141,25 +52255,25 @@ global.get $~lib/memory/__stack_pointer i32.const 16628 i32.lt_s - br_if $folding-inner22 + br_if $folding-inner21 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 3 call $~lib/typedarray/Float32Array#constructor - local.tee $4 + local.tee $2 i32.store - local.get $4 + local.get $2 i32.const 0 f32.const 2 call $~lib/typedarray/Float32Array#__set - local.get $4 + local.get $2 i32.const 1 f32.const 4 call $~lib/typedarray/Float32Array#__set - local.get $4 + local.get $2 i32.const 2 f32.const 6 call $~lib/typedarray/Float32Array#__set @@ -52167,23 +52281,23 @@ global.get $~lib/memory/__stack_pointer i32.const 4880 i32.store offset=4 - local.get $4 + local.get $2 i32.load offset=4 - local.set $3 - local.get $4 + local.set $1 + local.get $2 i32.load offset=8 i32.const 2 i32.shr_u - local.set $2 + local.set $0 loop $for-loop|035 local.get $0 - local.get $2 - i32.lt_s + local.get $8 + i32.gt_s if - local.get $0 + local.get $8 i32.const 2 i32.shl - local.get $3 + local.get $1 i32.add f32.load local.set $5 @@ -52191,17 +52305,17 @@ global.set $~argumentsLength i32.const 1 local.get $5 - local.get $0 - local.get $4 + local.get $8 + local.get $2 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 $0 + local.get $8 i32.const 1 i32.add - local.set $0 + local.set $8 br $for-loop|035 end end @@ -52213,23 +52327,25 @@ global.get $~lib/memory/__stack_pointer i32.const 4912 i32.store offset=4 - local.get $4 + local.get $2 i32.load offset=4 - local.set $2 - local.get $4 + local.set $1 + i32.const 0 + local.set $8 + local.get $2 i32.load offset=8 i32.const 2 i32.shr_u local.set $0 - loop $for-loop|0436 + loop $for-loop|043641 local.get $0 - local.get $13 + local.get $8 i32.gt_s if - local.get $13 + local.get $8 i32.const 2 i32.shl - local.get $2 + local.get $1 i32.add f32.load local.set $5 @@ -52237,18 +52353,18 @@ global.set $~argumentsLength i32.const 1 local.get $5 - local.get $13 - local.get $4 + local.get $8 + local.get $2 i32.const 4912 i32.load call_indirect $0 (type $f32_i32_i32_=>_i32) br_if $~lib/typedarray/SOME<~lib/typedarray/Float32Array,f32>|inlined.01 drop - local.get $13 + local.get $8 i32.const 1 i32.add - local.set $13 - br $for-loop|0436 + local.set $8 + br $for-loop|043641 end end i32.const 0 @@ -52259,9 +52375,7 @@ i32.add global.set $~lib/memory/__stack_pointer i32.const 0 - local.set $0 - i32.const 0 - local.set $13 + local.set $8 global.get $~lib/memory/__stack_pointer i32.const 8 i32.sub @@ -52269,25 +52383,25 @@ global.get $~lib/memory/__stack_pointer i32.const 16628 i32.lt_s - br_if $folding-inner22 + br_if $folding-inner21 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 3 call $~lib/typedarray/Float64Array#constructor - local.tee $4 + local.tee $2 i32.store - local.get $4 + local.get $2 i32.const 0 f64.const 2 call $~lib/typedarray/Float64Array#__set - local.get $4 + local.get $2 i32.const 1 f64.const 4 call $~lib/typedarray/Float64Array#__set - local.get $4 + local.get $2 i32.const 2 f64.const 6 call $~lib/typedarray/Float64Array#__set @@ -52295,23 +52409,23 @@ global.get $~lib/memory/__stack_pointer i32.const 4944 i32.store offset=4 - local.get $4 + local.get $2 i32.load offset=4 - local.set $3 - local.get $4 + local.set $1 + local.get $2 i32.load offset=8 i32.const 3 i32.shr_u - local.set $2 + local.set $0 loop $for-loop|038 local.get $0 - local.get $2 - i32.lt_s + local.get $8 + i32.gt_s if - local.get $0 + local.get $8 i32.const 3 i32.shl - local.get $3 + local.get $1 i32.add f64.load local.set $7 @@ -52319,17 +52433,17 @@ global.set $~argumentsLength i32.const 1 local.get $7 - local.get $0 - local.get $4 + local.get $8 + local.get $2 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 $0 + local.get $8 i32.const 1 i32.add - local.set $0 + local.set $8 br $for-loop|038 end end @@ -52341,23 +52455,25 @@ global.get $~lib/memory/__stack_pointer i32.const 4976 i32.store offset=4 - local.get $4 + local.get $2 i32.load offset=4 - local.set $2 - local.get $4 + local.set $1 + i32.const 0 + local.set $8 + local.get $2 i32.load offset=8 i32.const 3 i32.shr_u local.set $0 loop $for-loop|0439 local.get $0 - local.get $13 + local.get $8 i32.gt_s if - local.get $13 + local.get $8 i32.const 3 i32.shl - local.get $2 + local.get $1 i32.add f64.load local.set $7 @@ -52365,17 +52481,17 @@ global.set $~argumentsLength i32.const 1 local.get $7 - local.get $13 - local.get $4 + local.get $8 + local.get $2 i32.const 4976 i32.load call_indirect $0 (type $f64_i32_i32_=>_i32) br_if $~lib/typedarray/SOME<~lib/typedarray/Float64Array,f64>|inlined.01 drop - local.get $13 + local.get $8 i32.const 1 i32.add - local.set $13 + local.set $8 br $for-loop|0439 end end @@ -52388,8 +52504,6 @@ global.set $~lib/memory/__stack_pointer i32.const 0 local.set $0 - i32.const 0 - local.set $13 global.get $~lib/memory/__stack_pointer i32.const 8 i32.sub @@ -52397,55 +52511,59 @@ global.get $~lib/memory/__stack_pointer i32.const 16628 i32.lt_s - br_if $folding-inner22 + br_if $folding-inner21 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 3 call $~lib/typedarray/Int8Array#constructor - local.tee $6 + local.tee $4 i32.store - local.get $6 + local.get $4 i32.const 0 i32.const 1 call $~lib/typedarray/Int8Array#__set - local.get $6 + local.get $4 i32.const 1 i32.const 2 call $~lib/typedarray/Int8Array#__set - local.get $6 + local.get $4 i32.const 2 i32.const 3 call $~lib/typedarray/Int8Array#__set - global.get $~lib/memory/__stack_pointer - i32.const 5008 - i32.store offset=4 - local.get $6 - i32.load offset=4 - local.set $4 - local.get $6 - i32.load offset=8 - local.set $3 - block $~lib/typedarray/FIND_INDEX<~lib/typedarray/Int8Array,i8>|inlined.0 + block $~lib/typedarray/FIND_INDEX<~lib/typedarray/Int8Array,i8>|inlined.0 (result i32) + global.get $~lib/memory/__stack_pointer + i32.const 5008 + i32.store offset=4 + local.get $4 + i32.load offset=4 + local.set $3 + local.get $4 + i32.load offset=8 + local.set $2 loop $for-loop|040 local.get $0 - local.get $3 + local.get $2 i32.lt_s if local.get $0 - local.get $4 + local.get $3 i32.add i32.load8_s + local.set $1 i32.const 3 global.set $~argumentsLength local.get $0 - local.get $6 + local.get $1 + local.get $0 + local.get $4 i32.const 5008 i32.load call_indirect $0 (type $i32_i32_i32_=>_i32) br_if $~lib/typedarray/FIND_INDEX<~lib/typedarray/Int8Array,i8>|inlined.0 + drop local.get $0 i32.const 1 i32.add @@ -52454,50 +52572,52 @@ end end i32.const -1 - local.set $0 end - local.get $0 i32.const 1 i32.ne br_if $folding-inner25 - global.get $~lib/memory/__stack_pointer - i32.const 5040 - i32.store offset=4 - local.get $6 - i32.load offset=4 - local.set $3 - local.get $6 - i32.load offset=8 - local.set $2 - block $~lib/typedarray/FIND_INDEX<~lib/typedarray/Int8Array,i8>|inlined.01 + block $~lib/typedarray/FIND_INDEX<~lib/typedarray/Int8Array,i8>|inlined.01 (result i32) + global.get $~lib/memory/__stack_pointer + i32.const 5040 + i32.store offset=4 + local.get $4 + i32.load offset=4 + local.set $3 + i32.const 0 + local.set $0 + local.get $4 + i32.load offset=8 + local.set $2 loop $for-loop|0441 + local.get $0 local.get $2 - local.get $13 - i32.gt_s + i32.lt_s if + local.get $0 local.get $3 - local.get $13 i32.add i32.load8_s + local.set $1 i32.const 3 global.set $~argumentsLength - local.get $13 - local.get $6 + local.get $0 + local.get $1 + local.get $0 + local.get $4 i32.const 5040 i32.load call_indirect $0 (type $i32_i32_i32_=>_i32) br_if $~lib/typedarray/FIND_INDEX<~lib/typedarray/Int8Array,i8>|inlined.01 - local.get $13 + drop + local.get $0 i32.const 1 i32.add - local.set $13 + local.set $0 br $for-loop|0441 end end i32.const -1 - local.set $13 end - local.get $13 i32.const -1 i32.ne br_if $folding-inner26 @@ -52507,8 +52627,6 @@ global.set $~lib/memory/__stack_pointer i32.const 0 local.set $0 - i32.const 0 - local.set $13 global.get $~lib/memory/__stack_pointer i32.const 8 i32.sub @@ -52516,55 +52634,59 @@ global.get $~lib/memory/__stack_pointer i32.const 16628 i32.lt_s - br_if $folding-inner22 + br_if $folding-inner21 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 3 call $~lib/typedarray/Uint8Array#constructor - local.tee $6 + local.tee $4 i32.store - local.get $6 + local.get $4 i32.const 0 i32.const 1 call $~lib/typedarray/Uint8Array#__set - local.get $6 + local.get $4 i32.const 1 i32.const 2 call $~lib/typedarray/Uint8Array#__set - local.get $6 + local.get $4 i32.const 2 i32.const 3 call $~lib/typedarray/Uint8Array#__set - global.get $~lib/memory/__stack_pointer - i32.const 5072 - i32.store offset=4 - local.get $6 - i32.load offset=4 - local.set $4 - local.get $6 - i32.load offset=8 - local.set $3 - block $~lib/typedarray/FIND_INDEX<~lib/typedarray/Uint8Array,u8>|inlined.0 + block $~lib/typedarray/FIND_INDEX<~lib/typedarray/Uint8Array,u8>|inlined.0 (result i32) + global.get $~lib/memory/__stack_pointer + i32.const 5072 + i32.store offset=4 + local.get $4 + i32.load offset=4 + local.set $3 + local.get $4 + i32.load offset=8 + local.set $2 loop $for-loop|043 local.get $0 - local.get $3 + local.get $2 i32.lt_s if local.get $0 - local.get $4 + local.get $3 i32.add i32.load8_u + local.set $1 i32.const 3 global.set $~argumentsLength local.get $0 - local.get $6 + local.get $1 + local.get $0 + local.get $4 i32.const 5072 i32.load call_indirect $0 (type $i32_i32_i32_=>_i32) br_if $~lib/typedarray/FIND_INDEX<~lib/typedarray/Uint8Array,u8>|inlined.0 + drop local.get $0 i32.const 1 i32.add @@ -52573,50 +52695,52 @@ end end i32.const -1 - local.set $0 end - local.get $0 i32.const 1 i32.ne br_if $folding-inner25 - global.get $~lib/memory/__stack_pointer - i32.const 5104 - i32.store offset=4 - local.get $6 - i32.load offset=4 - local.set $3 - local.get $6 - i32.load offset=8 - local.set $2 - block $~lib/typedarray/FIND_INDEX<~lib/typedarray/Uint8Array,u8>|inlined.01 + block $~lib/typedarray/FIND_INDEX<~lib/typedarray/Uint8Array,u8>|inlined.01 (result i32) + global.get $~lib/memory/__stack_pointer + i32.const 5104 + i32.store offset=4 + local.get $4 + i32.load offset=4 + local.set $3 + i32.const 0 + local.set $0 + local.get $4 + i32.load offset=8 + local.set $2 loop $for-loop|0444 + local.get $0 local.get $2 - local.get $13 - i32.gt_s + i32.lt_s if + local.get $0 local.get $3 - local.get $13 i32.add i32.load8_u + local.set $1 i32.const 3 global.set $~argumentsLength - local.get $13 - local.get $6 + local.get $0 + local.get $1 + local.get $0 + local.get $4 i32.const 5104 i32.load call_indirect $0 (type $i32_i32_i32_=>_i32) br_if $~lib/typedarray/FIND_INDEX<~lib/typedarray/Uint8Array,u8>|inlined.01 - local.get $13 + drop + local.get $0 i32.const 1 i32.add - local.set $13 + local.set $0 br $for-loop|0444 end end i32.const -1 - local.set $13 end - local.get $13 i32.const -1 i32.ne br_if $folding-inner26 @@ -52626,8 +52750,6 @@ global.set $~lib/memory/__stack_pointer i32.const 0 local.set $0 - i32.const 0 - local.set $13 global.get $~lib/memory/__stack_pointer i32.const 8 i32.sub @@ -52635,55 +52757,59 @@ global.get $~lib/memory/__stack_pointer i32.const 16628 i32.lt_s - br_if $folding-inner22 + br_if $folding-inner21 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 3 call $~lib/typedarray/Uint8ClampedArray#constructor - local.tee $6 + local.tee $4 i32.store - local.get $6 + local.get $4 i32.const 0 i32.const 1 call $~lib/typedarray/Uint8ClampedArray#__set - local.get $6 + local.get $4 i32.const 1 i32.const 2 call $~lib/typedarray/Uint8ClampedArray#__set - local.get $6 + local.get $4 i32.const 2 i32.const 3 call $~lib/typedarray/Uint8ClampedArray#__set - global.get $~lib/memory/__stack_pointer - i32.const 5136 - i32.store offset=4 - local.get $6 - i32.load offset=4 - local.set $4 - local.get $6 - i32.load offset=8 - local.set $3 - block $~lib/typedarray/FIND_INDEX<~lib/typedarray/Uint8Array,u8>|inlined.045 + block $~lib/typedarray/FIND_INDEX<~lib/typedarray/Uint8Array,u8>|inlined.045 (result i32) + global.get $~lib/memory/__stack_pointer + i32.const 5136 + i32.store offset=4 + local.get $4 + i32.load offset=4 + local.set $3 + local.get $4 + i32.load offset=8 + local.set $2 loop $for-loop|046 local.get $0 - local.get $3 + local.get $2 i32.lt_s if local.get $0 - local.get $4 + local.get $3 i32.add i32.load8_u + local.set $1 i32.const 3 global.set $~argumentsLength local.get $0 - local.get $6 + local.get $1 + local.get $0 + local.get $4 i32.const 5136 i32.load call_indirect $0 (type $i32_i32_i32_=>_i32) br_if $~lib/typedarray/FIND_INDEX<~lib/typedarray/Uint8Array,u8>|inlined.045 + drop local.get $0 i32.const 1 i32.add @@ -52692,50 +52818,52 @@ end end i32.const -1 - local.set $0 end - local.get $0 i32.const 1 i32.ne br_if $folding-inner25 - global.get $~lib/memory/__stack_pointer - i32.const 5168 - i32.store offset=4 - local.get $6 - i32.load offset=4 - local.set $3 - local.get $6 - i32.load offset=8 - local.set $2 - block $~lib/typedarray/FIND_INDEX<~lib/typedarray/Uint8Array,u8>|inlined.0147 + block $~lib/typedarray/FIND_INDEX<~lib/typedarray/Uint8Array,u8>|inlined.0147 (result i32) + global.get $~lib/memory/__stack_pointer + i32.const 5168 + i32.store offset=4 + local.get $4 + i32.load offset=4 + local.set $3 + i32.const 0 + local.set $0 + local.get $4 + i32.load offset=8 + local.set $2 loop $for-loop|0448 + local.get $0 local.get $2 - local.get $13 - i32.gt_s + i32.lt_s if + local.get $0 local.get $3 - local.get $13 i32.add i32.load8_u + local.set $1 i32.const 3 global.set $~argumentsLength - local.get $13 - local.get $6 + local.get $0 + local.get $1 + local.get $0 + local.get $4 i32.const 5168 i32.load call_indirect $0 (type $i32_i32_i32_=>_i32) br_if $~lib/typedarray/FIND_INDEX<~lib/typedarray/Uint8Array,u8>|inlined.0147 - local.get $13 + drop + local.get $0 i32.const 1 i32.add - local.set $13 + local.set $0 br $for-loop|0448 end end i32.const -1 - local.set $13 end - local.get $13 i32.const -1 i32.ne br_if $folding-inner26 @@ -52745,8 +52873,6 @@ global.set $~lib/memory/__stack_pointer i32.const 0 local.set $0 - i32.const 0 - local.set $13 global.get $~lib/memory/__stack_pointer i32.const 8 i32.sub @@ -52754,59 +52880,63 @@ global.get $~lib/memory/__stack_pointer i32.const 16628 i32.lt_s - br_if $folding-inner22 + br_if $folding-inner21 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 3 call $~lib/typedarray/Int16Array#constructor - local.tee $6 + local.tee $4 i32.store - local.get $6 + local.get $4 i32.const 0 i32.const 1 call $~lib/typedarray/Int16Array#__set - local.get $6 + local.get $4 i32.const 1 i32.const 2 call $~lib/typedarray/Int16Array#__set - local.get $6 + local.get $4 i32.const 2 i32.const 3 call $~lib/typedarray/Int16Array#__set - global.get $~lib/memory/__stack_pointer - i32.const 5200 - i32.store offset=4 - local.get $6 - i32.load offset=4 - local.set $4 - local.get $6 - i32.load offset=8 - i32.const 1 - i32.shr_u - local.set $3 - block $~lib/typedarray/FIND_INDEX<~lib/typedarray/Int16Array,i16>|inlined.0 + block $~lib/typedarray/FIND_INDEX<~lib/typedarray/Int16Array,i16>|inlined.0 (result i32) + global.get $~lib/memory/__stack_pointer + i32.const 5200 + i32.store offset=4 + local.get $4 + i32.load offset=4 + local.set $3 + local.get $4 + i32.load offset=8 + i32.const 1 + i32.shr_u + local.set $2 loop $for-loop|049 local.get $0 - local.get $3 + local.get $2 i32.lt_s if local.get $0 i32.const 1 i32.shl - local.get $4 + local.get $3 i32.add i32.load16_s + local.set $1 i32.const 3 global.set $~argumentsLength local.get $0 - local.get $6 + local.get $1 + local.get $0 + local.get $4 i32.const 5200 i32.load call_indirect $0 (type $i32_i32_i32_=>_i32) br_if $~lib/typedarray/FIND_INDEX<~lib/typedarray/Int16Array,i16>|inlined.0 + drop local.get $0 i32.const 1 i32.add @@ -52815,54 +52945,56 @@ end end i32.const -1 - local.set $0 end - local.get $0 i32.const 1 i32.ne br_if $folding-inner25 - global.get $~lib/memory/__stack_pointer - i32.const 5232 - i32.store offset=4 - local.get $6 - i32.load offset=4 - local.set $3 - local.get $6 - i32.load offset=8 - i32.const 1 - i32.shr_u - local.set $2 - block $~lib/typedarray/FIND_INDEX<~lib/typedarray/Int16Array,i16>|inlined.01 + block $~lib/typedarray/FIND_INDEX<~lib/typedarray/Int16Array,i16>|inlined.01 (result i32) + global.get $~lib/memory/__stack_pointer + i32.const 5232 + i32.store offset=4 + local.get $4 + i32.load offset=4 + local.set $3 + i32.const 0 + local.set $0 + local.get $4 + i32.load offset=8 + i32.const 1 + i32.shr_u + local.set $2 loop $for-loop|0450 + local.get $0 local.get $2 - local.get $13 - i32.gt_s + i32.lt_s if - local.get $13 + local.get $0 i32.const 1 i32.shl local.get $3 i32.add i32.load16_s + local.set $1 i32.const 3 global.set $~argumentsLength - local.get $13 - local.get $6 + local.get $0 + local.get $1 + local.get $0 + local.get $4 i32.const 5232 i32.load call_indirect $0 (type $i32_i32_i32_=>_i32) br_if $~lib/typedarray/FIND_INDEX<~lib/typedarray/Int16Array,i16>|inlined.01 - local.get $13 + drop + local.get $0 i32.const 1 i32.add - local.set $13 + local.set $0 br $for-loop|0450 end end i32.const -1 - local.set $13 end - local.get $13 i32.const -1 i32.ne br_if $folding-inner26 @@ -52872,8 +53004,6 @@ global.set $~lib/memory/__stack_pointer i32.const 0 local.set $0 - i32.const 0 - local.set $13 global.get $~lib/memory/__stack_pointer i32.const 8 i32.sub @@ -52881,59 +53011,63 @@ global.get $~lib/memory/__stack_pointer i32.const 16628 i32.lt_s - br_if $folding-inner22 + br_if $folding-inner21 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 3 call $~lib/typedarray/Uint16Array#constructor - local.tee $6 + local.tee $4 i32.store - local.get $6 + local.get $4 i32.const 0 i32.const 1 call $~lib/typedarray/Uint16Array#__set - local.get $6 + local.get $4 i32.const 1 i32.const 2 call $~lib/typedarray/Uint16Array#__set - local.get $6 + local.get $4 i32.const 2 i32.const 3 call $~lib/typedarray/Uint16Array#__set - global.get $~lib/memory/__stack_pointer - i32.const 5264 - i32.store offset=4 - local.get $6 - i32.load offset=4 - local.set $4 - local.get $6 - i32.load offset=8 - i32.const 1 - i32.shr_u - local.set $3 - block $~lib/typedarray/FIND_INDEX<~lib/typedarray/Uint16Array,u16>|inlined.0 + block $~lib/typedarray/FIND_INDEX<~lib/typedarray/Uint16Array,u16>|inlined.0 (result i32) + global.get $~lib/memory/__stack_pointer + i32.const 5264 + i32.store offset=4 + local.get $4 + i32.load offset=4 + local.set $3 + local.get $4 + i32.load offset=8 + i32.const 1 + i32.shr_u + local.set $2 loop $for-loop|051 local.get $0 - local.get $3 + local.get $2 i32.lt_s if local.get $0 i32.const 1 i32.shl - local.get $4 + local.get $3 i32.add i32.load16_u + local.set $1 i32.const 3 global.set $~argumentsLength local.get $0 - local.get $6 + local.get $1 + local.get $0 + local.get $4 i32.const 5264 i32.load call_indirect $0 (type $i32_i32_i32_=>_i32) br_if $~lib/typedarray/FIND_INDEX<~lib/typedarray/Uint16Array,u16>|inlined.0 + drop local.get $0 i32.const 1 i32.add @@ -52942,54 +53076,56 @@ end end i32.const -1 - local.set $0 end - local.get $0 i32.const 1 i32.ne br_if $folding-inner25 - global.get $~lib/memory/__stack_pointer - i32.const 5296 - i32.store offset=4 - local.get $6 - i32.load offset=4 - local.set $3 - local.get $6 - i32.load offset=8 - i32.const 1 - i32.shr_u - local.set $2 - block $~lib/typedarray/FIND_INDEX<~lib/typedarray/Uint16Array,u16>|inlined.01 + block $~lib/typedarray/FIND_INDEX<~lib/typedarray/Uint16Array,u16>|inlined.01 (result i32) + global.get $~lib/memory/__stack_pointer + i32.const 5296 + i32.store offset=4 + local.get $4 + i32.load offset=4 + local.set $3 + i32.const 0 + local.set $0 + local.get $4 + i32.load offset=8 + i32.const 1 + i32.shr_u + local.set $2 loop $for-loop|0452 + local.get $0 local.get $2 - local.get $13 - i32.gt_s + i32.lt_s if - local.get $13 + local.get $0 i32.const 1 i32.shl local.get $3 i32.add i32.load16_u + local.set $1 i32.const 3 global.set $~argumentsLength - local.get $13 - local.get $6 + local.get $0 + local.get $1 + local.get $0 + local.get $4 i32.const 5296 i32.load call_indirect $0 (type $i32_i32_i32_=>_i32) br_if $~lib/typedarray/FIND_INDEX<~lib/typedarray/Uint16Array,u16>|inlined.01 - local.get $13 + drop + local.get $0 i32.const 1 i32.add - local.set $13 + local.set $0 br $for-loop|0452 end end i32.const -1 - local.set $13 end - local.get $13 i32.const -1 i32.ne br_if $folding-inner26 @@ -52999,8 +53135,6 @@ global.set $~lib/memory/__stack_pointer i32.const 0 local.set $0 - i32.const 0 - local.set $13 global.get $~lib/memory/__stack_pointer i32.const 8 i32.sub @@ -53008,59 +53142,63 @@ global.get $~lib/memory/__stack_pointer i32.const 16628 i32.lt_s - br_if $folding-inner22 + br_if $folding-inner21 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 3 call $~lib/typedarray/Int32Array#constructor - local.tee $6 + local.tee $4 i32.store - local.get $6 + local.get $4 i32.const 0 i32.const 1 call $~lib/typedarray/Int32Array#__set - local.get $6 + local.get $4 i32.const 1 i32.const 2 call $~lib/typedarray/Int32Array#__set - local.get $6 + local.get $4 i32.const 2 i32.const 3 call $~lib/typedarray/Int32Array#__set - global.get $~lib/memory/__stack_pointer - i32.const 5328 - i32.store offset=4 - local.get $6 - i32.load offset=4 - local.set $4 - local.get $6 - i32.load offset=8 - i32.const 2 - i32.shr_u - local.set $3 - block $~lib/typedarray/FIND_INDEX<~lib/typedarray/Int32Array,i32>|inlined.0 + block $~lib/typedarray/FIND_INDEX<~lib/typedarray/Int32Array,i32>|inlined.0 (result i32) + global.get $~lib/memory/__stack_pointer + i32.const 5328 + i32.store offset=4 + local.get $4 + i32.load offset=4 + local.set $3 + local.get $4 + i32.load offset=8 + i32.const 2 + i32.shr_u + local.set $2 loop $for-loop|053 local.get $0 - local.get $3 + local.get $2 i32.lt_s if local.get $0 i32.const 2 i32.shl - local.get $4 + local.get $3 i32.add i32.load + local.set $1 i32.const 3 global.set $~argumentsLength local.get $0 - local.get $6 + local.get $1 + local.get $0 + local.get $4 i32.const 5328 i32.load call_indirect $0 (type $i32_i32_i32_=>_i32) br_if $~lib/typedarray/FIND_INDEX<~lib/typedarray/Int32Array,i32>|inlined.0 + drop local.get $0 i32.const 1 i32.add @@ -53069,54 +53207,56 @@ end end i32.const -1 - local.set $0 end - local.get $0 i32.const 1 i32.ne br_if $folding-inner25 - global.get $~lib/memory/__stack_pointer - i32.const 5360 - i32.store offset=4 - local.get $6 - i32.load offset=4 - local.set $3 - local.get $6 - i32.load offset=8 - i32.const 2 - i32.shr_u - local.set $2 - block $~lib/typedarray/FIND_INDEX<~lib/typedarray/Int32Array,i32>|inlined.01 + block $~lib/typedarray/FIND_INDEX<~lib/typedarray/Int32Array,i32>|inlined.01 (result i32) + global.get $~lib/memory/__stack_pointer + i32.const 5360 + i32.store offset=4 + local.get $4 + i32.load offset=4 + local.set $3 + i32.const 0 + local.set $0 + local.get $4 + i32.load offset=8 + i32.const 2 + i32.shr_u + local.set $2 loop $for-loop|0454 + local.get $0 local.get $2 - local.get $13 - i32.gt_s + i32.lt_s if - local.get $13 + local.get $0 i32.const 2 i32.shl local.get $3 i32.add i32.load + local.set $1 i32.const 3 global.set $~argumentsLength - local.get $13 - local.get $6 + local.get $0 + local.get $1 + local.get $0 + local.get $4 i32.const 5360 i32.load call_indirect $0 (type $i32_i32_i32_=>_i32) br_if $~lib/typedarray/FIND_INDEX<~lib/typedarray/Int32Array,i32>|inlined.01 - local.get $13 + drop + local.get $0 i32.const 1 i32.add - local.set $13 + local.set $0 br $for-loop|0454 end end i32.const -1 - local.set $13 end - local.get $13 i32.const -1 i32.ne br_if $folding-inner26 @@ -53126,8 +53266,6 @@ global.set $~lib/memory/__stack_pointer i32.const 0 local.set $0 - i32.const 0 - local.set $13 global.get $~lib/memory/__stack_pointer i32.const 8 i32.sub @@ -53135,59 +53273,63 @@ global.get $~lib/memory/__stack_pointer i32.const 16628 i32.lt_s - br_if $folding-inner22 + br_if $folding-inner21 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 3 call $~lib/typedarray/Uint32Array#constructor - local.tee $6 + local.tee $4 i32.store - local.get $6 + local.get $4 i32.const 0 i32.const 1 call $~lib/typedarray/Uint32Array#__set - local.get $6 + local.get $4 i32.const 1 i32.const 2 call $~lib/typedarray/Uint32Array#__set - local.get $6 + local.get $4 i32.const 2 i32.const 3 call $~lib/typedarray/Uint32Array#__set - global.get $~lib/memory/__stack_pointer - i32.const 5392 - i32.store offset=4 - local.get $6 - i32.load offset=4 - local.set $4 - local.get $6 - i32.load offset=8 - i32.const 2 - i32.shr_u - local.set $3 - block $~lib/typedarray/FIND_INDEX<~lib/typedarray/Uint32Array,u32>|inlined.0 + block $~lib/typedarray/FIND_INDEX<~lib/typedarray/Uint32Array,u32>|inlined.0 (result i32) + global.get $~lib/memory/__stack_pointer + i32.const 5392 + i32.store offset=4 + local.get $4 + i32.load offset=4 + local.set $3 + local.get $4 + i32.load offset=8 + i32.const 2 + i32.shr_u + local.set $2 loop $for-loop|055 local.get $0 - local.get $3 + local.get $2 i32.lt_s if local.get $0 i32.const 2 i32.shl - local.get $4 + local.get $3 i32.add i32.load + local.set $1 i32.const 3 global.set $~argumentsLength local.get $0 - local.get $6 + local.get $1 + local.get $0 + local.get $4 i32.const 5392 i32.load call_indirect $0 (type $i32_i32_i32_=>_i32) br_if $~lib/typedarray/FIND_INDEX<~lib/typedarray/Uint32Array,u32>|inlined.0 + drop local.get $0 i32.const 1 i32.add @@ -53196,54 +53338,56 @@ end end i32.const -1 - local.set $0 end - local.get $0 i32.const 1 i32.ne br_if $folding-inner25 - global.get $~lib/memory/__stack_pointer - i32.const 5424 - i32.store offset=4 - local.get $6 - i32.load offset=4 - local.set $3 - local.get $6 - i32.load offset=8 - i32.const 2 - i32.shr_u - local.set $2 - block $~lib/typedarray/FIND_INDEX<~lib/typedarray/Uint32Array,u32>|inlined.01 + block $~lib/typedarray/FIND_INDEX<~lib/typedarray/Uint32Array,u32>|inlined.01 (result i32) + global.get $~lib/memory/__stack_pointer + i32.const 5424 + i32.store offset=4 + local.get $4 + i32.load offset=4 + local.set $3 + i32.const 0 + local.set $0 + local.get $4 + i32.load offset=8 + i32.const 2 + i32.shr_u + local.set $2 loop $for-loop|0456 + local.get $0 local.get $2 - local.get $13 - i32.gt_s + i32.lt_s if - local.get $13 + local.get $0 i32.const 2 i32.shl local.get $3 i32.add i32.load + local.set $1 i32.const 3 global.set $~argumentsLength - local.get $13 - local.get $6 + local.get $0 + local.get $1 + local.get $0 + local.get $4 i32.const 5424 i32.load call_indirect $0 (type $i32_i32_i32_=>_i32) br_if $~lib/typedarray/FIND_INDEX<~lib/typedarray/Uint32Array,u32>|inlined.01 - local.get $13 + drop + local.get $0 i32.const 1 i32.add - local.set $13 + local.set $0 br $for-loop|0456 end end i32.const -1 - local.set $13 end - local.get $13 i32.const -1 i32.ne br_if $folding-inner26 @@ -53253,8 +53397,6 @@ global.set $~lib/memory/__stack_pointer i32.const 0 local.set $0 - i32.const 0 - local.set $13 global.get $~lib/memory/__stack_pointer i32.const 8 i32.sub @@ -53262,59 +53404,63 @@ global.get $~lib/memory/__stack_pointer i32.const 16628 i32.lt_s - br_if $folding-inner22 + br_if $folding-inner21 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 3 call $~lib/typedarray/Int64Array#constructor - local.tee $4 + local.tee $3 i32.store - local.get $4 + local.get $3 i32.const 0 i64.const 1 call $~lib/typedarray/Int64Array#__set - local.get $4 + local.get $3 i32.const 1 i64.const 2 call $~lib/typedarray/Int64Array#__set - local.get $4 + local.get $3 i32.const 2 i64.const 3 call $~lib/typedarray/Int64Array#__set - global.get $~lib/memory/__stack_pointer - i32.const 5456 - i32.store offset=4 - local.get $4 - i32.load offset=4 - local.set $3 - local.get $4 - i32.load offset=8 - i32.const 3 - i32.shr_u - local.set $2 - block $~lib/typedarray/FIND_INDEX<~lib/typedarray/Int64Array,i64>|inlined.0 + block $~lib/typedarray/FIND_INDEX<~lib/typedarray/Int64Array,i64>|inlined.0 (result i32) + global.get $~lib/memory/__stack_pointer + i32.const 5456 + i32.store offset=4 + local.get $3 + i32.load offset=4 + local.set $2 + local.get $3 + i32.load offset=8 + i32.const 3 + i32.shr_u + local.set $1 loop $for-loop|057 local.get $0 - local.get $2 + local.get $1 i32.lt_s if local.get $0 i32.const 3 i32.shl - local.get $3 + local.get $2 i32.add i64.load + local.set $10 i32.const 3 global.set $~argumentsLength local.get $0 - local.get $4 + local.get $10 + local.get $0 + local.get $3 i32.const 5456 i32.load call_indirect $0 (type $i64_i32_i32_=>_i32) br_if $~lib/typedarray/FIND_INDEX<~lib/typedarray/Int64Array,i64>|inlined.0 + drop local.get $0 i32.const 1 i32.add @@ -53323,54 +53469,56 @@ end end i32.const -1 - local.set $0 end - local.get $0 i32.const 1 i32.ne br_if $folding-inner25 - global.get $~lib/memory/__stack_pointer - i32.const 5488 - i32.store offset=4 - local.get $4 - i32.load offset=4 - local.set $2 - local.get $4 - i32.load offset=8 - i32.const 3 - i32.shr_u - local.set $0 - block $~lib/typedarray/FIND_INDEX<~lib/typedarray/Int64Array,i64>|inlined.01 + block $~lib/typedarray/FIND_INDEX<~lib/typedarray/Int64Array,i64>|inlined.01 (result i32) + global.get $~lib/memory/__stack_pointer + i32.const 5488 + i32.store offset=4 + local.get $3 + i32.load offset=4 + local.set $2 + i32.const 0 + local.set $0 + local.get $3 + i32.load offset=8 + i32.const 3 + i32.shr_u + local.set $1 loop $for-loop|0458 local.get $0 - local.get $13 - i32.gt_s + local.get $1 + i32.lt_s if - local.get $13 + local.get $0 i32.const 3 i32.shl local.get $2 i32.add i64.load + local.set $10 i32.const 3 global.set $~argumentsLength - local.get $13 - local.get $4 + local.get $0 + local.get $10 + local.get $0 + local.get $3 i32.const 5488 i32.load call_indirect $0 (type $i64_i32_i32_=>_i32) br_if $~lib/typedarray/FIND_INDEX<~lib/typedarray/Int64Array,i64>|inlined.01 - local.get $13 + drop + local.get $0 i32.const 1 i32.add - local.set $13 + local.set $0 br $for-loop|0458 end end i32.const -1 - local.set $13 end - local.get $13 i32.const -1 i32.ne br_if $folding-inner26 @@ -53380,8 +53528,6 @@ global.set $~lib/memory/__stack_pointer i32.const 0 local.set $0 - i32.const 0 - local.set $13 global.get $~lib/memory/__stack_pointer i32.const 8 i32.sub @@ -53389,59 +53535,63 @@ global.get $~lib/memory/__stack_pointer i32.const 16628 i32.lt_s - br_if $folding-inner22 + br_if $folding-inner21 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 3 call $~lib/typedarray/Uint64Array#constructor - local.tee $4 + local.tee $3 i32.store - local.get $4 + local.get $3 i32.const 0 i64.const 1 call $~lib/typedarray/Uint64Array#__set - local.get $4 + local.get $3 i32.const 1 i64.const 2 call $~lib/typedarray/Uint64Array#__set - local.get $4 + local.get $3 i32.const 2 i64.const 3 call $~lib/typedarray/Uint64Array#__set - global.get $~lib/memory/__stack_pointer - i32.const 5520 - i32.store offset=4 - local.get $4 - i32.load offset=4 - local.set $3 - local.get $4 - i32.load offset=8 - i32.const 3 - i32.shr_u - local.set $2 - block $~lib/typedarray/FIND_INDEX<~lib/typedarray/Uint64Array,u64>|inlined.0 + block $~lib/typedarray/FIND_INDEX<~lib/typedarray/Uint64Array,u64>|inlined.0 (result i32) + global.get $~lib/memory/__stack_pointer + i32.const 5520 + i32.store offset=4 + local.get $3 + i32.load offset=4 + local.set $2 + local.get $3 + i32.load offset=8 + i32.const 3 + i32.shr_u + local.set $1 loop $for-loop|060 local.get $0 - local.get $2 + local.get $1 i32.lt_s if local.get $0 i32.const 3 i32.shl - local.get $3 + local.get $2 i32.add i64.load + local.set $10 i32.const 3 global.set $~argumentsLength local.get $0 - local.get $4 + local.get $10 + local.get $0 + local.get $3 i32.const 5520 i32.load call_indirect $0 (type $i64_i32_i32_=>_i32) br_if $~lib/typedarray/FIND_INDEX<~lib/typedarray/Uint64Array,u64>|inlined.0 + drop local.get $0 i32.const 1 i32.add @@ -53450,54 +53600,56 @@ end end i32.const -1 - local.set $0 end - local.get $0 i32.const 1 i32.ne br_if $folding-inner25 - global.get $~lib/memory/__stack_pointer - i32.const 5552 - i32.store offset=4 - local.get $4 - i32.load offset=4 - local.set $2 - local.get $4 - i32.load offset=8 - i32.const 3 - i32.shr_u - local.set $0 - block $~lib/typedarray/FIND_INDEX<~lib/typedarray/Uint64Array,u64>|inlined.01 + block $~lib/typedarray/FIND_INDEX<~lib/typedarray/Uint64Array,u64>|inlined.01 (result i32) + global.get $~lib/memory/__stack_pointer + i32.const 5552 + i32.store offset=4 + local.get $3 + i32.load offset=4 + local.set $2 + i32.const 0 + local.set $0 + local.get $3 + i32.load offset=8 + i32.const 3 + i32.shr_u + local.set $1 loop $for-loop|0461 local.get $0 - local.get $13 - i32.gt_s + local.get $1 + i32.lt_s if - local.get $13 + local.get $0 i32.const 3 i32.shl local.get $2 i32.add i64.load + local.set $10 i32.const 3 global.set $~argumentsLength - local.get $13 - local.get $4 + local.get $0 + local.get $10 + local.get $0 + local.get $3 i32.const 5552 i32.load call_indirect $0 (type $i64_i32_i32_=>_i32) br_if $~lib/typedarray/FIND_INDEX<~lib/typedarray/Uint64Array,u64>|inlined.01 - local.get $13 + drop + local.get $0 i32.const 1 i32.add - local.set $13 + local.set $0 br $for-loop|0461 end end i32.const -1 - local.set $13 end - local.get $13 i32.const -1 i32.ne br_if $folding-inner26 @@ -53507,8 +53659,6 @@ global.set $~lib/memory/__stack_pointer i32.const 0 local.set $0 - i32.const 0 - local.set $13 global.get $~lib/memory/__stack_pointer i32.const 8 i32.sub @@ -53516,59 +53666,63 @@ global.get $~lib/memory/__stack_pointer i32.const 16628 i32.lt_s - br_if $folding-inner22 + br_if $folding-inner21 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 3 call $~lib/typedarray/Float32Array#constructor - local.tee $4 + local.tee $3 i32.store - local.get $4 + local.get $3 i32.const 0 f32.const 1 call $~lib/typedarray/Float32Array#__set - local.get $4 + local.get $3 i32.const 1 f32.const 2 call $~lib/typedarray/Float32Array#__set - local.get $4 + local.get $3 i32.const 2 f32.const 3 call $~lib/typedarray/Float32Array#__set - global.get $~lib/memory/__stack_pointer - i32.const 5584 - i32.store offset=4 - local.get $4 - i32.load offset=4 - local.set $3 - local.get $4 - i32.load offset=8 - i32.const 2 - i32.shr_u - local.set $2 - block $~lib/typedarray/FIND_INDEX<~lib/typedarray/Float32Array,f32>|inlined.0 + block $~lib/typedarray/FIND_INDEX<~lib/typedarray/Float32Array,f32>|inlined.0 (result i32) + global.get $~lib/memory/__stack_pointer + i32.const 5584 + i32.store offset=4 + local.get $3 + i32.load offset=4 + local.set $2 + local.get $3 + i32.load offset=8 + i32.const 2 + i32.shr_u + local.set $1 loop $for-loop|062 local.get $0 - local.get $2 + local.get $1 i32.lt_s if local.get $0 i32.const 2 i32.shl - local.get $3 + local.get $2 i32.add f32.load + local.set $5 i32.const 3 global.set $~argumentsLength local.get $0 - local.get $4 + local.get $5 + local.get $0 + local.get $3 i32.const 5584 i32.load call_indirect $0 (type $f32_i32_i32_=>_i32) br_if $~lib/typedarray/FIND_INDEX<~lib/typedarray/Float32Array,f32>|inlined.0 + drop local.get $0 i32.const 1 i32.add @@ -53577,54 +53731,56 @@ end end i32.const -1 - local.set $0 end - local.get $0 i32.const 1 i32.ne br_if $folding-inner25 - global.get $~lib/memory/__stack_pointer - i32.const 5616 - i32.store offset=4 - local.get $4 - i32.load offset=4 - local.set $2 - local.get $4 - i32.load offset=8 - i32.const 2 - i32.shr_u - local.set $0 - block $~lib/typedarray/FIND_INDEX<~lib/typedarray/Float32Array,f32>|inlined.01 + block $~lib/typedarray/FIND_INDEX<~lib/typedarray/Float32Array,f32>|inlined.01 (result i32) + global.get $~lib/memory/__stack_pointer + i32.const 5616 + i32.store offset=4 + local.get $3 + i32.load offset=4 + local.set $2 + i32.const 0 + local.set $0 + local.get $3 + i32.load offset=8 + i32.const 2 + i32.shr_u + local.set $1 loop $for-loop|0463 local.get $0 - local.get $13 - i32.gt_s + local.get $1 + i32.lt_s if - local.get $13 + local.get $0 i32.const 2 i32.shl local.get $2 i32.add f32.load + local.set $5 i32.const 3 global.set $~argumentsLength - local.get $13 - local.get $4 + local.get $0 + local.get $5 + local.get $0 + local.get $3 i32.const 5616 i32.load call_indirect $0 (type $f32_i32_i32_=>_i32) br_if $~lib/typedarray/FIND_INDEX<~lib/typedarray/Float32Array,f32>|inlined.01 - local.get $13 + drop + local.get $0 i32.const 1 i32.add - local.set $13 + local.set $0 br $for-loop|0463 end end i32.const -1 - local.set $13 end - local.get $13 i32.const -1 i32.ne br_if $folding-inner26 @@ -53634,8 +53790,6 @@ global.set $~lib/memory/__stack_pointer i32.const 0 local.set $0 - i32.const 0 - local.set $13 global.get $~lib/memory/__stack_pointer i32.const 8 i32.sub @@ -53643,59 +53797,63 @@ global.get $~lib/memory/__stack_pointer i32.const 16628 i32.lt_s - br_if $folding-inner22 + br_if $folding-inner21 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 3 call $~lib/typedarray/Float64Array#constructor - local.tee $4 + local.tee $3 i32.store - local.get $4 + local.get $3 i32.const 0 f64.const 1 call $~lib/typedarray/Float64Array#__set - local.get $4 + local.get $3 i32.const 1 f64.const 2 call $~lib/typedarray/Float64Array#__set - local.get $4 + local.get $3 i32.const 2 f64.const 3 call $~lib/typedarray/Float64Array#__set - global.get $~lib/memory/__stack_pointer - i32.const 5648 - i32.store offset=4 - local.get $4 - i32.load offset=4 - local.set $3 - local.get $4 - i32.load offset=8 - i32.const 3 - i32.shr_u - local.set $2 - block $~lib/typedarray/FIND_INDEX<~lib/typedarray/Float64Array,f64>|inlined.0 + block $~lib/typedarray/FIND_INDEX<~lib/typedarray/Float64Array,f64>|inlined.0 (result i32) + global.get $~lib/memory/__stack_pointer + i32.const 5648 + i32.store offset=4 + local.get $3 + i32.load offset=4 + local.set $2 + local.get $3 + i32.load offset=8 + i32.const 3 + i32.shr_u + local.set $1 loop $for-loop|065 local.get $0 - local.get $2 + local.get $1 i32.lt_s if local.get $0 i32.const 3 i32.shl - local.get $3 + local.get $2 i32.add f64.load + local.set $7 i32.const 3 global.set $~argumentsLength local.get $0 - local.get $4 + local.get $7 + local.get $0 + local.get $3 i32.const 5648 i32.load call_indirect $0 (type $f64_i32_i32_=>_i32) br_if $~lib/typedarray/FIND_INDEX<~lib/typedarray/Float64Array,f64>|inlined.0 + drop local.get $0 i32.const 1 i32.add @@ -53704,54 +53862,56 @@ end end i32.const -1 - local.set $0 end - local.get $0 i32.const 1 i32.ne br_if $folding-inner25 - global.get $~lib/memory/__stack_pointer - i32.const 5680 - i32.store offset=4 - local.get $4 - i32.load offset=4 - local.set $2 - local.get $4 - i32.load offset=8 - i32.const 3 - i32.shr_u - local.set $0 - block $~lib/typedarray/FIND_INDEX<~lib/typedarray/Float64Array,f64>|inlined.01 + block $~lib/typedarray/FIND_INDEX<~lib/typedarray/Float64Array,f64>|inlined.01 (result i32) + global.get $~lib/memory/__stack_pointer + i32.const 5680 + i32.store offset=4 + local.get $3 + i32.load offset=4 + local.set $2 + i32.const 0 + local.set $0 + local.get $3 + i32.load offset=8 + i32.const 3 + i32.shr_u + local.set $1 loop $for-loop|0466 local.get $0 - local.get $13 - i32.gt_s + local.get $1 + i32.lt_s if - local.get $13 + local.get $0 i32.const 3 i32.shl local.get $2 i32.add f64.load + local.set $7 i32.const 3 global.set $~argumentsLength - local.get $13 - local.get $4 + local.get $0 + local.get $7 + local.get $0 + local.get $3 i32.const 5680 i32.load call_indirect $0 (type $f64_i32_i32_=>_i32) br_if $~lib/typedarray/FIND_INDEX<~lib/typedarray/Float64Array,f64>|inlined.01 - local.get $13 + drop + local.get $0 i32.const 1 i32.add - local.set $13 + local.set $0 br $for-loop|0466 end end i32.const -1 - local.set $13 end - local.get $13 i32.const -1 i32.ne br_if $folding-inner26 @@ -53766,7 +53926,7 @@ global.get $~lib/memory/__stack_pointer i32.const 16628 i32.lt_s - br_if $folding-inner22 + br_if $folding-inner21 global.get $~lib/memory/__stack_pointer local.tee $0 i64.const 0 @@ -53774,103 +53934,107 @@ local.get $0 i32.const 3 call $~lib/typedarray/Int8Array#constructor - local.tee $4 + local.tee $3 i32.store - local.get $4 + local.get $3 i32.const 0 i32.const 1 call $~lib/typedarray/Int8Array#__set - local.get $4 + local.get $3 i32.const 1 i32.const 2 call $~lib/typedarray/Int8Array#__set - local.get $4 + local.get $3 i32.const 2 i32.const 3 call $~lib/typedarray/Int8Array#__set - global.get $~lib/memory/__stack_pointer - i32.const 5712 - i32.store offset=4 - local.get $4 - i32.load offset=4 - local.set $3 - local.get $4 - i32.load offset=8 - i32.const 1 - i32.sub - local.set $0 - block $~lib/typedarray/FIND_LAST_INDEX<~lib/typedarray/Int8Array,i8>|inlined.0 + block $~lib/typedarray/FIND_LAST_INDEX<~lib/typedarray/Int8Array,i8>|inlined.0 (result i32) + global.get $~lib/memory/__stack_pointer + i32.const 5712 + i32.store offset=4 + local.get $3 + i32.load offset=4 + local.set $2 + local.get $3 + i32.load offset=8 + i32.const 1 + i32.sub + local.set $1 loop $for-loop|067 - local.get $0 + local.get $1 i32.const 0 i32.ge_s if - local.get $0 - local.get $3 + local.get $1 + local.get $2 i32.add i32.load8_s + local.set $0 i32.const 3 global.set $~argumentsLength + local.get $1 local.get $0 - local.get $4 + local.get $1 + local.get $3 i32.const 5712 i32.load call_indirect $0 (type $i32_i32_i32_=>_i32) br_if $~lib/typedarray/FIND_LAST_INDEX<~lib/typedarray/Int8Array,i8>|inlined.0 - local.get $0 + drop + local.get $1 i32.const 1 i32.sub - local.set $0 + local.set $1 br $for-loop|067 end end i32.const -1 - local.set $0 end - local.get $0 i32.const 1 i32.ne br_if $folding-inner27 - global.get $~lib/memory/__stack_pointer - i32.const 5744 - i32.store offset=4 - local.get $4 - i32.load offset=4 - local.set $3 - local.get $4 - i32.load offset=8 - i32.const 1 - i32.sub - local.set $0 - block $~lib/typedarray/FIND_LAST_INDEX<~lib/typedarray/Int8Array,i8>|inlined.01 + block $~lib/typedarray/FIND_LAST_INDEX<~lib/typedarray/Int8Array,i8>|inlined.01 (result i32) + global.get $~lib/memory/__stack_pointer + i32.const 5744 + i32.store offset=4 + local.get $3 + i32.load offset=4 + local.set $2 + local.get $3 + i32.load offset=8 + i32.const 1 + i32.sub + local.set $1 loop $for-loop|0468 - local.get $0 + local.get $1 i32.const 0 i32.ge_s if - local.get $0 - local.get $3 + local.get $1 + local.get $2 i32.add i32.load8_s + local.set $0 i32.const 3 global.set $~argumentsLength + local.get $1 local.get $0 - local.get $4 + local.get $1 + local.get $3 i32.const 5744 i32.load call_indirect $0 (type $i32_i32_i32_=>_i32) br_if $~lib/typedarray/FIND_LAST_INDEX<~lib/typedarray/Int8Array,i8>|inlined.01 - local.get $0 + drop + local.get $1 i32.const 1 i32.sub - local.set $0 + local.set $1 br $for-loop|0468 end end i32.const -1 - local.set $0 end - local.get $0 i32.const -1 i32.ne br_if $folding-inner28 @@ -53885,7 +54049,7 @@ global.get $~lib/memory/__stack_pointer i32.const 16628 i32.lt_s - br_if $folding-inner22 + br_if $folding-inner21 global.get $~lib/memory/__stack_pointer local.tee $0 i64.const 0 @@ -53893,103 +54057,107 @@ local.get $0 i32.const 3 call $~lib/typedarray/Uint8Array#constructor - local.tee $4 + local.tee $3 i32.store - local.get $4 + local.get $3 i32.const 0 i32.const 1 call $~lib/typedarray/Uint8Array#__set - local.get $4 + local.get $3 i32.const 1 i32.const 2 call $~lib/typedarray/Uint8Array#__set - local.get $4 + local.get $3 i32.const 2 i32.const 3 call $~lib/typedarray/Uint8Array#__set - global.get $~lib/memory/__stack_pointer - i32.const 5776 - i32.store offset=4 - local.get $4 - i32.load offset=4 - local.set $3 - local.get $4 - i32.load offset=8 - i32.const 1 - i32.sub - local.set $0 - block $~lib/typedarray/FIND_LAST_INDEX<~lib/typedarray/Uint8Array,u8>|inlined.0 + block $~lib/typedarray/FIND_LAST_INDEX<~lib/typedarray/Uint8Array,u8>|inlined.0 (result i32) + global.get $~lib/memory/__stack_pointer + i32.const 5776 + i32.store offset=4 + local.get $3 + i32.load offset=4 + local.set $2 + local.get $3 + i32.load offset=8 + i32.const 1 + i32.sub + local.set $1 loop $for-loop|069 - local.get $0 + local.get $1 i32.const 0 i32.ge_s if - local.get $0 - local.get $3 + local.get $1 + local.get $2 i32.add i32.load8_u + local.set $0 i32.const 3 global.set $~argumentsLength + local.get $1 local.get $0 - local.get $4 + local.get $1 + local.get $3 i32.const 5776 i32.load call_indirect $0 (type $i32_i32_i32_=>_i32) br_if $~lib/typedarray/FIND_LAST_INDEX<~lib/typedarray/Uint8Array,u8>|inlined.0 - local.get $0 + drop + local.get $1 i32.const 1 i32.sub - local.set $0 + local.set $1 br $for-loop|069 end end i32.const -1 - local.set $0 end - local.get $0 i32.const 1 i32.ne br_if $folding-inner27 - global.get $~lib/memory/__stack_pointer - i32.const 5808 - i32.store offset=4 - local.get $4 - i32.load offset=4 - local.set $3 - local.get $4 - i32.load offset=8 - i32.const 1 - i32.sub - local.set $0 - block $~lib/typedarray/FIND_LAST_INDEX<~lib/typedarray/Uint8Array,u8>|inlined.01 + block $~lib/typedarray/FIND_LAST_INDEX<~lib/typedarray/Uint8Array,u8>|inlined.01 (result i32) + global.get $~lib/memory/__stack_pointer + i32.const 5808 + i32.store offset=4 + local.get $3 + i32.load offset=4 + local.set $2 + local.get $3 + i32.load offset=8 + i32.const 1 + i32.sub + local.set $1 loop $for-loop|0470 - local.get $0 + local.get $1 i32.const 0 i32.ge_s if - local.get $0 - local.get $3 + local.get $1 + local.get $2 i32.add i32.load8_u + local.set $0 i32.const 3 global.set $~argumentsLength + local.get $1 local.get $0 - local.get $4 + local.get $1 + local.get $3 i32.const 5808 i32.load call_indirect $0 (type $i32_i32_i32_=>_i32) br_if $~lib/typedarray/FIND_LAST_INDEX<~lib/typedarray/Uint8Array,u8>|inlined.01 - local.get $0 + drop + local.get $1 i32.const 1 i32.sub - local.set $0 + local.set $1 br $for-loop|0470 end end i32.const -1 - local.set $0 end - local.get $0 i32.const -1 i32.ne br_if $folding-inner28 @@ -54004,7 +54172,7 @@ global.get $~lib/memory/__stack_pointer i32.const 16628 i32.lt_s - br_if $folding-inner22 + br_if $folding-inner21 global.get $~lib/memory/__stack_pointer local.tee $0 i64.const 0 @@ -54012,103 +54180,107 @@ local.get $0 i32.const 3 call $~lib/typedarray/Uint8ClampedArray#constructor - local.tee $4 + local.tee $3 i32.store - local.get $4 + local.get $3 i32.const 0 i32.const 1 call $~lib/typedarray/Uint8ClampedArray#__set - local.get $4 + local.get $3 i32.const 1 i32.const 2 call $~lib/typedarray/Uint8ClampedArray#__set - local.get $4 + local.get $3 i32.const 2 i32.const 3 call $~lib/typedarray/Uint8ClampedArray#__set - global.get $~lib/memory/__stack_pointer - i32.const 5840 - i32.store offset=4 - local.get $4 - i32.load offset=4 - local.set $3 - local.get $4 - i32.load offset=8 - i32.const 1 - i32.sub - local.set $0 - block $~lib/typedarray/FIND_LAST_INDEX<~lib/typedarray/Uint8Array,u8>|inlined.071 + block $~lib/typedarray/FIND_LAST_INDEX<~lib/typedarray/Uint8Array,u8>|inlined.071 (result i32) + global.get $~lib/memory/__stack_pointer + i32.const 5840 + i32.store offset=4 + local.get $3 + i32.load offset=4 + local.set $2 + local.get $3 + i32.load offset=8 + i32.const 1 + i32.sub + local.set $1 loop $for-loop|072 - local.get $0 + local.get $1 i32.const 0 i32.ge_s if - local.get $0 - local.get $3 + local.get $1 + local.get $2 i32.add i32.load8_u + local.set $0 i32.const 3 global.set $~argumentsLength + local.get $1 local.get $0 - local.get $4 + local.get $1 + local.get $3 i32.const 5840 i32.load call_indirect $0 (type $i32_i32_i32_=>_i32) br_if $~lib/typedarray/FIND_LAST_INDEX<~lib/typedarray/Uint8Array,u8>|inlined.071 - local.get $0 + drop + local.get $1 i32.const 1 i32.sub - local.set $0 + local.set $1 br $for-loop|072 end end i32.const -1 - local.set $0 end - local.get $0 i32.const 1 i32.ne br_if $folding-inner27 - global.get $~lib/memory/__stack_pointer - i32.const 5872 - i32.store offset=4 - local.get $4 - i32.load offset=4 - local.set $3 - local.get $4 - i32.load offset=8 - i32.const 1 - i32.sub - local.set $0 - block $~lib/typedarray/FIND_LAST_INDEX<~lib/typedarray/Uint8Array,u8>|inlined.0173 + block $~lib/typedarray/FIND_LAST_INDEX<~lib/typedarray/Uint8Array,u8>|inlined.0173 (result i32) + global.get $~lib/memory/__stack_pointer + i32.const 5872 + i32.store offset=4 + local.get $3 + i32.load offset=4 + local.set $2 + local.get $3 + i32.load offset=8 + i32.const 1 + i32.sub + local.set $1 loop $for-loop|0474 - local.get $0 + local.get $1 i32.const 0 i32.ge_s if - local.get $0 - local.get $3 + local.get $1 + local.get $2 i32.add i32.load8_u + local.set $0 i32.const 3 global.set $~argumentsLength + local.get $1 local.get $0 - local.get $4 + local.get $1 + local.get $3 i32.const 5872 i32.load call_indirect $0 (type $i32_i32_i32_=>_i32) br_if $~lib/typedarray/FIND_LAST_INDEX<~lib/typedarray/Uint8Array,u8>|inlined.0173 - local.get $0 + drop + local.get $1 i32.const 1 i32.sub - local.set $0 + local.set $1 br $for-loop|0474 end end i32.const -1 - local.set $0 end - local.get $0 i32.const -1 i32.ne br_if $folding-inner28 @@ -54123,7 +54295,7 @@ global.get $~lib/memory/__stack_pointer i32.const 16628 i32.lt_s - br_if $folding-inner22 + br_if $folding-inner21 global.get $~lib/memory/__stack_pointer local.tee $0 i64.const 0 @@ -54131,111 +54303,115 @@ local.get $0 i32.const 3 call $~lib/typedarray/Int16Array#constructor - local.tee $4 + local.tee $3 i32.store - local.get $4 + local.get $3 i32.const 0 i32.const 1 call $~lib/typedarray/Int16Array#__set - local.get $4 + local.get $3 i32.const 1 i32.const 2 call $~lib/typedarray/Int16Array#__set - local.get $4 + local.get $3 i32.const 2 i32.const 3 call $~lib/typedarray/Int16Array#__set - global.get $~lib/memory/__stack_pointer - i32.const 5904 - i32.store offset=4 - local.get $4 - i32.load offset=4 - local.set $3 - local.get $4 - i32.load offset=8 - i32.const 1 - i32.shr_u - i32.const 1 - i32.sub - local.set $0 - block $~lib/typedarray/FIND_LAST_INDEX<~lib/typedarray/Int16Array,i16>|inlined.0 + block $~lib/typedarray/FIND_LAST_INDEX<~lib/typedarray/Int16Array,i16>|inlined.0 (result i32) + global.get $~lib/memory/__stack_pointer + i32.const 5904 + i32.store offset=4 + local.get $3 + i32.load offset=4 + local.set $2 + local.get $3 + i32.load offset=8 + i32.const 1 + i32.shr_u + i32.const 1 + i32.sub + local.set $1 loop $for-loop|075 - local.get $0 + local.get $1 i32.const 0 i32.ge_s if - local.get $0 + local.get $1 i32.const 1 i32.shl - local.get $3 + local.get $2 i32.add i32.load16_s + local.set $0 i32.const 3 global.set $~argumentsLength + local.get $1 local.get $0 - local.get $4 + local.get $1 + local.get $3 i32.const 5904 i32.load call_indirect $0 (type $i32_i32_i32_=>_i32) br_if $~lib/typedarray/FIND_LAST_INDEX<~lib/typedarray/Int16Array,i16>|inlined.0 - local.get $0 + drop + local.get $1 i32.const 1 i32.sub - local.set $0 + local.set $1 br $for-loop|075 end end i32.const -1 - local.set $0 end - local.get $0 i32.const 1 i32.ne br_if $folding-inner27 - global.get $~lib/memory/__stack_pointer - i32.const 5936 - i32.store offset=4 - local.get $4 - i32.load offset=4 - local.set $3 - local.get $4 - i32.load offset=8 - i32.const 1 - i32.shr_u - i32.const 1 - i32.sub - local.set $0 - block $~lib/typedarray/FIND_LAST_INDEX<~lib/typedarray/Int16Array,i16>|inlined.01 + block $~lib/typedarray/FIND_LAST_INDEX<~lib/typedarray/Int16Array,i16>|inlined.01 (result i32) + global.get $~lib/memory/__stack_pointer + i32.const 5936 + i32.store offset=4 + local.get $3 + i32.load offset=4 + local.set $2 + local.get $3 + i32.load offset=8 + i32.const 1 + i32.shr_u + i32.const 1 + i32.sub + local.set $1 loop $for-loop|0476 - local.get $0 + local.get $1 i32.const 0 i32.ge_s if - local.get $0 + local.get $1 i32.const 1 i32.shl - local.get $3 + local.get $2 i32.add i32.load16_s + local.set $0 i32.const 3 global.set $~argumentsLength + local.get $1 local.get $0 - local.get $4 + local.get $1 + local.get $3 i32.const 5936 i32.load call_indirect $0 (type $i32_i32_i32_=>_i32) br_if $~lib/typedarray/FIND_LAST_INDEX<~lib/typedarray/Int16Array,i16>|inlined.01 - local.get $0 + drop + local.get $1 i32.const 1 i32.sub - local.set $0 + local.set $1 br $for-loop|0476 end end i32.const -1 - local.set $0 end - local.get $0 i32.const -1 i32.ne br_if $folding-inner28 @@ -54250,7 +54426,7 @@ global.get $~lib/memory/__stack_pointer i32.const 16628 i32.lt_s - br_if $folding-inner22 + br_if $folding-inner21 global.get $~lib/memory/__stack_pointer local.tee $0 i64.const 0 @@ -54258,111 +54434,115 @@ local.get $0 i32.const 3 call $~lib/typedarray/Uint16Array#constructor - local.tee $4 + local.tee $3 i32.store - local.get $4 + local.get $3 i32.const 0 i32.const 1 call $~lib/typedarray/Uint16Array#__set - local.get $4 + local.get $3 i32.const 1 i32.const 2 call $~lib/typedarray/Uint16Array#__set - local.get $4 + local.get $3 i32.const 2 i32.const 3 call $~lib/typedarray/Uint16Array#__set - global.get $~lib/memory/__stack_pointer - i32.const 5968 - i32.store offset=4 - local.get $4 - i32.load offset=4 - local.set $3 - local.get $4 - i32.load offset=8 - i32.const 1 - i32.shr_u - i32.const 1 - i32.sub - local.set $0 - block $~lib/typedarray/FIND_LAST_INDEX<~lib/typedarray/Uint16Array,u16>|inlined.0 + block $~lib/typedarray/FIND_LAST_INDEX<~lib/typedarray/Uint16Array,u16>|inlined.0 (result i32) + global.get $~lib/memory/__stack_pointer + i32.const 5968 + i32.store offset=4 + local.get $3 + i32.load offset=4 + local.set $2 + local.get $3 + i32.load offset=8 + i32.const 1 + i32.shr_u + i32.const 1 + i32.sub + local.set $1 loop $for-loop|077 - local.get $0 + local.get $1 i32.const 0 i32.ge_s if - local.get $0 + local.get $1 i32.const 1 i32.shl - local.get $3 + local.get $2 i32.add i32.load16_u + local.set $0 i32.const 3 global.set $~argumentsLength + local.get $1 local.get $0 - local.get $4 + local.get $1 + local.get $3 i32.const 5968 i32.load call_indirect $0 (type $i32_i32_i32_=>_i32) br_if $~lib/typedarray/FIND_LAST_INDEX<~lib/typedarray/Uint16Array,u16>|inlined.0 - local.get $0 + drop + local.get $1 i32.const 1 i32.sub - local.set $0 + local.set $1 br $for-loop|077 end end i32.const -1 - local.set $0 end - local.get $0 i32.const 1 i32.ne br_if $folding-inner27 - global.get $~lib/memory/__stack_pointer - i32.const 6000 - i32.store offset=4 - local.get $4 - i32.load offset=4 - local.set $3 - local.get $4 - i32.load offset=8 - i32.const 1 - i32.shr_u - i32.const 1 - i32.sub - local.set $0 - block $~lib/typedarray/FIND_LAST_INDEX<~lib/typedarray/Uint16Array,u16>|inlined.01 + block $~lib/typedarray/FIND_LAST_INDEX<~lib/typedarray/Uint16Array,u16>|inlined.01 (result i32) + global.get $~lib/memory/__stack_pointer + i32.const 6000 + i32.store offset=4 + local.get $3 + i32.load offset=4 + local.set $2 + local.get $3 + i32.load offset=8 + i32.const 1 + i32.shr_u + i32.const 1 + i32.sub + local.set $1 loop $for-loop|0478 - local.get $0 + local.get $1 i32.const 0 i32.ge_s if - local.get $0 + local.get $1 i32.const 1 i32.shl - local.get $3 + local.get $2 i32.add i32.load16_u + local.set $0 i32.const 3 global.set $~argumentsLength + local.get $1 local.get $0 - local.get $4 + local.get $1 + local.get $3 i32.const 6000 i32.load call_indirect $0 (type $i32_i32_i32_=>_i32) br_if $~lib/typedarray/FIND_LAST_INDEX<~lib/typedarray/Uint16Array,u16>|inlined.01 - local.get $0 + drop + local.get $1 i32.const 1 i32.sub - local.set $0 + local.set $1 br $for-loop|0478 end end i32.const -1 - local.set $0 end - local.get $0 i32.const -1 i32.ne br_if $folding-inner28 @@ -54377,7 +54557,7 @@ global.get $~lib/memory/__stack_pointer i32.const 16628 i32.lt_s - br_if $folding-inner22 + br_if $folding-inner21 global.get $~lib/memory/__stack_pointer local.tee $0 i64.const 0 @@ -54385,111 +54565,115 @@ local.get $0 i32.const 3 call $~lib/typedarray/Int32Array#constructor - local.tee $4 + local.tee $3 i32.store - local.get $4 + local.get $3 i32.const 0 i32.const 1 call $~lib/typedarray/Int32Array#__set - local.get $4 + local.get $3 i32.const 1 i32.const 2 call $~lib/typedarray/Int32Array#__set - local.get $4 + local.get $3 i32.const 2 i32.const 3 call $~lib/typedarray/Int32Array#__set - global.get $~lib/memory/__stack_pointer - i32.const 6032 - i32.store offset=4 - local.get $4 - i32.load offset=4 - local.set $3 - local.get $4 - i32.load offset=8 - i32.const 2 - i32.shr_u - i32.const 1 - i32.sub - local.set $0 - block $~lib/typedarray/FIND_LAST_INDEX<~lib/typedarray/Int32Array,i32>|inlined.0 + block $~lib/typedarray/FIND_LAST_INDEX<~lib/typedarray/Int32Array,i32>|inlined.0 (result i32) + global.get $~lib/memory/__stack_pointer + i32.const 6032 + i32.store offset=4 + local.get $3 + i32.load offset=4 + local.set $2 + local.get $3 + i32.load offset=8 + i32.const 2 + i32.shr_u + i32.const 1 + i32.sub + local.set $1 loop $for-loop|079 - local.get $0 + local.get $1 i32.const 0 i32.ge_s if - local.get $0 + local.get $1 i32.const 2 i32.shl - local.get $3 + local.get $2 i32.add i32.load + local.set $0 i32.const 3 global.set $~argumentsLength + local.get $1 local.get $0 - local.get $4 + local.get $1 + local.get $3 i32.const 6032 i32.load call_indirect $0 (type $i32_i32_i32_=>_i32) br_if $~lib/typedarray/FIND_LAST_INDEX<~lib/typedarray/Int32Array,i32>|inlined.0 - local.get $0 + drop + local.get $1 i32.const 1 i32.sub - local.set $0 + local.set $1 br $for-loop|079 end end i32.const -1 - local.set $0 end - local.get $0 i32.const 1 i32.ne br_if $folding-inner27 - global.get $~lib/memory/__stack_pointer - i32.const 6064 - i32.store offset=4 - local.get $4 - i32.load offset=4 - local.set $3 - local.get $4 - i32.load offset=8 - i32.const 2 - i32.shr_u - i32.const 1 - i32.sub - local.set $0 - block $~lib/typedarray/FIND_LAST_INDEX<~lib/typedarray/Int32Array,i32>|inlined.01 + block $~lib/typedarray/FIND_LAST_INDEX<~lib/typedarray/Int32Array,i32>|inlined.01 (result i32) + global.get $~lib/memory/__stack_pointer + i32.const 6064 + i32.store offset=4 + local.get $3 + i32.load offset=4 + local.set $2 + local.get $3 + i32.load offset=8 + i32.const 2 + i32.shr_u + i32.const 1 + i32.sub + local.set $1 loop $for-loop|0480 - local.get $0 + local.get $1 i32.const 0 i32.ge_s if - local.get $0 + local.get $1 i32.const 2 i32.shl - local.get $3 + local.get $2 i32.add i32.load + local.set $0 i32.const 3 global.set $~argumentsLength + local.get $1 local.get $0 - local.get $4 + local.get $1 + local.get $3 i32.const 6064 i32.load call_indirect $0 (type $i32_i32_i32_=>_i32) br_if $~lib/typedarray/FIND_LAST_INDEX<~lib/typedarray/Int32Array,i32>|inlined.01 - local.get $0 + drop + local.get $1 i32.const 1 i32.sub - local.set $0 + local.set $1 br $for-loop|0480 end end i32.const -1 - local.set $0 end - local.get $0 i32.const -1 i32.ne br_if $folding-inner28 @@ -54504,7 +54688,7 @@ global.get $~lib/memory/__stack_pointer i32.const 16628 i32.lt_s - br_if $folding-inner22 + br_if $folding-inner21 global.get $~lib/memory/__stack_pointer local.tee $0 i64.const 0 @@ -54512,111 +54696,115 @@ local.get $0 i32.const 3 call $~lib/typedarray/Uint32Array#constructor - local.tee $4 + local.tee $3 i32.store - local.get $4 + local.get $3 i32.const 0 i32.const 1 call $~lib/typedarray/Uint32Array#__set - local.get $4 + local.get $3 i32.const 1 i32.const 2 call $~lib/typedarray/Uint32Array#__set - local.get $4 + local.get $3 i32.const 2 i32.const 3 call $~lib/typedarray/Uint32Array#__set - global.get $~lib/memory/__stack_pointer - i32.const 6096 - i32.store offset=4 - local.get $4 - i32.load offset=4 - local.set $3 - local.get $4 - i32.load offset=8 - i32.const 2 - i32.shr_u - i32.const 1 - i32.sub - local.set $0 - block $~lib/typedarray/FIND_LAST_INDEX<~lib/typedarray/Uint32Array,u32>|inlined.0 + block $~lib/typedarray/FIND_LAST_INDEX<~lib/typedarray/Uint32Array,u32>|inlined.0 (result i32) + global.get $~lib/memory/__stack_pointer + i32.const 6096 + i32.store offset=4 + local.get $3 + i32.load offset=4 + local.set $2 + local.get $3 + i32.load offset=8 + i32.const 2 + i32.shr_u + i32.const 1 + i32.sub + local.set $1 loop $for-loop|082 - local.get $0 + local.get $1 i32.const 0 i32.ge_s if - local.get $0 + local.get $1 i32.const 2 i32.shl - local.get $3 + local.get $2 i32.add i32.load + local.set $0 i32.const 3 global.set $~argumentsLength + local.get $1 local.get $0 - local.get $4 + local.get $1 + local.get $3 i32.const 6096 i32.load call_indirect $0 (type $i32_i32_i32_=>_i32) br_if $~lib/typedarray/FIND_LAST_INDEX<~lib/typedarray/Uint32Array,u32>|inlined.0 - local.get $0 + drop + local.get $1 i32.const 1 i32.sub - local.set $0 + local.set $1 br $for-loop|082 end end i32.const -1 - local.set $0 end - local.get $0 i32.const 1 i32.ne br_if $folding-inner27 - global.get $~lib/memory/__stack_pointer - i32.const 6128 - i32.store offset=4 - local.get $4 - i32.load offset=4 - local.set $3 - local.get $4 - i32.load offset=8 - i32.const 2 - i32.shr_u - i32.const 1 - i32.sub - local.set $0 - block $~lib/typedarray/FIND_LAST_INDEX<~lib/typedarray/Uint32Array,u32>|inlined.01 + block $~lib/typedarray/FIND_LAST_INDEX<~lib/typedarray/Uint32Array,u32>|inlined.01 (result i32) + global.get $~lib/memory/__stack_pointer + i32.const 6128 + i32.store offset=4 + local.get $3 + i32.load offset=4 + local.set $2 + local.get $3 + i32.load offset=8 + i32.const 2 + i32.shr_u + i32.const 1 + i32.sub + local.set $1 loop $for-loop|0483 - local.get $0 + local.get $1 i32.const 0 i32.ge_s if - local.get $0 + local.get $1 i32.const 2 i32.shl - local.get $3 + local.get $2 i32.add i32.load + local.set $0 i32.const 3 global.set $~argumentsLength + local.get $1 local.get $0 - local.get $4 + local.get $1 + local.get $3 i32.const 6128 i32.load call_indirect $0 (type $i32_i32_i32_=>_i32) br_if $~lib/typedarray/FIND_LAST_INDEX<~lib/typedarray/Uint32Array,u32>|inlined.01 - local.get $0 + drop + local.get $1 i32.const 1 i32.sub - local.set $0 + local.set $1 br $for-loop|0483 end end i32.const -1 - local.set $0 end - local.get $0 i32.const -1 i32.ne br_if $folding-inner28 @@ -54631,7 +54819,7 @@ global.get $~lib/memory/__stack_pointer i32.const 16628 i32.lt_s - br_if $folding-inner22 + br_if $folding-inner21 global.get $~lib/memory/__stack_pointer local.tee $0 i64.const 0 @@ -54639,111 +54827,115 @@ local.get $0 i32.const 3 call $~lib/typedarray/Int64Array#constructor - local.tee $3 + local.tee $2 i32.store - local.get $3 + local.get $2 i32.const 0 i64.const 1 call $~lib/typedarray/Int64Array#__set - local.get $3 + local.get $2 i32.const 1 i64.const 2 call $~lib/typedarray/Int64Array#__set - local.get $3 + local.get $2 i32.const 2 i64.const 3 call $~lib/typedarray/Int64Array#__set - global.get $~lib/memory/__stack_pointer - i32.const 6160 - i32.store offset=4 - local.get $3 - i32.load offset=4 - local.set $2 - local.get $3 - i32.load offset=8 - i32.const 3 - i32.shr_u - i32.const 1 - i32.sub - local.set $0 - block $~lib/typedarray/FIND_LAST_INDEX<~lib/typedarray/Int64Array,i64>|inlined.0 + block $~lib/typedarray/FIND_LAST_INDEX<~lib/typedarray/Int64Array,i64>|inlined.0 (result i32) + global.get $~lib/memory/__stack_pointer + i32.const 6160 + i32.store offset=4 + local.get $2 + i32.load offset=4 + local.set $0 + local.get $2 + i32.load offset=8 + i32.const 3 + i32.shr_u + i32.const 1 + i32.sub + local.set $1 loop $for-loop|084 - local.get $0 + local.get $1 i32.const 0 i32.ge_s if - local.get $0 + local.get $1 i32.const 3 i32.shl - local.get $2 + local.get $0 i32.add i64.load + local.set $10 i32.const 3 global.set $~argumentsLength - local.get $0 - local.get $3 + local.get $1 + local.get $10 + local.get $1 + local.get $2 i32.const 6160 i32.load call_indirect $0 (type $i64_i32_i32_=>_i32) br_if $~lib/typedarray/FIND_LAST_INDEX<~lib/typedarray/Int64Array,i64>|inlined.0 - local.get $0 + drop + local.get $1 i32.const 1 i32.sub - local.set $0 + local.set $1 br $for-loop|084 end end i32.const -1 - local.set $0 end - local.get $0 i32.const 1 i32.ne br_if $folding-inner27 - global.get $~lib/memory/__stack_pointer - i32.const 6192 - i32.store offset=4 - local.get $3 - i32.load offset=4 - local.set $2 - local.get $3 - i32.load offset=8 - i32.const 3 - i32.shr_u - i32.const 1 - i32.sub - local.set $0 - block $~lib/typedarray/FIND_LAST_INDEX<~lib/typedarray/Int64Array,i64>|inlined.01 + block $~lib/typedarray/FIND_LAST_INDEX<~lib/typedarray/Int64Array,i64>|inlined.01 (result i32) + global.get $~lib/memory/__stack_pointer + i32.const 6192 + i32.store offset=4 + local.get $2 + i32.load offset=4 + local.set $0 + local.get $2 + i32.load offset=8 + i32.const 3 + i32.shr_u + i32.const 1 + i32.sub + local.set $1 loop $for-loop|0485 - local.get $0 + local.get $1 i32.const 0 i32.ge_s if - local.get $0 + local.get $1 i32.const 3 i32.shl - local.get $2 + local.get $0 i32.add i64.load + local.set $10 i32.const 3 global.set $~argumentsLength - local.get $0 - local.get $3 + local.get $1 + local.get $10 + local.get $1 + local.get $2 i32.const 6192 i32.load call_indirect $0 (type $i64_i32_i32_=>_i32) br_if $~lib/typedarray/FIND_LAST_INDEX<~lib/typedarray/Int64Array,i64>|inlined.01 - local.get $0 + drop + local.get $1 i32.const 1 i32.sub - local.set $0 + local.set $1 br $for-loop|0485 end end i32.const -1 - local.set $0 end - local.get $0 i32.const -1 i32.ne br_if $folding-inner28 @@ -54758,7 +54950,7 @@ global.get $~lib/memory/__stack_pointer i32.const 16628 i32.lt_s - br_if $folding-inner22 + br_if $folding-inner21 global.get $~lib/memory/__stack_pointer local.tee $0 i64.const 0 @@ -54766,111 +54958,115 @@ local.get $0 i32.const 3 call $~lib/typedarray/Uint64Array#constructor - local.tee $3 + local.tee $2 i32.store - local.get $3 + local.get $2 i32.const 0 i64.const 1 call $~lib/typedarray/Uint64Array#__set - local.get $3 + local.get $2 i32.const 1 i64.const 2 call $~lib/typedarray/Uint64Array#__set - local.get $3 + local.get $2 i32.const 2 i64.const 3 call $~lib/typedarray/Uint64Array#__set - global.get $~lib/memory/__stack_pointer - i32.const 6224 - i32.store offset=4 - local.get $3 - i32.load offset=4 - local.set $2 - local.get $3 - i32.load offset=8 - i32.const 3 - i32.shr_u - i32.const 1 - i32.sub - local.set $0 - block $~lib/typedarray/FIND_LAST_INDEX<~lib/typedarray/Uint64Array,u64>|inlined.0 + block $~lib/typedarray/FIND_LAST_INDEX<~lib/typedarray/Uint64Array,u64>|inlined.0 (result i32) + global.get $~lib/memory/__stack_pointer + i32.const 6224 + i32.store offset=4 + local.get $2 + i32.load offset=4 + local.set $0 + local.get $2 + i32.load offset=8 + i32.const 3 + i32.shr_u + i32.const 1 + i32.sub + local.set $1 loop $for-loop|087 - local.get $0 + local.get $1 i32.const 0 i32.ge_s if - local.get $0 + local.get $1 i32.const 3 i32.shl - local.get $2 + local.get $0 i32.add i64.load + local.set $10 i32.const 3 global.set $~argumentsLength - local.get $0 - local.get $3 + local.get $1 + local.get $10 + local.get $1 + local.get $2 i32.const 6224 i32.load call_indirect $0 (type $i64_i32_i32_=>_i32) br_if $~lib/typedarray/FIND_LAST_INDEX<~lib/typedarray/Uint64Array,u64>|inlined.0 - local.get $0 + drop + local.get $1 i32.const 1 i32.sub - local.set $0 + local.set $1 br $for-loop|087 end end i32.const -1 - local.set $0 end - local.get $0 i32.const 1 i32.ne br_if $folding-inner27 - global.get $~lib/memory/__stack_pointer - i32.const 6256 - i32.store offset=4 - local.get $3 - i32.load offset=4 - local.set $2 - local.get $3 - i32.load offset=8 - i32.const 3 - i32.shr_u - i32.const 1 - i32.sub - local.set $0 - block $~lib/typedarray/FIND_LAST_INDEX<~lib/typedarray/Uint64Array,u64>|inlined.01 + block $~lib/typedarray/FIND_LAST_INDEX<~lib/typedarray/Uint64Array,u64>|inlined.01 (result i32) + global.get $~lib/memory/__stack_pointer + i32.const 6256 + i32.store offset=4 + local.get $2 + i32.load offset=4 + local.set $0 + local.get $2 + i32.load offset=8 + i32.const 3 + i32.shr_u + i32.const 1 + i32.sub + local.set $1 loop $for-loop|0488 - local.get $0 + local.get $1 i32.const 0 i32.ge_s if - local.get $0 + local.get $1 i32.const 3 i32.shl - local.get $2 + local.get $0 i32.add i64.load + local.set $10 i32.const 3 global.set $~argumentsLength - local.get $0 - local.get $3 + local.get $1 + local.get $10 + local.get $1 + local.get $2 i32.const 6256 i32.load call_indirect $0 (type $i64_i32_i32_=>_i32) br_if $~lib/typedarray/FIND_LAST_INDEX<~lib/typedarray/Uint64Array,u64>|inlined.01 - local.get $0 + drop + local.get $1 i32.const 1 i32.sub - local.set $0 + local.set $1 br $for-loop|0488 end end i32.const -1 - local.set $0 end - local.get $0 i32.const -1 i32.ne br_if $folding-inner28 @@ -54885,7 +55081,7 @@ global.get $~lib/memory/__stack_pointer i32.const 16628 i32.lt_s - br_if $folding-inner22 + br_if $folding-inner21 global.get $~lib/memory/__stack_pointer local.tee $0 i64.const 0 @@ -54893,111 +55089,115 @@ local.get $0 i32.const 3 call $~lib/typedarray/Float32Array#constructor - local.tee $3 + local.tee $2 i32.store - local.get $3 + local.get $2 i32.const 0 f32.const 1 call $~lib/typedarray/Float32Array#__set - local.get $3 + local.get $2 i32.const 1 f32.const 2 call $~lib/typedarray/Float32Array#__set - local.get $3 + local.get $2 i32.const 2 f32.const 3 call $~lib/typedarray/Float32Array#__set - global.get $~lib/memory/__stack_pointer - i32.const 6288 - i32.store offset=4 - local.get $3 - i32.load offset=4 - local.set $2 - local.get $3 - i32.load offset=8 - i32.const 2 - i32.shr_u - i32.const 1 - i32.sub - local.set $0 - block $~lib/typedarray/FIND_LAST_INDEX<~lib/typedarray/Float32Array,f32>|inlined.0 + block $~lib/typedarray/FIND_LAST_INDEX<~lib/typedarray/Float32Array,f32>|inlined.0 (result i32) + global.get $~lib/memory/__stack_pointer + i32.const 6288 + i32.store offset=4 + local.get $2 + i32.load offset=4 + local.set $0 + local.get $2 + i32.load offset=8 + i32.const 2 + i32.shr_u + i32.const 1 + i32.sub + local.set $1 loop $for-loop|089 - local.get $0 + local.get $1 i32.const 0 i32.ge_s if - local.get $0 + local.get $1 i32.const 2 i32.shl - local.get $2 + local.get $0 i32.add f32.load + local.set $5 i32.const 3 global.set $~argumentsLength - local.get $0 - local.get $3 + local.get $1 + local.get $5 + local.get $1 + local.get $2 i32.const 6288 i32.load call_indirect $0 (type $f32_i32_i32_=>_i32) br_if $~lib/typedarray/FIND_LAST_INDEX<~lib/typedarray/Float32Array,f32>|inlined.0 - local.get $0 + drop + local.get $1 i32.const 1 i32.sub - local.set $0 + local.set $1 br $for-loop|089 end end i32.const -1 - local.set $0 end - local.get $0 i32.const 1 i32.ne br_if $folding-inner27 - global.get $~lib/memory/__stack_pointer - i32.const 6320 - i32.store offset=4 - local.get $3 - i32.load offset=4 - local.set $2 - local.get $3 - i32.load offset=8 - i32.const 2 - i32.shr_u - i32.const 1 - i32.sub - local.set $0 - block $~lib/typedarray/FIND_LAST_INDEX<~lib/typedarray/Float32Array,f32>|inlined.01 + block $~lib/typedarray/FIND_LAST_INDEX<~lib/typedarray/Float32Array,f32>|inlined.01 (result i32) + global.get $~lib/memory/__stack_pointer + i32.const 6320 + i32.store offset=4 + local.get $2 + i32.load offset=4 + local.set $0 + local.get $2 + i32.load offset=8 + i32.const 2 + i32.shr_u + i32.const 1 + i32.sub + local.set $1 loop $for-loop|0490 - local.get $0 + local.get $1 i32.const 0 i32.ge_s if - local.get $0 + local.get $1 i32.const 2 i32.shl - local.get $2 + local.get $0 i32.add f32.load + local.set $5 i32.const 3 global.set $~argumentsLength - local.get $0 - local.get $3 + local.get $1 + local.get $5 + local.get $1 + local.get $2 i32.const 6320 i32.load call_indirect $0 (type $f32_i32_i32_=>_i32) br_if $~lib/typedarray/FIND_LAST_INDEX<~lib/typedarray/Float32Array,f32>|inlined.01 - local.get $0 + drop + local.get $1 i32.const 1 i32.sub - local.set $0 + local.set $1 br $for-loop|0490 end end i32.const -1 - local.set $0 end - local.get $0 i32.const -1 i32.ne br_if $folding-inner28 @@ -55012,7 +55212,7 @@ global.get $~lib/memory/__stack_pointer i32.const 16628 i32.lt_s - br_if $folding-inner22 + br_if $folding-inner21 global.get $~lib/memory/__stack_pointer local.tee $0 i64.const 0 @@ -55020,111 +55220,115 @@ local.get $0 i32.const 3 call $~lib/typedarray/Float64Array#constructor - local.tee $3 + local.tee $2 i32.store - local.get $3 + local.get $2 i32.const 0 f64.const 1 call $~lib/typedarray/Float64Array#__set - local.get $3 + local.get $2 i32.const 1 f64.const 2 call $~lib/typedarray/Float64Array#__set - local.get $3 + local.get $2 i32.const 2 f64.const 3 call $~lib/typedarray/Float64Array#__set - global.get $~lib/memory/__stack_pointer - i32.const 6352 - i32.store offset=4 - local.get $3 - i32.load offset=4 - local.set $2 - local.get $3 - i32.load offset=8 - i32.const 3 - i32.shr_u - i32.const 1 - i32.sub - local.set $0 - block $~lib/typedarray/FIND_LAST_INDEX<~lib/typedarray/Float64Array,f64>|inlined.0 + block $~lib/typedarray/FIND_LAST_INDEX<~lib/typedarray/Float64Array,f64>|inlined.0 (result i32) + global.get $~lib/memory/__stack_pointer + i32.const 6352 + i32.store offset=4 + local.get $2 + i32.load offset=4 + local.set $0 + local.get $2 + i32.load offset=8 + i32.const 3 + i32.shr_u + i32.const 1 + i32.sub + local.set $1 loop $for-loop|092 - local.get $0 + local.get $1 i32.const 0 i32.ge_s if - local.get $0 + local.get $1 i32.const 3 i32.shl - local.get $2 + local.get $0 i32.add f64.load + local.set $7 i32.const 3 global.set $~argumentsLength - local.get $0 - local.get $3 + local.get $1 + local.get $7 + local.get $1 + local.get $2 i32.const 6352 i32.load call_indirect $0 (type $f64_i32_i32_=>_i32) br_if $~lib/typedarray/FIND_LAST_INDEX<~lib/typedarray/Float64Array,f64>|inlined.0 - local.get $0 + drop + local.get $1 i32.const 1 i32.sub - local.set $0 + local.set $1 br $for-loop|092 end end i32.const -1 - local.set $0 end - local.get $0 i32.const 1 i32.ne br_if $folding-inner27 - global.get $~lib/memory/__stack_pointer - i32.const 6384 - i32.store offset=4 - local.get $3 - i32.load offset=4 - local.set $2 - local.get $3 - i32.load offset=8 - i32.const 3 - i32.shr_u - i32.const 1 - i32.sub - local.set $0 - block $~lib/typedarray/FIND_LAST_INDEX<~lib/typedarray/Float64Array,f64>|inlined.01 + block $~lib/typedarray/FIND_LAST_INDEX<~lib/typedarray/Float64Array,f64>|inlined.01 (result i32) + global.get $~lib/memory/__stack_pointer + i32.const 6384 + i32.store offset=4 + local.get $2 + i32.load offset=4 + local.set $0 + local.get $2 + i32.load offset=8 + i32.const 3 + i32.shr_u + i32.const 1 + i32.sub + local.set $1 loop $for-loop|0493 - local.get $0 + local.get $1 i32.const 0 i32.ge_s if - local.get $0 + local.get $1 i32.const 3 i32.shl - local.get $2 + local.get $0 i32.add f64.load + local.set $7 i32.const 3 global.set $~argumentsLength - local.get $0 - local.get $3 + local.get $1 + local.get $7 + local.get $1 + local.get $2 i32.const 6384 i32.load call_indirect $0 (type $f64_i32_i32_=>_i32) br_if $~lib/typedarray/FIND_LAST_INDEX<~lib/typedarray/Float64Array,f64>|inlined.01 - local.get $0 + drop + local.get $1 i32.const 1 i32.sub - local.set $0 + local.set $1 br $for-loop|0493 end end i32.const -1 - local.set $0 end - local.get $0 i32.const -1 i32.ne br_if $folding-inner28 @@ -55133,9 +55337,7 @@ i32.add global.set $~lib/memory/__stack_pointer i32.const 0 - local.set $0 - i32.const 0 - local.set $13 + local.set $6 global.get $~lib/memory/__stack_pointer i32.const 8 i32.sub @@ -55143,25 +55345,25 @@ global.get $~lib/memory/__stack_pointer i32.const 16628 i32.lt_s - br_if $folding-inner22 + br_if $folding-inner21 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 3 call $~lib/typedarray/Int8Array#constructor - local.tee $6 + local.tee $3 i32.store - local.get $6 + local.get $3 i32.const 0 i32.const 2 call $~lib/typedarray/Int8Array#__set - local.get $6 + local.get $3 i32.const 1 i32.const 4 call $~lib/typedarray/Int8Array#__set - local.get $6 + local.get $3 i32.const 2 i32.const 6 call $~lib/typedarray/Int8Array#__set @@ -55169,38 +55371,38 @@ global.get $~lib/memory/__stack_pointer i32.const 6416 i32.store offset=4 - local.get $6 + local.get $3 i32.load offset=4 - local.set $4 - local.get $6 + local.set $2 + local.get $3 i32.load offset=8 - local.set $3 + local.set $1 loop $for-loop|094 - local.get $0 - local.get $3 - i32.lt_s + local.get $1 + local.get $6 + i32.gt_s if - local.get $0 - local.get $4 + local.get $2 + local.get $6 i32.add i32.load8_s - local.set $2 + local.set $0 i32.const 3 global.set $~argumentsLength i32.const 0 - local.get $2 local.get $0 local.get $6 + local.get $3 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 $0 + local.get $6 i32.const 1 i32.add - local.set $0 + local.set $6 br $for-loop|094 end end @@ -55212,19 +55414,21 @@ global.get $~lib/memory/__stack_pointer i32.const 6448 i32.store offset=4 - local.get $6 + local.get $3 i32.load offset=4 - local.set $3 - local.get $6 - i32.load offset=8 local.set $2 + i32.const 0 + local.set $6 + local.get $3 + i32.load offset=8 + local.set $1 loop $for-loop|0495 - local.get $2 - local.get $13 + local.get $1 + local.get $6 i32.gt_s if - local.get $3 - local.get $13 + local.get $2 + local.get $6 i32.add i32.load8_s local.set $0 @@ -55232,18 +55436,18 @@ global.set $~argumentsLength i32.const 0 local.get $0 - local.get $13 local.get $6 + local.get $3 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.01 drop - local.get $13 + local.get $6 i32.const 1 i32.add - local.set $13 + local.set $6 br $for-loop|0495 end end @@ -55255,9 +55459,7 @@ i32.add global.set $~lib/memory/__stack_pointer i32.const 0 - local.set $0 - i32.const 0 - local.set $13 + local.set $6 global.get $~lib/memory/__stack_pointer i32.const 8 i32.sub @@ -55265,25 +55467,25 @@ global.get $~lib/memory/__stack_pointer i32.const 16628 i32.lt_s - br_if $folding-inner22 + br_if $folding-inner21 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 3 call $~lib/typedarray/Uint8Array#constructor - local.tee $6 + local.tee $3 i32.store - local.get $6 + local.get $3 i32.const 0 i32.const 2 call $~lib/typedarray/Uint8Array#__set - local.get $6 + local.get $3 i32.const 1 i32.const 4 call $~lib/typedarray/Uint8Array#__set - local.get $6 + local.get $3 i32.const 2 i32.const 6 call $~lib/typedarray/Uint8Array#__set @@ -55291,38 +55493,38 @@ global.get $~lib/memory/__stack_pointer i32.const 6480 i32.store offset=4 - local.get $6 + local.get $3 i32.load offset=4 - local.set $4 - local.get $6 + local.set $2 + local.get $3 i32.load offset=8 - local.set $3 + local.set $1 loop $for-loop|097 - local.get $0 - local.get $3 - i32.lt_s + local.get $1 + local.get $6 + i32.gt_s if - local.get $0 - local.get $4 + local.get $2 + local.get $6 i32.add i32.load8_u - local.set $2 + local.set $0 i32.const 3 global.set $~argumentsLength i32.const 0 - local.get $2 local.get $0 local.get $6 + local.get $3 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 $0 + local.get $6 i32.const 1 i32.add - local.set $0 + local.set $6 br $for-loop|097 end end @@ -55334,19 +55536,21 @@ global.get $~lib/memory/__stack_pointer i32.const 6512 i32.store offset=4 - local.get $6 + local.get $3 i32.load offset=4 - local.set $3 - local.get $6 - i32.load offset=8 local.set $2 + i32.const 0 + local.set $6 + local.get $3 + i32.load offset=8 + local.set $1 loop $for-loop|0498 - local.get $2 - local.get $13 + local.get $1 + local.get $6 i32.gt_s if - local.get $3 - local.get $13 + local.get $2 + local.get $6 i32.add i32.load8_u local.set $0 @@ -55354,18 +55558,18 @@ global.set $~argumentsLength i32.const 0 local.get $0 - local.get $13 local.get $6 + local.get $3 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.01 drop - local.get $13 + local.get $6 i32.const 1 i32.add - local.set $13 + local.set $6 br $for-loop|0498 end end @@ -55377,9 +55581,7 @@ i32.add global.set $~lib/memory/__stack_pointer i32.const 0 - local.set $0 - i32.const 0 - local.set $13 + local.set $6 global.get $~lib/memory/__stack_pointer i32.const 8 i32.sub @@ -55387,25 +55589,25 @@ global.get $~lib/memory/__stack_pointer i32.const 16628 i32.lt_s - br_if $folding-inner22 + br_if $folding-inner21 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 3 call $~lib/typedarray/Uint8ClampedArray#constructor - local.tee $6 + local.tee $3 i32.store - local.get $6 + local.get $3 i32.const 0 i32.const 2 call $~lib/typedarray/Uint8ClampedArray#__set - local.get $6 + local.get $3 i32.const 1 i32.const 4 call $~lib/typedarray/Uint8ClampedArray#__set - local.get $6 + local.get $3 i32.const 2 i32.const 6 call $~lib/typedarray/Uint8ClampedArray#__set @@ -55413,38 +55615,38 @@ global.get $~lib/memory/__stack_pointer i32.const 6544 i32.store offset=4 - local.get $6 + local.get $3 i32.load offset=4 - local.set $4 - local.get $6 + local.set $2 + local.get $3 i32.load offset=8 - local.set $3 + local.set $1 loop $for-loop|0100 - local.get $0 - local.get $3 - i32.lt_s + local.get $1 + local.get $6 + i32.gt_s if - local.get $0 - local.get $4 + local.get $2 + local.get $6 i32.add i32.load8_u - local.set $2 + local.set $0 i32.const 3 global.set $~argumentsLength i32.const 0 - local.get $2 local.get $0 local.get $6 + local.get $3 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.099 drop - local.get $0 + local.get $6 i32.const 1 i32.add - local.set $0 + local.set $6 br $for-loop|0100 end end @@ -55456,19 +55658,21 @@ global.get $~lib/memory/__stack_pointer i32.const 6576 i32.store offset=4 - local.get $6 + local.get $3 i32.load offset=4 - local.set $3 - local.get $6 - i32.load offset=8 local.set $2 + i32.const 0 + local.set $6 + local.get $3 + i32.load offset=8 + local.set $1 loop $for-loop|04102 - local.get $2 - local.get $13 + local.get $1 + local.get $6 i32.gt_s if - local.get $3 - local.get $13 + local.get $2 + local.get $6 i32.add i32.load8_u local.set $0 @@ -55476,18 +55680,18 @@ global.set $~argumentsLength i32.const 0 local.get $0 - local.get $13 local.get $6 + local.get $3 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.01101 drop - local.get $13 + local.get $6 i32.const 1 i32.add - local.set $13 + local.set $6 br $for-loop|04102 end end @@ -55499,9 +55703,7 @@ i32.add global.set $~lib/memory/__stack_pointer i32.const 0 - local.set $0 - i32.const 0 - local.set $13 + local.set $6 global.get $~lib/memory/__stack_pointer i32.const 8 i32.sub @@ -55509,25 +55711,25 @@ global.get $~lib/memory/__stack_pointer i32.const 16628 i32.lt_s - br_if $folding-inner22 + br_if $folding-inner21 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 3 call $~lib/typedarray/Int16Array#constructor - local.tee $6 + local.tee $3 i32.store - local.get $6 + local.get $3 i32.const 0 i32.const 2 call $~lib/typedarray/Int16Array#__set - local.get $6 + local.get $3 i32.const 1 i32.const 4 call $~lib/typedarray/Int16Array#__set - local.get $6 + local.get $3 i32.const 2 i32.const 6 call $~lib/typedarray/Int16Array#__set @@ -55535,42 +55737,42 @@ global.get $~lib/memory/__stack_pointer i32.const 6608 i32.store offset=4 - local.get $6 + local.get $3 i32.load offset=4 - local.set $4 - local.get $6 + local.set $2 + local.get $3 i32.load offset=8 i32.const 1 i32.shr_u - local.set $3 + local.set $1 loop $for-loop|0103 - local.get $0 - local.get $3 - i32.lt_s + local.get $1 + local.get $6 + i32.gt_s if - local.get $0 + local.get $6 i32.const 1 i32.shl - local.get $4 + local.get $2 i32.add i32.load16_s - local.set $2 + local.set $0 i32.const 3 global.set $~argumentsLength i32.const 0 - local.get $2 local.get $0 local.get $6 + local.get $3 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 $0 + local.get $6 i32.const 1 i32.add - local.set $0 + local.set $6 br $for-loop|0103 end end @@ -55582,23 +55784,25 @@ global.get $~lib/memory/__stack_pointer i32.const 6640 i32.store offset=4 - local.get $6 + local.get $3 i32.load offset=4 - local.set $3 - local.get $6 + local.set $2 + i32.const 0 + local.set $6 + local.get $3 i32.load offset=8 i32.const 1 i32.shr_u - local.set $2 + local.set $1 loop $for-loop|04104 - local.get $2 - local.get $13 + local.get $1 + local.get $6 i32.gt_s if - local.get $13 + local.get $6 i32.const 1 i32.shl - local.get $3 + local.get $2 i32.add i32.load16_s local.set $0 @@ -55606,18 +55810,18 @@ global.set $~argumentsLength i32.const 0 local.get $0 - local.get $13 local.get $6 + local.get $3 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.01 drop - local.get $13 + local.get $6 i32.const 1 i32.add - local.set $13 + local.set $6 br $for-loop|04104 end end @@ -55629,9 +55833,7 @@ i32.add global.set $~lib/memory/__stack_pointer i32.const 0 - local.set $0 - i32.const 0 - local.set $13 + local.set $6 global.get $~lib/memory/__stack_pointer i32.const 8 i32.sub @@ -55639,25 +55841,25 @@ global.get $~lib/memory/__stack_pointer i32.const 16628 i32.lt_s - br_if $folding-inner22 + br_if $folding-inner21 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 3 call $~lib/typedarray/Uint16Array#constructor - local.tee $6 + local.tee $3 i32.store - local.get $6 + local.get $3 i32.const 0 i32.const 2 call $~lib/typedarray/Uint16Array#__set - local.get $6 + local.get $3 i32.const 1 i32.const 4 call $~lib/typedarray/Uint16Array#__set - local.get $6 + local.get $3 i32.const 2 i32.const 6 call $~lib/typedarray/Uint16Array#__set @@ -55665,42 +55867,42 @@ global.get $~lib/memory/__stack_pointer i32.const 6672 i32.store offset=4 - local.get $6 + local.get $3 i32.load offset=4 - local.set $4 - local.get $6 + local.set $2 + local.get $3 i32.load offset=8 i32.const 1 i32.shr_u - local.set $3 + local.set $1 loop $for-loop|0105 - local.get $0 - local.get $3 - i32.lt_s + local.get $1 + local.get $6 + i32.gt_s if - local.get $0 + local.get $6 i32.const 1 i32.shl - local.get $4 + local.get $2 i32.add i32.load16_u - local.set $2 + local.set $0 i32.const 3 global.set $~argumentsLength i32.const 0 - local.get $2 local.get $0 local.get $6 + local.get $3 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 $0 + local.get $6 i32.const 1 i32.add - local.set $0 + local.set $6 br $for-loop|0105 end end @@ -55712,23 +55914,25 @@ global.get $~lib/memory/__stack_pointer i32.const 6704 i32.store offset=4 - local.get $6 + local.get $3 i32.load offset=4 - local.set $3 - local.get $6 + local.set $2 + i32.const 0 + local.set $6 + local.get $3 i32.load offset=8 i32.const 1 i32.shr_u - local.set $2 + local.set $1 loop $for-loop|04106 - local.get $2 - local.get $13 + local.get $1 + local.get $6 i32.gt_s if - local.get $13 + local.get $6 i32.const 1 i32.shl - local.get $3 + local.get $2 i32.add i32.load16_u local.set $0 @@ -55736,18 +55940,18 @@ global.set $~argumentsLength i32.const 0 local.get $0 - local.get $13 local.get $6 + local.get $3 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.01 drop - local.get $13 + local.get $6 i32.const 1 i32.add - local.set $13 + local.set $6 br $for-loop|04106 end end @@ -55759,9 +55963,7 @@ i32.add global.set $~lib/memory/__stack_pointer i32.const 0 - local.set $0 - i32.const 0 - local.set $13 + local.set $6 global.get $~lib/memory/__stack_pointer i32.const 8 i32.sub @@ -55769,25 +55971,25 @@ global.get $~lib/memory/__stack_pointer i32.const 16628 i32.lt_s - br_if $folding-inner22 + br_if $folding-inner21 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 3 call $~lib/typedarray/Int32Array#constructor - local.tee $6 + local.tee $3 i32.store - local.get $6 + local.get $3 i32.const 0 i32.const 2 call $~lib/typedarray/Int32Array#__set - local.get $6 + local.get $3 i32.const 1 i32.const 4 call $~lib/typedarray/Int32Array#__set - local.get $6 + local.get $3 i32.const 2 i32.const 6 call $~lib/typedarray/Int32Array#__set @@ -55795,42 +55997,42 @@ global.get $~lib/memory/__stack_pointer i32.const 6736 i32.store offset=4 - local.get $6 + local.get $3 i32.load offset=4 - local.set $4 - local.get $6 + local.set $2 + local.get $3 i32.load offset=8 i32.const 2 i32.shr_u - local.set $3 + local.set $1 loop $for-loop|0107 - local.get $0 - local.get $3 - i32.lt_s + local.get $1 + local.get $6 + i32.gt_s if - local.get $0 + local.get $6 i32.const 2 i32.shl - local.get $4 + local.get $2 i32.add i32.load - local.set $2 + local.set $0 i32.const 3 global.set $~argumentsLength i32.const 0 - local.get $2 local.get $0 local.get $6 + local.get $3 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 $0 + local.get $6 i32.const 1 i32.add - local.set $0 + local.set $6 br $for-loop|0107 end end @@ -55842,23 +56044,25 @@ global.get $~lib/memory/__stack_pointer i32.const 6768 i32.store offset=4 - local.get $6 + local.get $3 i32.load offset=4 - local.set $3 - local.get $6 + local.set $2 + i32.const 0 + local.set $6 + local.get $3 i32.load offset=8 i32.const 2 i32.shr_u - local.set $2 + local.set $1 loop $for-loop|04108 - local.get $2 - local.get $13 + local.get $1 + local.get $6 i32.gt_s if - local.get $13 + local.get $6 i32.const 2 i32.shl - local.get $3 + local.get $2 i32.add i32.load local.set $0 @@ -55866,18 +56070,18 @@ global.set $~argumentsLength i32.const 0 local.get $0 - local.get $13 local.get $6 + local.get $3 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.01 drop - local.get $13 + local.get $6 i32.const 1 i32.add - local.set $13 + local.set $6 br $for-loop|04108 end end @@ -55889,9 +56093,7 @@ i32.add global.set $~lib/memory/__stack_pointer i32.const 0 - local.set $0 - i32.const 0 - local.set $13 + local.set $6 global.get $~lib/memory/__stack_pointer i32.const 8 i32.sub @@ -55899,25 +56101,25 @@ global.get $~lib/memory/__stack_pointer i32.const 16628 i32.lt_s - br_if $folding-inner22 + br_if $folding-inner21 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 3 call $~lib/typedarray/Uint32Array#constructor - local.tee $6 + local.tee $3 i32.store - local.get $6 + local.get $3 i32.const 0 i32.const 2 call $~lib/typedarray/Uint32Array#__set - local.get $6 + local.get $3 i32.const 1 i32.const 4 call $~lib/typedarray/Uint32Array#__set - local.get $6 + local.get $3 i32.const 2 i32.const 6 call $~lib/typedarray/Uint32Array#__set @@ -55925,42 +56127,42 @@ global.get $~lib/memory/__stack_pointer i32.const 6800 i32.store offset=4 - local.get $6 + local.get $3 i32.load offset=4 - local.set $4 - local.get $6 + local.set $2 + local.get $3 i32.load offset=8 i32.const 2 i32.shr_u - local.set $3 + local.set $1 loop $for-loop|0109 - local.get $0 - local.get $3 - i32.lt_s + local.get $1 + local.get $6 + i32.gt_s if - local.get $0 + local.get $6 i32.const 2 i32.shl - local.get $4 + local.get $2 i32.add i32.load - local.set $2 + local.set $0 i32.const 3 global.set $~argumentsLength i32.const 0 - local.get $2 local.get $0 local.get $6 + local.get $3 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 $0 + local.get $6 i32.const 1 i32.add - local.set $0 + local.set $6 br $for-loop|0109 end end @@ -55972,23 +56174,25 @@ global.get $~lib/memory/__stack_pointer i32.const 6832 i32.store offset=4 - local.get $6 + local.get $3 i32.load offset=4 - local.set $3 - local.get $6 + local.set $2 + i32.const 0 + local.set $6 + local.get $3 i32.load offset=8 i32.const 2 i32.shr_u - local.set $2 + local.set $1 loop $for-loop|04110 - local.get $2 - local.get $13 + local.get $1 + local.get $6 i32.gt_s if - local.get $13 + local.get $6 i32.const 2 i32.shl - local.get $3 + local.get $2 i32.add i32.load local.set $0 @@ -55996,18 +56200,18 @@ global.set $~argumentsLength i32.const 0 local.get $0 - local.get $13 local.get $6 + local.get $3 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.01 drop - local.get $13 + local.get $6 i32.const 1 i32.add - local.set $13 + local.set $6 br $for-loop|04110 end end @@ -56019,9 +56223,7 @@ i32.add global.set $~lib/memory/__stack_pointer i32.const 0 - local.set $0 - i32.const 0 - local.set $13 + local.set $8 global.get $~lib/memory/__stack_pointer i32.const 8 i32.sub @@ -56029,25 +56231,25 @@ global.get $~lib/memory/__stack_pointer i32.const 16628 i32.lt_s - br_if $folding-inner22 + br_if $folding-inner21 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 3 call $~lib/typedarray/Int64Array#constructor - local.tee $4 + local.tee $2 i32.store - local.get $4 + local.get $2 i32.const 0 i64.const 2 call $~lib/typedarray/Int64Array#__set - local.get $4 + local.get $2 i32.const 1 i64.const 4 call $~lib/typedarray/Int64Array#__set - local.get $4 + local.get $2 i32.const 2 i64.const 6 call $~lib/typedarray/Int64Array#__set @@ -56055,42 +56257,42 @@ global.get $~lib/memory/__stack_pointer i32.const 6864 i32.store offset=4 - local.get $4 + local.get $2 i32.load offset=4 - local.set $3 - local.get $4 + local.set $1 + local.get $2 i32.load offset=8 i32.const 3 i32.shr_u - local.set $2 + local.set $0 loop $for-loop|0112 local.get $0 - local.get $2 - i32.lt_s + local.get $8 + i32.gt_s if - local.get $0 + local.get $8 i32.const 3 i32.shl - local.get $3 + local.get $1 i32.add i64.load - local.set $11 + local.set $10 i32.const 3 global.set $~argumentsLength i32.const 0 - local.get $11 - local.get $0 - local.get $4 + local.get $10 + local.get $8 + local.get $2 i32.const 6864 i32.load call_indirect $0 (type $i64_i32_i32_=>_i32) i32.eqz br_if $~lib/typedarray/EVERY<~lib/typedarray/Int64Array,i64>|inlined.0 drop - local.get $0 + local.get $8 i32.const 1 i32.add - local.set $0 + local.set $8 br $for-loop|0112 end end @@ -56102,42 +56304,44 @@ global.get $~lib/memory/__stack_pointer i32.const 6896 i32.store offset=4 - local.get $4 + local.get $2 i32.load offset=4 - local.set $2 - local.get $4 + local.set $1 + i32.const 0 + local.set $8 + local.get $2 i32.load offset=8 i32.const 3 i32.shr_u local.set $0 loop $for-loop|04113 local.get $0 - local.get $13 + local.get $8 i32.gt_s if - local.get $13 + local.get $8 i32.const 3 i32.shl - local.get $2 + local.get $1 i32.add i64.load - local.set $11 + local.set $10 i32.const 3 global.set $~argumentsLength i32.const 0 - local.get $11 - local.get $13 - local.get $4 + local.get $10 + local.get $8 + local.get $2 i32.const 6896 i32.load call_indirect $0 (type $i64_i32_i32_=>_i32) i32.eqz br_if $~lib/typedarray/EVERY<~lib/typedarray/Int64Array,i64>|inlined.01 drop - local.get $13 + local.get $8 i32.const 1 i32.add - local.set $13 + local.set $8 br $for-loop|04113 end end @@ -56149,9 +56353,7 @@ i32.add global.set $~lib/memory/__stack_pointer i32.const 0 - local.set $0 - i32.const 0 - local.set $13 + local.set $8 global.get $~lib/memory/__stack_pointer i32.const 8 i32.sub @@ -56159,25 +56361,25 @@ global.get $~lib/memory/__stack_pointer i32.const 16628 i32.lt_s - br_if $folding-inner22 + br_if $folding-inner21 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 3 call $~lib/typedarray/Uint64Array#constructor - local.tee $4 + local.tee $2 i32.store - local.get $4 + local.get $2 i32.const 0 i64.const 2 call $~lib/typedarray/Uint64Array#__set - local.get $4 + local.get $2 i32.const 1 i64.const 4 call $~lib/typedarray/Uint64Array#__set - local.get $4 + local.get $2 i32.const 2 i64.const 6 call $~lib/typedarray/Uint64Array#__set @@ -56185,42 +56387,42 @@ global.get $~lib/memory/__stack_pointer i32.const 6928 i32.store offset=4 - local.get $4 + local.get $2 i32.load offset=4 - local.set $3 - local.get $4 + local.set $1 + local.get $2 i32.load offset=8 i32.const 3 i32.shr_u - local.set $2 + local.set $0 loop $for-loop|0114 local.get $0 - local.get $2 - i32.lt_s + local.get $8 + i32.gt_s if - local.get $0 + local.get $8 i32.const 3 i32.shl - local.get $3 + local.get $1 i32.add i64.load - local.set $11 + local.set $10 i32.const 3 global.set $~argumentsLength i32.const 0 - local.get $11 - local.get $0 - local.get $4 + local.get $10 + local.get $8 + local.get $2 i32.const 6928 i32.load call_indirect $0 (type $i64_i32_i32_=>_i32) i32.eqz br_if $~lib/typedarray/EVERY<~lib/typedarray/Uint64Array,u64>|inlined.0 drop - local.get $0 + local.get $8 i32.const 1 i32.add - local.set $0 + local.set $8 br $for-loop|0114 end end @@ -56232,42 +56434,44 @@ global.get $~lib/memory/__stack_pointer i32.const 6960 i32.store offset=4 - local.get $4 + local.get $2 i32.load offset=4 - local.set $2 - local.get $4 + local.set $1 + i32.const 0 + local.set $8 + local.get $2 i32.load offset=8 i32.const 3 i32.shr_u local.set $0 loop $for-loop|04115 local.get $0 - local.get $13 + local.get $8 i32.gt_s if - local.get $13 + local.get $8 i32.const 3 i32.shl - local.get $2 + local.get $1 i32.add i64.load - local.set $11 + local.set $10 i32.const 3 global.set $~argumentsLength i32.const 0 - local.get $11 - local.get $13 - local.get $4 + local.get $10 + local.get $8 + local.get $2 i32.const 6960 i32.load call_indirect $0 (type $i64_i32_i32_=>_i32) i32.eqz br_if $~lib/typedarray/EVERY<~lib/typedarray/Uint64Array,u64>|inlined.01 drop - local.get $13 + local.get $8 i32.const 1 i32.add - local.set $13 + local.set $8 br $for-loop|04115 end end @@ -56279,9 +56483,7 @@ i32.add global.set $~lib/memory/__stack_pointer i32.const 0 - local.set $0 - i32.const 0 - local.set $13 + local.set $8 global.get $~lib/memory/__stack_pointer i32.const 8 i32.sub @@ -56289,25 +56491,25 @@ global.get $~lib/memory/__stack_pointer i32.const 16628 i32.lt_s - br_if $folding-inner22 + br_if $folding-inner21 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 3 call $~lib/typedarray/Float32Array#constructor - local.tee $4 + local.tee $2 i32.store - local.get $4 + local.get $2 i32.const 0 f32.const 2 call $~lib/typedarray/Float32Array#__set - local.get $4 + local.get $2 i32.const 1 f32.const 4 call $~lib/typedarray/Float32Array#__set - local.get $4 + local.get $2 i32.const 2 f32.const 6 call $~lib/typedarray/Float32Array#__set @@ -56315,23 +56517,23 @@ global.get $~lib/memory/__stack_pointer i32.const 6992 i32.store offset=4 - local.get $4 + local.get $2 i32.load offset=4 - local.set $3 - local.get $4 + local.set $1 + local.get $2 i32.load offset=8 i32.const 2 i32.shr_u - local.set $2 + local.set $0 loop $for-loop|0116 local.get $0 - local.get $2 - i32.lt_s + local.get $8 + i32.gt_s if - local.get $0 + local.get $8 i32.const 2 i32.shl - local.get $3 + local.get $1 i32.add f32.load local.set $5 @@ -56339,18 +56541,18 @@ global.set $~argumentsLength i32.const 0 local.get $5 - local.get $0 - local.get $4 + local.get $8 + local.get $2 i32.const 6992 i32.load call_indirect $0 (type $f32_i32_i32_=>_i32) i32.eqz br_if $~lib/typedarray/EVERY<~lib/typedarray/Float32Array,f32>|inlined.0 drop - local.get $0 + local.get $8 i32.const 1 i32.add - local.set $0 + local.set $8 br $for-loop|0116 end end @@ -56362,23 +56564,25 @@ global.get $~lib/memory/__stack_pointer i32.const 7024 i32.store offset=4 - local.get $4 + local.get $2 i32.load offset=4 - local.set $2 - local.get $4 + local.set $1 + i32.const 0 + local.set $8 + local.get $2 i32.load offset=8 i32.const 2 i32.shr_u local.set $0 loop $for-loop|04117 local.get $0 - local.get $13 + local.get $8 i32.gt_s if - local.get $13 + local.get $8 i32.const 2 i32.shl - local.get $2 + local.get $1 i32.add f32.load local.set $5 @@ -56386,18 +56590,18 @@ global.set $~argumentsLength i32.const 0 local.get $5 - local.get $13 - local.get $4 + local.get $8 + local.get $2 i32.const 7024 i32.load call_indirect $0 (type $f32_i32_i32_=>_i32) i32.eqz br_if $~lib/typedarray/EVERY<~lib/typedarray/Float32Array,f32>|inlined.01 drop - local.get $13 + local.get $8 i32.const 1 i32.add - local.set $13 + local.set $8 br $for-loop|04117 end end @@ -56409,9 +56613,7 @@ i32.add global.set $~lib/memory/__stack_pointer i32.const 0 - local.set $0 - i32.const 0 - local.set $13 + local.set $8 global.get $~lib/memory/__stack_pointer i32.const 8 i32.sub @@ -56419,25 +56621,25 @@ global.get $~lib/memory/__stack_pointer i32.const 16628 i32.lt_s - br_if $folding-inner22 + br_if $folding-inner21 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 3 call $~lib/typedarray/Float64Array#constructor - local.tee $4 + local.tee $2 i32.store - local.get $4 + local.get $2 i32.const 0 f64.const 2 call $~lib/typedarray/Float64Array#__set - local.get $4 + local.get $2 i32.const 1 f64.const 4 call $~lib/typedarray/Float64Array#__set - local.get $4 + local.get $2 i32.const 2 f64.const 6 call $~lib/typedarray/Float64Array#__set @@ -56445,23 +56647,23 @@ global.get $~lib/memory/__stack_pointer i32.const 7056 i32.store offset=4 - local.get $4 + local.get $2 i32.load offset=4 - local.set $3 - local.get $4 + local.set $1 + local.get $2 i32.load offset=8 i32.const 3 i32.shr_u - local.set $2 + local.set $0 loop $for-loop|0118 local.get $0 - local.get $2 - i32.lt_s + local.get $8 + i32.gt_s if - local.get $0 + local.get $8 i32.const 3 i32.shl - local.get $3 + local.get $1 i32.add f64.load local.set $7 @@ -56469,18 +56671,18 @@ global.set $~argumentsLength i32.const 0 local.get $7 - local.get $0 - local.get $4 + local.get $8 + local.get $2 i32.const 7056 i32.load call_indirect $0 (type $f64_i32_i32_=>_i32) i32.eqz br_if $~lib/typedarray/EVERY<~lib/typedarray/Float64Array,f64>|inlined.0 drop - local.get $0 + local.get $8 i32.const 1 i32.add - local.set $0 + local.set $8 br $for-loop|0118 end end @@ -56492,23 +56694,25 @@ global.get $~lib/memory/__stack_pointer i32.const 7088 i32.store offset=4 - local.get $4 + local.get $2 i32.load offset=4 - local.set $2 - local.get $4 + local.set $1 + i32.const 0 + local.set $8 + local.get $2 i32.load offset=8 i32.const 3 i32.shr_u local.set $0 loop $for-loop|04119 local.get $0 - local.get $13 + local.get $8 i32.gt_s if - local.get $13 + local.get $8 i32.const 3 i32.shl - local.get $2 + local.get $1 i32.add f64.load local.set $7 @@ -56516,18 +56720,18 @@ global.set $~argumentsLength i32.const 0 local.get $7 - local.get $13 - local.get $4 + local.get $8 + local.get $2 i32.const 7088 i32.load call_indirect $0 (type $f64_i32_i32_=>_i32) i32.eqz br_if $~lib/typedarray/EVERY<~lib/typedarray/Float64Array,f64>|inlined.01 drop - local.get $13 + local.get $8 i32.const 1 i32.add - local.set $13 + local.set $8 br $for-loop|04119 end end @@ -56545,7 +56749,7 @@ global.get $~lib/memory/__stack_pointer i32.const 16628 i32.lt_s - br_if $folding-inner22 + br_if $folding-inner21 global.get $~lib/memory/__stack_pointer local.tee $0 i64.const 0 @@ -56558,14 +56762,14 @@ local.get $0 i32.const 3 call $~lib/typedarray/Int8Array#constructor - local.tee $4 + local.tee $3 i32.store - local.get $4 + local.get $3 global.set $std/typedarray/forEachSelf global.get $~lib/memory/__stack_pointer i32.const 7152 i32.store offset=4 - local.get $4 + local.get $3 i32.const 0 i32.const 7152 i32.const 0 @@ -56575,7 +56779,7 @@ global.get $~lib/memory/__stack_pointer i32.const 7152 i32.store offset=4 - local.get $4 + local.get $3 i32.const 1 i32.const 7152 i32.const 1 @@ -56585,7 +56789,7 @@ global.get $~lib/memory/__stack_pointer i32.const 7152 i32.store offset=4 - local.get $4 + local.get $3 i32.const 2 i32.const 7152 i32.const 2 @@ -56595,32 +56799,34 @@ global.get $~lib/memory/__stack_pointer i32.const 7200 i32.store offset=8 - local.get $4 + local.get $3 i32.load offset=4 - local.set $3 - local.get $4 - i32.load offset=8 local.set $2 + i32.const 0 + local.set $6 + local.get $3 + i32.load offset=8 + local.set $1 loop $for-loop|0116120 - local.get $2 - local.get $37 + local.get $1 + local.get $6 i32.gt_s if - local.get $3 - local.get $37 + local.get $2 + local.get $6 i32.add i32.load8_s i32.const 3 global.set $~argumentsLength - local.get $37 - local.get $4 + local.get $6 + local.get $3 i32.const 7200 i32.load call_indirect $0 (type $i32_i32_i32_=>_none) - local.get $37 + local.get $6 i32.const 1 i32.add - local.set $37 + local.set $6 br $for-loop|0116120 end end @@ -56639,7 +56845,7 @@ global.get $~lib/memory/__stack_pointer i32.const 16628 i32.lt_s - br_if $folding-inner22 + br_if $folding-inner21 global.get $~lib/memory/__stack_pointer local.tee $0 i64.const 0 @@ -56652,14 +56858,14 @@ local.get $0 i32.const 3 call $~lib/typedarray/Uint8Array#constructor - local.tee $4 + local.tee $3 i32.store - local.get $4 + local.get $3 global.set $std/typedarray/forEachSelf global.get $~lib/memory/__stack_pointer i32.const 7152 i32.store offset=4 - local.get $4 + local.get $3 i32.const 0 i32.const 7152 i32.const 0 @@ -56670,7 +56876,7 @@ global.get $~lib/memory/__stack_pointer i32.const 7152 i32.store offset=4 - local.get $4 + local.get $3 i32.const 1 i32.const 7152 i32.const 1 @@ -56681,7 +56887,7 @@ global.get $~lib/memory/__stack_pointer i32.const 7152 i32.store offset=4 - local.get $4 + local.get $3 i32.const 2 i32.const 7152 i32.const 2 @@ -56692,32 +56898,34 @@ global.get $~lib/memory/__stack_pointer i32.const 7232 i32.store offset=8 - local.get $4 + local.get $3 i32.load offset=4 - local.set $3 - local.get $4 - i32.load offset=8 local.set $2 + i32.const 0 + local.set $6 + local.get $3 + i32.load offset=8 + local.set $1 loop $for-loop|0121 - local.get $2 - local.get $38 + local.get $1 + local.get $6 i32.gt_s if - local.get $3 - local.get $38 + local.get $2 + local.get $6 i32.add i32.load8_u i32.const 3 global.set $~argumentsLength - local.get $38 - local.get $4 + local.get $6 + local.get $3 i32.const 7232 i32.load call_indirect $0 (type $i32_i32_i32_=>_none) - local.get $38 + local.get $6 i32.const 1 i32.add - local.set $38 + local.set $6 br $for-loop|0121 end end @@ -56736,7 +56944,7 @@ global.get $~lib/memory/__stack_pointer i32.const 16628 i32.lt_s - br_if $folding-inner22 + br_if $folding-inner21 global.get $~lib/memory/__stack_pointer local.tee $0 i64.const 0 @@ -56749,14 +56957,14 @@ local.get $0 i32.const 3 call $~lib/typedarray/Uint8ClampedArray#constructor - local.tee $4 + local.tee $3 i32.store - local.get $4 + local.get $3 global.set $std/typedarray/forEachSelf global.get $~lib/memory/__stack_pointer i32.const 7152 i32.store offset=4 - local.get $4 + local.get $3 i32.const 0 i32.const 7152 i32.const 0 @@ -56767,7 +56975,7 @@ global.get $~lib/memory/__stack_pointer i32.const 7152 i32.store offset=4 - local.get $4 + local.get $3 i32.const 1 i32.const 7152 i32.const 1 @@ -56778,7 +56986,7 @@ global.get $~lib/memory/__stack_pointer i32.const 7152 i32.store offset=4 - local.get $4 + local.get $3 i32.const 2 i32.const 7152 i32.const 2 @@ -56789,32 +56997,34 @@ global.get $~lib/memory/__stack_pointer i32.const 7264 i32.store offset=8 - local.get $4 + local.get $3 i32.load offset=4 - local.set $3 - local.get $4 - i32.load offset=8 local.set $2 + i32.const 0 + local.set $6 + local.get $3 + i32.load offset=8 + local.set $1 loop $for-loop|0128 - local.get $2 - local.get $39 + local.get $1 + local.get $6 i32.gt_s if - local.get $3 - local.get $39 + local.get $2 + local.get $6 i32.add i32.load8_u i32.const 3 global.set $~argumentsLength - local.get $39 - local.get $4 + local.get $6 + local.get $3 i32.const 7264 i32.load call_indirect $0 (type $i32_i32_i32_=>_none) - local.get $39 + local.get $6 i32.const 1 i32.add - local.set $39 + local.set $6 br $for-loop|0128 end end @@ -56833,7 +57043,7 @@ global.get $~lib/memory/__stack_pointer i32.const 16628 i32.lt_s - br_if $folding-inner22 + br_if $folding-inner21 global.get $~lib/memory/__stack_pointer local.tee $0 i64.const 0 @@ -56846,14 +57056,14 @@ local.get $0 i32.const 3 call $~lib/typedarray/Int16Array#constructor - local.tee $4 + local.tee $3 i32.store - local.get $4 + local.get $3 global.set $std/typedarray/forEachSelf global.get $~lib/memory/__stack_pointer i32.const 7152 i32.store offset=4 - local.get $4 + local.get $3 i32.const 0 i32.const 7152 i32.const 0 @@ -56863,7 +57073,7 @@ global.get $~lib/memory/__stack_pointer i32.const 7152 i32.store offset=4 - local.get $4 + local.get $3 i32.const 1 i32.const 7152 i32.const 1 @@ -56873,7 +57083,7 @@ global.get $~lib/memory/__stack_pointer i32.const 7152 i32.store offset=4 - local.get $4 + local.get $3 i32.const 2 i32.const 7152 i32.const 2 @@ -56883,36 +57093,38 @@ global.get $~lib/memory/__stack_pointer i32.const 7296 i32.store offset=8 - local.get $4 + local.get $3 i32.load offset=4 - local.set $3 - local.get $4 + local.set $2 + i32.const 0 + local.set $6 + local.get $3 i32.load offset=8 i32.const 1 i32.shr_u - local.set $2 + local.set $1 loop $for-loop|0133 - local.get $2 - local.get $40 + local.get $1 + local.get $6 i32.gt_s if - local.get $40 + local.get $6 i32.const 1 i32.shl - local.get $3 + local.get $2 i32.add i32.load16_s i32.const 3 global.set $~argumentsLength - local.get $40 - local.get $4 + local.get $6 + local.get $3 i32.const 7296 i32.load call_indirect $0 (type $i32_i32_i32_=>_none) - local.get $40 + local.get $6 i32.const 1 i32.add - local.set $40 + local.set $6 br $for-loop|0133 end end @@ -56931,7 +57143,7 @@ global.get $~lib/memory/__stack_pointer i32.const 16628 i32.lt_s - br_if $folding-inner22 + br_if $folding-inner21 global.get $~lib/memory/__stack_pointer local.tee $0 i64.const 0 @@ -56944,14 +57156,14 @@ local.get $0 i32.const 3 call $~lib/typedarray/Uint16Array#constructor - local.tee $4 + local.tee $3 i32.store - local.get $4 + local.get $3 global.set $std/typedarray/forEachSelf global.get $~lib/memory/__stack_pointer i32.const 7152 i32.store offset=4 - local.get $4 + local.get $3 i32.const 0 i32.const 7152 i32.const 0 @@ -56962,7 +57174,7 @@ global.get $~lib/memory/__stack_pointer i32.const 7152 i32.store offset=4 - local.get $4 + local.get $3 i32.const 1 i32.const 7152 i32.const 1 @@ -56973,7 +57185,7 @@ global.get $~lib/memory/__stack_pointer i32.const 7152 i32.store offset=4 - local.get $4 + local.get $3 i32.const 2 i32.const 7152 i32.const 2 @@ -56984,36 +57196,38 @@ global.get $~lib/memory/__stack_pointer i32.const 7328 i32.store offset=8 - local.get $4 + local.get $3 i32.load offset=4 - local.set $3 - local.get $4 + local.set $2 + i32.const 0 + local.set $6 + local.get $3 i32.load offset=8 i32.const 1 i32.shr_u - local.set $2 + local.set $1 loop $for-loop|0138 - local.get $2 - local.get $41 + local.get $1 + local.get $6 i32.gt_s if - local.get $41 + local.get $6 i32.const 1 i32.shl - local.get $3 + local.get $2 i32.add i32.load16_u i32.const 3 global.set $~argumentsLength - local.get $41 - local.get $4 + local.get $6 + local.get $3 i32.const 7328 i32.load call_indirect $0 (type $i32_i32_i32_=>_none) - local.get $41 + local.get $6 i32.const 1 i32.add - local.set $41 + local.set $6 br $for-loop|0138 end end @@ -57032,7 +57246,7 @@ global.get $~lib/memory/__stack_pointer i32.const 16628 i32.lt_s - br_if $folding-inner22 + br_if $folding-inner21 global.get $~lib/memory/__stack_pointer local.tee $0 i64.const 0 @@ -57045,14 +57259,14 @@ local.get $0 i32.const 3 call $~lib/typedarray/Int32Array#constructor - local.tee $4 + local.tee $3 i32.store - local.get $4 + local.get $3 global.set $std/typedarray/forEachSelf global.get $~lib/memory/__stack_pointer i32.const 7152 i32.store offset=4 - local.get $4 + local.get $3 i32.const 0 i32.const 7152 i32.const 0 @@ -57061,7 +57275,7 @@ global.get $~lib/memory/__stack_pointer i32.const 7152 i32.store offset=4 - local.get $4 + local.get $3 i32.const 1 i32.const 7152 i32.const 1 @@ -57070,7 +57284,7 @@ global.get $~lib/memory/__stack_pointer i32.const 7152 i32.store offset=4 - local.get $4 + local.get $3 i32.const 2 i32.const 7152 i32.const 2 @@ -57079,36 +57293,38 @@ global.get $~lib/memory/__stack_pointer i32.const 7360 i32.store offset=8 - local.get $4 + local.get $3 i32.load offset=4 - local.set $3 - local.get $4 + local.set $2 + i32.const 0 + local.set $6 + local.get $3 i32.load offset=8 i32.const 2 i32.shr_u - local.set $2 + local.set $1 loop $for-loop|0143 - local.get $2 - local.get $42 + local.get $1 + local.get $6 i32.gt_s if - local.get $42 + local.get $6 i32.const 2 i32.shl - local.get $3 + local.get $2 i32.add i32.load i32.const 3 global.set $~argumentsLength - local.get $42 - local.get $4 + local.get $6 + local.get $3 i32.const 7360 i32.load call_indirect $0 (type $i32_i32_i32_=>_none) - local.get $42 + local.get $6 i32.const 1 i32.add - local.set $42 + local.set $6 br $for-loop|0143 end end @@ -57127,7 +57343,7 @@ global.get $~lib/memory/__stack_pointer i32.const 16628 i32.lt_s - br_if $folding-inner22 + br_if $folding-inner21 global.get $~lib/memory/__stack_pointer local.tee $0 i64.const 0 @@ -57140,14 +57356,14 @@ local.get $0 i32.const 3 call $~lib/typedarray/Uint32Array#constructor - local.tee $4 + local.tee $3 i32.store - local.get $4 + local.get $3 global.set $std/typedarray/forEachSelf global.get $~lib/memory/__stack_pointer i32.const 7152 i32.store offset=4 - local.get $4 + local.get $3 i32.const 0 i32.const 7152 i32.const 0 @@ -57156,7 +57372,7 @@ global.get $~lib/memory/__stack_pointer i32.const 7152 i32.store offset=4 - local.get $4 + local.get $3 i32.const 1 i32.const 7152 i32.const 1 @@ -57165,7 +57381,7 @@ global.get $~lib/memory/__stack_pointer i32.const 7152 i32.store offset=4 - local.get $4 + local.get $3 i32.const 2 i32.const 7152 i32.const 2 @@ -57174,36 +57390,38 @@ global.get $~lib/memory/__stack_pointer i32.const 7392 i32.store offset=8 - local.get $4 + local.get $3 i32.load offset=4 - local.set $3 - local.get $4 + local.set $2 + i32.const 0 + local.set $6 + local.get $3 i32.load offset=8 i32.const 2 i32.shr_u - local.set $2 + local.set $1 loop $for-loop|0148 - local.get $2 - local.get $43 + local.get $1 + local.get $6 i32.gt_s if - local.get $43 + local.get $6 i32.const 2 i32.shl - local.get $3 + local.get $2 i32.add i32.load i32.const 3 global.set $~argumentsLength - local.get $43 - local.get $4 + local.get $6 + local.get $3 i32.const 7392 i32.load call_indirect $0 (type $i32_i32_i32_=>_none) - local.get $43 + local.get $6 i32.const 1 i32.add - local.set $43 + local.set $6 br $for-loop|0148 end end @@ -57222,7 +57440,7 @@ global.get $~lib/memory/__stack_pointer i32.const 16628 i32.lt_s - br_if $folding-inner22 + br_if $folding-inner21 global.get $~lib/memory/__stack_pointer local.tee $0 i64.const 0 @@ -57235,14 +57453,14 @@ local.get $0 i32.const 3 call $~lib/typedarray/Int64Array#constructor - local.tee $3 + local.tee $2 i32.store - local.get $3 + local.get $2 global.set $std/typedarray/forEachSelf global.get $~lib/memory/__stack_pointer i32.const 7152 i32.store offset=4 - local.get $3 + local.get $2 i32.const 0 i32.const 7152 i32.const 0 @@ -57252,7 +57470,7 @@ global.get $~lib/memory/__stack_pointer i32.const 7152 i32.store offset=4 - local.get $3 + local.get $2 i32.const 1 i32.const 7152 i32.const 1 @@ -57262,7 +57480,7 @@ global.get $~lib/memory/__stack_pointer i32.const 7152 i32.store offset=4 - local.get $3 + local.get $2 i32.const 2 i32.const 7152 i32.const 2 @@ -57272,36 +57490,38 @@ global.get $~lib/memory/__stack_pointer i32.const 7424 i32.store offset=8 - local.get $3 + local.get $2 i32.load offset=4 - local.set $2 - local.get $3 + local.set $1 + i32.const 0 + local.set $6 + local.get $2 i32.load offset=8 i32.const 3 i32.shr_u local.set $0 loop $for-loop|0153 local.get $0 - local.get $44 + local.get $6 i32.gt_s if - local.get $44 + local.get $6 i32.const 3 i32.shl - local.get $2 + local.get $1 i32.add i64.load i32.const 3 global.set $~argumentsLength - local.get $44 - local.get $3 + local.get $6 + local.get $2 i32.const 7424 i32.load call_indirect $0 (type $i64_i32_i32_=>_none) - local.get $44 + local.get $6 i32.const 1 i32.add - local.set $44 + local.set $6 br $for-loop|0153 end end @@ -57320,7 +57540,7 @@ global.get $~lib/memory/__stack_pointer i32.const 16628 i32.lt_s - br_if $folding-inner22 + br_if $folding-inner21 global.get $~lib/memory/__stack_pointer local.tee $0 i64.const 0 @@ -57333,14 +57553,14 @@ local.get $0 i32.const 3 call $~lib/typedarray/Uint64Array#constructor - local.tee $3 + local.tee $2 i32.store - local.get $3 + local.get $2 global.set $std/typedarray/forEachSelf global.get $~lib/memory/__stack_pointer i32.const 7152 i32.store offset=4 - local.get $3 + local.get $2 i32.const 0 i32.const 7152 i32.const 0 @@ -57350,7 +57570,7 @@ global.get $~lib/memory/__stack_pointer i32.const 7152 i32.store offset=4 - local.get $3 + local.get $2 i32.const 1 i32.const 7152 i32.const 1 @@ -57360,7 +57580,7 @@ global.get $~lib/memory/__stack_pointer i32.const 7152 i32.store offset=4 - local.get $3 + local.get $2 i32.const 2 i32.const 7152 i32.const 2 @@ -57370,36 +57590,38 @@ global.get $~lib/memory/__stack_pointer i32.const 7456 i32.store offset=8 - local.get $3 + local.get $2 i32.load offset=4 - local.set $2 - local.get $3 + local.set $1 + i32.const 0 + local.set $6 + local.get $2 i32.load offset=8 i32.const 3 i32.shr_u local.set $0 loop $for-loop|0158 local.get $0 - local.get $45 + local.get $6 i32.gt_s if - local.get $45 + local.get $6 i32.const 3 i32.shl - local.get $2 + local.get $1 i32.add i64.load i32.const 3 global.set $~argumentsLength - local.get $45 - local.get $3 + local.get $6 + local.get $2 i32.const 7456 i32.load call_indirect $0 (type $i64_i32_i32_=>_none) - local.get $45 + local.get $6 i32.const 1 i32.add - local.set $45 + local.set $6 br $for-loop|0158 end end @@ -57418,7 +57640,7 @@ global.get $~lib/memory/__stack_pointer i32.const 16628 i32.lt_s - br_if $folding-inner22 + br_if $folding-inner21 global.get $~lib/memory/__stack_pointer local.tee $0 i64.const 0 @@ -57431,14 +57653,14 @@ local.get $0 i32.const 3 call $~lib/typedarray/Float32Array#constructor - local.tee $3 + local.tee $2 i32.store - local.get $3 + local.get $2 global.set $std/typedarray/forEachSelf global.get $~lib/memory/__stack_pointer i32.const 7152 i32.store offset=4 - local.get $3 + local.get $2 i32.const 0 i32.const 7152 i32.const 0 @@ -57448,7 +57670,7 @@ global.get $~lib/memory/__stack_pointer i32.const 7152 i32.store offset=4 - local.get $3 + local.get $2 i32.const 1 i32.const 7152 i32.const 1 @@ -57458,7 +57680,7 @@ global.get $~lib/memory/__stack_pointer i32.const 7152 i32.store offset=4 - local.get $3 + local.get $2 i32.const 2 i32.const 7152 i32.const 2 @@ -57468,36 +57690,38 @@ global.get $~lib/memory/__stack_pointer i32.const 7488 i32.store offset=8 - local.get $3 + local.get $2 i32.load offset=4 - local.set $2 - local.get $3 + local.set $1 + i32.const 0 + local.set $6 + local.get $2 i32.load offset=8 i32.const 2 i32.shr_u local.set $0 loop $for-loop|0163 local.get $0 - local.get $46 + local.get $6 i32.gt_s if - local.get $46 + local.get $6 i32.const 2 i32.shl - local.get $2 + local.get $1 i32.add f32.load i32.const 3 global.set $~argumentsLength - local.get $46 - local.get $3 + local.get $6 + local.get $2 i32.const 7488 i32.load call_indirect $0 (type $f32_i32_i32_=>_none) - local.get $46 + local.get $6 i32.const 1 i32.add - local.set $46 + local.set $6 br $for-loop|0163 end end @@ -57516,7 +57740,7 @@ global.get $~lib/memory/__stack_pointer i32.const 16628 i32.lt_s - br_if $folding-inner22 + br_if $folding-inner21 global.get $~lib/memory/__stack_pointer local.tee $0 i64.const 0 @@ -57529,14 +57753,14 @@ local.get $0 i32.const 3 call $~lib/typedarray/Float64Array#constructor - local.tee $3 + local.tee $2 i32.store - local.get $3 + local.get $2 global.set $std/typedarray/forEachSelf global.get $~lib/memory/__stack_pointer i32.const 7152 i32.store offset=4 - local.get $3 + local.get $2 i32.const 0 i32.const 7152 i32.const 0 @@ -57546,7 +57770,7 @@ global.get $~lib/memory/__stack_pointer i32.const 7152 i32.store offset=4 - local.get $3 + local.get $2 i32.const 1 i32.const 7152 i32.const 1 @@ -57556,7 +57780,7 @@ global.get $~lib/memory/__stack_pointer i32.const 7152 i32.store offset=4 - local.get $3 + local.get $2 i32.const 2 i32.const 7152 i32.const 2 @@ -57566,36 +57790,38 @@ global.get $~lib/memory/__stack_pointer i32.const 7520 i32.store offset=8 - local.get $3 + local.get $2 i32.load offset=4 - local.set $2 - local.get $3 + local.set $1 + i32.const 0 + local.set $6 + local.get $2 i32.load offset=8 i32.const 3 i32.shr_u local.set $0 loop $for-loop|0168 local.get $0 - local.get $47 + local.get $6 i32.gt_s if - local.get $47 + local.get $6 i32.const 3 i32.shl - local.get $2 + local.get $1 i32.add f64.load i32.const 3 global.set $~argumentsLength - local.get $47 - local.get $3 + local.get $6 + local.get $2 i32.const 7520 i32.load call_indirect $0 (type $f64_i32_i32_=>_none) - local.get $47 + local.get $6 i32.const 1 i32.add - local.set $47 + local.set $6 br $for-loop|0168 end end @@ -57608,7 +57834,7 @@ i32.add global.set $~lib/memory/__stack_pointer i32.const 0 - local.set $0 + local.set $8 global.get $~lib/memory/__stack_pointer i32.const 20 i32.sub @@ -57616,92 +57842,92 @@ global.get $~lib/memory/__stack_pointer i32.const 16628 i32.lt_s - br_if $folding-inner22 + br_if $folding-inner21 global.get $~lib/memory/__stack_pointer - local.tee $2 + local.tee $0 i64.const 0 i64.store - local.get $2 + local.get $0 i64.const 0 i64.store offset=8 - local.get $2 + local.get $0 i32.const 0 i32.store offset=16 - local.get $2 + local.get $0 i32.const 7616 i32.store - local.get $2 + local.get $0 i32.const 7628 i32.load - local.tee $4 - call $~lib/typedarray/Int8Array#constructor local.tee $2 + call $~lib/typedarray/Int8Array#constructor + local.tee $1 i32.store offset=4 global.get $~lib/memory/__stack_pointer - local.get $4 + local.get $2 call $~lib/typedarray/Int8Array#constructor - local.tee $3 + local.tee $0 i32.store offset=8 loop $for-loop|0122 - local.get $0 - local.get $4 - i32.lt_s + local.get $2 + local.get $8 + i32.gt_s if - local.get $2 - local.get $0 + local.get $1 + local.get $8 i32.const 7616 - local.get $0 + local.get $8 call $~lib/array/Array#__get i32.extend8_s call $~lib/typedarray/Int8Array#__set - local.get $3 local.get $0 + local.get $8 i32.const 7616 - local.get $0 + local.get $8 call $~lib/array/Array#__get i32.extend8_s call $~lib/typedarray/Int8Array#__set - local.get $0 + local.get $8 i32.const 1 i32.add - local.set $0 + local.set $8 br $for-loop|0122 end end - local.get $2 + local.get $1 i32.load offset=4 - local.get $2 + local.get $1 i32.load offset=8 call $~lib/util/bytes/REVERSE i32.const 0 - local.set $0 + local.set $8 loop $for-loop|1 - local.get $0 - local.get $4 - i32.lt_s + local.get $2 + local.get $8 + i32.gt_s if - local.get $2 - local.get $0 + local.get $1 + local.get $8 call $~lib/typedarray/Int8Array#__get i32.const 7616 - local.get $4 + local.get $2 i32.const 1 i32.sub - local.get $0 + local.get $8 i32.sub call $~lib/array/Array#__get i32.extend8_s i32.ne br_if $folding-inner31 - local.get $0 + local.get $8 i32.const 1 i32.add - local.set $0 + local.set $8 br $for-loop|1 end end global.get $~lib/memory/__stack_pointer - local.get $3 + local.get $0 i32.const 4 i32.const 8 call $~lib/typedarray/Int8Array#subarray @@ -57745,7 +57971,7 @@ i32.add global.set $~lib/memory/__stack_pointer i32.const 0 - local.set $0 + local.set $8 global.get $~lib/memory/__stack_pointer i32.const 20 i32.sub @@ -57753,95 +57979,95 @@ global.get $~lib/memory/__stack_pointer i32.const 16628 i32.lt_s - br_if $folding-inner22 + br_if $folding-inner21 global.get $~lib/memory/__stack_pointer - local.tee $2 + local.tee $0 i64.const 0 i64.store - local.get $2 + local.get $0 i64.const 0 i64.store offset=8 - local.get $2 + local.get $0 i32.const 0 i32.store offset=16 - local.get $2 + local.get $0 i32.const 7616 i32.store - local.get $2 + local.get $0 i32.const 7628 i32.load - local.tee $4 - call $~lib/typedarray/Uint8Array#constructor local.tee $2 + call $~lib/typedarray/Uint8Array#constructor + local.tee $1 i32.store offset=4 global.get $~lib/memory/__stack_pointer - local.get $4 + local.get $2 call $~lib/typedarray/Uint8Array#constructor - local.tee $3 + local.tee $0 i32.store offset=8 loop $for-loop|0123 - local.get $0 - local.get $4 - i32.lt_s + local.get $2 + local.get $8 + i32.gt_s if - local.get $2 - local.get $0 + local.get $1 + local.get $8 i32.const 7616 - local.get $0 + local.get $8 call $~lib/array/Array#__get i32.const 255 i32.and call $~lib/typedarray/Uint8Array#__set - local.get $3 local.get $0 + local.get $8 i32.const 7616 - local.get $0 + local.get $8 call $~lib/array/Array#__get i32.const 255 i32.and call $~lib/typedarray/Uint8Array#__set - local.get $0 + local.get $8 i32.const 1 i32.add - local.set $0 + local.set $8 br $for-loop|0123 end end - local.get $2 + local.get $1 i32.load offset=4 - local.get $2 + local.get $1 i32.load offset=8 call $~lib/util/bytes/REVERSE i32.const 0 - local.set $0 + local.set $8 loop $for-loop|1124 - local.get $0 - local.get $4 - i32.lt_s + local.get $2 + local.get $8 + i32.gt_s if - local.get $2 - local.get $0 + local.get $1 + local.get $8 call $~lib/typedarray/Uint8Array#__get i32.const 7616 - local.get $4 + local.get $2 i32.const 1 i32.sub - local.get $0 + local.get $8 i32.sub call $~lib/array/Array#__get i32.const 255 i32.and i32.ne br_if $folding-inner31 - local.get $0 + local.get $8 i32.const 1 i32.add - local.set $0 + local.set $8 br $for-loop|1124 end end global.get $~lib/memory/__stack_pointer - local.get $3 + local.get $0 i32.const 8 call $~lib/typedarray/Uint8Array#subarray local.set $0 @@ -57884,7 +58110,7 @@ i32.add global.set $~lib/memory/__stack_pointer i32.const 0 - local.set $0 + local.set $8 global.get $~lib/memory/__stack_pointer i32.const 20 i32.sub @@ -57892,95 +58118,95 @@ global.get $~lib/memory/__stack_pointer i32.const 16628 i32.lt_s - br_if $folding-inner22 + br_if $folding-inner21 global.get $~lib/memory/__stack_pointer - local.tee $2 + local.tee $0 i64.const 0 i64.store - local.get $2 + local.get $0 i64.const 0 i64.store offset=8 - local.get $2 + local.get $0 i32.const 0 i32.store offset=16 - local.get $2 + local.get $0 i32.const 7616 i32.store - local.get $2 + local.get $0 i32.const 7628 i32.load - local.tee $4 - call $~lib/typedarray/Uint8ClampedArray#constructor local.tee $2 + call $~lib/typedarray/Uint8ClampedArray#constructor + local.tee $1 i32.store offset=4 global.get $~lib/memory/__stack_pointer - local.get $4 + local.get $2 call $~lib/typedarray/Uint8ClampedArray#constructor - local.tee $3 + local.tee $0 i32.store offset=8 loop $for-loop|0125 - local.get $0 - local.get $4 - i32.lt_s + local.get $2 + local.get $8 + i32.gt_s if - local.get $2 - local.get $0 + local.get $1 + local.get $8 i32.const 7616 - local.get $0 + local.get $8 call $~lib/array/Array#__get i32.const 255 i32.and call $~lib/typedarray/Uint8ClampedArray#__set - local.get $3 local.get $0 + local.get $8 i32.const 7616 - local.get $0 + local.get $8 call $~lib/array/Array#__get i32.const 255 i32.and call $~lib/typedarray/Uint8ClampedArray#__set - local.get $0 + local.get $8 i32.const 1 i32.add - local.set $0 + local.set $8 br $for-loop|0125 end end - local.get $2 + local.get $1 i32.load offset=4 - local.get $2 + local.get $1 i32.load offset=8 call $~lib/util/bytes/REVERSE i32.const 0 - local.set $0 + local.set $8 loop $for-loop|1126 - local.get $0 - local.get $4 - i32.lt_s + local.get $2 + local.get $8 + i32.gt_s if - local.get $2 - local.get $0 + local.get $1 + local.get $8 call $~lib/typedarray/Uint8ClampedArray#__get i32.const 7616 - local.get $4 + local.get $2 i32.const 1 i32.sub - local.get $0 + local.get $8 i32.sub call $~lib/array/Array#__get i32.const 255 i32.and i32.ne br_if $folding-inner31 - local.get $0 + local.get $8 i32.const 1 i32.add - local.set $0 + local.set $8 br $for-loop|1126 end end global.get $~lib/memory/__stack_pointer - local.get $3 + local.get $0 i32.const 8 call $~lib/typedarray/Uint8ClampedArray#subarray local.set $0 @@ -58023,7 +58249,7 @@ i32.add global.set $~lib/memory/__stack_pointer i32.const 0 - local.set $0 + local.set $8 global.get $~lib/memory/__stack_pointer i32.const 20 i32.sub @@ -58031,90 +58257,90 @@ global.get $~lib/memory/__stack_pointer i32.const 16628 i32.lt_s - br_if $folding-inner22 + br_if $folding-inner21 global.get $~lib/memory/__stack_pointer - local.tee $2 + local.tee $0 i64.const 0 i64.store - local.get $2 + local.get $0 i64.const 0 i64.store offset=8 - local.get $2 + local.get $0 i32.const 0 i32.store offset=16 - local.get $2 + local.get $0 i32.const 7616 i32.store - local.get $2 + local.get $0 i32.const 7628 i32.load - local.tee $4 - call $~lib/typedarray/Int16Array#constructor local.tee $2 + call $~lib/typedarray/Int16Array#constructor + local.tee $1 i32.store offset=4 global.get $~lib/memory/__stack_pointer - local.get $4 + local.get $2 call $~lib/typedarray/Int16Array#constructor - local.tee $3 + local.tee $0 i32.store offset=8 loop $for-loop|0127 - local.get $0 - local.get $4 - i32.lt_s + local.get $2 + local.get $8 + i32.gt_s if - local.get $2 - local.get $0 + local.get $1 + local.get $8 i32.const 7616 - local.get $0 + local.get $8 call $~lib/array/Array#__get i32.extend16_s call $~lib/typedarray/Int16Array#__set - local.get $3 local.get $0 + local.get $8 i32.const 7616 - local.get $0 + local.get $8 call $~lib/array/Array#__get i32.extend16_s call $~lib/typedarray/Int16Array#__set - local.get $0 + local.get $8 i32.const 1 i32.add - local.set $0 + local.set $8 br $for-loop|0127 end end - local.get $2 + local.get $1 call $~lib/typedarray/Int16Array#reverse drop i32.const 0 - local.set $0 + local.set $8 loop $for-loop|1128 - local.get $0 - local.get $4 - i32.lt_s + local.get $2 + local.get $8 + i32.gt_s if - local.get $2 - local.get $0 + local.get $1 + local.get $8 call $~lib/typedarray/Int16Array#__get i32.const 7616 - local.get $4 + local.get $2 i32.const 1 i32.sub - local.get $0 + local.get $8 i32.sub call $~lib/array/Array#__get i32.extend16_s i32.ne br_if $folding-inner31 - local.get $0 + local.get $8 i32.const 1 i32.add - local.set $0 + local.set $8 br $for-loop|1128 end end global.get $~lib/memory/__stack_pointer - local.get $3 + local.get $0 i32.const 8 call $~lib/typedarray/Int16Array#subarray local.set $0 @@ -58154,7 +58380,7 @@ i32.add global.set $~lib/memory/__stack_pointer i32.const 0 - local.set $0 + local.set $8 global.get $~lib/memory/__stack_pointer i32.const 20 i32.sub @@ -58162,93 +58388,93 @@ global.get $~lib/memory/__stack_pointer i32.const 16628 i32.lt_s - br_if $folding-inner22 + br_if $folding-inner21 global.get $~lib/memory/__stack_pointer - local.tee $2 + local.tee $0 i64.const 0 i64.store - local.get $2 + local.get $0 i64.const 0 i64.store offset=8 - local.get $2 + local.get $0 i32.const 0 i32.store offset=16 - local.get $2 + local.get $0 i32.const 7616 i32.store - local.get $2 + local.get $0 i32.const 7628 i32.load - local.tee $4 - call $~lib/typedarray/Uint16Array#constructor local.tee $2 + call $~lib/typedarray/Uint16Array#constructor + local.tee $1 i32.store offset=4 global.get $~lib/memory/__stack_pointer - local.get $4 + local.get $2 call $~lib/typedarray/Uint16Array#constructor - local.tee $3 + local.tee $0 i32.store offset=8 loop $for-loop|0129 - local.get $0 - local.get $4 - i32.lt_s + local.get $2 + local.get $8 + i32.gt_s if - local.get $2 - local.get $0 + local.get $1 + local.get $8 i32.const 7616 - local.get $0 + local.get $8 call $~lib/array/Array#__get i32.const 65535 i32.and call $~lib/typedarray/Uint16Array#__set - local.get $3 local.get $0 + local.get $8 i32.const 7616 - local.get $0 + local.get $8 call $~lib/array/Array#__get i32.const 65535 i32.and call $~lib/typedarray/Uint16Array#__set - local.get $0 + local.get $8 i32.const 1 i32.add - local.set $0 + local.set $8 br $for-loop|0129 end end - local.get $2 + local.get $1 call $~lib/typedarray/Int16Array#reverse drop i32.const 0 - local.set $0 + local.set $8 loop $for-loop|1130 - local.get $0 - local.get $4 - i32.lt_s + local.get $2 + local.get $8 + i32.gt_s if - local.get $2 - local.get $0 + local.get $1 + local.get $8 call $~lib/typedarray/Uint16Array#__get i32.const 7616 - local.get $4 + local.get $2 i32.const 1 i32.sub - local.get $0 + local.get $8 i32.sub call $~lib/array/Array#__get i32.const 65535 i32.and i32.ne br_if $folding-inner31 - local.get $0 + local.get $8 i32.const 1 i32.add - local.set $0 + local.set $8 br $for-loop|1130 end end global.get $~lib/memory/__stack_pointer - local.get $3 + local.get $0 i32.const 8 call $~lib/typedarray/Uint16Array#subarray local.set $0 @@ -58294,7 +58520,7 @@ global.get $~lib/memory/__stack_pointer i32.const 16628 i32.lt_s - br_if $folding-inner22 + br_if $folding-inner21 global.get $~lib/memory/__stack_pointer local.tee $0 i64.const 0 @@ -58311,136 +58537,138 @@ local.get $0 i32.const 7628 i32.load - local.tee $10 - call $~lib/typedarray/Int32Array#constructor local.tee $9 + call $~lib/typedarray/Int32Array#constructor + local.tee $8 i32.store offset=4 global.get $~lib/memory/__stack_pointer - local.get $10 + local.get $9 call $~lib/typedarray/Int32Array#constructor - local.tee $8 + local.tee $6 i32.store offset=8 + i32.const 0 + local.set $12 loop $for-loop|0171 - local.get $1 - local.get $10 - i32.lt_s + local.get $9 + local.get $12 + i32.gt_s if - local.get $9 - local.get $1 + local.get $8 + local.get $12 i32.const 7616 - local.get $1 + local.get $12 call $~lib/array/Array#__get call $~lib/typedarray/Int32Array#__set - local.get $8 - local.get $1 + local.get $6 + local.get $12 i32.const 7616 - local.get $1 + local.get $12 call $~lib/array/Array#__get call $~lib/typedarray/Int32Array#__set - local.get $1 + local.get $12 i32.const 1 i32.add - local.set $1 + local.set $12 br $for-loop|0171 end end i32.const 0 - local.set $0 - local.get $9 + local.set $12 + local.get $8 i32.load offset=4 - local.set $6 - local.get $9 + local.set $4 + local.get $8 i32.load offset=8 i32.const 2 i32.shr_u - local.tee $1 + local.tee $0 i32.const 1 i32.gt_u if - local.get $1 + local.get $0 i32.const 1 i32.shr_u - local.set $4 - local.get $1 + local.set $3 + local.get $0 i32.const 1 i32.sub - local.set $3 + local.set $2 loop $while-continue|0 - local.get $0 - local.get $4 - i32.lt_u + local.get $3 + local.get $12 + i32.gt_u if - local.get $0 + local.get $12 i32.const 2 i32.shl - local.get $6 + local.get $4 i32.add - local.tee $1 + local.tee $0 i32.load - local.set $2 - local.get $1 - local.get $3 + local.set $1 local.get $0 + local.get $2 + local.get $12 i32.sub i32.const 2 i32.shl - local.get $6 + local.get $4 i32.add - local.tee $1 + local.tee $0 i32.load i32.store + local.get $0 local.get $1 - local.get $2 i32.store - local.get $0 + local.get $12 i32.const 1 i32.add - local.set $0 + local.set $12 br $while-continue|0 end end end i32.const 0 - local.set $1 + local.set $12 loop $for-loop|1131 - local.get $1 - local.get $10 - i32.lt_s + local.get $9 + local.get $12 + i32.gt_s if - local.get $9 - local.get $1 + local.get $8 + local.get $12 call $~lib/typedarray/Int32Array#__get i32.const 7616 - local.get $10 + local.get $9 i32.const 1 i32.sub - local.get $1 + local.get $12 i32.sub call $~lib/array/Array#__get i32.ne br_if $folding-inner31 - local.get $1 + local.get $12 i32.const 1 i32.add - local.set $1 + local.set $12 br $for-loop|1131 end end global.get $~lib/memory/__stack_pointer - local.get $8 + local.get $6 i32.const 4 i32.const 8 call $~lib/typedarray/Int32Array#subarray - local.set $8 + local.set $6 global.get $~lib/memory/__stack_pointer - local.get $8 + local.get $6 i32.store offset=12 i32.const 0 - local.set $1 - local.get $8 + local.set $12 + local.get $6 i32.load offset=4 - local.set $6 - local.get $8 + local.set $4 + local.get $6 i32.load offset=8 i32.const 2 i32.shr_u @@ -58451,67 +58679,67 @@ local.get $0 i32.const 1 i32.shr_u - local.set $4 + local.set $3 local.get $0 i32.const 1 i32.sub - local.set $3 + local.set $2 loop $while-continue|0133 - local.get $1 - local.get $4 - i32.lt_u + local.get $3 + local.get $12 + i32.gt_u if - local.get $1 + local.get $12 i32.const 2 i32.shl - local.get $6 + local.get $4 i32.add local.tee $0 i32.load - local.set $2 + local.set $1 local.get $0 - local.get $3 - local.get $1 + local.get $2 + local.get $12 i32.sub i32.const 2 i32.shl - local.get $6 + local.get $4 i32.add local.tee $0 i32.load i32.store local.get $0 - local.get $2 - i32.store local.get $1 + i32.store + local.get $12 i32.const 1 i32.add - local.set $1 + local.set $12 br $while-continue|0133 end end end - local.get $8 + local.get $6 i32.store offset=16 - local.get $8 + local.get $6 i32.const 0 call $~lib/typedarray/Int32Array#__get i32.const 8 i32.ne br_if $folding-inner32 - local.get $8 + local.get $6 i32.const 1 call $~lib/typedarray/Int32Array#__get i32.const 7 i32.ne br_if $folding-inner33 - local.get $8 + local.get $6 i32.const 2 call $~lib/typedarray/Int32Array#__get i32.const 6 i32.ne br_if $folding-inner34 - local.get $8 + local.get $6 i32.const 3 call $~lib/typedarray/Int32Array#__get i32.const 5 @@ -58528,7 +58756,7 @@ global.get $~lib/memory/__stack_pointer i32.const 16628 i32.lt_s - br_if $folding-inner22 + br_if $folding-inner21 global.get $~lib/memory/__stack_pointer local.tee $0 i64.const 0 @@ -58545,135 +58773,137 @@ local.get $0 i32.const 7628 i32.load - local.tee $10 - call $~lib/typedarray/Uint32Array#constructor local.tee $9 + call $~lib/typedarray/Uint32Array#constructor + local.tee $8 i32.store offset=4 global.get $~lib/memory/__stack_pointer - local.get $10 + local.get $9 call $~lib/typedarray/Uint32Array#constructor - local.tee $8 + local.tee $6 i32.store offset=8 + i32.const 0 + local.set $12 loop $for-loop|021134 - local.get $10 - local.get $16 + local.get $9 + local.get $12 i32.gt_s if - local.get $9 - local.get $16 + local.get $8 + local.get $12 i32.const 7616 - local.get $16 + local.get $12 call $~lib/array/Array#__get call $~lib/typedarray/Uint32Array#__set - local.get $8 - local.get $16 + local.get $6 + local.get $12 i32.const 7616 - local.get $16 + local.get $12 call $~lib/array/Array#__get call $~lib/typedarray/Uint32Array#__set - local.get $16 + local.get $12 i32.const 1 i32.add - local.set $16 + local.set $12 br $for-loop|021134 end end i32.const 0 - local.set $0 - local.get $9 + local.set $12 + local.get $8 i32.load offset=4 - local.set $6 - local.get $9 + local.set $4 + local.get $8 i32.load offset=8 i32.const 2 i32.shr_u - local.tee $1 + local.tee $0 i32.const 1 i32.gt_u if - local.get $1 + local.get $0 i32.const 1 i32.shr_u - local.set $4 - local.get $1 + local.set $3 + local.get $0 i32.const 1 i32.sub - local.set $3 + local.set $2 loop $while-continue|0136 - local.get $0 - local.get $4 - i32.lt_u + local.get $3 + local.get $12 + i32.gt_u if - local.get $0 + local.get $12 i32.const 2 i32.shl - local.get $6 + local.get $4 i32.add - local.tee $1 + local.tee $0 i32.load - local.set $2 - local.get $1 - local.get $3 + local.set $1 local.get $0 + local.get $2 + local.get $12 i32.sub i32.const 2 i32.shl - local.get $6 + local.get $4 i32.add - local.tee $1 + local.tee $0 i32.load i32.store + local.get $0 local.get $1 - local.get $2 i32.store - local.get $0 + local.get $12 i32.const 1 i32.add - local.set $0 + local.set $12 br $while-continue|0136 end end end i32.const 0 - local.set $16 + local.set $12 loop $for-loop|124 - local.get $10 - local.get $16 + local.get $9 + local.get $12 i32.gt_s if - local.get $9 - local.get $16 + local.get $8 + local.get $12 call $~lib/typedarray/Uint32Array#__get i32.const 7616 - local.get $10 + local.get $9 i32.const 1 i32.sub - local.get $16 + local.get $12 i32.sub call $~lib/array/Array#__get i32.ne br_if $folding-inner31 - local.get $16 + local.get $12 i32.const 1 i32.add - local.set $16 + local.set $12 br $for-loop|124 end end global.get $~lib/memory/__stack_pointer - local.get $8 + local.get $6 i32.const 8 call $~lib/typedarray/Uint32Array#subarray - local.set $8 + local.set $6 global.get $~lib/memory/__stack_pointer - local.get $8 + local.get $6 i32.store offset=12 i32.const 0 - local.set $1 - local.get $8 + local.set $12 + local.get $6 i32.load offset=4 - local.set $6 - local.get $8 + local.set $4 + local.get $6 i32.load offset=8 i32.const 2 i32.shr_u @@ -58684,67 +58914,67 @@ local.get $0 i32.const 1 i32.shr_u - local.set $4 + local.set $3 local.get $0 i32.const 1 i32.sub - local.set $3 + local.set $2 loop $while-continue|0138 - local.get $1 - local.get $4 - i32.lt_u + local.get $3 + local.get $12 + i32.gt_u if - local.get $1 + local.get $12 i32.const 2 i32.shl - local.get $6 + local.get $4 i32.add local.tee $0 i32.load - local.set $2 + local.set $1 local.get $0 - local.get $3 - local.get $1 + local.get $2 + local.get $12 i32.sub i32.const 2 i32.shl - local.get $6 + local.get $4 i32.add local.tee $0 i32.load i32.store local.get $0 - local.get $2 - i32.store local.get $1 + i32.store + local.get $12 i32.const 1 i32.add - local.set $1 + local.set $12 br $while-continue|0138 end end end - local.get $8 + local.get $6 i32.store offset=16 - local.get $8 + local.get $6 i32.const 0 call $~lib/typedarray/Uint32Array#__get i32.const 8 i32.ne br_if $folding-inner32 - local.get $8 + local.get $6 i32.const 1 call $~lib/typedarray/Uint32Array#__get i32.const 7 i32.ne br_if $folding-inner33 - local.get $8 + local.get $6 i32.const 2 call $~lib/typedarray/Uint32Array#__get i32.const 6 i32.ne br_if $folding-inner34 - local.get $8 + local.get $6 i32.const 3 call $~lib/typedarray/Uint32Array#__get i32.const 5 @@ -58779,27 +59009,30 @@ f64.const nan:0x8000000000000 call $~lib/typedarray/Float64Array#__set i32.const 0 - local.set $1 - i32.const -1 local.set $0 + i32.const -1 + local.set $1 block $~lib/typedarray/INDEX_OF<~lib/typedarray/Float64Array,f64>|inlined.0 local.get $4 i32.load offset=8 i32.const 3 i32.shr_u local.tee $3 + i32.const 0 + local.get $3 + select i32.eqz br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Float64Array,f64>|inlined.0 local.get $4 i32.load offset=4 local.set $2 loop $while-continue|0139 - local.get $1 + local.get $0 local.get $3 i32.lt_s if - local.get $1 - local.tee $0 + local.get $0 + local.tee $1 i32.const 3 i32.shl local.get $2 @@ -58808,17 +59041,17 @@ f64.const nan:0x8000000000000 f64.eq br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Float64Array,f64>|inlined.0 - local.get $0 + local.get $1 i32.const 1 i32.add - local.set $1 + local.set $0 br $while-continue|0139 end end i32.const -1 - local.set $0 + local.set $1 end - local.get $0 + local.get $1 i32.const -1 i32.ne if @@ -58830,12 +59063,17 @@ unreachable end block $~lib/typedarray/INCLUDES<~lib/typedarray/Float64Array,f64>|inlined.0 (result i32) + i32.const 0 + local.set $12 i32.const 0 local.get $4 i32.load offset=8 i32.const 3 i32.shr_u local.tee $1 + i32.const 0 + local.get $1 + select i32.eqz br_if $~lib/typedarray/INCLUDES<~lib/typedarray/Float64Array,f64>|inlined.0 drop @@ -58844,11 +59082,11 @@ local.set $0 loop $while-continue|0140 local.get $1 - local.get $51 + local.get $12 i32.gt_s if i32.const 1 - local.get $51 + local.get $12 i32.const 3 i32.shl local.get $0 @@ -58863,10 +59101,10 @@ i32.or br_if $~lib/typedarray/INCLUDES<~lib/typedarray/Float64Array,f64>|inlined.0 drop - local.get $51 + local.get $12 i32.const 1 i32.add - local.set $51 + local.set $12 br $while-continue|0140 end end @@ -58891,27 +59129,30 @@ f32.const nan:0x400000 call $~lib/typedarray/Float32Array#__set i32.const 0 - local.set $1 - i32.const -1 local.set $0 + i32.const -1 + local.set $1 block $~lib/typedarray/INDEX_OF<~lib/typedarray/Float32Array,f32>|inlined.0 local.get $4 i32.load offset=8 i32.const 2 i32.shr_u local.tee $3 + i32.const 0 + local.get $3 + select i32.eqz br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Float32Array,f32>|inlined.0 local.get $4 i32.load offset=4 local.set $2 loop $while-continue|0141 - local.get $1 + local.get $0 local.get $3 i32.lt_s if - local.get $1 - local.tee $0 + local.get $0 + local.tee $1 i32.const 2 i32.shl local.get $2 @@ -58920,17 +59161,17 @@ f32.const nan:0x400000 f32.eq br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Float32Array,f32>|inlined.0 - local.get $0 + local.get $1 i32.const 1 i32.add - local.set $1 + local.set $0 br $while-continue|0141 end end i32.const -1 - local.set $0 + local.set $1 end - local.get $0 + local.get $1 i32.const -1 i32.ne if @@ -58948,6 +59189,9 @@ i32.const 2 i32.shr_u local.tee $1 + i32.const 0 + local.get $1 + select i32.eqz br_if $~lib/typedarray/INCLUDES<~lib/typedarray/Float32Array,f32>|inlined.0 drop @@ -58956,11 +59200,11 @@ local.set $0 loop $while-continue|029 local.get $1 - local.get $52 + local.get $13 i32.gt_s if i32.const 1 - local.get $52 + local.get $13 i32.const 2 i32.shl local.get $0 @@ -58975,10 +59219,10 @@ i32.or br_if $~lib/typedarray/INCLUDES<~lib/typedarray/Float32Array,f32>|inlined.0 drop - local.get $52 + local.get $13 i32.const 1 i32.add - local.set $52 + local.set $13 br $while-continue|029 end end @@ -59000,7 +59244,7 @@ global.get $~lib/memory/__stack_pointer i32.const 16628 i32.lt_s - br_if $folding-inner22 + br_if $folding-inner21 global.get $~lib/memory/__stack_pointer local.tee $0 i64.const 0 @@ -59057,7 +59301,7 @@ global.get $~lib/memory/__stack_pointer i32.const 16628 i32.lt_s - br_if $folding-inner22 + br_if $folding-inner21 global.get $~lib/memory/__stack_pointer local.tee $0 i32.const 0 @@ -59094,7 +59338,7 @@ global.get $~lib/memory/__stack_pointer i32.const 16628 i32.lt_s - br_if $folding-inner22 + br_if $folding-inner21 global.get $~lib/memory/__stack_pointer local.tee $0 i64.const 0 @@ -59170,7 +59414,7 @@ global.get $~lib/memory/__stack_pointer i32.const 16628 i32.lt_s - br_if $folding-inner22 + br_if $folding-inner21 global.get $~lib/memory/__stack_pointer local.tee $0 i64.const 0 @@ -59246,7 +59490,7 @@ global.get $~lib/memory/__stack_pointer i32.const 16628 i32.lt_s - br_if $folding-inner22 + br_if $folding-inner21 global.get $~lib/memory/__stack_pointer local.tee $0 i64.const 0 @@ -59303,7 +59547,7 @@ global.get $~lib/memory/__stack_pointer i32.const 16628 i32.lt_s - br_if $folding-inner22 + br_if $folding-inner21 global.get $~lib/memory/__stack_pointer local.tee $0 i32.const 0 @@ -59340,7 +59584,7 @@ global.get $~lib/memory/__stack_pointer i32.const 16628 i32.lt_s - br_if $folding-inner22 + br_if $folding-inner21 global.get $~lib/memory/__stack_pointer local.tee $0 i64.const 0 @@ -59397,7 +59641,7 @@ global.get $~lib/memory/__stack_pointer i32.const 16628 i32.lt_s - br_if $folding-inner22 + br_if $folding-inner21 global.get $~lib/memory/__stack_pointer local.tee $0 i32.const 0 @@ -59434,7 +59678,7 @@ global.get $~lib/memory/__stack_pointer i32.const 16628 i32.lt_s - br_if $folding-inner22 + br_if $folding-inner21 global.get $~lib/memory/__stack_pointer local.tee $0 i64.const 0 @@ -59491,7 +59735,7 @@ global.get $~lib/memory/__stack_pointer i32.const 16628 i32.lt_s - br_if $folding-inner22 + br_if $folding-inner21 global.get $~lib/memory/__stack_pointer local.tee $0 i32.const 0 @@ -59528,7 +59772,7 @@ global.get $~lib/memory/__stack_pointer i32.const 16628 i32.lt_s - br_if $folding-inner22 + br_if $folding-inner21 global.get $~lib/memory/__stack_pointer local.tee $0 i64.const 0 @@ -59585,7 +59829,7 @@ global.get $~lib/memory/__stack_pointer i32.const 16628 i32.lt_s - br_if $folding-inner22 + br_if $folding-inner21 global.get $~lib/memory/__stack_pointer local.tee $0 i32.const 0 @@ -59622,7 +59866,7 @@ global.get $~lib/memory/__stack_pointer i32.const 16628 i32.lt_s - br_if $folding-inner22 + br_if $folding-inner21 global.get $~lib/memory/__stack_pointer local.tee $0 i64.const 0 @@ -59679,7 +59923,7 @@ global.get $~lib/memory/__stack_pointer i32.const 16628 i32.lt_s - br_if $folding-inner22 + br_if $folding-inner21 global.get $~lib/memory/__stack_pointer local.tee $0 i32.const 0 @@ -59716,7 +59960,7 @@ global.get $~lib/memory/__stack_pointer i32.const 16628 i32.lt_s - br_if $folding-inner22 + br_if $folding-inner21 global.get $~lib/memory/__stack_pointer local.tee $0 i64.const 0 @@ -59773,7 +60017,7 @@ global.get $~lib/memory/__stack_pointer i32.const 16628 i32.lt_s - br_if $folding-inner22 + br_if $folding-inner21 global.get $~lib/memory/__stack_pointer local.tee $0 i32.const 0 @@ -59810,7 +60054,7 @@ global.get $~lib/memory/__stack_pointer i32.const 16628 i32.lt_s - br_if $folding-inner22 + br_if $folding-inner21 global.get $~lib/memory/__stack_pointer local.tee $0 i64.const 0 @@ -59867,7 +60111,7 @@ global.get $~lib/memory/__stack_pointer i32.const 16628 i32.lt_s - br_if $folding-inner22 + br_if $folding-inner21 global.get $~lib/memory/__stack_pointer local.tee $0 i32.const 0 @@ -59904,7 +60148,7 @@ global.get $~lib/memory/__stack_pointer i32.const 16628 i32.lt_s - br_if $folding-inner22 + br_if $folding-inner21 global.get $~lib/memory/__stack_pointer local.tee $0 i64.const 0 @@ -59961,7 +60205,7 @@ global.get $~lib/memory/__stack_pointer i32.const 16628 i32.lt_s - br_if $folding-inner22 + br_if $folding-inner21 global.get $~lib/memory/__stack_pointer local.tee $0 i32.const 0 @@ -60044,7 +60288,7 @@ global.get $~lib/memory/__stack_pointer i32.const 16628 i32.lt_s - br_if $folding-inner22 + br_if $folding-inner21 global.get $~lib/memory/__stack_pointer local.tee $0 i64.const 0 @@ -60065,22 +60309,24 @@ call $~lib/typedarray/Int8Array#constructor local.tee $4 i32.store offset=4 + i32.const 0 + local.set $12 loop $for-loop|035142 local.get $6 - local.get $21 + local.get $12 i32.gt_s if local.get $4 - local.get $21 + local.get $12 i32.const 10928 - local.get $21 + local.get $12 call $~lib/array/Array#__get i32.extend8_s call $~lib/typedarray/Int8Array#__set - local.get $21 + local.get $12 i32.const 1 i32.add - local.set $21 + local.set $12 br $for-loop|035142 end end @@ -60115,7 +60361,7 @@ global.get $~lib/memory/__stack_pointer i32.const 16628 i32.lt_s - br_if $folding-inner22 + br_if $folding-inner21 global.get $~lib/memory/__stack_pointer local.tee $0 i32.const 0 @@ -60153,24 +60399,24 @@ local.get $0 i32.store offset=16 i32.const 0 - local.set $21 + local.set $12 loop $for-loop|139 local.get $6 - local.get $21 + local.get $12 i32.gt_s if local.get $4 - local.get $21 + local.get $12 call $~lib/typedarray/Int8Array#__get local.get $0 - local.get $21 + local.get $12 call $~lib/typedarray/Int8Array#__get i32.ne - br_if $folding-inner17 - local.get $21 + br_if $folding-inner19 + local.get $12 i32.const 1 i32.add - local.set $21 + local.set $12 br $for-loop|139 end end @@ -60185,7 +60431,7 @@ global.get $~lib/memory/__stack_pointer i32.const 16628 i32.lt_s - br_if $folding-inner22 + br_if $folding-inner21 global.get $~lib/memory/__stack_pointer local.tee $0 i64.const 0 @@ -60206,23 +60452,25 @@ call $~lib/typedarray/Uint8Array#constructor local.tee $2 i32.store offset=4 + i32.const 0 + local.set $12 loop $for-loop|044 local.get $3 - local.get $22 + local.get $12 i32.gt_s if local.get $2 - local.get $22 + local.get $12 i32.const 10928 - local.get $22 + local.get $12 call $~lib/array/Array#__get i32.const 255 i32.and call $~lib/typedarray/Uint8Array#__set - local.get $22 + local.get $12 i32.const 1 i32.add - local.set $22 + local.set $12 br $for-loop|044 end end @@ -60256,24 +60504,24 @@ local.tee $0 i32.store offset=16 i32.const 0 - local.set $22 + local.set $12 loop $for-loop|149 local.get $3 - local.get $22 + local.get $12 i32.gt_s if local.get $2 - local.get $22 + local.get $12 call $~lib/typedarray/Uint8Array#__get local.get $0 - local.get $22 + local.get $12 call $~lib/typedarray/Uint8Array#__get i32.ne - br_if $folding-inner17 - local.get $22 + br_if $folding-inner19 + local.get $12 i32.const 1 i32.add - local.set $22 + local.set $12 br $for-loop|149 end end @@ -60288,7 +60536,7 @@ global.get $~lib/memory/__stack_pointer i32.const 16628 i32.lt_s - br_if $folding-inner22 + br_if $folding-inner21 global.get $~lib/memory/__stack_pointer local.tee $0 i64.const 0 @@ -60309,23 +60557,25 @@ call $~lib/typedarray/Uint8ClampedArray#constructor local.tee $4 i32.store offset=4 + i32.const 0 + local.set $12 loop $for-loop|054 local.get $6 - local.get $23 + local.get $12 i32.gt_s if local.get $4 - local.get $23 + local.get $12 i32.const 10928 - local.get $23 + local.get $12 call $~lib/array/Array#__get i32.const 255 i32.and call $~lib/typedarray/Uint8ClampedArray#__set - local.get $23 + local.get $12 i32.const 1 i32.add - local.set $23 + local.set $12 br $for-loop|054 end end @@ -60360,7 +60610,7 @@ global.get $~lib/memory/__stack_pointer i32.const 16628 i32.lt_s - br_if $folding-inner22 + br_if $folding-inner21 global.get $~lib/memory/__stack_pointer local.tee $0 i32.const 0 @@ -60398,24 +60648,24 @@ local.get $0 i32.store offset=16 i32.const 0 - local.set $23 + local.set $12 loop $for-loop|159 local.get $6 - local.get $23 + local.get $12 i32.gt_s if local.get $4 - local.get $23 + local.get $12 call $~lib/typedarray/Uint8ClampedArray#__get local.get $0 - local.get $23 + local.get $12 call $~lib/typedarray/Uint8ClampedArray#__get i32.ne - br_if $folding-inner17 - local.get $23 + br_if $folding-inner19 + local.get $12 i32.const 1 i32.add - local.set $23 + local.set $12 br $for-loop|159 end end @@ -60430,7 +60680,7 @@ global.get $~lib/memory/__stack_pointer i32.const 16628 i32.lt_s - br_if $folding-inner22 + br_if $folding-inner21 global.get $~lib/memory/__stack_pointer local.tee $0 i64.const 0 @@ -60451,22 +60701,24 @@ call $~lib/typedarray/Int16Array#constructor local.tee $4 i32.store offset=4 + i32.const 0 + local.set $12 loop $for-loop|064200 local.get $6 - local.get $24 + local.get $12 i32.gt_s if local.get $4 - local.get $24 + local.get $12 i32.const 10928 - local.get $24 + local.get $12 call $~lib/array/Array#__get i32.extend16_s call $~lib/typedarray/Int16Array#__set - local.get $24 + local.get $12 i32.const 1 i32.add - local.set $24 + local.set $12 br $for-loop|064200 end end @@ -60501,7 +60753,7 @@ global.get $~lib/memory/__stack_pointer i32.const 16628 i32.lt_s - br_if $folding-inner22 + br_if $folding-inner21 global.get $~lib/memory/__stack_pointer i32.const 0 i32.store @@ -60512,7 +60764,7 @@ local.tee $1 i32.const 1 i32.and - br_if $folding-inner18 + br_if $folding-inner20 global.get $~lib/memory/__stack_pointer i32.const 12 i32.const 6 @@ -60541,24 +60793,24 @@ local.get $0 i32.store offset=16 i32.const 0 - local.set $24 + local.set $12 loop $for-loop|169 local.get $6 - local.get $24 + local.get $12 i32.gt_s if local.get $4 - local.get $24 + local.get $12 call $~lib/typedarray/Int16Array#__get local.get $0 - local.get $24 + local.get $12 call $~lib/typedarray/Int16Array#__get i32.ne - br_if $folding-inner17 - local.get $24 + br_if $folding-inner19 + local.get $12 i32.const 1 i32.add - local.set $24 + local.set $12 br $for-loop|169 end end @@ -60573,7 +60825,7 @@ global.get $~lib/memory/__stack_pointer i32.const 16628 i32.lt_s - br_if $folding-inner22 + br_if $folding-inner21 global.get $~lib/memory/__stack_pointer local.tee $0 i64.const 0 @@ -60594,23 +60846,25 @@ call $~lib/typedarray/Uint16Array#constructor local.tee $4 i32.store offset=4 + i32.const 0 + local.set $12 loop $for-loop|074 local.get $6 - local.get $25 + local.get $12 i32.gt_s if local.get $4 - local.get $25 + local.get $12 i32.const 10928 - local.get $25 + local.get $12 call $~lib/array/Array#__get i32.const 65535 i32.and call $~lib/typedarray/Uint16Array#__set - local.get $25 + local.get $12 i32.const 1 i32.add - local.set $25 + local.set $12 br $for-loop|074 end end @@ -60645,7 +60899,7 @@ global.get $~lib/memory/__stack_pointer i32.const 16628 i32.lt_s - br_if $folding-inner22 + br_if $folding-inner21 global.get $~lib/memory/__stack_pointer i32.const 0 i32.store @@ -60656,7 +60910,7 @@ local.tee $1 i32.const 1 i32.and - br_if $folding-inner18 + br_if $folding-inner20 global.get $~lib/memory/__stack_pointer i32.const 12 i32.const 7 @@ -60685,24 +60939,24 @@ local.get $0 i32.store offset=16 i32.const 0 - local.set $25 + local.set $12 loop $for-loop|179 local.get $6 - local.get $25 + local.get $12 i32.gt_s if local.get $4 - local.get $25 + local.get $12 call $~lib/typedarray/Uint16Array#__get local.get $0 - local.get $25 + local.get $12 call $~lib/typedarray/Uint16Array#__get i32.ne - br_if $folding-inner17 - local.get $25 + br_if $folding-inner19 + local.get $12 i32.const 1 i32.add - local.set $25 + local.set $12 br $for-loop|179 end end @@ -60717,7 +60971,7 @@ global.get $~lib/memory/__stack_pointer i32.const 16628 i32.lt_s - br_if $folding-inner22 + br_if $folding-inner21 global.get $~lib/memory/__stack_pointer local.tee $0 i64.const 0 @@ -60738,21 +60992,23 @@ call $~lib/typedarray/Int32Array#constructor local.tee $4 i32.store offset=4 + i32.const 0 + local.set $12 loop $for-loop|084146 local.get $6 - local.get $26 + local.get $12 i32.gt_s if local.get $4 - local.get $26 + local.get $12 i32.const 10928 - local.get $26 + local.get $12 call $~lib/array/Array#__get call $~lib/typedarray/Int32Array#__set - local.get $26 + local.get $12 i32.const 1 i32.add - local.set $26 + local.set $12 br $for-loop|084146 end end @@ -60787,7 +61043,7 @@ global.get $~lib/memory/__stack_pointer i32.const 16628 i32.lt_s - br_if $folding-inner22 + br_if $folding-inner21 global.get $~lib/memory/__stack_pointer i32.const 0 i32.store @@ -60798,7 +61054,7 @@ local.tee $1 i32.const 3 i32.and - br_if $folding-inner18 + br_if $folding-inner20 global.get $~lib/memory/__stack_pointer i32.const 12 i32.const 8 @@ -60827,24 +61083,24 @@ local.get $0 i32.store offset=16 i32.const 0 - local.set $26 + local.set $12 loop $for-loop|189 local.get $6 - local.get $26 + local.get $12 i32.gt_s if local.get $4 - local.get $26 + local.get $12 call $~lib/typedarray/Int32Array#__get local.get $0 - local.get $26 + local.get $12 call $~lib/typedarray/Int32Array#__get i32.ne - br_if $folding-inner17 - local.get $26 + br_if $folding-inner19 + local.get $12 i32.const 1 i32.add - local.set $26 + local.set $12 br $for-loop|189 end end @@ -60859,7 +61115,7 @@ global.get $~lib/memory/__stack_pointer i32.const 16628 i32.lt_s - br_if $folding-inner22 + br_if $folding-inner21 global.get $~lib/memory/__stack_pointer local.tee $0 i64.const 0 @@ -60880,21 +61136,23 @@ call $~lib/typedarray/Uint32Array#constructor local.tee $4 i32.store offset=4 + i32.const 0 + local.set $12 loop $for-loop|094148 local.get $6 - local.get $27 + local.get $12 i32.gt_s if local.get $4 - local.get $27 + local.get $12 i32.const 10928 - local.get $27 + local.get $12 call $~lib/array/Array#__get call $~lib/typedarray/Uint32Array#__set - local.get $27 + local.get $12 i32.const 1 i32.add - local.set $27 + local.set $12 br $for-loop|094148 end end @@ -60929,7 +61187,7 @@ global.get $~lib/memory/__stack_pointer i32.const 16628 i32.lt_s - br_if $folding-inner22 + br_if $folding-inner21 global.get $~lib/memory/__stack_pointer i32.const 0 i32.store @@ -60940,7 +61198,7 @@ local.tee $1 i32.const 3 i32.and - br_if $folding-inner18 + br_if $folding-inner20 global.get $~lib/memory/__stack_pointer i32.const 12 i32.const 9 @@ -60969,24 +61227,24 @@ local.get $0 i32.store offset=16 i32.const 0 - local.set $27 + local.set $12 loop $for-loop|199 local.get $6 - local.get $27 + local.get $12 i32.gt_s if local.get $4 - local.get $27 + local.get $12 call $~lib/typedarray/Uint32Array#__get local.get $0 - local.get $27 + local.get $12 call $~lib/typedarray/Uint32Array#__get i32.ne - br_if $folding-inner17 - local.get $27 + br_if $folding-inner19 + local.get $12 i32.const 1 i32.add - local.set $27 + local.set $12 br $for-loop|199 end end @@ -61001,7 +61259,7 @@ global.get $~lib/memory/__stack_pointer i32.const 16628 i32.lt_s - br_if $folding-inner22 + br_if $folding-inner21 global.get $~lib/memory/__stack_pointer local.tee $0 i64.const 0 @@ -61022,22 +61280,24 @@ call $~lib/typedarray/Int64Array#constructor local.tee $4 i32.store offset=4 + i32.const 0 + local.set $12 loop $for-loop|0104 local.get $6 - local.get $28 + local.get $12 i32.gt_s if local.get $4 - local.get $28 + local.get $12 i32.const 10928 - local.get $28 + local.get $12 call $~lib/array/Array#__get i64.extend_i32_s call $~lib/typedarray/Int64Array#__set - local.get $28 + local.get $12 i32.const 1 i32.add - local.set $28 + local.set $12 br $for-loop|0104 end end @@ -61072,7 +61332,7 @@ global.get $~lib/memory/__stack_pointer i32.const 16628 i32.lt_s - br_if $folding-inner22 + br_if $folding-inner21 global.get $~lib/memory/__stack_pointer i32.const 0 i32.store @@ -61083,7 +61343,7 @@ local.tee $1 i32.const 7 i32.and - br_if $folding-inner18 + br_if $folding-inner20 global.get $~lib/memory/__stack_pointer i32.const 12 i32.const 10 @@ -61112,24 +61372,24 @@ local.get $0 i32.store offset=16 i32.const 0 - local.set $28 + local.set $12 loop $for-loop|1109 local.get $6 - local.get $28 + local.get $12 i32.gt_s if local.get $4 - local.get $28 + local.get $12 call $~lib/typedarray/Int64Array#__get local.get $0 - local.get $28 + local.get $12 call $~lib/typedarray/Int64Array#__get i64.ne - br_if $folding-inner17 - local.get $28 + br_if $folding-inner19 + local.get $12 i32.const 1 i32.add - local.set $28 + local.set $12 br $for-loop|1109 end end @@ -61144,7 +61404,7 @@ global.get $~lib/memory/__stack_pointer i32.const 16628 i32.lt_s - br_if $folding-inner22 + br_if $folding-inner21 global.get $~lib/memory/__stack_pointer local.tee $0 i64.const 0 @@ -61165,22 +61425,24 @@ call $~lib/typedarray/Uint64Array#constructor local.tee $4 i32.store offset=4 + i32.const 0 + local.set $12 loop $for-loop|0114151 local.get $6 - local.get $29 + local.get $12 i32.gt_s if local.get $4 - local.get $29 + local.get $12 i32.const 10928 - local.get $29 + local.get $12 call $~lib/array/Array#__get i64.extend_i32_s call $~lib/typedarray/Uint64Array#__set - local.get $29 + local.get $12 i32.const 1 i32.add - local.set $29 + local.set $12 br $for-loop|0114151 end end @@ -61215,7 +61477,7 @@ global.get $~lib/memory/__stack_pointer i32.const 16628 i32.lt_s - br_if $folding-inner22 + br_if $folding-inner21 global.get $~lib/memory/__stack_pointer i32.const 0 i32.store @@ -61226,7 +61488,7 @@ local.tee $1 i32.const 7 i32.and - br_if $folding-inner18 + br_if $folding-inner20 global.get $~lib/memory/__stack_pointer i32.const 12 i32.const 11 @@ -61255,24 +61517,24 @@ local.get $0 i32.store offset=16 i32.const 0 - local.set $29 + local.set $12 loop $for-loop|1119 local.get $6 - local.get $29 + local.get $12 i32.gt_s if local.get $4 - local.get $29 + local.get $12 call $~lib/typedarray/Uint64Array#__get local.get $0 - local.get $29 + local.get $12 call $~lib/typedarray/Uint64Array#__get i64.ne - br_if $folding-inner17 - local.get $29 + br_if $folding-inner19 + local.get $12 i32.const 1 i32.add - local.set $29 + local.set $12 br $for-loop|1119 end end @@ -61287,7 +61549,7 @@ global.get $~lib/memory/__stack_pointer i32.const 16628 i32.lt_s - br_if $folding-inner22 + br_if $folding-inner21 global.get $~lib/memory/__stack_pointer local.tee $0 i64.const 0 @@ -61308,22 +61570,24 @@ call $~lib/typedarray/Float32Array#constructor local.tee $4 i32.store offset=4 + i32.const 0 + local.set $12 loop $for-loop|0124 local.get $6 - local.get $30 + local.get $12 i32.gt_s if local.get $4 - local.get $30 + local.get $12 i32.const 10928 - local.get $30 + local.get $12 call $~lib/array/Array#__get f32.convert_i32_s call $~lib/typedarray/Float32Array#__set - local.get $30 + local.get $12 i32.const 1 i32.add - local.set $30 + local.set $12 br $for-loop|0124 end end @@ -61358,7 +61622,7 @@ global.get $~lib/memory/__stack_pointer i32.const 16628 i32.lt_s - br_if $folding-inner22 + br_if $folding-inner21 global.get $~lib/memory/__stack_pointer i32.const 0 i32.store @@ -61369,7 +61633,7 @@ local.tee $1 i32.const 3 i32.and - br_if $folding-inner18 + br_if $folding-inner20 global.get $~lib/memory/__stack_pointer i32.const 12 i32.const 12 @@ -61398,24 +61662,24 @@ local.get $0 i32.store offset=16 i32.const 0 - local.set $30 + local.set $12 loop $for-loop|1129 local.get $6 - local.get $30 + local.get $12 i32.gt_s if local.get $4 - local.get $30 + local.get $12 call $~lib/typedarray/Float32Array#__get local.get $0 - local.get $30 + local.get $12 call $~lib/typedarray/Float32Array#__get f32.ne - br_if $folding-inner17 - local.get $30 + br_if $folding-inner19 + local.get $12 i32.const 1 i32.add - local.set $30 + local.set $12 br $for-loop|1129 end end @@ -61430,7 +61694,7 @@ global.get $~lib/memory/__stack_pointer i32.const 16628 i32.lt_s - br_if $folding-inner22 + br_if $folding-inner21 global.get $~lib/memory/__stack_pointer local.tee $0 i64.const 0 @@ -61451,22 +61715,24 @@ call $~lib/typedarray/Float64Array#constructor local.tee $4 i32.store offset=4 + i32.const 0 + local.set $12 loop $for-loop|0134 local.get $6 - local.get $31 + local.get $12 i32.gt_s if local.get $4 - local.get $31 + local.get $12 i32.const 10928 - local.get $31 + local.get $12 call $~lib/array/Array#__get f64.convert_i32_s call $~lib/typedarray/Float64Array#__set - local.get $31 + local.get $12 i32.const 1 i32.add - local.set $31 + local.set $12 br $for-loop|0134 end end @@ -61501,7 +61767,7 @@ global.get $~lib/memory/__stack_pointer i32.const 16628 i32.lt_s - br_if $folding-inner22 + br_if $folding-inner21 global.get $~lib/memory/__stack_pointer i32.const 0 i32.store @@ -61512,7 +61778,7 @@ local.tee $1 i32.const 7 i32.and - br_if $folding-inner18 + br_if $folding-inner20 global.get $~lib/memory/__stack_pointer i32.const 12 i32.const 13 @@ -61541,24 +61807,24 @@ local.get $0 i32.store offset=16 i32.const 0 - local.set $31 + local.set $12 loop $for-loop|1139 local.get $6 - local.get $31 + local.get $12 i32.gt_s if local.get $4 - local.get $31 + local.get $12 call $~lib/typedarray/Float64Array#__get local.get $0 - local.get $31 + local.get $12 call $~lib/typedarray/Float64Array#__get f64.ne - br_if $folding-inner17 - local.get $31 + br_if $folding-inner19 + local.get $12 i32.const 1 i32.add - local.set $31 + local.set $12 br $for-loop|1139 end end @@ -61642,7 +61908,7 @@ i32.const 1 i32.add i32.lt_s - br_if $folding-inner20 + br_if $folding-inner22 local.get $6 i32.load offset=4 i32.const 1 @@ -61656,15 +61922,17 @@ i32.const 2 i32.shr_u local.set $0 + i32.const 0 + local.set $13 loop $for-loop|0145 local.get $0 - local.get $48 + local.get $13 i32.gt_s if local.get $2 - local.get $48 + local.get $13 i32.add - local.get $48 + local.get $13 i32.const 2 i32.shl local.get $1 @@ -61686,10 +61954,10 @@ i32.const 0 end i32.store8 - local.get $48 + local.get $13 i32.const 1 i32.add - local.set $48 + local.set $13 br $for-loop|0145 end end @@ -61706,7 +61974,7 @@ i32.const 8 i32.add i32.lt_s - br_if $folding-inner20 + br_if $folding-inner22 local.get $6 i32.load offset=4 i32.const 8 @@ -61720,26 +61988,28 @@ i32.const 2 i32.shr_u local.set $1 + i32.const 0 + local.set $13 loop $for-loop|0151 local.get $1 - local.get $49 + local.get $13 i32.gt_s if local.get $3 - local.get $49 + local.get $13 i32.add - local.get $49 + i32.const 255 + local.get $13 i32.const 2 i32.shl local.get $2 i32.add i32.load local.tee $0 - i32.const 255 - local.get $0 i32.sub i32.const 31 i32.shr_s + local.get $0 i32.or local.get $0 i32.const 31 @@ -61748,1388 +62018,1420 @@ i32.xor i32.and i32.store8 - local.get $49 - i32.const 1 - i32.add - local.set $49 - br $for-loop|0151 - end - end - i32.const 10 - i32.const 0 - i32.const 63 - i32.const 15280 - call $~lib/rt/__newArray - local.set $0 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $6 - local.get $0 - call $std/typedarray/valuesEqual<~lib/typedarray/Uint8ClampedArray> - global.get $~lib/memory/__stack_pointer - i32.const 4 - call $~lib/typedarray/Uint32Array#constructor - local.tee $0 - i32.store offset=28 - local.get $0 - i32.const 0 - i32.const 1 - call $~lib/typedarray/Uint32Array#__set - local.get $0 - i32.const 1 - i32.const 300 - call $~lib/typedarray/Uint32Array#__set - local.get $0 - i32.const 2 - i32.const 100 - call $~lib/typedarray/Uint32Array#__set - local.get $0 - i32.const 3 - i32.const -1 - call $~lib/typedarray/Uint32Array#__set - global.get $~lib/memory/__stack_pointer - i32.const 4 - call $~lib/typedarray/Int16Array#constructor - local.tee $4 - i32.store - local.get $4 - i32.const 0 - i32.const -10 - call $~lib/typedarray/Int16Array#__set - local.get $4 - i32.const 1 - i32.const 100 - call $~lib/typedarray/Int16Array#__set - local.get $4 - i32.const 2 - i32.const 10 - call $~lib/typedarray/Int16Array#__set - local.get $4 - i32.const 3 - i32.const 300 - call $~lib/typedarray/Int16Array#__set - local.get $6 - i32.load offset=8 - local.get $0 - i32.load offset=8 - i32.const 2 - i32.shr_u - i32.lt_s - br_if $folding-inner20 - local.get $6 - i32.load offset=4 - local.set $3 - local.get $0 - i32.load offset=4 - local.set $2 - local.get $0 - i32.load offset=8 - i32.const 2 - i32.shr_u - local.set $1 - loop $for-loop|0157 - local.get $1 - local.get $50 - i32.gt_s - if - local.get $3 - local.get $50 - i32.add - i32.const 255 - local.get $50 - i32.const 2 - i32.shl - local.get $2 - i32.add - i32.load - local.tee $0 - local.get $0 - i32.const 255 - i32.gt_u - select - i32.store8 - local.get $50 + local.get $13 i32.const 1 i32.add - local.set $50 - br $for-loop|0157 - end - end - local.get $6 - local.get $4 - i32.const 5 - call $~lib/typedarray/Uint8ClampedArray#set<~lib/typedarray/Int16Array> - i32.const 10 - i32.const 0 - i32.const 63 - i32.const 15312 - call $~lib/rt/__newArray - local.set $0 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $6 - local.get $0 - call $std/typedarray/valuesEqual<~lib/typedarray/Uint8ClampedArray> - 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 16628 - i32.lt_s - br_if $folding-inner22 - 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 3 - call $~lib/typedarray/Int8Array#constructor - local.tee $2 - i32.store - local.get $2 - i32.const 2 - i32.const 1 - call $~lib/typedarray/Int8Array#__set - local.get $2 - i32.const 1 - i32.const 2 - call $~lib/typedarray/Int8Array#__set - local.get $2 - i32.const 0 - i32.const 3 - call $~lib/typedarray/Int8Array#__set - global.get $~lib/memory/__stack_pointer - i32.const 0 - global.set $~argumentsLength - i32.const 0 - local.set $0 - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.sub - global.set $~lib/memory/__stack_pointer - global.get $~lib/memory/__stack_pointer - i32.const 16628 - i32.lt_s - br_if $folding-inner22 - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store - block $1of1 - block $0of1 - block $outOfRange - global.get $~argumentsLength - br_table $0of1 $1of1 $outOfRange - end - unreachable - end - i32.const 15344 - local.set $0 - global.get $~lib/memory/__stack_pointer - i32.const 15344 - i32.store - end - local.get $2 - i32.load offset=4 - local.get $2 - i32.load offset=8 - local.get $0 - call $~lib/util/sort/SORT - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $2 - i32.store offset=4 - local.get $2 - i32.const 0 - call $~lib/typedarray/Int8Array#__get - i32.const 1 - i32.ne - br_if $folding-inner36 - local.get $2 - i32.const 1 - call $~lib/typedarray/Int8Array#__get - i32.const 2 - i32.ne - br_if $folding-inner37 - local.get $2 - i32.const 2 - call $~lib/typedarray/Int8Array#__get - i32.const 3 - i32.ne - br_if $folding-inner38 - global.get $~lib/memory/__stack_pointer - i32.const 15376 - i32.store offset=8 - local.get $2 - i32.load offset=4 - local.get $2 - i32.load offset=8 - i32.const 15376 - call $~lib/util/sort/SORT - local.get $2 - i32.const 0 - call $~lib/typedarray/Int8Array#__get - i32.const 3 - i32.ne - br_if $folding-inner39 - local.get $2 - i32.const 1 - call $~lib/typedarray/Int8Array#__get - i32.const 2 - i32.ne - br_if $folding-inner40 - local.get $2 - i32.const 2 - call $~lib/typedarray/Int8Array#__get - i32.const 1 - i32.ne - br_if $folding-inner41 - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.add - global.set $~lib/memory/__stack_pointer - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.sub - global.set $~lib/memory/__stack_pointer - global.get $~lib/memory/__stack_pointer - i32.const 16628 - i32.lt_s - br_if $folding-inner22 - 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 3 - call $~lib/typedarray/Uint8Array#constructor - local.tee $2 - i32.store - local.get $2 - i32.const 2 - i32.const 1 - call $~lib/typedarray/Uint8Array#__set - local.get $2 - i32.const 1 - i32.const 2 - call $~lib/typedarray/Uint8Array#__set - local.get $2 - i32.const 0 - i32.const 3 - call $~lib/typedarray/Uint8Array#__set - global.get $~lib/memory/__stack_pointer - i32.const 0 - global.set $~argumentsLength - i32.const 0 - local.set $0 - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.sub - global.set $~lib/memory/__stack_pointer - global.get $~lib/memory/__stack_pointer - i32.const 16628 - i32.lt_s - br_if $folding-inner22 - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store - block $1of1157 - block $0of1158 - block $outOfRange159 - global.get $~argumentsLength - br_table $0of1158 $1of1157 $outOfRange159 - end - unreachable - end - i32.const 15408 - local.set $0 - global.get $~lib/memory/__stack_pointer - i32.const 15408 - i32.store - end - local.get $2 - i32.load offset=4 - local.get $2 - i32.load offset=8 - local.get $0 - call $~lib/util/sort/SORT - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $2 - i32.store offset=4 - local.get $2 - i32.const 0 - call $~lib/typedarray/Uint8Array#__get - i32.const 1 - i32.ne - br_if $folding-inner36 - local.get $2 - i32.const 1 - call $~lib/typedarray/Uint8Array#__get - i32.const 2 - i32.ne - br_if $folding-inner37 - local.get $2 - i32.const 2 - call $~lib/typedarray/Uint8Array#__get - i32.const 3 - i32.ne - br_if $folding-inner38 - global.get $~lib/memory/__stack_pointer - i32.const 15440 - i32.store offset=8 - local.get $2 - i32.load offset=4 - local.get $2 - i32.load offset=8 - i32.const 15440 - call $~lib/util/sort/SORT - local.get $2 - i32.const 0 - call $~lib/typedarray/Uint8Array#__get - i32.const 3 - i32.ne - br_if $folding-inner39 - local.get $2 - i32.const 1 - call $~lib/typedarray/Uint8Array#__get - i32.const 2 - i32.ne - br_if $folding-inner40 - local.get $2 - i32.const 2 - call $~lib/typedarray/Uint8Array#__get - i32.const 1 - i32.ne - br_if $folding-inner41 - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.add - global.set $~lib/memory/__stack_pointer - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.sub - global.set $~lib/memory/__stack_pointer - global.get $~lib/memory/__stack_pointer - i32.const 16628 - i32.lt_s - br_if $folding-inner22 - 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 3 - call $~lib/typedarray/Uint8ClampedArray#constructor - local.tee $2 - i32.store - local.get $2 - i32.const 2 - i32.const 1 - call $~lib/typedarray/Uint8ClampedArray#__set - local.get $2 - i32.const 1 - i32.const 2 - call $~lib/typedarray/Uint8ClampedArray#__set - local.get $2 - i32.const 0 - i32.const 3 - call $~lib/typedarray/Uint8ClampedArray#__set - global.get $~lib/memory/__stack_pointer - i32.const 0 - global.set $~argumentsLength - i32.const 0 - local.set $0 - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.sub - global.set $~lib/memory/__stack_pointer - global.get $~lib/memory/__stack_pointer - i32.const 16628 - i32.lt_s - br_if $folding-inner22 - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store - block $1of1161 - block $0of1162 - block $outOfRange163 - global.get $~argumentsLength - br_table $0of1162 $1of1161 $outOfRange163 - end - unreachable + local.set $13 + br $for-loop|0151 end - i32.const 15472 - local.set $0 - global.get $~lib/memory/__stack_pointer - i32.const 15472 - i32.store end - local.get $2 - i32.load offset=4 - local.get $2 - i32.load offset=8 + i32.const 10 + i32.const 0 + i32.const 63 + i32.const 15280 + call $~lib/rt/__newArray + local.set $0 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store offset=4 + local.get $6 local.get $0 - call $~lib/util/sort/SORT + call $std/typedarray/valuesEqual<~lib/typedarray/Uint8ClampedArray> global.get $~lib/memory/__stack_pointer i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $2 - i32.store offset=4 - local.get $2 + call $~lib/typedarray/Uint32Array#constructor + local.tee $0 + i32.store offset=28 + local.get $0 i32.const 0 - call $~lib/typedarray/Uint8ClampedArray#__get i32.const 1 - i32.ne - br_if $folding-inner36 - local.get $2 + call $~lib/typedarray/Uint32Array#__set + local.get $0 i32.const 1 - call $~lib/typedarray/Uint8ClampedArray#__get - i32.const 2 - i32.ne - br_if $folding-inner37 - local.get $2 + i32.const 300 + call $~lib/typedarray/Uint32Array#__set + local.get $0 i32.const 2 - call $~lib/typedarray/Uint8ClampedArray#__get + i32.const 100 + call $~lib/typedarray/Uint32Array#__set + local.get $0 i32.const 3 - i32.ne - br_if $folding-inner38 + i32.const -1 + call $~lib/typedarray/Uint32Array#__set global.get $~lib/memory/__stack_pointer - i32.const 15504 - i32.store offset=8 - local.get $2 - i32.load offset=4 - local.get $2 - i32.load offset=8 - i32.const 15504 - call $~lib/util/sort/SORT - local.get $2 + i32.const 4 + call $~lib/typedarray/Int16Array#constructor + local.tee $4 + i32.store + local.get $4 i32.const 0 - call $~lib/typedarray/Uint8ClampedArray#__get - i32.const 3 - i32.ne - br_if $folding-inner39 - local.get $2 + i32.const -10 + call $~lib/typedarray/Int16Array#__set + local.get $4 i32.const 1 - call $~lib/typedarray/Uint8ClampedArray#__get + i32.const 100 + call $~lib/typedarray/Int16Array#__set + local.get $4 i32.const 2 - i32.ne - br_if $folding-inner40 - local.get $2 + i32.const 10 + call $~lib/typedarray/Int16Array#__set + local.get $4 + i32.const 3 + i32.const 300 + call $~lib/typedarray/Int16Array#__set + local.get $6 + i32.load offset=8 + local.get $0 + i32.load offset=8 i32.const 2 - call $~lib/typedarray/Uint8ClampedArray#__get - i32.const 1 - i32.ne - br_if $folding-inner41 - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.add - global.set $~lib/memory/__stack_pointer - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.sub - global.set $~lib/memory/__stack_pointer - global.get $~lib/memory/__stack_pointer - i32.const 16628 + i32.shr_u i32.lt_s br_if $folding-inner22 - global.get $~lib/memory/__stack_pointer - local.tee $0 - i64.const 0 - i64.store + local.get $6 + i32.load offset=4 + local.set $3 local.get $0 - i32.const 0 - i32.store offset=8 + i32.load offset=4 + local.set $2 local.get $0 - i32.const 3 - call $~lib/typedarray/Int16Array#constructor - local.tee $1 - i32.store - local.get $1 - i32.const 2 - i32.const 1 - call $~lib/typedarray/Int16Array#__set - local.get $1 - i32.const 1 + i32.load offset=8 i32.const 2 - call $~lib/typedarray/Int16Array#__set - local.get $1 + i32.shr_u + local.set $1 i32.const 0 - i32.const 3 - call $~lib/typedarray/Int16Array#__set - global.get $~lib/memory/__stack_pointer + local.set $13 + loop $for-loop|0157 + local.get $1 + local.get $13 + i32.gt_s + if + local.get $3 + local.get $13 + i32.add + i32.const 255 + local.get $13 + i32.const 2 + i32.shl + local.get $2 + i32.add + i32.load + local.tee $0 + local.get $0 + i32.const 255 + i32.gt_u + select + i32.store8 + local.get $13 + i32.const 1 + i32.add + local.set $13 + br $for-loop|0157 + end + end + local.get $6 + local.get $4 + i32.const 5 + call $~lib/typedarray/Uint8ClampedArray#set<~lib/typedarray/Int16Array> + i32.const 10 i32.const 0 - global.set $~argumentsLength + i32.const 63 + i32.const 15312 + call $~lib/rt/__newArray + local.set $0 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store offset=4 + local.get $6 + local.get $0 + call $std/typedarray/valuesEqual<~lib/typedarray/Uint8ClampedArray> i32.const 0 - local.set $13 + local.set $0 global.get $~lib/memory/__stack_pointer - i32.const 4 + i32.const 12 i32.sub global.set $~lib/memory/__stack_pointer - global.get $~lib/memory/__stack_pointer - i32.const 16628 - i32.lt_s - br_if $folding-inner22 - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store - block $1of131 - block $0of132 - block $outOfRange33 - global.get $~argumentsLength - br_table $0of132 $1of131 $outOfRange33 + block $__inlined_func$std/typedarray/testArraySort<~lib/typedarray/Int8Array,i8> + global.get $~lib/memory/__stack_pointer + i32.const 16628 + i32.lt_s + br_if $folding-inner21 + 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 3 + call $~lib/typedarray/Int8Array#constructor + local.tee $2 + i32.store + local.get $2 + i32.const 2 + i32.const 1 + call $~lib/typedarray/Int8Array#__set + local.get $2 + i32.const 1 + i32.const 2 + call $~lib/typedarray/Int8Array#__set + local.get $2 + i32.const 0 + i32.const 3 + call $~lib/typedarray/Int8Array#__set + global.get $~lib/memory/__stack_pointer + i32.const 0 + global.set $~argumentsLength + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.sub + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 16628 + i32.lt_s + br_if $folding-inner21 + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store + block $1of1 + block $0of1 + block $outOfRange + global.get $~argumentsLength + br_table $0of1 $1of1 $outOfRange + end + unreachable end - unreachable + i32.const 15344 + local.set $0 + global.get $~lib/memory/__stack_pointer + i32.const 15344 + i32.store end - i32.const 15536 - local.set $13 + local.get $2 + i32.load offset=4 + local.get $2 + i32.load offset=8 + local.get $0 + call $~lib/util/sort/SORT global.get $~lib/memory/__stack_pointer - i32.const 15536 - i32.store + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $2 + i32.store offset=4 + local.get $2 + i32.const 0 + call $~lib/typedarray/Int8Array#__get + i32.const 1 + i32.ne + br_if $folding-inner36 + local.get $2 + i32.const 1 + call $~lib/typedarray/Int8Array#__get + i32.const 2 + i32.ne + br_if $folding-inner37 + local.get $2 + i32.const 2 + call $~lib/typedarray/Int8Array#__get + i32.const 3 + i32.ne + br_if $folding-inner38 + global.get $~lib/memory/__stack_pointer + i32.const 15376 + i32.store offset=8 + local.get $2 + i32.load offset=4 + local.get $2 + i32.load offset=8 + i32.const 15376 + call $~lib/util/sort/SORT + local.get $2 + i32.const 0 + call $~lib/typedarray/Int8Array#__get + i32.const 3 + i32.ne + br_if $folding-inner39 + local.get $2 + i32.const 1 + call $~lib/typedarray/Int8Array#__get + i32.const 2 + i32.ne + br_if $folding-inner40 + local.get $2 + i32.const 2 + call $~lib/typedarray/Int8Array#__get + i32.const 1 + i32.ne + br_if $folding-inner41 + global.get $~lib/memory/__stack_pointer + i32.const 12 + i32.add + global.set $~lib/memory/__stack_pointer + br $__inlined_func$std/typedarray/testArraySort<~lib/typedarray/Int8Array,i8> end - local.get $1 - i32.load offset=4 - local.get $1 - i32.load offset=8 - i32.const 1 - i32.shr_u - local.get $13 - call $~lib/util/sort/SORT - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - local.get $1 - i32.const 0 - call $~lib/typedarray/Int16Array#__get - i32.const 1 - i32.ne - br_if $folding-inner36 - local.get $1 - i32.const 1 - call $~lib/typedarray/Int16Array#__get - i32.const 2 - i32.ne - br_if $folding-inner37 - local.get $1 - i32.const 2 - call $~lib/typedarray/Int16Array#__get - i32.const 3 - i32.ne - br_if $folding-inner38 - global.get $~lib/memory/__stack_pointer - i32.const 15568 - i32.store offset=8 - local.get $1 - i32.load offset=4 - local.get $1 - i32.load offset=8 - i32.const 1 - i32.shr_u - i32.const 15568 - call $~lib/util/sort/SORT - local.get $1 i32.const 0 - call $~lib/typedarray/Int16Array#__get - i32.const 3 - i32.ne - br_if $folding-inner39 - local.get $1 - i32.const 1 - call $~lib/typedarray/Int16Array#__get - i32.const 2 - i32.ne - br_if $folding-inner40 - local.get $1 - i32.const 2 - call $~lib/typedarray/Int16Array#__get - i32.const 1 - i32.ne - br_if $folding-inner41 - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.add - global.set $~lib/memory/__stack_pointer + local.set $0 global.get $~lib/memory/__stack_pointer i32.const 12 i32.sub global.set $~lib/memory/__stack_pointer - global.get $~lib/memory/__stack_pointer - i32.const 16628 - i32.lt_s - br_if $folding-inner22 - 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 3 - call $~lib/typedarray/Uint16Array#constructor - local.tee $1 - i32.store - local.get $1 - i32.const 2 - i32.const 1 - call $~lib/typedarray/Uint16Array#__set - local.get $1 - i32.const 1 - i32.const 2 - call $~lib/typedarray/Uint16Array#__set - local.get $1 - i32.const 0 - i32.const 3 - call $~lib/typedarray/Uint16Array#__set - global.get $~lib/memory/__stack_pointer - i32.const 0 - global.set $~argumentsLength + block $__inlined_func$std/typedarray/testArraySort<~lib/typedarray/Uint8Array,u8> + global.get $~lib/memory/__stack_pointer + i32.const 16628 + i32.lt_s + br_if $folding-inner21 + 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 3 + call $~lib/typedarray/Uint8Array#constructor + local.tee $2 + i32.store + local.get $2 + i32.const 2 + i32.const 1 + call $~lib/typedarray/Uint8Array#__set + local.get $2 + i32.const 1 + i32.const 2 + call $~lib/typedarray/Uint8Array#__set + local.get $2 + i32.const 0 + i32.const 3 + call $~lib/typedarray/Uint8Array#__set + global.get $~lib/memory/__stack_pointer + i32.const 0 + global.set $~argumentsLength + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.sub + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 16628 + i32.lt_s + br_if $folding-inner21 + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store + block $1of1157 + block $0of1158 + block $outOfRange159 + global.get $~argumentsLength + br_table $0of1158 $1of1157 $outOfRange159 + end + unreachable + end + i32.const 15408 + local.set $0 + global.get $~lib/memory/__stack_pointer + i32.const 15408 + i32.store + end + local.get $2 + i32.load offset=4 + local.get $2 + i32.load offset=8 + local.get $0 + call $~lib/util/sort/SORT + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $2 + i32.store offset=4 + local.get $2 + i32.const 0 + call $~lib/typedarray/Uint8Array#__get + i32.const 1 + i32.ne + br_if $folding-inner36 + local.get $2 + i32.const 1 + call $~lib/typedarray/Uint8Array#__get + i32.const 2 + i32.ne + br_if $folding-inner37 + local.get $2 + i32.const 2 + call $~lib/typedarray/Uint8Array#__get + i32.const 3 + i32.ne + br_if $folding-inner38 + global.get $~lib/memory/__stack_pointer + i32.const 15440 + i32.store offset=8 + local.get $2 + i32.load offset=4 + local.get $2 + i32.load offset=8 + i32.const 15440 + call $~lib/util/sort/SORT + local.get $2 + i32.const 0 + call $~lib/typedarray/Uint8Array#__get + i32.const 3 + i32.ne + br_if $folding-inner39 + local.get $2 + i32.const 1 + call $~lib/typedarray/Uint8Array#__get + i32.const 2 + i32.ne + br_if $folding-inner40 + local.get $2 + i32.const 2 + call $~lib/typedarray/Uint8Array#__get + i32.const 1 + i32.ne + br_if $folding-inner41 + global.get $~lib/memory/__stack_pointer + i32.const 12 + i32.add + global.set $~lib/memory/__stack_pointer + br $__inlined_func$std/typedarray/testArraySort<~lib/typedarray/Uint8Array,u8> + end i32.const 0 - local.set $13 + local.set $0 global.get $~lib/memory/__stack_pointer - i32.const 4 + i32.const 12 i32.sub global.set $~lib/memory/__stack_pointer - global.get $~lib/memory/__stack_pointer - i32.const 16628 - i32.lt_s - br_if $folding-inner22 - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store - block $1of135 - block $0of136 - block $outOfRange37 - global.get $~argumentsLength - br_table $0of136 $1of135 $outOfRange37 + block $__inlined_func$std/typedarray/testArraySort<~lib/typedarray/Uint8ClampedArray,u8> + global.get $~lib/memory/__stack_pointer + i32.const 16628 + i32.lt_s + br_if $folding-inner21 + 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 3 + call $~lib/typedarray/Uint8ClampedArray#constructor + local.tee $2 + i32.store + local.get $2 + i32.const 2 + i32.const 1 + call $~lib/typedarray/Uint8ClampedArray#__set + local.get $2 + i32.const 1 + i32.const 2 + call $~lib/typedarray/Uint8ClampedArray#__set + local.get $2 + i32.const 0 + i32.const 3 + call $~lib/typedarray/Uint8ClampedArray#__set + global.get $~lib/memory/__stack_pointer + i32.const 0 + global.set $~argumentsLength + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.sub + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 16628 + i32.lt_s + br_if $folding-inner21 + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store + block $1of1161 + block $0of1162 + block $outOfRange163 + global.get $~argumentsLength + br_table $0of1162 $1of1161 $outOfRange163 + end + unreachable end - unreachable + i32.const 15472 + local.set $0 + global.get $~lib/memory/__stack_pointer + i32.const 15472 + i32.store end - i32.const 15600 - local.set $13 + local.get $2 + i32.load offset=4 + local.get $2 + i32.load offset=8 + local.get $0 + call $~lib/util/sort/SORT global.get $~lib/memory/__stack_pointer - i32.const 15600 - i32.store - end - local.get $1 - i32.load offset=4 - local.get $1 - i32.load offset=8 - i32.const 1 - i32.shr_u - local.get $13 - call $~lib/util/sort/SORT - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - local.get $1 - i32.const 0 - call $~lib/typedarray/Uint16Array#__get - i32.const 1 - i32.ne - br_if $folding-inner36 - local.get $1 - i32.const 1 - call $~lib/typedarray/Uint16Array#__get - i32.const 2 - i32.ne - br_if $folding-inner37 - local.get $1 - i32.const 2 - call $~lib/typedarray/Uint16Array#__get - i32.const 3 - i32.ne - br_if $folding-inner38 - global.get $~lib/memory/__stack_pointer - i32.const 15632 - i32.store offset=8 - local.get $1 - i32.load offset=4 - local.get $1 - i32.load offset=8 - i32.const 1 - i32.shr_u - i32.const 15632 - call $~lib/util/sort/SORT - local.get $1 + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $2 + i32.store offset=4 + local.get $2 + i32.const 0 + call $~lib/typedarray/Uint8ClampedArray#__get + i32.const 1 + i32.ne + br_if $folding-inner36 + local.get $2 + i32.const 1 + call $~lib/typedarray/Uint8ClampedArray#__get + i32.const 2 + i32.ne + br_if $folding-inner37 + local.get $2 + i32.const 2 + call $~lib/typedarray/Uint8ClampedArray#__get + i32.const 3 + i32.ne + br_if $folding-inner38 + global.get $~lib/memory/__stack_pointer + i32.const 15504 + i32.store offset=8 + local.get $2 + i32.load offset=4 + local.get $2 + i32.load offset=8 + i32.const 15504 + call $~lib/util/sort/SORT + local.get $2 + i32.const 0 + call $~lib/typedarray/Uint8ClampedArray#__get + i32.const 3 + i32.ne + br_if $folding-inner39 + local.get $2 + i32.const 1 + call $~lib/typedarray/Uint8ClampedArray#__get + i32.const 2 + i32.ne + br_if $folding-inner40 + local.get $2 + i32.const 2 + call $~lib/typedarray/Uint8ClampedArray#__get + i32.const 1 + i32.ne + br_if $folding-inner41 + global.get $~lib/memory/__stack_pointer + i32.const 12 + i32.add + global.set $~lib/memory/__stack_pointer + br $__inlined_func$std/typedarray/testArraySort<~lib/typedarray/Uint8ClampedArray,u8> + end i32.const 0 - call $~lib/typedarray/Uint16Array#__get - i32.const 3 - i32.ne - br_if $folding-inner39 - local.get $1 - i32.const 1 - call $~lib/typedarray/Uint16Array#__get - i32.const 2 - i32.ne - br_if $folding-inner40 - local.get $1 - i32.const 2 - call $~lib/typedarray/Uint16Array#__get - i32.const 1 - i32.ne - br_if $folding-inner41 - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.add - global.set $~lib/memory/__stack_pointer + local.set $0 global.get $~lib/memory/__stack_pointer i32.const 12 i32.sub global.set $~lib/memory/__stack_pointer - global.get $~lib/memory/__stack_pointer - i32.const 16628 - i32.lt_s - br_if $folding-inner22 - 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 3 - call $~lib/typedarray/Int32Array#constructor - local.tee $1 - i32.store - local.get $1 - i32.const 2 - i32.const 1 - call $~lib/typedarray/Int32Array#__set - local.get $1 - i32.const 1 - i32.const 2 - call $~lib/typedarray/Int32Array#__set - local.get $1 - i32.const 0 - i32.const 3 - call $~lib/typedarray/Int32Array#__set - global.get $~lib/memory/__stack_pointer - i32.const 0 - global.set $~argumentsLength - i32.const 0 - local.set $13 - global.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-inner22 - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store - block $1of139 - block $0of140 - block $outOfRange41 - global.get $~argumentsLength - br_table $0of140 $1of139 $outOfRange41 + block $__inlined_func$std/typedarray/testArraySort<~lib/typedarray/Int16Array,i16> + global.get $~lib/memory/__stack_pointer + i32.const 16628 + i32.lt_s + br_if $folding-inner21 + 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 3 + call $~lib/typedarray/Int16Array#constructor + local.tee $2 + i32.store + local.get $2 + i32.const 2 + i32.const 1 + call $~lib/typedarray/Int16Array#__set + local.get $2 + i32.const 1 + i32.const 2 + call $~lib/typedarray/Int16Array#__set + local.get $2 + i32.const 0 + i32.const 3 + call $~lib/typedarray/Int16Array#__set + global.get $~lib/memory/__stack_pointer + i32.const 0 + global.set $~argumentsLength + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.sub + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 16628 + i32.lt_s + br_if $folding-inner21 + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store + block $1of144 + block $0of145 + block $outOfRange46 + global.get $~argumentsLength + br_table $0of145 $1of144 $outOfRange46 + end + unreachable end - unreachable + i32.const 15536 + local.set $0 + global.get $~lib/memory/__stack_pointer + i32.const 15536 + i32.store end - i32.const 15664 - local.set $13 + local.get $2 + i32.load offset=4 + local.get $2 + i32.load offset=8 + i32.const 1 + i32.shr_u + local.get $0 + call $~lib/util/sort/SORT global.get $~lib/memory/__stack_pointer - i32.const 15664 - i32.store + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $2 + i32.store offset=4 + local.get $2 + i32.const 0 + call $~lib/typedarray/Int16Array#__get + i32.const 1 + i32.ne + br_if $folding-inner36 + local.get $2 + i32.const 1 + call $~lib/typedarray/Int16Array#__get + i32.const 2 + i32.ne + br_if $folding-inner37 + local.get $2 + i32.const 2 + call $~lib/typedarray/Int16Array#__get + i32.const 3 + i32.ne + br_if $folding-inner38 + global.get $~lib/memory/__stack_pointer + i32.const 15568 + i32.store offset=8 + local.get $2 + i32.load offset=4 + local.get $2 + i32.load offset=8 + i32.const 1 + i32.shr_u + i32.const 15568 + call $~lib/util/sort/SORT + local.get $2 + i32.const 0 + call $~lib/typedarray/Int16Array#__get + i32.const 3 + i32.ne + br_if $folding-inner39 + local.get $2 + i32.const 1 + call $~lib/typedarray/Int16Array#__get + i32.const 2 + i32.ne + br_if $folding-inner40 + local.get $2 + i32.const 2 + call $~lib/typedarray/Int16Array#__get + i32.const 1 + i32.ne + br_if $folding-inner41 + global.get $~lib/memory/__stack_pointer + i32.const 12 + i32.add + global.set $~lib/memory/__stack_pointer + br $__inlined_func$std/typedarray/testArraySort<~lib/typedarray/Int16Array,i16> end - local.get $1 - i32.load offset=4 - local.get $1 - i32.load offset=8 - i32.const 2 - i32.shr_u - local.get $13 - call $~lib/util/sort/SORT - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - local.get $1 - i32.const 0 - call $~lib/typedarray/Int32Array#__get - i32.const 1 - i32.ne - br_if $folding-inner36 - local.get $1 - i32.const 1 - call $~lib/typedarray/Int32Array#__get - i32.const 2 - i32.ne - br_if $folding-inner37 - local.get $1 - i32.const 2 - call $~lib/typedarray/Int32Array#__get - i32.const 3 - i32.ne - br_if $folding-inner38 - global.get $~lib/memory/__stack_pointer - i32.const 15696 - i32.store offset=8 - local.get $1 - i32.load offset=4 - local.get $1 - i32.load offset=8 - i32.const 2 - i32.shr_u - i32.const 15696 - call $~lib/util/sort/SORT - local.get $1 i32.const 0 - call $~lib/typedarray/Int32Array#__get - i32.const 3 - i32.ne - br_if $folding-inner39 - local.get $1 - i32.const 1 - call $~lib/typedarray/Int32Array#__get - i32.const 2 - i32.ne - br_if $folding-inner40 - local.get $1 - i32.const 2 - call $~lib/typedarray/Int32Array#__get - i32.const 1 - i32.ne - br_if $folding-inner41 - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.add - global.set $~lib/memory/__stack_pointer + local.set $0 global.get $~lib/memory/__stack_pointer i32.const 12 i32.sub global.set $~lib/memory/__stack_pointer - global.get $~lib/memory/__stack_pointer - i32.const 16628 - i32.lt_s - br_if $folding-inner22 - 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 3 - call $~lib/typedarray/Uint32Array#constructor - local.tee $1 - i32.store - local.get $1 - i32.const 2 - i32.const 1 - call $~lib/typedarray/Uint32Array#__set - local.get $1 - i32.const 1 - i32.const 2 - call $~lib/typedarray/Uint32Array#__set - local.get $1 - i32.const 0 - i32.const 3 - call $~lib/typedarray/Uint32Array#__set - global.get $~lib/memory/__stack_pointer - i32.const 0 - global.set $~argumentsLength + block $__inlined_func$std/typedarray/testArraySort<~lib/typedarray/Uint16Array,u16> + global.get $~lib/memory/__stack_pointer + i32.const 16628 + i32.lt_s + br_if $folding-inner21 + 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 3 + call $~lib/typedarray/Uint16Array#constructor + local.tee $2 + i32.store + local.get $2 + i32.const 2 + i32.const 1 + call $~lib/typedarray/Uint16Array#__set + local.get $2 + i32.const 1 + i32.const 2 + call $~lib/typedarray/Uint16Array#__set + local.get $2 + i32.const 0 + i32.const 3 + call $~lib/typedarray/Uint16Array#__set + global.get $~lib/memory/__stack_pointer + i32.const 0 + global.set $~argumentsLength + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.sub + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 16628 + i32.lt_s + br_if $folding-inner21 + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store + block $1of148 + block $0of149 + block $outOfRange50 + global.get $~argumentsLength + br_table $0of149 $1of148 $outOfRange50 + end + unreachable + end + i32.const 15600 + local.set $0 + global.get $~lib/memory/__stack_pointer + i32.const 15600 + i32.store + end + local.get $2 + i32.load offset=4 + local.get $2 + i32.load offset=8 + i32.const 1 + i32.shr_u + local.get $0 + call $~lib/util/sort/SORT + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $2 + i32.store offset=4 + local.get $2 + i32.const 0 + call $~lib/typedarray/Uint16Array#__get + i32.const 1 + i32.ne + br_if $folding-inner36 + local.get $2 + i32.const 1 + call $~lib/typedarray/Uint16Array#__get + i32.const 2 + i32.ne + br_if $folding-inner37 + local.get $2 + i32.const 2 + call $~lib/typedarray/Uint16Array#__get + i32.const 3 + i32.ne + br_if $folding-inner38 + global.get $~lib/memory/__stack_pointer + i32.const 15632 + i32.store offset=8 + local.get $2 + i32.load offset=4 + local.get $2 + i32.load offset=8 + i32.const 1 + i32.shr_u + i32.const 15632 + call $~lib/util/sort/SORT + local.get $2 + i32.const 0 + call $~lib/typedarray/Uint16Array#__get + i32.const 3 + i32.ne + br_if $folding-inner39 + local.get $2 + i32.const 1 + call $~lib/typedarray/Uint16Array#__get + i32.const 2 + i32.ne + br_if $folding-inner40 + local.get $2 + i32.const 2 + call $~lib/typedarray/Uint16Array#__get + i32.const 1 + i32.ne + br_if $folding-inner41 + global.get $~lib/memory/__stack_pointer + i32.const 12 + i32.add + global.set $~lib/memory/__stack_pointer + br $__inlined_func$std/typedarray/testArraySort<~lib/typedarray/Uint16Array,u16> + end i32.const 0 - local.set $13 + local.set $0 global.get $~lib/memory/__stack_pointer - i32.const 4 + i32.const 12 i32.sub global.set $~lib/memory/__stack_pointer - global.get $~lib/memory/__stack_pointer - i32.const 16628 - i32.lt_s - br_if $folding-inner22 - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store - block $1of143 - block $0of144 - block $outOfRange45 - global.get $~argumentsLength - br_table $0of144 $1of143 $outOfRange45 + block $__inlined_func$std/typedarray/testArraySort<~lib/typedarray/Int32Array,i32> + global.get $~lib/memory/__stack_pointer + i32.const 16628 + i32.lt_s + br_if $folding-inner21 + 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 3 + call $~lib/typedarray/Int32Array#constructor + local.tee $2 + i32.store + local.get $2 + i32.const 2 + i32.const 1 + call $~lib/typedarray/Int32Array#__set + local.get $2 + i32.const 1 + i32.const 2 + call $~lib/typedarray/Int32Array#__set + local.get $2 + i32.const 0 + i32.const 3 + call $~lib/typedarray/Int32Array#__set + global.get $~lib/memory/__stack_pointer + i32.const 0 + global.set $~argumentsLength + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.sub + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 16628 + i32.lt_s + br_if $folding-inner21 + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store + block $1of152 + block $0of153 + block $outOfRange54 + global.get $~argumentsLength + br_table $0of153 $1of152 $outOfRange54 + end + unreachable end - unreachable + i32.const 15664 + local.set $0 + global.get $~lib/memory/__stack_pointer + i32.const 15664 + i32.store end - i32.const 15728 - local.set $13 + local.get $2 + i32.load offset=4 + local.get $2 + i32.load offset=8 + i32.const 2 + i32.shr_u + local.get $0 + call $~lib/util/sort/SORT global.get $~lib/memory/__stack_pointer - i32.const 15728 - i32.store + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $2 + i32.store offset=4 + local.get $2 + i32.const 0 + call $~lib/typedarray/Int32Array#__get + i32.const 1 + i32.ne + br_if $folding-inner36 + local.get $2 + i32.const 1 + call $~lib/typedarray/Int32Array#__get + i32.const 2 + i32.ne + br_if $folding-inner37 + local.get $2 + i32.const 2 + call $~lib/typedarray/Int32Array#__get + i32.const 3 + i32.ne + br_if $folding-inner38 + global.get $~lib/memory/__stack_pointer + i32.const 15696 + i32.store offset=8 + local.get $2 + i32.load offset=4 + local.get $2 + i32.load offset=8 + i32.const 2 + i32.shr_u + i32.const 15696 + call $~lib/util/sort/SORT + local.get $2 + i32.const 0 + call $~lib/typedarray/Int32Array#__get + i32.const 3 + i32.ne + br_if $folding-inner39 + local.get $2 + i32.const 1 + call $~lib/typedarray/Int32Array#__get + i32.const 2 + i32.ne + br_if $folding-inner40 + local.get $2 + i32.const 2 + call $~lib/typedarray/Int32Array#__get + i32.const 1 + i32.ne + br_if $folding-inner41 + global.get $~lib/memory/__stack_pointer + i32.const 12 + i32.add + global.set $~lib/memory/__stack_pointer + br $__inlined_func$std/typedarray/testArraySort<~lib/typedarray/Int32Array,i32> end - local.get $1 - i32.load offset=4 - local.get $1 - i32.load offset=8 - i32.const 2 - i32.shr_u - local.get $13 - call $~lib/util/sort/SORT - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - local.get $1 - i32.const 0 - call $~lib/typedarray/Uint32Array#__get - i32.const 1 - i32.ne - br_if $folding-inner36 - local.get $1 - i32.const 1 - call $~lib/typedarray/Uint32Array#__get - i32.const 2 - i32.ne - br_if $folding-inner37 - local.get $1 - i32.const 2 - call $~lib/typedarray/Uint32Array#__get - i32.const 3 - i32.ne - br_if $folding-inner38 - global.get $~lib/memory/__stack_pointer - i32.const 15760 - i32.store offset=8 - local.get $1 - i32.load offset=4 - local.get $1 - i32.load offset=8 - i32.const 2 - i32.shr_u - i32.const 15760 - call $~lib/util/sort/SORT - local.get $1 i32.const 0 - call $~lib/typedarray/Uint32Array#__get - i32.const 3 - i32.ne - br_if $folding-inner39 - local.get $1 - i32.const 1 - call $~lib/typedarray/Uint32Array#__get - i32.const 2 - i32.ne - br_if $folding-inner40 - local.get $1 - i32.const 2 - call $~lib/typedarray/Uint32Array#__get - i32.const 1 - i32.ne - br_if $folding-inner41 - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.add - global.set $~lib/memory/__stack_pointer + local.set $0 global.get $~lib/memory/__stack_pointer i32.const 12 i32.sub global.set $~lib/memory/__stack_pointer - global.get $~lib/memory/__stack_pointer - i32.const 16628 - i32.lt_s - br_if $folding-inner22 - 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 3 - call $~lib/typedarray/Int64Array#constructor - local.tee $1 - i32.store - local.get $1 - i32.const 2 - i64.const 1 - call $~lib/typedarray/Int64Array#__set - local.get $1 - i32.const 1 - i64.const 2 - call $~lib/typedarray/Int64Array#__set - local.get $1 - i32.const 0 - i64.const 3 - call $~lib/typedarray/Int64Array#__set - global.get $~lib/memory/__stack_pointer - i32.const 0 - global.set $~argumentsLength + block $__inlined_func$std/typedarray/testArraySort<~lib/typedarray/Uint32Array,u32> + global.get $~lib/memory/__stack_pointer + i32.const 16628 + i32.lt_s + br_if $folding-inner21 + 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 3 + call $~lib/typedarray/Uint32Array#constructor + local.tee $2 + i32.store + local.get $2 + i32.const 2 + i32.const 1 + call $~lib/typedarray/Uint32Array#__set + local.get $2 + i32.const 1 + i32.const 2 + call $~lib/typedarray/Uint32Array#__set + local.get $2 + i32.const 0 + i32.const 3 + call $~lib/typedarray/Uint32Array#__set + global.get $~lib/memory/__stack_pointer + i32.const 0 + global.set $~argumentsLength + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.sub + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 16628 + i32.lt_s + br_if $folding-inner21 + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store + block $1of156 + block $0of157 + block $outOfRange58 + global.get $~argumentsLength + br_table $0of157 $1of156 $outOfRange58 + end + unreachable + end + i32.const 15728 + local.set $0 + global.get $~lib/memory/__stack_pointer + i32.const 15728 + i32.store + end + local.get $2 + i32.load offset=4 + local.get $2 + i32.load offset=8 + i32.const 2 + i32.shr_u + local.get $0 + call $~lib/util/sort/SORT + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $2 + i32.store offset=4 + local.get $2 + i32.const 0 + call $~lib/typedarray/Uint32Array#__get + i32.const 1 + i32.ne + br_if $folding-inner36 + local.get $2 + i32.const 1 + call $~lib/typedarray/Uint32Array#__get + i32.const 2 + i32.ne + br_if $folding-inner37 + local.get $2 + i32.const 2 + call $~lib/typedarray/Uint32Array#__get + i32.const 3 + i32.ne + br_if $folding-inner38 + global.get $~lib/memory/__stack_pointer + i32.const 15760 + i32.store offset=8 + local.get $2 + i32.load offset=4 + local.get $2 + i32.load offset=8 + i32.const 2 + i32.shr_u + i32.const 15760 + call $~lib/util/sort/SORT + local.get $2 + i32.const 0 + call $~lib/typedarray/Uint32Array#__get + i32.const 3 + i32.ne + br_if $folding-inner39 + local.get $2 + i32.const 1 + call $~lib/typedarray/Uint32Array#__get + i32.const 2 + i32.ne + br_if $folding-inner40 + local.get $2 + i32.const 2 + call $~lib/typedarray/Uint32Array#__get + i32.const 1 + i32.ne + br_if $folding-inner41 + global.get $~lib/memory/__stack_pointer + i32.const 12 + i32.add + global.set $~lib/memory/__stack_pointer + br $__inlined_func$std/typedarray/testArraySort<~lib/typedarray/Uint32Array,u32> + end i32.const 0 - local.set $13 + local.set $0 global.get $~lib/memory/__stack_pointer - i32.const 4 + i32.const 12 i32.sub global.set $~lib/memory/__stack_pointer - global.get $~lib/memory/__stack_pointer - i32.const 16628 - i32.lt_s - br_if $folding-inner22 - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store - block $1of147 - block $0of148 - block $outOfRange49 - global.get $~argumentsLength - br_table $0of148 $1of147 $outOfRange49 + block $__inlined_func$std/typedarray/testArraySort<~lib/typedarray/Int64Array,i64> + global.get $~lib/memory/__stack_pointer + i32.const 16628 + i32.lt_s + br_if $folding-inner21 + 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 3 + call $~lib/typedarray/Int64Array#constructor + local.tee $2 + i32.store + local.get $2 + i32.const 2 + i64.const 1 + call $~lib/typedarray/Int64Array#__set + local.get $2 + i32.const 1 + i64.const 2 + call $~lib/typedarray/Int64Array#__set + local.get $2 + i32.const 0 + i64.const 3 + call $~lib/typedarray/Int64Array#__set + global.get $~lib/memory/__stack_pointer + i32.const 0 + global.set $~argumentsLength + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.sub + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 16628 + i32.lt_s + br_if $folding-inner21 + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store + block $1of160 + block $0of161 + block $outOfRange62 + global.get $~argumentsLength + br_table $0of161 $1of160 $outOfRange62 + end + unreachable end - unreachable + i32.const 15792 + local.set $0 + global.get $~lib/memory/__stack_pointer + i32.const 15792 + i32.store end - i32.const 15792 - local.set $13 + local.get $2 + i32.load offset=4 + local.get $2 + i32.load offset=8 + i32.const 3 + i32.shr_u + local.get $0 + call $~lib/util/sort/SORT global.get $~lib/memory/__stack_pointer - i32.const 15792 - i32.store + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $2 + i32.store offset=4 + local.get $2 + i32.const 0 + call $~lib/typedarray/Int64Array#__get + i64.const 1 + i64.ne + br_if $folding-inner36 + local.get $2 + i32.const 1 + call $~lib/typedarray/Int64Array#__get + i64.const 2 + i64.ne + br_if $folding-inner37 + local.get $2 + i32.const 2 + call $~lib/typedarray/Int64Array#__get + i64.const 3 + i64.ne + br_if $folding-inner38 + global.get $~lib/memory/__stack_pointer + i32.const 15824 + i32.store offset=8 + local.get $2 + i32.load offset=4 + local.get $2 + i32.load offset=8 + i32.const 3 + i32.shr_u + i32.const 15824 + call $~lib/util/sort/SORT + local.get $2 + i32.const 0 + call $~lib/typedarray/Int64Array#__get + i64.const 3 + i64.ne + br_if $folding-inner39 + local.get $2 + i32.const 1 + call $~lib/typedarray/Int64Array#__get + i64.const 2 + i64.ne + br_if $folding-inner40 + local.get $2 + i32.const 2 + call $~lib/typedarray/Int64Array#__get + i64.const 1 + i64.ne + br_if $folding-inner41 + global.get $~lib/memory/__stack_pointer + i32.const 12 + i32.add + global.set $~lib/memory/__stack_pointer + br $__inlined_func$std/typedarray/testArraySort<~lib/typedarray/Int64Array,i64> end - local.get $1 - i32.load offset=4 - local.get $1 - i32.load offset=8 - i32.const 3 - i32.shr_u - local.get $13 - call $~lib/util/sort/SORT - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - local.get $1 - i32.const 0 - call $~lib/typedarray/Int64Array#__get - i64.const 1 - i64.ne - br_if $folding-inner36 - local.get $1 - i32.const 1 - call $~lib/typedarray/Int64Array#__get - i64.const 2 - i64.ne - br_if $folding-inner37 - local.get $1 - i32.const 2 - call $~lib/typedarray/Int64Array#__get - i64.const 3 - i64.ne - br_if $folding-inner38 - global.get $~lib/memory/__stack_pointer - i32.const 15824 - i32.store offset=8 - local.get $1 - i32.load offset=4 - local.get $1 - i32.load offset=8 - i32.const 3 - i32.shr_u - i32.const 15824 - call $~lib/util/sort/SORT - local.get $1 i32.const 0 - call $~lib/typedarray/Int64Array#__get - i64.const 3 - i64.ne - br_if $folding-inner39 - local.get $1 - i32.const 1 - call $~lib/typedarray/Int64Array#__get - i64.const 2 - i64.ne - br_if $folding-inner40 - local.get $1 - i32.const 2 - call $~lib/typedarray/Int64Array#__get - i64.const 1 - i64.ne - br_if $folding-inner41 - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.add - global.set $~lib/memory/__stack_pointer + local.set $0 global.get $~lib/memory/__stack_pointer i32.const 12 i32.sub global.set $~lib/memory/__stack_pointer - global.get $~lib/memory/__stack_pointer - i32.const 16628 - i32.lt_s - br_if $folding-inner22 - 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 3 - call $~lib/typedarray/Uint64Array#constructor - local.tee $1 - i32.store - local.get $1 - i32.const 2 - i64.const 1 - call $~lib/typedarray/Uint64Array#__set - local.get $1 - i32.const 1 - i64.const 2 - call $~lib/typedarray/Uint64Array#__set - local.get $1 - i32.const 0 - i64.const 3 - call $~lib/typedarray/Uint64Array#__set - global.get $~lib/memory/__stack_pointer - i32.const 0 - global.set $~argumentsLength - i32.const 0 - local.set $13 - global.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-inner22 - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store - block $1of151 - block $0of152 - block $outOfRange53 - global.get $~argumentsLength - br_table $0of152 $1of151 $outOfRange53 + block $__inlined_func$std/typedarray/testArraySort<~lib/typedarray/Uint64Array,u64> + global.get $~lib/memory/__stack_pointer + i32.const 16628 + i32.lt_s + br_if $folding-inner21 + 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 3 + call $~lib/typedarray/Uint64Array#constructor + local.tee $2 + i32.store + local.get $2 + i32.const 2 + i64.const 1 + call $~lib/typedarray/Uint64Array#__set + local.get $2 + i32.const 1 + i64.const 2 + call $~lib/typedarray/Uint64Array#__set + local.get $2 + i32.const 0 + i64.const 3 + call $~lib/typedarray/Uint64Array#__set + global.get $~lib/memory/__stack_pointer + i32.const 0 + global.set $~argumentsLength + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.sub + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 16628 + i32.lt_s + br_if $folding-inner21 + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store + block $1of164 + block $0of165 + block $outOfRange66 + global.get $~argumentsLength + br_table $0of165 $1of164 $outOfRange66 + end + unreachable end - unreachable + i32.const 15856 + local.set $0 + global.get $~lib/memory/__stack_pointer + i32.const 15856 + i32.store end - i32.const 15856 - local.set $13 + local.get $2 + i32.load offset=4 + local.get $2 + i32.load offset=8 + i32.const 3 + i32.shr_u + local.get $0 + call $~lib/util/sort/SORT global.get $~lib/memory/__stack_pointer - i32.const 15856 - i32.store + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $2 + i32.store offset=4 + local.get $2 + i32.const 0 + call $~lib/typedarray/Uint64Array#__get + i64.const 1 + i64.ne + br_if $folding-inner36 + local.get $2 + i32.const 1 + call $~lib/typedarray/Uint64Array#__get + i64.const 2 + i64.ne + br_if $folding-inner37 + local.get $2 + i32.const 2 + call $~lib/typedarray/Uint64Array#__get + i64.const 3 + i64.ne + br_if $folding-inner38 + global.get $~lib/memory/__stack_pointer + i32.const 15888 + i32.store offset=8 + local.get $2 + i32.load offset=4 + local.get $2 + i32.load offset=8 + i32.const 3 + i32.shr_u + i32.const 15888 + call $~lib/util/sort/SORT + local.get $2 + i32.const 0 + call $~lib/typedarray/Uint64Array#__get + i64.const 3 + i64.ne + br_if $folding-inner39 + local.get $2 + i32.const 1 + call $~lib/typedarray/Uint64Array#__get + i64.const 2 + i64.ne + br_if $folding-inner40 + local.get $2 + i32.const 2 + call $~lib/typedarray/Uint64Array#__get + i64.const 1 + i64.ne + br_if $folding-inner41 + global.get $~lib/memory/__stack_pointer + i32.const 12 + i32.add + global.set $~lib/memory/__stack_pointer + br $__inlined_func$std/typedarray/testArraySort<~lib/typedarray/Uint64Array,u64> end - local.get $1 - i32.load offset=4 - local.get $1 - i32.load offset=8 - i32.const 3 - i32.shr_u - local.get $13 - call $~lib/util/sort/SORT - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - local.get $1 - i32.const 0 - call $~lib/typedarray/Uint64Array#__get - i64.const 1 - i64.ne - br_if $folding-inner36 - local.get $1 - i32.const 1 - call $~lib/typedarray/Uint64Array#__get - i64.const 2 - i64.ne - br_if $folding-inner37 - local.get $1 - i32.const 2 - call $~lib/typedarray/Uint64Array#__get - i64.const 3 - i64.ne - br_if $folding-inner38 - global.get $~lib/memory/__stack_pointer - i32.const 15888 - i32.store offset=8 - local.get $1 - i32.load offset=4 - local.get $1 - i32.load offset=8 - i32.const 3 - i32.shr_u - i32.const 15888 - call $~lib/util/sort/SORT - local.get $1 i32.const 0 - call $~lib/typedarray/Uint64Array#__get - i64.const 3 - i64.ne - br_if $folding-inner39 - local.get $1 - i32.const 1 - call $~lib/typedarray/Uint64Array#__get - i64.const 2 - i64.ne - br_if $folding-inner40 - local.get $1 - i32.const 2 - call $~lib/typedarray/Uint64Array#__get - i64.const 1 - i64.ne - br_if $folding-inner41 - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.add - global.set $~lib/memory/__stack_pointer + local.set $0 global.get $~lib/memory/__stack_pointer i32.const 12 i32.sub global.set $~lib/memory/__stack_pointer - global.get $~lib/memory/__stack_pointer - i32.const 16628 - i32.lt_s - br_if $folding-inner22 - 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 3 - call $~lib/typedarray/Float32Array#constructor - local.tee $1 - i32.store - local.get $1 - i32.const 2 - f32.const 1 - call $~lib/typedarray/Float32Array#__set - local.get $1 - i32.const 1 - f32.const 2 - call $~lib/typedarray/Float32Array#__set - local.get $1 - i32.const 0 - f32.const 3 - call $~lib/typedarray/Float32Array#__set - global.get $~lib/memory/__stack_pointer - i32.const 0 - global.set $~argumentsLength - i32.const 0 - local.set $13 - global.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-inner22 - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store - block $1of155 - block $0of156 - block $outOfRange57 - global.get $~argumentsLength - br_table $0of156 $1of155 $outOfRange57 + block $__inlined_func$std/typedarray/testArraySort<~lib/typedarray/Float32Array,f32> + global.get $~lib/memory/__stack_pointer + i32.const 16628 + i32.lt_s + br_if $folding-inner21 + 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 3 + call $~lib/typedarray/Float32Array#constructor + local.tee $2 + i32.store + local.get $2 + i32.const 2 + f32.const 1 + call $~lib/typedarray/Float32Array#__set + local.get $2 + i32.const 1 + f32.const 2 + call $~lib/typedarray/Float32Array#__set + local.get $2 + i32.const 0 + f32.const 3 + call $~lib/typedarray/Float32Array#__set + global.get $~lib/memory/__stack_pointer + i32.const 0 + global.set $~argumentsLength + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.sub + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 16628 + i32.lt_s + br_if $folding-inner21 + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store + block $1of168 + block $0of169 + block $outOfRange70 + global.get $~argumentsLength + br_table $0of169 $1of168 $outOfRange70 + end + unreachable end - unreachable + i32.const 15920 + local.set $0 + global.get $~lib/memory/__stack_pointer + i32.const 15920 + i32.store end - i32.const 15920 - local.set $13 + local.get $2 + i32.load offset=4 + local.get $2 + i32.load offset=8 + i32.const 2 + i32.shr_u + local.get $0 + call $~lib/util/sort/SORT global.get $~lib/memory/__stack_pointer - i32.const 15920 - i32.store + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $2 + i32.store offset=4 + local.get $2 + i32.const 0 + call $~lib/typedarray/Float32Array#__get + f32.const 1 + f32.ne + br_if $folding-inner36 + local.get $2 + i32.const 1 + call $~lib/typedarray/Float32Array#__get + f32.const 2 + f32.ne + br_if $folding-inner37 + local.get $2 + i32.const 2 + call $~lib/typedarray/Float32Array#__get + f32.const 3 + f32.ne + br_if $folding-inner38 + global.get $~lib/memory/__stack_pointer + i32.const 15952 + i32.store offset=8 + local.get $2 + i32.load offset=4 + local.get $2 + i32.load offset=8 + i32.const 2 + i32.shr_u + i32.const 15952 + call $~lib/util/sort/SORT + local.get $2 + i32.const 0 + call $~lib/typedarray/Float32Array#__get + f32.const 3 + f32.ne + br_if $folding-inner39 + local.get $2 + i32.const 1 + call $~lib/typedarray/Float32Array#__get + f32.const 2 + f32.ne + br_if $folding-inner40 + local.get $2 + i32.const 2 + call $~lib/typedarray/Float32Array#__get + f32.const 1 + f32.ne + br_if $folding-inner41 + global.get $~lib/memory/__stack_pointer + i32.const 12 + i32.add + global.set $~lib/memory/__stack_pointer + br $__inlined_func$std/typedarray/testArraySort<~lib/typedarray/Float32Array,f32> end - local.get $1 - i32.load offset=4 - local.get $1 - i32.load offset=8 - i32.const 2 - i32.shr_u - local.get $13 - call $~lib/util/sort/SORT - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - local.get $1 - i32.const 0 - call $~lib/typedarray/Float32Array#__get - f32.const 1 - f32.ne - br_if $folding-inner36 - local.get $1 - i32.const 1 - call $~lib/typedarray/Float32Array#__get - f32.const 2 - f32.ne - br_if $folding-inner37 - local.get $1 - i32.const 2 - call $~lib/typedarray/Float32Array#__get - f32.const 3 - f32.ne - br_if $folding-inner38 - global.get $~lib/memory/__stack_pointer - i32.const 15952 - i32.store offset=8 - local.get $1 - i32.load offset=4 - local.get $1 - i32.load offset=8 - i32.const 2 - i32.shr_u - i32.const 15952 - call $~lib/util/sort/SORT - local.get $1 - i32.const 0 - call $~lib/typedarray/Float32Array#__get - f32.const 3 - f32.ne - br_if $folding-inner39 - local.get $1 - i32.const 1 - call $~lib/typedarray/Float32Array#__get - f32.const 2 - f32.ne - br_if $folding-inner40 - local.get $1 - i32.const 2 - call $~lib/typedarray/Float32Array#__get - f32.const 1 - f32.ne - br_if $folding-inner41 - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.add - global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer i32.const 12 i32.sub @@ -63137,7 +63439,7 @@ global.get $~lib/memory/__stack_pointer i32.const 16628 i32.lt_s - br_if $folding-inner22 + br_if $folding-inner21 global.get $~lib/memory/__stack_pointer local.tee $0 i64.const 0 @@ -64054,32 +64356,32 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $3 + local.tee $4 i32.const 0 i32.store local.get $0 i32.load offset=8 i32.const 2 i32.shr_u - local.set $4 - local.get $3 + local.set $3 + local.get $4 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 $0 i32.load - local.tee $3 + local.tee $5 i32.store - local.get $3 + local.get $5 if + local.get $4 local.get $5 - local.get $3 call $byn-split-outlined-A$~lib/rt/itcms/__link end - local.get $5 + local.get $4 local.get $0 i32.load offset=4 local.get $1 @@ -64087,7 +64389,7 @@ i32.lt_s if (result i32) local.get $1 - local.get $4 + local.get $3 i32.add local.tee $0 i32.const 0 @@ -64097,9 +64399,9 @@ select else local.get $1 - local.get $4 + local.get $3 local.get $1 - local.get $4 + local.get $3 i32.lt_s select end @@ -64108,13 +64410,13 @@ i32.shl i32.add i32.store offset=4 - local.get $5 + local.get $4 local.get $2 i32.const 0 i32.lt_s if (result i32) local.get $2 - local.get $4 + local.get $3 i32.add local.tee $1 i32.const 0 @@ -64124,9 +64426,9 @@ select else local.get $2 - local.get $4 + local.get $3 local.get $2 - local.get $4 + local.get $3 i32.lt_s select end @@ -64145,7 +64447,7 @@ i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $5 + local.get $4 ) (func $~lib/typedarray/Float64Array#subarray (param $0 i32) (param $1 i32) (param $2 i32) (result i32) (local $3 i32) @@ -64167,32 +64469,32 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $3 + local.tee $4 i32.const 0 i32.store local.get $0 i32.load offset=8 i32.const 3 i32.shr_u - local.set $4 - local.get $3 + local.set $3 + local.get $4 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 $0 i32.load - local.tee $3 + local.tee $5 i32.store - local.get $3 + local.get $5 if + local.get $4 local.get $5 - local.get $3 call $byn-split-outlined-A$~lib/rt/itcms/__link end - local.get $5 + local.get $4 local.get $0 i32.load offset=4 local.get $1 @@ -64200,7 +64502,7 @@ i32.lt_s if (result i32) local.get $1 - local.get $4 + local.get $3 i32.add local.tee $0 i32.const 0 @@ -64210,9 +64512,9 @@ select else local.get $1 - local.get $4 + local.get $3 local.get $1 - local.get $4 + local.get $3 i32.lt_s select end @@ -64221,13 +64523,13 @@ i32.shl i32.add i32.store offset=4 - local.get $5 + local.get $4 local.get $2 i32.const 0 i32.lt_s if (result i32) local.get $2 - local.get $4 + local.get $3 i32.add local.tee $1 i32.const 0 @@ -64237,9 +64539,9 @@ select else local.get $2 - local.get $4 + local.get $3 local.get $2 - local.get $4 + local.get $3 i32.lt_s select end @@ -64258,7 +64560,7 @@ i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $5 + local.get $4 ) (func $~lib/typedarray/Float64Array#sort@varargs (param $0 i32) (result i32) (local $1 i32) @@ -64394,92 +64696,92 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $3 + local.tee $4 i32.const 0 i32.store local.get $0 i32.load offset=8 - local.set $4 - local.get $3 + local.set $3 + local.get $4 i32.const 12 i32.const 3 call $~lib/rt/itcms/__new - local.tee $3 + local.tee $4 i32.store - local.get $3 + local.get $4 local.get $0 i32.load local.tee $5 i32.store local.get $5 if - local.get $3 + local.get $4 local.get $5 call $byn-split-outlined-A$~lib/rt/itcms/__link end - local.get $3 + local.get $4 + local.get $0 + i32.load offset=4 local.get $1 i32.const 0 i32.lt_s if (result i32) local.get $1 - local.get $4 + local.get $3 i32.add - local.tee $1 + local.tee $0 i32.const 0 - local.get $1 + local.get $0 i32.const 0 i32.gt_s select else local.get $1 - local.get $4 + local.get $3 local.get $1 - local.get $4 + local.get $3 i32.lt_s select end - local.tee $1 - local.get $0 - i32.load offset=4 + local.tee $0 i32.add i32.store offset=4 - local.get $3 + local.get $4 local.get $2 i32.const 0 i32.lt_s if (result i32) local.get $2 - local.get $4 + local.get $3 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 $2 - local.get $4 + local.get $3 local.get $2 - local.get $4 + local.get $3 i32.lt_s select end - local.tee $0 - local.get $1 + local.tee $1 + local.get $0 local.get $0 local.get $1 - i32.gt_s + i32.lt_s select - local.get $1 + local.get $0 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 $3 + local.get $4 ) (func $~lib/typedarray/Int32Array#slice (param $0 i32) (param $1 i32) (param $2 i32) (result i32) (local $3 i32) @@ -64610,20 +64912,20 @@ i32.const 12 i32.const 4 call $~lib/rt/itcms/__new - local.tee $4 + local.tee $3 i32.store - local.get $4 + local.get $3 local.get $0 i32.load - local.tee $3 + local.tee $4 i32.store - local.get $3 + local.get $4 if - local.get $4 local.get $3 + local.get $4 call $byn-split-outlined-A$~lib/rt/itcms/__link end - local.get $4 + local.get $3 local.get $0 i32.load offset=4 i32.const 4 @@ -64635,7 +64937,7 @@ local.tee $0 i32.add i32.store offset=4 - local.get $4 + local.get $3 local.get $1 i32.const 0 i32.lt_s @@ -64670,7 +64972,7 @@ i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $4 + local.get $3 ) (func $~lib/typedarray/Uint8ClampedArray#subarray (param $0 i32) (param $1 i32) (result i32) (local $2 i32) @@ -64702,20 +65004,20 @@ i32.const 12 i32.const 5 call $~lib/rt/itcms/__new - local.tee $4 + local.tee $3 i32.store - local.get $4 + local.get $3 local.get $0 i32.load - local.tee $3 + local.tee $4 i32.store - local.get $3 + local.get $4 if - local.get $4 local.get $3 + local.get $4 call $byn-split-outlined-A$~lib/rt/itcms/__link end - local.get $4 + local.get $3 local.get $0 i32.load offset=4 i32.const 4 @@ -64727,7 +65029,7 @@ local.tee $0 i32.add i32.store offset=4 - local.get $4 + local.get $3 local.get $1 i32.const 0 i32.lt_s @@ -64762,7 +65064,7 @@ i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $4 + local.get $3 ) (func $~lib/typedarray/Int16Array#subarray (param $0 i32) (param $1 i32) (result i32) (local $2 i32) @@ -64784,37 +65086,37 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $2 + local.tee $3 i32.const 0 i32.store local.get $0 i32.load offset=8 i32.const 1 i32.shr_u - local.set $3 - local.get $2 + local.set $2 + local.get $3 i32.const 12 i32.const 6 call $~lib/rt/itcms/__new - local.tee $4 + local.tee $3 i32.store - local.get $4 + local.get $3 local.get $0 i32.load - local.tee $2 + local.tee $4 i32.store - local.get $2 + local.get $4 if + local.get $3 local.get $4 - local.get $2 call $byn-split-outlined-A$~lib/rt/itcms/__link end - local.get $4 + local.get $3 local.get $0 i32.load offset=4 i32.const 4 - local.get $3 - local.get $3 + local.get $2 + local.get $2 i32.const 4 i32.gt_u select @@ -64823,13 +65125,13 @@ i32.shl i32.add i32.store offset=4 - local.get $4 + local.get $3 local.get $1 i32.const 0 i32.lt_s if (result i32) local.get $1 - local.get $3 + local.get $2 i32.add local.tee $1 i32.const 0 @@ -64839,9 +65141,9 @@ select else local.get $1 - local.get $3 + local.get $2 local.get $1 - local.get $3 + local.get $2 i32.lt_s select end @@ -64860,7 +65162,7 @@ i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $4 + local.get $3 ) (func $~lib/typedarray/Uint16Array#subarray (param $0 i32) (param $1 i32) (result i32) (local $2 i32) @@ -64882,37 +65184,37 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $2 + local.tee $3 i32.const 0 i32.store local.get $0 i32.load offset=8 i32.const 1 i32.shr_u - local.set $3 - local.get $2 + local.set $2 + local.get $3 i32.const 12 i32.const 7 call $~lib/rt/itcms/__new - local.tee $4 + local.tee $3 i32.store - local.get $4 + local.get $3 local.get $0 i32.load - local.tee $2 + local.tee $4 i32.store - local.get $2 + local.get $4 if + local.get $3 local.get $4 - local.get $2 call $byn-split-outlined-A$~lib/rt/itcms/__link end - local.get $4 + local.get $3 local.get $0 i32.load offset=4 i32.const 4 - local.get $3 - local.get $3 + local.get $2 + local.get $2 i32.const 4 i32.gt_u select @@ -64921,13 +65223,13 @@ i32.shl i32.add i32.store offset=4 - local.get $4 + local.get $3 local.get $1 i32.const 0 i32.lt_s if (result i32) local.get $1 - local.get $3 + local.get $2 i32.add local.tee $1 i32.const 0 @@ -64937,9 +65239,9 @@ select else local.get $1 - local.get $3 + local.get $2 local.get $1 - local.get $3 + local.get $2 i32.lt_s select end @@ -64958,7 +65260,7 @@ i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $4 + local.get $3 ) (func $~lib/typedarray/Uint32Array#subarray (param $0 i32) (param $1 i32) (result i32) (local $2 i32) @@ -64980,37 +65282,37 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $2 + local.tee $3 i32.const 0 i32.store local.get $0 i32.load offset=8 i32.const 2 i32.shr_u - local.set $3 - local.get $2 + local.set $2 + local.get $3 i32.const 12 i32.const 9 call $~lib/rt/itcms/__new - local.tee $4 + local.tee $3 i32.store - local.get $4 + local.get $3 local.get $0 i32.load - local.tee $2 + local.tee $4 i32.store - local.get $2 + local.get $4 if + local.get $3 local.get $4 - local.get $2 call $byn-split-outlined-A$~lib/rt/itcms/__link end - local.get $4 + local.get $3 local.get $0 i32.load offset=4 i32.const 4 - local.get $3 - local.get $3 + local.get $2 + local.get $2 i32.const 4 i32.gt_u select @@ -65019,13 +65321,13 @@ i32.shl i32.add i32.store offset=4 - local.get $4 + local.get $3 local.get $1 i32.const 0 i32.lt_s if (result i32) local.get $1 - local.get $3 + local.get $2 i32.add local.tee $1 i32.const 0 @@ -65035,9 +65337,9 @@ select else local.get $1 - local.get $3 + local.get $2 local.get $1 - local.get $3 + local.get $2 i32.lt_s select end @@ -65056,7 +65358,7 @@ i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $4 + local.get $3 ) (func $~lib/typedarray/Int64Array#subarray (param $0 i32) (param $1 i32) (result i32) (local $2 i32) @@ -65078,37 +65380,37 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $2 + local.tee $3 i32.const 0 i32.store local.get $0 i32.load offset=8 i32.const 3 i32.shr_u - local.set $3 - local.get $2 + local.set $2 + local.get $3 i32.const 12 i32.const 10 call $~lib/rt/itcms/__new - local.tee $4 + local.tee $3 i32.store - local.get $4 + local.get $3 local.get $0 i32.load - local.tee $2 + local.tee $4 i32.store - local.get $2 + local.get $4 if + local.get $3 local.get $4 - local.get $2 call $byn-split-outlined-A$~lib/rt/itcms/__link end - local.get $4 + local.get $3 local.get $0 i32.load offset=4 i32.const 4 - local.get $3 - local.get $3 + local.get $2 + local.get $2 i32.const 4 i32.gt_u select @@ -65117,13 +65419,13 @@ i32.shl i32.add i32.store offset=4 - local.get $4 + local.get $3 local.get $1 i32.const 0 i32.lt_s if (result i32) local.get $1 - local.get $3 + local.get $2 i32.add local.tee $1 i32.const 0 @@ -65133,9 +65435,9 @@ select else local.get $1 - local.get $3 + local.get $2 local.get $1 - local.get $3 + local.get $2 i32.lt_s select end @@ -65154,7 +65456,7 @@ i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $4 + local.get $3 ) (func $~lib/typedarray/Uint64Array#subarray (param $0 i32) (param $1 i32) (result i32) (local $2 i32) @@ -65176,37 +65478,37 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $2 + local.tee $3 i32.const 0 i32.store local.get $0 i32.load offset=8 i32.const 3 i32.shr_u - local.set $3 - local.get $2 + local.set $2 + local.get $3 i32.const 12 i32.const 11 call $~lib/rt/itcms/__new - local.tee $4 + local.tee $3 i32.store - local.get $4 + local.get $3 local.get $0 i32.load - local.tee $2 + local.tee $4 i32.store - local.get $2 + local.get $4 if + local.get $3 local.get $4 - local.get $2 call $byn-split-outlined-A$~lib/rt/itcms/__link end - local.get $4 + local.get $3 local.get $0 i32.load offset=4 i32.const 4 - local.get $3 - local.get $3 + local.get $2 + local.get $2 i32.const 4 i32.gt_u select @@ -65215,13 +65517,13 @@ i32.shl i32.add i32.store offset=4 - local.get $4 + local.get $3 local.get $1 i32.const 0 i32.lt_s if (result i32) local.get $1 - local.get $3 + local.get $2 i32.add local.tee $1 i32.const 0 @@ -65231,9 +65533,9 @@ select else local.get $1 - local.get $3 + local.get $2 local.get $1 - local.get $3 + local.get $2 i32.lt_s select end @@ -65252,7 +65554,7 @@ i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $4 + local.get $3 ) (func $~lib/typedarray/Float32Array#subarray (param $0 i32) (param $1 i32) (result i32) (local $2 i32) @@ -65274,37 +65576,37 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $2 + local.tee $3 i32.const 0 i32.store local.get $0 i32.load offset=8 i32.const 2 i32.shr_u - local.set $3 - local.get $2 + local.set $2 + local.get $3 i32.const 12 i32.const 12 call $~lib/rt/itcms/__new - local.tee $4 + local.tee $3 i32.store - local.get $4 + local.get $3 local.get $0 i32.load - local.tee $2 + local.tee $4 i32.store - local.get $2 + local.get $4 if + local.get $3 local.get $4 - local.get $2 call $byn-split-outlined-A$~lib/rt/itcms/__link end - local.get $4 + local.get $3 local.get $0 i32.load offset=4 i32.const 4 - local.get $3 - local.get $3 + local.get $2 + local.get $2 i32.const 4 i32.gt_u select @@ -65313,13 +65615,13 @@ i32.shl i32.add i32.store offset=4 - local.get $4 + local.get $3 local.get $1 i32.const 0 i32.lt_s if (result i32) local.get $1 - local.get $3 + local.get $2 i32.add local.tee $1 i32.const 0 @@ -65329,9 +65631,9 @@ select else local.get $1 - local.get $3 + local.get $2 local.get $1 - local.get $3 + local.get $2 i32.lt_s select end @@ -65350,7 +65652,7 @@ i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $4 + local.get $3 ) (func $~lib/util/number/itoa32 (param $0 i32) (result i32) (local $1 i32) @@ -65730,22 +66032,22 @@ call $~lib/util/number/dtoa_core i32.const 1 i32.shl - local.set $2 + local.set $1 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 $2 i32.store - local.get $1 - i32.const 9808 local.get $2 + i32.const 9808 + local.get $1 call $~lib/memory/memory.copy global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $1 + local.get $2 ) (func $~lib/arraybuffer/ArrayBuffer#constructor (param $0 i32) (result i32) global.get $~lib/memory/__stack_pointer diff --git a/tests/compiler/std/uri.optimized.wat b/tests/compiler/std/uri.optimized.wat index 26d3543049..b47cc855eb 100644 --- a/tests/compiler/std/uri.optimized.wat +++ b/tests/compiler/std/uri.optimized.wat @@ -714,12 +714,12 @@ (local $0 i32) (local $1 i32) memory.size - local.tee $0 + local.tee $1 i32.const 0 i32.le_s if (result i32) i32.const 1 - local.get $0 + local.get $1 i32.sub memory.grow i32.const 0 @@ -737,11 +737,11 @@ i32.const 0 i32.store loop $for-loop|0 - local.get $1 + local.get $0 i32.const 23 i32.lt_u if - local.get $1 + local.get $0 i32.const 2 i32.shl i32.const 20752 @@ -749,14 +749,14 @@ i32.const 0 i32.store offset=4 i32.const 0 - local.set $0 + local.set $1 loop $for-loop|1 - local.get $0 + local.get $1 i32.const 16 i32.lt_u if - local.get $0 local.get $1 + local.get $0 i32.const 4 i32.shl i32.add @@ -766,17 +766,17 @@ i32.add i32.const 0 i32.store offset=96 - local.get $0 + local.get $1 i32.const 1 i32.add - local.set $0 + local.set $1 br $for-loop|1 end end - local.get $1 + local.get $0 i32.const 1 i32.add - local.set $1 + local.set $0 br $for-loop|0 end end @@ -2836,7 +2836,7 @@ local.get $6 i32.const 65536 i32.lt_u - if (result i32) + if local.get $3 local.get $7 i32.add @@ -2867,9 +2867,6 @@ i32.shl i32.or i32.store offset=2 - local.get $7 - i32.const 6 - i32.add else local.get $3 local.get $7 @@ -2901,16 +2898,16 @@ i32.shl i32.or i32.store offset=2 - local.get $3 local.get $7 i32.const 6 i32.add - local.tee $5 - i32.add local.tee $7 + local.get $3 + i32.add + local.tee $5 i32.const 37 i32.store16 - local.get $7 + local.get $5 local.get $6 i32.const 12 i32.shr_u @@ -2918,13 +2915,13 @@ i32.and i32.const 128 i32.or - local.tee $7 + local.tee $5 i32.const 4 i32.shr_u i32.const 1676 i32.add i32.load8_u - local.get $7 + local.get $5 i32.const 15 i32.and i32.const 1676 @@ -2934,10 +2931,10 @@ i32.shl i32.or i32.store offset=2 - local.get $5 - i32.const 6 - i32.add end + local.get $7 + i32.const 6 + i32.add local.tee $7 local.get $3 i32.add @@ -5171,19 +5168,19 @@ local.get $0 i32.const 20 i32.sub - local.tee $0 + local.tee $1 i32.load offset=4 i32.const 3 i32.and i32.eq if global.get $~lib/rt/itcms/iter - local.get $0 + local.get $1 i32.eq if - local.get $0 + local.get $1 i32.load offset=8 - local.tee $1 + local.tee $0 i32.eqz if i32.const 0 @@ -5193,22 +5190,22 @@ call $~lib/builtins/abort unreachable end - local.get $1 + local.get $0 global.set $~lib/rt/itcms/iter end block $__inlined_func$~lib/rt/itcms/Object#unlink - local.get $0 + local.get $1 i32.load offset=4 i32.const -4 i32.and - local.tee $1 + local.tee $0 i32.eqz if i32.const 0 - local.get $0 + local.get $1 i32.const 20748 i32.lt_u - local.get $0 + local.get $1 i32.load offset=8 select i32.eqz @@ -5222,7 +5219,7 @@ end br $__inlined_func$~lib/rt/itcms/Object#unlink end - local.get $0 + local.get $1 i32.load offset=8 local.tee $2 i32.eqz @@ -5234,7 +5231,7 @@ call $~lib/builtins/abort unreachable end - local.get $1 + local.get $0 local.get $2 i32.store offset=8 local.get $2 @@ -5242,15 +5239,15 @@ i32.load offset=4 i32.const 3 i32.and - local.get $1 + local.get $0 i32.or i32.store offset=4 end global.get $~lib/rt/itcms/toSpace local.set $2 - local.get $0 + local.get $1 i32.load offset=12 - local.tee $1 + local.tee $0 i32.const 1 i32.le_u if (result i32) @@ -5258,7 +5255,7 @@ else i32.const 4336 i32.load - local.get $1 + local.get $0 i32.lt_u if i32.const 1376 @@ -5268,7 +5265,7 @@ call $~lib/builtins/abort unreachable end - local.get $1 + local.get $0 i32.const 3 i32.shl i32.const 4340 @@ -5286,25 +5283,25 @@ local.set $3 local.get $2 i32.load offset=8 - local.set $1 - local.get $0 + local.set $0 + local.get $1 local.get $2 local.get $3 i32.or i32.store offset=4 - local.get $0 local.get $1 + local.get $0 i32.store offset=8 - local.get $1 - local.get $1 + local.get $0 + local.get $0 i32.load offset=4 i32.const 3 i32.and - local.get $0 + local.get $1 i32.or i32.store offset=4 local.get $2 - local.get $0 + local.get $1 i32.store offset=8 global.get $~lib/rt/itcms/visitCount i32.const 1 diff --git a/tests/compiler/super-inline.optimized.wat b/tests/compiler/super-inline.optimized.wat index 3244d03beb..89fc32701f 100644 --- a/tests/compiler/super-inline.optimized.wat +++ b/tests/compiler/super-inline.optimized.wat @@ -607,12 +607,12 @@ (local $0 i32) (local $1 i32) memory.size - local.tee $0 + local.tee $1 i32.const 0 i32.le_s if (result i32) i32.const 1 - local.get $0 + local.get $1 i32.sub memory.grow i32.const 0 @@ -630,11 +630,11 @@ i32.const 0 i32.store loop $for-loop|0 - local.get $1 + local.get $0 i32.const 23 i32.lt_u if - local.get $1 + local.get $0 i32.const 2 i32.shl i32.const 17872 @@ -642,14 +642,14 @@ i32.const 0 i32.store offset=4 i32.const 0 - local.set $0 + local.set $1 loop $for-loop|1 - local.get $0 + local.get $1 i32.const 16 i32.lt_u if - local.get $0 local.get $1 + local.get $0 i32.const 4 i32.shl i32.add @@ -659,17 +659,17 @@ i32.add i32.const 0 i32.store offset=96 - local.get $0 + local.get $1 i32.const 1 i32.add - local.set $0 + local.set $1 br $for-loop|1 end end - local.get $1 + local.get $0 i32.const 1 i32.add - local.set $1 + local.set $0 br $for-loop|0 end end @@ -1412,19 +1412,19 @@ local.get $0 i32.const 20 i32.sub - local.tee $0 + local.tee $1 i32.load offset=4 i32.const 3 i32.and i32.eq if global.get $~lib/rt/itcms/iter - local.get $0 + local.get $1 i32.eq if - local.get $0 + local.get $1 i32.load offset=8 - local.tee $1 + local.tee $0 i32.eqz if i32.const 0 @@ -1434,22 +1434,22 @@ call $~lib/builtins/abort unreachable end - local.get $1 + local.get $0 global.set $~lib/rt/itcms/iter end block $__inlined_func$~lib/rt/itcms/Object#unlink - local.get $0 + local.get $1 i32.load offset=4 i32.const -4 i32.and - local.tee $1 + local.tee $0 i32.eqz if i32.const 0 - local.get $0 + local.get $1 i32.const 17868 i32.lt_u - local.get $0 + local.get $1 i32.load offset=8 select i32.eqz @@ -1463,7 +1463,7 @@ end br $__inlined_func$~lib/rt/itcms/Object#unlink end - local.get $0 + local.get $1 i32.load offset=8 local.tee $2 i32.eqz @@ -1475,7 +1475,7 @@ call $~lib/builtins/abort unreachable end - local.get $1 + local.get $0 local.get $2 i32.store offset=8 local.get $2 @@ -1483,15 +1483,15 @@ i32.load offset=4 i32.const 3 i32.and - local.get $1 + local.get $0 i32.or i32.store offset=4 end global.get $~lib/rt/itcms/toSpace local.set $2 - local.get $0 + local.get $1 i32.load offset=12 - local.tee $1 + local.tee $0 i32.const 1 i32.le_u if (result i32) @@ -1499,7 +1499,7 @@ else i32.const 1440 i32.load - local.get $1 + local.get $0 i32.lt_u if i32.const 1248 @@ -1509,7 +1509,7 @@ call $~lib/builtins/abort unreachable end - local.get $1 + local.get $0 i32.const 3 i32.shl i32.const 1444 @@ -1527,25 +1527,25 @@ local.set $3 local.get $2 i32.load offset=8 - local.set $1 - local.get $0 + local.set $0 + local.get $1 local.get $2 local.get $3 i32.or i32.store offset=4 - local.get $0 local.get $1 + local.get $0 i32.store offset=8 - local.get $1 - local.get $1 + local.get $0 + local.get $0 i32.load offset=4 i32.const 3 i32.and - local.get $0 + local.get $1 i32.or i32.store offset=4 local.get $2 - local.get $0 + local.get $1 i32.store offset=8 global.get $~lib/rt/itcms/visitCount i32.const 1 diff --git a/tests/compiler/templateliteral.optimized.wat b/tests/compiler/templateliteral.optimized.wat index 274cd08f73..9ba2ab6fb4 100644 --- a/tests/compiler/templateliteral.optimized.wat +++ b/tests/compiler/templateliteral.optimized.wat @@ -949,12 +949,12 @@ (local $0 i32) (local $1 i32) memory.size - local.tee $0 + local.tee $1 i32.const 0 i32.le_s if (result i32) i32.const 1 - local.get $0 + local.get $1 i32.sub memory.grow i32.const 0 @@ -972,11 +972,11 @@ i32.const 0 i32.store loop $for-loop|0 - local.get $1 + local.get $0 i32.const 23 i32.lt_u if - local.get $1 + local.get $0 i32.const 2 i32.shl i32.const 22128 @@ -984,14 +984,14 @@ i32.const 0 i32.store offset=4 i32.const 0 - local.set $0 + local.set $1 loop $for-loop|1 - local.get $0 + local.get $1 i32.const 16 i32.lt_u if - local.get $0 local.get $1 + local.get $0 i32.const 4 i32.shl i32.add @@ -1001,17 +1001,17 @@ i32.add i32.const 0 i32.store offset=96 - local.get $0 + local.get $1 i32.const 1 i32.add - local.set $0 + local.set $1 br $for-loop|1 end end - local.get $1 + local.get $0 i32.const 1 i32.add - local.set $1 + local.set $0 br $for-loop|0 end end @@ -3861,8 +3861,6 @@ select i32.store16 offset=4 local.get $1 - i32.const 2 - i32.add else local.get $0 i32.const 4 @@ -3962,9 +3960,9 @@ local.get $0 local.get $1 i32.add - i32.const 2 - i32.add end + i32.const 2 + i32.add end end end @@ -4792,18 +4790,18 @@ end local.get $2 call $templateliteral/Ref#toString - local.set $3 + local.set $1 global.get $~lib/memory/__stack_pointer - local.get $3 + local.get $1 i32.store offset=16 local.get $0 call $templateliteral/Ref#toString - local.set $1 + local.set $3 global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=20 local.get $3 + i32.store offset=20 local.get $1 + local.get $3 call $~lib/string/String#concat local.set $1 global.get $~lib/memory/__stack_pointer diff --git a/tests/compiler/throw.optimized.wat b/tests/compiler/throw.optimized.wat index 916ccc9c2e..00cea386d3 100644 --- a/tests/compiler/throw.optimized.wat +++ b/tests/compiler/throw.optimized.wat @@ -963,6 +963,7 @@ (func $~start (local $0 i32) (local $1 i32) + (local $2 i32) block $__inlined_func$start:throw global.get $~lib/memory/__stack_pointer i32.const 12 @@ -975,12 +976,13 @@ br_if $folding-inner0 global.get $~lib/memory/__stack_pointer local.tee $1 + local.tee $2 i64.const 0 i64.store - local.get $1 + local.get $2 i32.const 0 i32.store offset=8 - local.get $1 + local.get $2 i32.const 1056 i32.store local.get $1 @@ -1111,19 +1113,19 @@ local.get $0 i32.const 20 i32.sub - local.tee $0 + local.tee $1 i32.load offset=4 i32.const 3 i32.and i32.eq if global.get $~lib/rt/itcms/iter - local.get $0 + local.get $1 i32.eq if - local.get $0 + local.get $1 i32.load offset=8 - local.tee $1 + local.tee $0 i32.eqz if i32.const 0 @@ -1133,22 +1135,22 @@ call $~lib/builtins/abort unreachable end - local.get $1 + local.get $0 global.set $~lib/rt/itcms/iter end block $__inlined_func$~lib/rt/itcms/Object#unlink - local.get $0 + local.get $1 i32.load offset=4 i32.const -4 i32.and - local.tee $1 + local.tee $0 i32.eqz if i32.const 0 - local.get $0 + local.get $1 i32.const 18140 i32.lt_u - local.get $0 + local.get $1 i32.load offset=8 select i32.eqz @@ -1162,7 +1164,7 @@ end br $__inlined_func$~lib/rt/itcms/Object#unlink end - local.get $0 + local.get $1 i32.load offset=8 local.tee $2 i32.eqz @@ -1174,7 +1176,7 @@ call $~lib/builtins/abort unreachable end - local.get $1 + local.get $0 local.get $2 i32.store offset=8 local.get $2 @@ -1182,15 +1184,15 @@ i32.load offset=4 i32.const 3 i32.and - local.get $1 + local.get $0 i32.or i32.store offset=4 end global.get $~lib/rt/itcms/toSpace local.set $2 - local.get $0 + local.get $1 i32.load offset=12 - local.tee $1 + local.tee $0 i32.const 1 i32.le_u if (result i32) @@ -1198,7 +1200,7 @@ else i32.const 1728 i32.load - local.get $1 + local.get $0 i32.lt_u if i32.const 1488 @@ -1208,7 +1210,7 @@ call $~lib/builtins/abort unreachable end - local.get $1 + local.get $0 i32.const 3 i32.shl i32.const 1732 @@ -1226,25 +1228,25 @@ local.set $3 local.get $2 i32.load offset=8 - local.set $1 - local.get $0 + local.set $0 + local.get $1 local.get $2 local.get $3 i32.or i32.store offset=4 - local.get $0 local.get $1 + local.get $0 i32.store offset=8 - local.get $1 - local.get $1 + local.get $0 + local.get $0 i32.load offset=4 i32.const 3 i32.and - local.get $0 + local.get $1 i32.or i32.store offset=4 local.get $2 - local.get $0 + local.get $1 i32.store offset=8 global.get $~lib/rt/itcms/visitCount i32.const 1 diff --git a/tests/compiler/typeof.optimized.wat b/tests/compiler/typeof.optimized.wat index 657bbe6d3a..d5176a0ff9 100644 --- a/tests/compiler/typeof.optimized.wat +++ b/tests/compiler/typeof.optimized.wat @@ -739,12 +739,12 @@ (local $0 i32) (local $1 i32) memory.size - local.tee $0 + local.tee $1 i32.const 0 i32.le_s if (result i32) i32.const 1 - local.get $0 + local.get $1 i32.sub memory.grow i32.const 0 @@ -762,11 +762,11 @@ i32.const 0 i32.store loop $for-loop|0 - local.get $1 + local.get $0 i32.const 23 i32.lt_u if - local.get $1 + local.get $0 i32.const 2 i32.shl i32.const 18224 @@ -774,14 +774,14 @@ i32.const 0 i32.store offset=4 i32.const 0 - local.set $0 + local.set $1 loop $for-loop|1 - local.get $0 + local.get $1 i32.const 16 i32.lt_u if - local.get $0 local.get $1 + local.get $0 i32.const 4 i32.shl i32.add @@ -791,17 +791,17 @@ i32.add i32.const 0 i32.store offset=96 - local.get $0 + local.get $1 i32.const 1 i32.add - local.set $0 + local.set $1 br $for-loop|1 end end - local.get $1 + local.get $0 i32.const 1 i32.add - local.set $1 + local.set $0 br $for-loop|0 end end @@ -1585,7 +1585,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 global.get $~lib/rt/itcms/total @@ -1639,7 +1639,7 @@ call $~lib/rt/tlsf/initialize end global.get $~lib/rt/tlsf/ROOT - local.tee $3 + local.tee $2 call $~lib/rt/tlsf/searchBlock local.tee $0 i32.eqz @@ -1647,7 +1647,7 @@ memory.size local.tee $0 i32.const 4 - local.get $3 + local.get $2 i32.load offset=1568 local.get $0 i32.const 16 @@ -1662,16 +1662,16 @@ i32.and i32.const 16 i32.shr_u - local.tee $1 + local.tee $3 local.get $0 - local.get $1 + local.get $3 i32.gt_s select memory.grow i32.const 0 i32.lt_s if - local.get $1 + local.get $3 memory.grow i32.const 0 i32.lt_s @@ -1679,7 +1679,7 @@ unreachable end end - local.get $3 + local.get $2 local.get $0 i32.const 16 i32.shl @@ -1687,7 +1687,7 @@ i32.const 16 i32.shl call $~lib/rt/tlsf/addMemory - local.get $3 + local.get $2 call $~lib/rt/tlsf/searchBlock local.tee $0 i32.eqz @@ -1714,22 +1714,22 @@ call $~lib/builtins/abort unreachable end - local.get $3 + local.get $2 local.get $0 call $~lib/rt/tlsf/removeBlock local.get $0 i32.load - local.tee $4 + local.tee $3 i32.const -4 i32.and i32.const 28 i32.sub - local.tee $1 + local.tee $4 i32.const 16 i32.ge_u if local.get $0 - local.get $4 + local.get $3 i32.const 2 i32.and i32.const 28 @@ -1738,19 +1738,19 @@ local.get $0 i32.const 32 i32.add - local.tee $4 - local.get $1 + local.tee $3 + local.get $4 i32.const 4 i32.sub i32.const 1 i32.or i32.store + local.get $2 local.get $3 - local.get $4 call $~lib/rt/tlsf/insertBlock else local.get $0 - local.get $4 + local.get $3 i32.const -2 i32.and i32.store @@ -1762,8 +1762,8 @@ i32.const -4 i32.and i32.add - local.tee $1 - local.get $1 + local.tee $2 + local.get $2 i32.load i32.const -3 i32.and @@ -1776,11 +1776,11 @@ i32.const 0 i32.store offset=16 global.get $~lib/rt/itcms/fromSpace - local.tee $1 + local.tee $2 i32.load offset=8 local.set $3 local.get $0 - local.get $1 + local.get $2 global.get $~lib/rt/itcms/white i32.or i32.store offset=4 @@ -1795,7 +1795,7 @@ local.get $0 i32.or i32.store offset=4 - local.get $1 + local.get $2 local.get $0 i32.store offset=8 global.get $~lib/rt/itcms/total @@ -1807,7 +1807,7 @@ i32.add i32.add global.set $~lib/rt/itcms/total - local.get $2 + local.get $1 local.get $0 i32.const 20 i32.add @@ -1934,19 +1934,19 @@ local.get $0 i32.const 20 i32.sub - local.tee $0 + local.tee $1 i32.load offset=4 i32.const 3 i32.and i32.eq if global.get $~lib/rt/itcms/iter - local.get $0 + local.get $1 i32.eq if - local.get $0 + local.get $1 i32.load offset=8 - local.tee $1 + local.tee $0 i32.eqz if i32.const 0 @@ -1956,22 +1956,22 @@ call $~lib/builtins/abort unreachable end - local.get $1 + local.get $0 global.set $~lib/rt/itcms/iter end block $__inlined_func$~lib/rt/itcms/Object#unlink - local.get $0 + local.get $1 i32.load offset=4 i32.const -4 i32.and - local.tee $1 + local.tee $0 i32.eqz if i32.const 0 - local.get $0 + local.get $1 i32.const 18220 i32.lt_u - local.get $0 + local.get $1 i32.load offset=8 select i32.eqz @@ -1985,7 +1985,7 @@ end br $__inlined_func$~lib/rt/itcms/Object#unlink end - local.get $0 + local.get $1 i32.load offset=8 local.tee $2 i32.eqz @@ -1997,7 +1997,7 @@ call $~lib/builtins/abort unreachable end - local.get $1 + local.get $0 local.get $2 i32.store offset=8 local.get $2 @@ -2005,15 +2005,15 @@ i32.load offset=4 i32.const 3 i32.and - local.get $1 + local.get $0 i32.or i32.store offset=4 end global.get $~lib/rt/itcms/toSpace local.set $2 - local.get $0 + local.get $1 i32.load offset=12 - local.tee $1 + local.tee $0 i32.const 1 i32.le_u if (result i32) @@ -2021,7 +2021,7 @@ else i32.const 1792 i32.load - local.get $1 + local.get $0 i32.lt_u if i32.const 1552 @@ -2031,7 +2031,7 @@ call $~lib/builtins/abort unreachable end - local.get $1 + local.get $0 i32.const 3 i32.shl i32.const 1796 @@ -2049,25 +2049,25 @@ local.set $3 local.get $2 i32.load offset=8 - local.set $1 - local.get $0 + local.set $0 + local.get $1 local.get $2 local.get $3 i32.or i32.store offset=4 - local.get $0 local.get $1 + local.get $0 i32.store offset=8 - local.get $1 - local.get $1 + local.get $0 + local.get $0 i32.load offset=4 i32.const 3 i32.and - local.get $0 + local.get $1 i32.or i32.store offset=4 local.get $2 - local.get $0 + local.get $1 i32.store offset=8 global.get $~lib/rt/itcms/visitCount i32.const 1 diff --git a/tests/compiler/wasi/abort.untouched.wat b/tests/compiler/wasi/abort.untouched.wat index f8c72e9010..4c29f23363 100644 --- a/tests/compiler/wasi/abort.untouched.wat +++ b/tests/compiler/wasi/abort.untouched.wat @@ -77,6 +77,16 @@ i32.const 1 i32.add local.set $6 + local.get $3 + local.get $8 + i32.eqz + i32.and + if + local.get $6 + local.get $2 + i32.sub + return + end else local.get $8 i32.const 2048 @@ -210,7 +220,7 @@ if i32.const 32 i32.const 96 - i32.const 739 + i32.const 741 i32.const 49 call $~lib/wasi/index/abort unreachable diff --git a/tests/compiler/wasi/seed.optimized.wat b/tests/compiler/wasi/seed.optimized.wat index 848be996bd..07eb13b218 100644 --- a/tests/compiler/wasi/seed.optimized.wat +++ b/tests/compiler/wasi/seed.optimized.wat @@ -12,8 +12,7 @@ (export "_start" (func $~start)) (func $wasi/seed/test (result f64) (local $0 i64) - (local $1 i32) - (local $2 i64) + (local $1 i64) global.get $~lib/math/random_seeded i32.eqz if @@ -41,67 +40,67 @@ i64.const -49064778989728563 i64.mul local.tee $0 - local.get $0 i64.const 33 i64.shr_u + local.get $0 i64.xor i64.const -4265267296055464877 i64.mul local.tee $0 - local.get $0 i64.const 33 i64.shr_u + local.get $0 i64.xor global.set $~lib/math/random_state0_64 global.get $~lib/math/random_state0_64 i64.const -1 i64.xor local.tee $0 - local.get $0 i64.const 33 i64.shr_u + local.get $0 i64.xor i64.const -49064778989728563 i64.mul local.tee $0 - local.get $0 i64.const 33 i64.shr_u + local.get $0 i64.xor i64.const -4265267296055464877 i64.mul local.tee $0 - local.get $0 i64.const 33 i64.shr_u + local.get $0 i64.xor global.set $~lib/math/random_state1_64 i32.const 1 global.set $~lib/math/random_seeded end global.get $~lib/math/random_state0_64 - local.set $0 + local.set $1 global.get $~lib/math/random_state1_64 - local.tee $2 + local.tee $0 global.set $~lib/math/random_state0_64 - local.get $2 - local.get $0 + local.get $1 i64.const 23 i64.shl - local.get $0 + local.get $1 i64.xor - local.tee $0 - local.get $0 + local.tee $1 i64.const 17 i64.shr_u + local.get $1 i64.xor + local.get $0 i64.xor - local.get $2 + local.get $0 i64.const 26 i64.shr_u i64.xor global.set $~lib/math/random_state1_64 - local.get $2 + local.get $0 i64.const 12 i64.shr_u i64.const 4607182418800017408 diff --git a/tests/compiler/wasi/trace.optimized.wat b/tests/compiler/wasi/trace.optimized.wat index 150dbd3589..ca32daa0b6 100644 --- a/tests/compiler/wasi/trace.optimized.wat +++ b/tests/compiler/wasi/trace.optimized.wat @@ -959,12 +959,12 @@ (local $0 i32) (local $1 i32) memory.size - local.tee $0 + local.tee $1 i32.const 0 i32.le_s if (result i32) i32.const 1 - local.get $0 + local.get $1 i32.sub memory.grow i32.const 0 @@ -982,11 +982,11 @@ i32.const 0 i32.store loop $for-loop|0 - local.get $1 + local.get $0 i32.const 23 i32.lt_u if - local.get $1 + local.get $0 i32.const 2 i32.shl i32.const 19024 @@ -994,14 +994,14 @@ i32.const 0 i32.store offset=4 i32.const 0 - local.set $0 + local.set $1 loop $for-loop|1 - local.get $0 + local.get $1 i32.const 16 i32.lt_u if - local.get $0 local.get $1 + local.get $0 i32.const 4 i32.shl i32.add @@ -1011,17 +1011,17 @@ i32.add i32.const 0 i32.store offset=96 - local.get $0 + local.get $1 i32.const 1 i32.add - local.set $0 + local.set $1 br $for-loop|1 end end - local.get $1 + local.get $0 i32.const 1 i32.add - local.set $1 + local.set $0 br $for-loop|0 end end @@ -2785,8 +2785,6 @@ select i32.store16 offset=4 local.get $1 - i32.const 2 - i32.add else local.get $0 i32.const 4 @@ -2886,9 +2884,9 @@ local.get $0 local.get $1 i32.add - i32.const 2 - i32.add end + i32.const 2 + i32.add end end end diff --git a/tests/compiler/wasi/trace.untouched.wat b/tests/compiler/wasi/trace.untouched.wat index bf82ac0d78..d18210b2a4 100644 --- a/tests/compiler/wasi/trace.untouched.wat +++ b/tests/compiler/wasi/trace.untouched.wat @@ -206,6 +206,16 @@ i32.const 1 i32.add local.set $6 + local.get $3 + local.get $8 + i32.eqz + i32.and + if + local.get $6 + local.get $2 + i32.sub + return + end else local.get $8 i32.const 2048 @@ -339,7 +349,7 @@ if i32.const 80 i32.const 144 - i32.const 739 + i32.const 741 i32.const 49 call $~lib/wasi/index/abort unreachable diff --git a/tests/compiler/while.optimized.wat b/tests/compiler/while.optimized.wat index 778cd42c77..34acde17ff 100644 --- a/tests/compiler/while.optimized.wat +++ b/tests/compiler/while.optimized.wat @@ -595,12 +595,12 @@ (local $0 i32) (local $1 i32) memory.size - local.tee $0 + local.tee $1 i32.const 0 i32.le_s if (result i32) i32.const 1 - local.get $0 + local.get $1 i32.sub memory.grow i32.const 0 @@ -618,11 +618,11 @@ i32.const 0 i32.store loop $for-loop|0 - local.get $1 + local.get $0 i32.const 23 i32.lt_u if - local.get $1 + local.get $0 i32.const 2 i32.shl i32.const 17920 @@ -630,14 +630,14 @@ i32.const 0 i32.store offset=4 i32.const 0 - local.set $0 + local.set $1 loop $for-loop|1 - local.get $0 + local.get $1 i32.const 16 i32.lt_u if - local.get $0 local.get $1 + local.get $0 i32.const 4 i32.shl i32.add @@ -647,17 +647,17 @@ i32.add i32.const 0 i32.store offset=96 - local.get $0 + local.get $1 i32.const 1 i32.add - local.set $0 + local.set $1 br $for-loop|1 end end - local.get $1 + local.get $0 i32.const 1 i32.add - local.set $1 + local.set $0 br $for-loop|0 end end @@ -997,31 +997,23 @@ (local $1 i32) (local $2 i32) (local $3 i32) - (local $4 i32) - (local $5 i32) - (local $6 i32) - (local $7 i32) - (local $8 i32) - (local $9 i32) - (local $10 i32) - (local $11 i32) i32.const 10 - local.set $0 + local.set $3 loop $while-continue|0 - local.get $0 + local.get $3 if - local.get $0 + local.get $3 i32.const 1 i32.sub - local.set $0 - local.get $10 + local.set $3 + local.get $1 i32.const 1 i32.add - local.set $10 + local.set $1 br $while-continue|0 end end - local.get $0 + local.get $3 if i32.const 0 i32.const 1056 @@ -1030,7 +1022,7 @@ call $~lib/builtins/abort unreachable end - local.get $10 + local.get $1 i32.const 10 i32.ne if @@ -1042,33 +1034,35 @@ unreachable end i32.const 10 - local.set $0 + local.set $3 + i32.const 0 + local.set $1 loop $while-continue|01 - local.get $0 + local.get $3 if - local.get $0 + local.get $3 i32.const 1 i32.sub - local.set $0 - local.get $1 + local.set $3 + local.get $2 i32.const 1 i32.add - local.set $1 + local.set $2 loop $while-continue|1 - local.get $0 + local.get $3 if - local.get $0 + local.get $3 i32.const 1 i32.sub - local.set $0 - local.get $11 + local.set $3 + local.get $1 i32.const 1 i32.add - local.set $11 + local.set $1 br $while-continue|1 end end - local.get $0 + local.get $3 if i32.const 0 i32.const 1056 @@ -1077,7 +1071,7 @@ call $~lib/builtins/abort unreachable end - local.get $11 + local.get $1 i32.const 9 i32.ne if @@ -1091,7 +1085,7 @@ br $while-continue|01 end end - local.get $0 + local.get $3 if i32.const 0 i32.const 1056 @@ -1100,7 +1094,7 @@ call $~lib/builtins/abort unreachable end - local.get $1 + local.get $2 i32.const 1 i32.ne if @@ -1111,7 +1105,7 @@ call $~lib/builtins/abort unreachable end - local.get $11 + local.get $1 i32.const 9 i32.ne if @@ -1123,25 +1117,27 @@ unreachable end i32.const 1 - local.set $0 + local.set $1 + i32.const 0 + local.set $2 loop $while-continue|03 - 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 (result i32) - local.get $9 + local.get $2 i32.const 1 i32.add - local.tee $9 + local.tee $2 else i32.const 0 end br_if $while-continue|03 end - local.get $0 + local.get $1 i32.const -1 i32.ne if @@ -1152,7 +1148,7 @@ call $~lib/builtins/abort unreachable end - local.get $9 + local.get $2 i32.const 1 i32.ne if @@ -1163,16 +1159,18 @@ call $~lib/builtins/abort unreachable end + i32.const 0 + local.set $3 loop $while-continue|05 - local.get $8 + local.get $3 i32.const 1 i32.add - local.tee $8 + local.tee $3 i32.const 10 i32.ne br_if $while-continue|05 end - local.get $8 + local.get $3 i32.const 10 i32.ne if @@ -1183,16 +1181,18 @@ call $~lib/builtins/abort unreachable end + i32.const 0 + local.set $3 loop $while-continue|07 - local.get $7 + local.get $3 i32.const 1 i32.add - local.tee $7 + local.tee $3 i32.const 10 i32.ne br_if $while-continue|07 end - local.get $7 + local.get $3 i32.const 10 i32.ne if @@ -1204,18 +1204,18 @@ unreachable end i32.const 10 - local.set $0 + local.set $3 loop $while-continue|013 - local.get $0 + local.get $3 if - local.get $0 + local.get $3 i32.const 1 i32.sub - local.set $0 + local.set $3 br $while-continue|013 end end - local.get $0 + local.get $3 if i32.const 0 i32.const 1056 @@ -1225,30 +1225,30 @@ unreachable end i32.const 10 - local.set $0 + local.set $3 i32.const 10 - local.set $11 + local.set $1 loop $while-continue|015 - local.get $0 + local.get $3 if loop $while-continue|117 - local.get $11 + local.get $1 if - local.get $11 + local.get $1 i32.const 1 i32.sub - local.set $11 + local.set $1 br $while-continue|117 end end - local.get $0 + local.get $3 i32.const 1 i32.sub - local.set $0 + local.set $3 br $while-continue|015 end end - local.get $0 + local.get $3 if i32.const 0 i32.const 1056 @@ -1257,7 +1257,7 @@ call $~lib/builtins/abort unreachable end - local.get $11 + local.get $1 if i32.const 0 i32.const 1056 @@ -1311,32 +1311,34 @@ local.tee $0 i32.const 0 i32.store + i32.const 0 + local.set $1 local.get $0 call $while/Ref#constructor - local.tee $0 + local.tee $3 i32.store loop $while-continue|08 - local.get $0 + local.get $3 if - local.get $6 + local.get $1 i32.const 1 i32.add - local.tee $6 + local.tee $1 i32.const 10 i32.eq if i32.const 0 - local.set $0 + local.set $3 else global.get $~lib/memory/__stack_pointer call $while/Ref#constructor - local.tee $0 + local.tee $3 i32.store end br $while-continue|08 end end - local.get $6 + local.get $1 i32.const 10 i32.ne if @@ -1347,7 +1349,7 @@ call $~lib/builtins/abort unreachable end - local.get $0 + local.get $3 if i32.const 0 i32.const 1056 @@ -1372,30 +1374,32 @@ local.tee $0 i32.const 0 i32.store + i32.const 0 + local.set $3 local.get $0 call $while/Ref#constructor - local.tee $0 + local.tee $1 i32.store loop $while-continue|012 call $while/Ref#constructor if block $while-break|011 - local.get $5 + local.get $3 i32.const 1 i32.add - local.tee $5 + local.tee $3 i32.const 10 i32.eq if i32.const 0 - local.set $0 + local.set $1 br $while-break|011 end br $while-continue|012 end end end - local.get $5 + local.get $3 i32.const 10 i32.ne if @@ -1406,7 +1410,7 @@ call $~lib/builtins/abort unreachable end - local.get $0 + local.get $1 if i32.const 0 i32.const 1056 @@ -1419,6 +1423,8 @@ i32.const 4 i32.add global.set $~lib/memory/__stack_pointer + i32.const 0 + local.set $3 loop $while-continue|019 local.get $3 i32.const 1 @@ -1428,25 +1434,29 @@ i32.le_s br_if $while-continue|019 end + i32.const 0 + local.set $3 loop $while-continue|021 - local.get $2 + local.get $3 i32.const 1 i32.add - local.tee $2 + local.tee $3 i32.const 0 i32.le_s br_if $while-continue|021 end + i32.const 0 + local.set $3 loop $do-loop|0 - local.get $4 + local.get $3 i32.const 1 i32.add - local.tee $4 + local.tee $3 i32.const 3 i32.lt_s br_if $do-loop|0 end - local.get $4 + local.get $3 i32.const 3 i32.ne if @@ -1795,19 +1805,19 @@ local.get $0 i32.const 20 i32.sub - local.tee $0 + local.tee $1 i32.load offset=4 i32.const 3 i32.and i32.eq if global.get $~lib/rt/itcms/iter - local.get $0 + local.get $1 i32.eq if - local.get $0 + local.get $1 i32.load offset=8 - local.tee $1 + local.tee $0 i32.eqz if i32.const 0 @@ -1817,22 +1827,22 @@ call $~lib/builtins/abort unreachable end - local.get $1 + local.get $0 global.set $~lib/rt/itcms/iter end block $__inlined_func$~lib/rt/itcms/Object#unlink - local.get $0 + local.get $1 i32.load offset=4 i32.const -4 i32.and - local.tee $1 + local.tee $0 i32.eqz if i32.const 0 - local.get $0 + local.get $1 i32.const 17908 i32.lt_u - local.get $0 + local.get $1 i32.load offset=8 select i32.eqz @@ -1846,7 +1856,7 @@ end br $__inlined_func$~lib/rt/itcms/Object#unlink end - local.get $0 + local.get $1 i32.load offset=8 local.tee $2 i32.eqz @@ -1858,7 +1868,7 @@ call $~lib/builtins/abort unreachable end - local.get $1 + local.get $0 local.get $2 i32.store offset=8 local.get $2 @@ -1866,15 +1876,15 @@ i32.load offset=4 i32.const 3 i32.and - local.get $1 + local.get $0 i32.or i32.store offset=4 end global.get $~lib/rt/itcms/toSpace local.set $2 - local.get $0 + local.get $1 i32.load offset=12 - local.tee $1 + local.tee $0 i32.const 1 i32.le_u if (result i32) @@ -1882,7 +1892,7 @@ else i32.const 1488 i32.load - local.get $1 + local.get $0 i32.lt_u if i32.const 1296 @@ -1892,7 +1902,7 @@ call $~lib/builtins/abort unreachable end - local.get $1 + local.get $0 i32.const 3 i32.shl i32.const 1492 @@ -1910,25 +1920,25 @@ local.set $3 local.get $2 i32.load offset=8 - local.set $1 - local.get $0 + local.set $0 + local.get $1 local.get $2 local.get $3 i32.or i32.store offset=4 - local.get $0 local.get $1 + local.get $0 i32.store offset=8 - local.get $1 - local.get $1 + local.get $0 + local.get $0 i32.load offset=4 i32.const 3 i32.and - local.get $0 + local.get $1 i32.or i32.store offset=4 local.get $2 - local.get $0 + local.get $1 i32.store offset=8 global.get $~lib/rt/itcms/visitCount i32.const 1 diff --git a/tests/parser/also-identifier.ts b/tests/parser/also-identifier.ts index 39b5477bba..702cead65b 100644 --- a/tests/parser/also-identifier.ts +++ b/tests/parser/also-identifier.ts @@ -1,6 +1,6 @@ class Foo { as: i32; - declare: i32; + //declare: i32; delete: i32; from: i32; for: i32; @@ -19,7 +19,7 @@ class Foo { var as: i32; var constructor: i32; -var declare: i32; +//var declare: i32; var from: i32; var get: i32; var is: i32; diff --git a/tests/parser/also-identifier.ts.fixture.ts b/tests/parser/also-identifier.ts.fixture.ts index 8de8b51707..8d3188b81e 100644 --- a/tests/parser/also-identifier.ts.fixture.ts +++ b/tests/parser/also-identifier.ts.fixture.ts @@ -1,6 +1,5 @@ class Foo { as: i32; - declare: i32; delete: i32; from: i32; for: i32; @@ -18,7 +17,6 @@ class Foo { } var as: i32; var constructor: i32; -var declare: i32; var from: i32; var get: i32; var is: i32; diff --git a/tests/parser/class.ts b/tests/parser/class.ts index e80a34b527..b55a2880e6 100644 --- a/tests/parser/class.ts +++ b/tests/parser/class.ts @@ -26,4 +26,15 @@ export class Invalid { // 1049: A 'set' accessor must have exactly one parameter. // 1095: A 'set' accessor cannot have a return type annotation. set instanceSetter(): i32 {} + + // 100: Not implemented: Ambient fields + declare declareField: i32; + + // 100: Not implemented: Ambient fields + // 1039: Initializers are not allowed in ambient contexts. + declare declareInitializer: i32 = 0; + + // 1031: 'declare' modifier cannot appear on class elements of this kind. + // 1183: An implementation cannot be declared in ambient contexts. + declare declareMethod(): i32 {} } diff --git a/tests/parser/class.ts.fixture.ts b/tests/parser/class.ts.fixture.ts index dfdd064c5b..9d25f7a31d 100644 --- a/tests/parser/class.ts.fixture.ts +++ b/tests/parser/class.ts.fixture.ts @@ -14,6 +14,9 @@ export class Invalid { instanceFunction() {} get instanceGetter(a: i32) {} set instanceSetter() {} + declare declareField: i32; + declare declareInitializer: i32 = 0; + declare declareMethod(): i32 {} } // ERROR 1092: "Type parameters cannot appear on a constructor declaration." in class.ts(15,14+3) // ERROR 1110: "Type expected." in class.ts(18,21+0) @@ -23,3 +26,8 @@ export class Invalid { // ERROR 1094: "An accessor cannot have type parameters." in class.ts(28,21+3) // ERROR 1049: "A 'set' accessor must have exactly one parameter." in class.ts(28,7+14) // ERROR 1095: "A 'set' accessor cannot have a return type annotation." in class.ts(28,26+1) +// ERROR 100: "Not implemented: Ambient fields" in class.ts(31,3+7) +// ERROR 100: "Not implemented: Ambient fields" in class.ts(35,3+7) +// ERROR 1039: "Initializers are not allowed in ambient contexts." in class.ts(35,35+1) +// ERROR 1031: "'declare' modifier cannot appear on class elements of this kind." in class.ts(39,3+7) +// ERROR 1183: "An implementation cannot be declared in ambient contexts." in class.ts(39,32+1) diff --git a/tests/parser/type.ts b/tests/parser/type.ts index ed301e91d2..dc6e5175db 100644 --- a/tests/parser/type.ts +++ b/tests/parser/type.ts @@ -1,3 +1,8 @@ type int32_t = i32; @nonportable() export type uint64_t = u64; + +// with leading `|` +export type T1 = | int32_t; +export type T2 = + | int32_t; diff --git a/tests/parser/type.ts.fixture.ts b/tests/parser/type.ts.fixture.ts index ed301e91d2..d58bbc9ce4 100644 --- a/tests/parser/type.ts.fixture.ts +++ b/tests/parser/type.ts.fixture.ts @@ -1,3 +1,5 @@ type int32_t = i32; @nonportable() export type uint64_t = u64; +export type T1 = int32_t; +export type T2 = int32_t;